From 5e03eea673a9da2253ed15152e46b1422b35d145 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 14 Dec 2017 02:02:55 +0100 Subject: [PATCH] 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 Reviewed-by: James Zern Signed-off-by: Michael Niedermayer --- 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