[FFmpeg-cvslog] avcodec/vp9: mark frame as finished on decode_tiles() failure

Michael Niedermayer git at videolan.org
Fri Dec 15 01:09:54 EET 2017


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Dec 14 02:02:55 2017 +0100| [5e03eea673a9da2253ed15152e46b1422b35d145] | committer: Michael Niedermayer

avcodec/vp9: mark frame as finished on decode_tiles() failure

Fixes deadlock with framethreads
Fixes: Netflix_Aerial_1080p_60fps_8bit_420.y4m.vp9.noaltref.webm.ivf.s69372_r01-05_b6-.ivf
Fixes: Netflix_Aerial_1080p_60fps_10bit_420.y4m.vp9.noaltref.webm.ivf.s149104_r01-05_b6-.ivf
Fixes: ducks_take_off_444_720p50.y4m.vp9.webm.ivf.s107375_r01-05_b6-.ivf

Reported-by: James Zern <jzern at google.com>
Reviewed-by: James Zern <jzern at google.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavcodec/vp9.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 6241f01de1..0fac638ec9 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1644,8 +1644,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
 #endif
         {
             ret = decode_tiles(avctx, data, size);
-            if (ret < 0)
+            if (ret < 0) {
+                ff_thread_report_progress(&s->s.frames[CUR_FRAME].tf, INT_MAX, 0);
                 return ret;
+            }
         }
 
         // Sum all counts fields into td[0].counts for tile threading



More information about the ffmpeg-cvslog mailing list