[FFmpeg-devel] [PATCH] lavf/qsvvpp: avoid the double-free when working in sys memory mode

Li, Zhong zhong.li at intel.com
Thu May 30 08:15:23 EEST 2019


> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of Fu, Linjie
> Sent: Wednesday, May 29, 2019 5:08 PM
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH] lavf/qsvvpp: avoid the double-free
> when working in sys memory mode
> 
> > -----Original Message-----
> > From: Fu, Linjie
> > Sent: Monday, April 15, 2019 21:24
> > To: ffmpeg-devel at ffmpeg.org
> > Cc: Fu, Linjie <linjie.fu at intel.com>
> > Subject: [PATCH] lavf/qsvvpp: avoid the double-free when working in
> > sys memory mode
> >
> > Currently, picref will be freed by calling av_frame_free(&picref) in
> > submit_frame() in qsvvpp.c when working in system memory mode,and
> > normally it is freed in filter_frame() in vf_vpp_qsv.c when working in
> > other modes.
> >
> > Double free happens when working in system memory mode, remove to fix
> > the memory issue.
> >
> > Signed-off-by: Linjie Fu <linjie.fu at intel.com>
> > ---
> > Can be reproduced by applying the system memory patch and qsvdec+vpp:
> >     ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv
> > -i
> > input.mp4 \
> >                                 -vf
> "vpp_qsv=w=960:h=540,format=rgb32"

Is it possible to reproduce with another command line? It can work with mainline on Linux.

> > -f null -  libavfilter/qsvvpp.c | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index
> > 06efdf5089..5cd1d5d345 100644
> > --- a/libavfilter/qsvvpp.c
> > +++ b/libavfilter/qsvvpp.c
> > @@ -316,7 +316,6 @@ static QSVFrame *submit_frame(QSVVPPContext
> *s,
> > AVFilterLink *inlink, AVFrame *p
> >              }
> >
> >              av_frame_copy_props(qsv_frame->frame, picref);
> > -            av_frame_free(&picref);
> >          } else
> >              qsv_frame->frame = av_frame_clone(picref);
> >
> > --
> > 2.17.1
> Ping?

Patch LGTM


More information about the ffmpeg-devel mailing list