On 6/10/2019 12:03 AM, Amir Pauker wrote: > 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 | 7 +++++++ > libavutil/frame.h | 2 +- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c > index 00d922f..9f038e9 100644 > --- a/libavcodec/h264dec.c > +++ b/libavcodec/h264dec.c > @@ -758,6 +758,13 @@ 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_DECODE_ERROR; > + } > + > + > if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE)) > goto end; > > diff --git a/libavutil/frame.h b/libavutil/frame.h > index e2a2929..ef1ff6b 100644 > --- a/libavutil/frame.h > +++ b/libavutil/frame.h > @@ -521,7 +521,7 @@ typedef struct AVFrame { > */ > int decode_error_flags; > #define FF_DECODE_ERROR_INVALID_BITSTREAM 1 > -#define FF_DECODE_ERROR_MISSING_REFERENCE 2 > +#define FF_DECODE_ERROR_DECODE_ERROR 2
This is an API breaking change. Why are you removing FF_DECODE_ERROR_MISSING_REFERENCE if what you want is adding a new flag? > > /** > * number of audio channels, only used for audio. > _______________________________________________ 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".