diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2017-12-14 02:02:55 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-12-15 00:08:56 +0100 |
commit | 5e03eea673a9da2253ed15152e46b1422b35d145 (patch) | |
tree | 39ddc4accef8027d276e2e4eca49d430f180bad3 | |
parent | 1c76134fe37ac20695627e3f5ce1f2bbf1245fcc (diff) | |
download | ffmpeg-5e03eea673a9da2253ed15152e46b1422b35d145.tar.gz |
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@google.com>
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/vp9.c | 4 |
1 files changed, 3 insertions, 1 deletions
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 |