[FFmpeg-cvslog] lavc/vp9: Fix regression introduced in 0ba05857

Haihao Xiang git at videolan.org
Wed Apr 24 07:09:49 EEST 2024


ffmpeg | branch: master | Haihao Xiang <haihao.xiang at intel.com> | Mon Apr 22 14:57:08 2024 +0800| [8c62d77139ca07390414fcfd26b2a4d506fed3b9] | committer: Haihao Xiang

lavc/vp9: Fix regression introduced in 0ba05857

It is possible that ff_progress_frame_await() is called but
ff_progress_frame_report() isn't called when a hardware acceleration
method is used, so a thread for vp9 decoding might get stuck.

Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8c62d77139ca07390414fcfd26b2a4d506fed3b9
---

 libavcodec/vp9.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 3adfb98f2d..6e2d18bf95 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1735,9 +1735,9 @@ static int vp9_decode_frame(AVCodecContext *avctx, AVFrame *frame,
         if (ret < 0)
             goto fail;
     }
-    ff_progress_frame_report(&s->s.frames[CUR_FRAME].tf, INT_MAX);
 
 finish:
+    ff_progress_frame_report(&s->s.frames[CUR_FRAME].tf, INT_MAX);
     // ref frame setup
     for (int i = 0; i < 8; i++)
         ff_progress_frame_replace(&s->s.refs[i], &s->next_refs[i]);



More information about the ffmpeg-cvslog mailing list