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>
This commit is contained in:
Michael Niedermayer 2017-12-14 02:02:55 +01:00
parent 1c76134fe3
commit 5e03eea673

View File

@ -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