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

Michael Niedermayer michael at niedermayer.cc
Thu Dec 14 03:02:55 EET 2017


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>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 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
-- 
2.15.1



More information about the ffmpeg-devel mailing list