diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2017-12-14 02:02:55 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-01-28 15:31:13 +0100 |
commit | 0f0a2ff5a09d0372d9864c070859849654589ad0 (patch) | |
tree | 207f7537729ca26bed951eda1e1e33cf3df6c933 | |
parent | a3832486e4f152d9f9660ecf812ee45b03d784f1 (diff) | |
download | ffmpeg-0f0a2ff5a09d0372d9864c070859849654589ad0.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>
(cherry picked from commit 5e03eea673a9da2253ed15152e46b1422b35d145)
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 6b5de19266..f2cf194243 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1634,8 +1634,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 |