On Sat, 4 Mar 2017, Michael Niedermayer wrote:
The code previously completely discarded frames that had any error in a slice
Could you set either AVFrame->flags to AV_FRAME_FLAG_CORRUPT or AVFrame->decode_error_flags to FF_DECODE_ERROR_INVALID_BITSTREAM in case of error on any of the slices?
Thanks, Marton
Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> --- libavcodec/proresdec2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index a3a1ebdecb..75fba9d35d 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -618,10 +618,11 @@ static int decode_picture(AVCodecContext *avctx) avctx->execute2(avctx, decode_slice_thread, NULL, NULL, ctx->slice_count); for (i = 0; i < ctx->slice_count; i++) - if (ctx->slices[i].ret < 0) - return ctx->slices[i].ret; + if (ctx->slices[i].ret >= 0) + return 0; - return 0; + av_assert0(ctx->slice_count>0); + return ctx->slices[0].ret; } static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, -- 2.11.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel