This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit f736784a52eeab4bdf7a8c2ed645a4b8e27dfeca Author: Julius Bairaktaris <[email protected]> AuthorDate: Sun Aug 30 15:30:45 2026 +0200 Commit: ArazIusubov <[email protected]> CommitDate: Wed Sep 16 22:05:28 2026 +0000 avfilter/amf: make the input format lists describe what AMF accepts amf_setup_input_output_formats() builds both negotiated lists from output_pix_fmts and ignores its input_pix_fmts argument, so the input lists have never been used and have drifted from what the filters handle. None of them lists AV_PIX_FMT_D3D11 or AV_PIX_FMT_DXVA2_VLD even though amf_avframe_to_amfsurface() wraps both. sr_amf and vpp_amf carry the two in their output lists, so they accept such input today only because the input list is dead; vqe_amf and frc_amf carry them nowhere and gain the input here. vpp_amf meanwhile lists three formats AMF will not take: YUV420P10 and 0RGB have no format_map[] entry at all, and the video converter rejects GRAY8 with AMF_NOT_SUPPORTED. Those three only appear to work today because the dead input list leaves libavfilter converting them in software first. vpp_amf also loses BGR0, RGB0 and YUYV422. The converter takes them as input, but with the default format=same the output frames context is created in the input format, and hwcontext_amf cannot back an AMF frames context with RGB0 or YUYV422, nor download BGR0. Once the list is live, each of the three would fail at configuration or at hwdownload where libavfilter converts it in software today, so they stay out until hwcontext_amf supports them. Correct the lists in both directions so they describe reality before the helper is made to use them. No functional change on its own. Assisted-by: Claude Opus 5 Assisted-by: Claude Fable 5.1 Signed-off-by: Julius Bairaktaris <[email protected]> --- libavfilter/vf_frc_amf.c | 2 ++ libavfilter/vf_sr_amf.c | 4 ++++ libavfilter/vf_vpp_amf.c | 8 ++------ libavfilter/vf_vqe_amf.c | 2 ++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_frc_amf.c b/libavfilter/vf_frc_amf.c index 1b914908a0..5b93f65ad1 100644 --- a/libavfilter/vf_frc_amf.c +++ b/libavfilter/vf_frc_amf.c @@ -70,6 +70,8 @@ static int amf_filter_query_formats(AVFilterContext *avctx) const enum AVPixelFormat *output_pix_fmts; static const enum AVPixelFormat input_pix_fmts[] = { AV_PIX_FMT_AMF_SURFACE, + AV_PIX_FMT_D3D11, + AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_NV12, AV_PIX_FMT_P010, AV_PIX_FMT_BGRA, diff --git a/libavfilter/vf_sr_amf.c b/libavfilter/vf_sr_amf.c index deb020809d..d9ed1dcd8a 100644 --- a/libavfilter/vf_sr_amf.c +++ b/libavfilter/vf_sr_amf.c @@ -84,6 +84,8 @@ static int amf_filter_query_formats(AVFilterContext *avctx) AV_PIX_FMT_BGRA, AV_PIX_FMT_RGBA, AV_PIX_FMT_AMF_SURFACE, + AV_PIX_FMT_D3D11, + AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_RGBAF16, AV_PIX_FMT_NONE, }; @@ -105,6 +107,8 @@ static int amf_filter_query_formats(AVFilterContext *avctx) AV_PIX_FMT_X2BGR10, AV_PIX_FMT_RGBAF16, AV_PIX_FMT_AMF_SURFACE, + AV_PIX_FMT_D3D11, + AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_NONE, }; diff --git a/libavfilter/vf_vpp_amf.c b/libavfilter/vf_vpp_amf.c index 839a075ea7..9ccc667a94 100644 --- a/libavfilter/vf_vpp_amf.c +++ b/libavfilter/vf_vpp_amf.c @@ -49,17 +49,13 @@ static int amf_filter_query_formats(AVFilterContext *avctx) const enum AVPixelFormat *output_pix_fmts; static const enum AVPixelFormat input_pix_fmts[] = { AV_PIX_FMT_AMF_SURFACE, + AV_PIX_FMT_D3D11, + AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_NV12, AV_PIX_FMT_P010, - AV_PIX_FMT_0RGB, - AV_PIX_FMT_BGR0, AV_PIX_FMT_BGRA, - AV_PIX_FMT_RGB0, AV_PIX_FMT_RGBA, - AV_PIX_FMT_GRAY8, AV_PIX_FMT_YUV420P, - AV_PIX_FMT_YUV420P10, - AV_PIX_FMT_YUYV422, AV_PIX_FMT_NONE, }; static const enum AVPixelFormat output_pix_fmts_default[] = { diff --git a/libavfilter/vf_vqe_amf.c b/libavfilter/vf_vqe_amf.c index 70b533e475..d53703ee58 100644 --- a/libavfilter/vf_vqe_amf.c +++ b/libavfilter/vf_vqe_amf.c @@ -63,6 +63,8 @@ static int amf_filter_query_formats(AVFilterContext *avctx) const enum AVPixelFormat *output_pix_fmts; static const enum AVPixelFormat input_pix_fmts[] = { AV_PIX_FMT_AMF_SURFACE, + AV_PIX_FMT_D3D11, + AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_NV12, AV_PIX_FMT_P010, AV_PIX_FMT_BGRA, -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
