[FFmpeg-devel] 回复: [PATCH 1/5] avcodec/d3d12va_vp9: fix vp9 max_num_refs value
Wu Jianhua
toqsxw at outlook.com
Mon Dec 25 16:47:30 EET 2023
Tong Wu <tong1.wu-at-intel.com at ffmpeg.org>:
> subject: [FFmpeg-devel] [PATCH 1/5] avcodec/d3d12va_vp9: fix vp9 max_num_refs value
>
> Previous max_num_refs was based on pp.frame_refs plus 1 and it could possibly
> reaches the size limit. Actually it should be the size of pp.ref_frame_map
> plus 1.
>
> Signed-off-by: Tong Wu <tong1.wu at intel.com>
> ---
> libavcodec/d3d12va_vp9.c | 2 +-
>1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/d3d12va_vp9.c b/libavcodec/d3d12va_vp9.c
> index bb94e18781..d6dfc905d9 100644
> --- a/libavcodec/d3d12va_vp9.c
> +++ b/libavcodec/d3d12va_vp9.c
> @@ -148,7 +148,7 @@ static int d3d12va_vp9_decode_init(AVCodecContext *avctx)
> break;
> };
>
> - ctx->max_num_ref = FF_ARRAY_ELEMS(pp.frame_refs) + 1;
> + ctx->max_num_ref = FF_ARRAY_ELEMS(pp.ref_frame_map) + 1;
>
> return ff_d3d12va_decode_init(avctx);
> }
> --
> 2.41.0.windows.1
LGTM. I tested this fix both in command line and C API and it fixed the VP9 decoding issue
that the decoded reference frames of some samples have corrupted.
Thanks,
Jianhua
More information about the ffmpeg-devel
mailing list