aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter
diff options
context:
space:
mode:
authorLinjie Fu <linjie.fu@intel.com>2019-04-15 21:24:06 +0800
committerZhong Li <zhong.li@intel.com>2019-05-30 09:33:21 +0800
commit6895b350c31d8fda5bd9e4285c52de6e391e7ff4 (patch)
tree30aa3b612b409ff24a81bdea08de3227db771986 /libavfilter
parent02333fe394f0c15b1e8bbd3399316578ee8c2334 (diff)
downloadffmpeg-6895b350c31d8fda5bd9e4285c52de6e391e7ff4.tar.gz
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>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/qsvvpp.c1
1 files changed, 0 insertions, 1 deletions
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);