Message ID | 20231225141859.664-1-tong1.wu@intel.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/5] avcodec/d3d12va_vp9: fix vp9 max_num_refs value | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Tong Wu <tong1.wu-at-intel.com@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@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
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); }
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@intel.com> --- libavcodec/d3d12va_vp9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)