> -----Original Message----- > From: Xiang, Haihao <haihao.xi...@intel.com> > Sent: Thursday, March 11, 2021 4:39 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Chen, Wenbin <wenbin.c...@intel.com> > Subject: Re: [FFmpeg-devel] [PATCH] libavcodec/qsvdec.c: using queue count > to unref frame > > On Thu, 2021-03-11 at 13:26 +0800, wenbin.c...@intel.com wrote: > > From: "Chen,Wenbin" <wenbin.c...@intel.com> > > > > MSDK vc1 and av1 sometimes output frame into the same suface, but > > ffmpeg-qsv assume the surface will be used only once, so it will > > unref the frame when it receives the outpur surface. Now change > > typo? s/outpur/output
yes typo. Do I need to submit again? > > > it to unref frame according to queue count. > > > > Signed-off-by Wenbin Chen <wenbin.c...@intel.com> > > --- > > libavcodec/qsvdec.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > > index d10f90a0db..e073e10699 100644 > > --- a/libavcodec/qsvdec.c > > +++ b/libavcodec/qsvdec.c > > @@ -470,7 +470,7 @@ static int qsv_decode(AVCodecContext *avctx, > QSVContext > > *q, > > return AVERROR_BUG; > > } > > > > - out_frame->queued = 1; > > + out_frame->queued += 1; > > av_fifo_generic_write(q->async_fifo, &out_frame, sizeof(out_frame), > > NULL); > > av_fifo_generic_write(q->async_fifo, > > &sync, sizeof(sync), NULL); > > } else { > > @@ -483,7 +483,7 @@ static int qsv_decode(AVCodecContext *avctx, > QSVContext > > *q, > > > > av_fifo_generic_read(q->async_fifo, &out_frame, sizeof(out_frame), > > NULL); > > av_fifo_generic_read(q->async_fifo, > > &sync, sizeof(sync), NULL); > > - out_frame->queued = 0; > > + out_frame->queued -= 1; > > > > if (avctx->pix_fmt != AV_PIX_FMT_QSV) { > > do { _______________________________________________ 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".