[FFmpeg-devel] [PATCH v4 5/5] lavfi/format: add a hwmap auto conversion filter

Wu, Tong1 tong1.wu at intel.com
Fri Jul 15 08:19:05 EEST 2022


Ping for the patchset. Is there any comment on adding this auto hwmap filter?

Thanks,
Tong

> -----Original Message-----
> From: Wu, Tong1 <tong1.wu at intel.com>
> Sent: Monday, July 4, 2022 4:10 PM
> To: ffmpeg-devel at ffmpeg.org
> Cc: Wu, Tong1 <tong1.wu at intel.com>
> Subject: [PATCH v4 5/5] lavfi/format: add a hwmap auto conversion filter
> 
> When two formats lists cannot be merged, a scale filter is auto-inserted.
> However, when it comes to hardware map, we have to manually add a
> hwmap filter to do the conversion. This patch introduces an auto hwmap
> filter to do the hwmap conversion automatically.
> 
> Signed-off-by: Tong Wu <tong1.wu at intel.com>
> ---
>  libavfilter/avfiltergraph.c | 3 ++-
>  libavfilter/formats.c       | 4 ++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index
> 102c1f7693..8e63007cac 100644
> --- a/libavfilter/avfiltergraph.c
> +++ b/libavfilter/avfiltergraph.c
> @@ -402,7 +402,8 @@ static int insert_auto_filter(AVFilterContext **convert,
> AVFilterGraph *graph,
>      AVFilterContext *ctx;
>      AVFilterLink *inlink, *outlink;
>      char inst_name[30];
> -    const char *opts = FF_FIELD_AT(char *, neg-
> >conversion_filters[conv_step].conversion_opts_offset, *graph);
> +    const char *opts = neg-
> >conversion_filters[conv_step].conversion_opts_offset == 0 ? NULL :
> +                       FF_FIELD_AT(char *,
> + neg->conversion_filters[conv_step].conversion_opts_offset, *graph);
>      const char *name = neg->conversion_filters[conv_step].conversion_filter;
> 
>      if (!(filter = avfilter_get_by_name(name))) { diff --git a/libavfilter/formats.c
> b/libavfilter/formats.c index c8e20e5b20..fee10fa0ee 100644
> --- a/libavfilter/formats.c
> +++ b/libavfilter/formats.c
> @@ -331,6 +331,10 @@ static const AVFilterFormatsFilter filters_video[] = {
>          .conversion_filter = "scale",
>          .conversion_opts_offset = offsetof(AVFilterGraph, scale_sws_opts),
>      },
> +    {
> +        .conversion_filter = "hwmap",
> +        .conversion_opts_offset = 0,
> +    }
>  };
> 
>  static const AVFilterFormatsFilter filters_audio[] = {
> --
> 2.35.1.windows.2



More information about the ffmpeg-devel mailing list