[FFmpeg-devel] [PATCH 1/2] ffmpeg: add disable_all_auto_conversion_filters option.
Marton Balint
cus at passwd.hu
Sun Aug 16 18:49:19 EEST 2020
On Sun, 16 Aug 2020, Nicolas George wrote:
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
> doc/ffmpeg.texi | 8 ++++++++
> fftools/ffmpeg.h | 1 +
> fftools/ffmpeg_filter.c | 2 ++
> fftools/ffmpeg_opt.c | 3 +++
> 4 files changed, 14 insertions(+)
>
> diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> index 267ddfe8b5..e38e55573e 100644
> --- a/doc/ffmpeg.texi
> +++ b/doc/ffmpeg.texi
> @@ -1746,6 +1746,14 @@ this buffer, in packets, for the matching output stream.
> The default value of this option should be high enough for most uses, so only
> touch this option if you are sure that you need it.
>
> + at item -disable_all_auto_conversion_filters (@emph{global})
Can we find a shorter name for the option? E.g. simply call the option
auto_conversion_filters and the user can use -noauto_conversion_filters to
disable it... In the next patch with the current name you have
-nodisable_auto_coversion_filters which is really ugly IMHO.
Regards,
Marton
> +Disable automatically inserting format conversion filters in all filter
> +graphs, including those defined by @option{-vf}, @option{-af},
> + at option{-filter_complex} and @option{-lavfi}. If filter format negotiation
> +requires a conversion, the initialization of the filters will fail.
> +Conversions can still be performed by inserting the relevant conversion
> +filter (scale, aresample) in the graph.
> +
> @end table
>
> As a special exception, you can use a bitmap subtitle stream as input: it
> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
> index 6e3f2545c7..acd297c8e8 100644
> --- a/fftools/ffmpeg.h
> +++ b/fftools/ffmpeg.h
> @@ -613,6 +613,7 @@ extern char *videotoolbox_pixfmt;
> extern int filter_nbthreads;
> extern int filter_complex_nbthreads;
> extern int vstats_version;
> +extern int disable_all_auto_conversion_filters;
>
> extern const AVIOInterruptCB int_cb;
>
> diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
> index 4784e8a575..8721403d7a 100644
> --- a/fftools/ffmpeg_filter.c
> +++ b/fftools/ffmpeg_filter.c
> @@ -1104,6 +1104,8 @@ int configure_filtergraph(FilterGraph *fg)
> configure_output_filter(fg, fg->outputs[i], cur);
> avfilter_inout_free(&outputs);
>
> + if (disable_all_auto_conversion_filters)
> + avfilter_graph_set_auto_convert(fg->graph, AVFILTER_AUTO_CONVERT_NONE);
> if ((ret = avfilter_graph_config(fg->graph, NULL)) < 0)
> goto fail;
>
> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
> index 853550a142..7c69cca10d 100644
> --- a/fftools/ffmpeg_opt.c
> +++ b/fftools/ffmpeg_opt.c
> @@ -172,6 +172,7 @@ float max_error_rate = 2.0/3;
> int filter_nbthreads = 0;
> int filter_complex_nbthreads = 0;
> int vstats_version = 2;
> +int disable_all_auto_conversion_filters = 0;
>
>
> static int intra_only = 0;
> @@ -3545,6 +3546,8 @@ const OptionDef options[] = {
> "create a complex filtergraph", "graph_description" },
> { "filter_complex_script", HAS_ARG | OPT_EXPERT, { .func_arg = opt_filter_complex_script },
> "read complex filtergraph description from a file", "filename" },
> + { "disable_all_auto_conversion_filters", OPT_BOOL | OPT_EXPERT, { &disable_all_auto_conversion_filters },
> + "disable all automatic conversion filters" },
> { "stats", OPT_BOOL, { &print_stats },
> "print progress report during encoding", },
> { "attach", HAS_ARG | OPT_PERFILE | OPT_EXPERT |
> --
> 2.28.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list