[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