mirror of https://git.ffmpeg.org/ffmpeg.git
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. Reproduce: ffmpeg -init_hw_device qsv=foo -filter_hw_device foo -f rawvideo -pix_fmt nv12 -s:v 852x480 \ -i 852x480.nv12 -vf 'vpp_qsv=w=500:h=400' -f rawvideo -pix_fmt nv12 qsv.nv12 Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>
This commit is contained in:
parent
02333fe394
commit
6895b350c3
|
@ -316,7 +316,6 @@ static QSVFrame *submit_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *p
|
||||||
}
|
}
|
||||||
|
|
||||||
av_frame_copy_props(qsv_frame->frame, picref);
|
av_frame_copy_props(qsv_frame->frame, picref);
|
||||||
av_frame_free(&picref);
|
|
||||||
} else
|
} else
|
||||||
qsv_frame->frame = av_frame_clone(picref);
|
qsv_frame->frame = av_frame_clone(picref);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue