[FFmpeg-devel] [PATCH] set AVFrame decode_error_flags to FF_DECODE_ERROR_CONCEALMENT_ACTIVE in case of concealed errors
Amir Z
amir at livelyvideo.tv
Tue Jun 18 15:14:47 EEST 2019
Thanks Michael,
The reason I set the flag before the log line in ff_er_frame_end is because
the code might never get there even though the return value is set to zero.
Should we use two different values ?
Thanks
Amir
On Sun, Jun 16, 2019 at 10:53 AM Michael Niedermayer <michael at niedermayer.cc>
wrote:
> On Fri, Jun 14, 2019 at 07:43:46AM -0700, Amir Pauker wrote:
> > set AVFrame decode_error_flags to FF_DECODE_ERROR_CONCEALMENT_ACTIVE 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 <amir at livelyvideo.tv>
> > ---
> > libavcodec/h264dec.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
> > index 837c3b7..98b7d79 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_CONCEALMENT_ACTIVE;
> > + }
> > +
>
> it would be more robust to set the flag around where the
> "concealing %d DC, %d AC, %d MV errors in %c frame\" message is printed
>
> That is when concealing actually happens
>
> thanks
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Avoid a single point of failure, be that a person or equipment.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list