lavf/qsv: clone the frame which may be managed by framework
authorRuiling Song <ruiling.song@intel.com>
Tue, 3 Apr 2018 01:50:20 +0000 (09:50 +0800)
committerMark Thompson <sw@jkqxz.net>
Sat, 21 Apr 2018 18:00:43 +0000 (19:00 +0100)
commitd865783b6c8d4f96f5094ed72eff0f5a4a4908af
treedd27be107794f95b5fd12fd09e80c57087e460e5
parentf3341a0452419c57faf4d28aebb24be5d41312f3
lavf/qsv: clone the frame which may be managed by framework

For filters based on framesync, the input frame was managed
by framesync, so we should not directly keep and destroy it,
instead we make a clone of it here, or else double-free will occur.
But for other filters not based on framesync, we still need to
free the input frame inside filter_frame.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
libavfilter/qsvvpp.c
libavfilter/vf_vpp_qsv.c