> -----Original Message----- > From: Jun Zhao [mailto:mypopy...@gmail.com] > Sent: Friday, January 26, 2018 1:02 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>; > Song, Ruiling <ruiling.s...@intel.com> > Subject: Re: [FFmpeg-devel] [PATCH] lavc/qsv: skip the packet if decoding > failure. > > > > On 2018/1/25 16:37, Ruiling Song wrote: > > From: "Ruiling, Song" <ruiling.s...@intel.com> > > > > MediaSDK may fail to decode some frame, just skip it. > > Otherwise, it will keep decoding the failure packet repeatedly > > without processing any packet afterwards. > > > > v2: > > switch to using av_packet_unref(). > > > > Signed-off-by: Ruiling Song <ruiling.s...@intel.com> > > --- > > libavcodec/qsvdec_h2645.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/libavcodec/qsvdec_h2645.c b/libavcodec/qsvdec_h2645.c > > index 5e00673..d92a150 100644 > > --- a/libavcodec/qsvdec_h2645.c > > +++ b/libavcodec/qsvdec_h2645.c > > @@ -153,8 +153,12 @@ static int qsv_decode_frame(AVCodecContext *avctx, > void *data, > > } > > > > ret = ff_qsv_process_data(avctx, &s->qsv, frame, got_frame, &s- > >buffer_pkt); > > - if (ret < 0) > > + if (ret < 0) { > > + /* Drop buffer_pkt when failed to decode the packet. Otherwise, > > + the decoder will keep decoding the failure packet. */ > > + av_packet_unref(&s->buffer_pkt); > > I think add a warning message more better than only drop the packet on > the quiet. What do you think "packet decoding failed, skip it."? Usually some error message has already been printed out before skipping the packet. I am OK to make a new version to address it. And thanks for your feedback.
Ruiling > > return ret; > > + } > > > > s->buffer_pkt.size -= ret; > > s->buffer_pkt.data += ret; _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel