softworkz:
> From: softworkz <softwo...@hotmail.com>
> 
> The key benefits are:
> 
> - Different to other graph printing methods, this is outputting:
>   - all graphs with runtime state
>     (including auto-inserted filters)
>   - each graph with its inputs and outputs
>   - all filters with their in- and output pads
>   - all connections between all input- and output pads
>   - for each connection:
>     - the runtime-negotiated format and media type
>     - the hw context
>     - if video hw context, both: hw pixfmt + sw pixfmt
> - Output can either be printed to stdout or written to specified file
> - Output is machine-readable
> - Use the same output implementation as ffprobe, supporting multiple
>   formats
> 
> Note: This commit includes only the default and JSON writers.
> 
> Signed-off-by: softworkz <softwo...@hotmail.com>
> ---
>  fftools/Makefile            |    1 +
>  fftools/ffmpeg.h            |    3 +
>  fftools/ffmpeg_graphprint.c | 1152 +++++++++++++++++++++++++++++++++++
>  fftools/ffmpeg_graphprint.h |  224 +++++++
>  fftools/ffmpeg_opt.c        |   12 +
>  5 files changed, 1392 insertions(+)
>  create mode 100644 fftools/ffmpeg_graphprint.c
>  create mode 100644 fftools/ffmpeg_graphprint.h
> 
> diff --git a/fftools/Makefile b/fftools/Makefile
> index 4499799818..189feb4e2a 100644
> --- a/fftools/Makefile
> +++ b/fftools/Makefile
> @@ -19,6 +19,7 @@ OBJS-ffmpeg +=                  \
>      fftools/ffmpeg_mux_init.o   \
>      fftools/ffmpeg_opt.o        \
>      fftools/ffmpeg_sched.o      \
> +    fftools/ffmpeg_graphprint.o \
>      fftools/sync_queue.o        \
>      fftools/thread_queue.o      \
>  
> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
> index 6cc0da05a0..432954b4cc 100644
> --- a/fftools/ffmpeg.h
> +++ b/fftools/ffmpeg.h
> @@ -714,6 +714,9 @@ extern float max_error_rate;
>  extern char *filter_nbthreads;
>  extern int filter_complex_nbthreads;
>  extern int vstats_version;
> +extern int print_graphs;
> +extern char* print_graphs_file;
> +extern char* print_graphs_format;
>  extern int auto_conversion_filters;
>  
>  extern const AVIOInterruptCB int_cb;
> diff --git a/fftools/ffmpeg_graphprint.c b/fftools/ffmpeg_graphprint.c
> new file mode 100644
> index 0000000000..77f143b8c2
> --- /dev/null
> +++ b/fftools/ffmpeg_graphprint.c
> @@ -0,0 +1,1152 @@
> +/*
> + * Copyright (c) 2018 - softworkz
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
> USA
> + */
> +
> +/**
> + * @file
> + * output writers for filtergraph details
> + */
> +
> +#include "config.h"
> +
> +#include <string.h>
> +
> +#include "ffmpeg_graphprint.h"
> +#include "ffmpeg_filter.h"
> +
> +#include "libavutil/avassert.h"
> +#include "libavutil/avstring.h"
> +#include "libavutil/opt.h"
> +#include "libavutil/pixdesc.h"
> +#include "libavutil/dict.h"
> +#include "libavutil/intreadwrite.h"
> +#include "libavutil/common.h"
> +#include "libavfilter/avfilter.h"
> +#include "libavfilter/filters.h"

That's an internal header which must not be used by fftools.

> +#include "libavutil/buffer.h"
> +#include "libavutil/hwcontext.h"
> +
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to