diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 837c3b7538..8d1bd16a8e 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -761,6 +761,11 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size) if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) goto end; + // 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_DECODE_SLICES; + } + ret = 0; end: