set AVFrame decode_error_flags in case h->slice_ctx->er.error_occurred is set after the call to ff_h264_execute_decode_slices. This allows the user to detect concealed decoding errors in the call to avcodec_receive_frame
Signed-off-by: Amir Pauker <a...@livelyvideo.tv> --- libavcodec/h264dec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 00d922f..67dee11 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -758,6 +758,12 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size) } ret = ff_h264_execute_decode_slices(h); + + // set decode_error_flags to allow users to detect concealed decoding errors + if( (ret < 0 || h->slice_ctx->er.error_occurred) && h->cur_pic_ptr){ + h->cur_pic_ptr->f->decode_error_flags |= FF_DECODE_ERROR_INVALID_BITSTREAM|FF_DECODE_ERROR_MISSING_REFERENCE; + } + if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) goto end; -- 2.1.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".