gstreamer/sys/msdk
Haihao Xiang f840e304f3 msdkdec: postpone surface free for VC1
For a skipped frame in VC1, MSDK returns the mfx surface of the reference
frame, so we have to make sure the corresponding surface for the
reference frame is not freed. In this fix, we postpone surface free because
we don't know whether a surface is referenced

Before this fix, the error is like as below:

New clock: GstSystemClock
0:00:00.181793130 23098 0x55f8a9d622d0 ERROR                msdkdec
gstmsdkdec.c:622:gst_msdkdec_finish_task:<msdkvc1dec0> Couldn't find the
cached MSDK surface

Sample pipeline:
gst-launch-1.0 filesrc location=input_has_skipped_frame.wmv ! asfdemux !
vc1parse ! msdkvc1dec ! glimagesink
2019-09-21 18:05:42 +00:00
..
gstmsdk.c msdk: add msdkvp9enc element 2019-07-07 15:16:28 +00:00
gstmsdkallocator.h msdk: allocator: get dmabuf handle during allocation if required 2018-03-30 11:04:28 -08:00
gstmsdkallocator_d3d.c msdk: don't reset the external frame allocator 2019-01-08 09:11:47 +00:00
gstmsdkallocator_libva.c msdk: Don't use VA_RT_FORMAT_YUV420_10 if it's undefined 2019-08-25 09:40:13 +00:00
gstmsdkallocator_libva.h msdk: Add method to replace internal VASurface of mfxFrameSurface 2018-05-30 16:23:44 -08:00
gstmsdkbufferpool.c msdkdec: make sure mfx frame width/height meets MSDK's requirement 2019-07-24 08:41:13 +08:00
gstmsdkbufferpool.h msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkcontext.c msdk: avoid reading data from freed memory 2019-08-28 14:51:54 +00:00
gstmsdkcontext.h msdk: don't reset the external frame allocator 2019-01-08 09:11:47 +00:00
gstmsdkcontextutil.c msdk: context: add job type to figure out if joining session is necessary 2018-02-13 13:50:48 -09:00
gstmsdkcontextutil.h msdk: context: add job type to figure out if joining session is necessary 2018-02-13 13:50:48 -09:00
gstmsdkdec.c msdkdec: postpone surface free for VC1 2019-09-21 18:05:42 +00:00
gstmsdkdec.h msdkdec: postpone surface free for VC1 2019-09-21 18:05:42 +00:00
gstmsdkdecproputil.c msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkdecproputil.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkenc.c msdkenc: remove unneeded label 2019-09-16 10:09:00 +00:00
gstmsdkenc.h msdkenc: allow encode element requires extra frames 2019-07-07 15:16:28 +00:00
gstmsdkh264dec.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkh264dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkh264enc.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkh264enc.h msdk: h264_enc: Enable B-pyramid prediction support 2018-02-20 12:41:18 -09:00
gstmsdkh265dec.c msdk: Remove all DMABuf caps features on Windows 2019-09-10 13:29:11 +00:00
gstmsdkh265dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkh265enc.c msdkenc: add an extra surface for hevc encoding 2019-09-12 02:20:11 +00:00
gstmsdkh265enc.h msdkh265enc: enable low power mode 2019-01-24 09:59:37 +00:00
gstmsdkmjpegdec.c msdk: Remove all DMABuf caps features on Windows 2019-09-10 13:29:11 +00:00
gstmsdkmjpegdec.h msdk: add mjpeg decoder 2016-12-13 00:06:42 +01:00
gstmsdkmjpegenc.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkmjpegenc.h msdk: add mjpeg encoder 2016-12-13 00:06:42 +01:00
gstmsdkmpeg2dec.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkmpeg2dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkmpeg2enc.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkmpeg2enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdksystemmemory.c msdk: fix memory leaks in msdk allocators 2019-09-13 16:54:21 +00:00
gstmsdksystemmemory.h msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkvc1dec.c msdkdec: postpone surface free for VC1 2019-09-21 18:05:42 +00:00
gstmsdkvc1dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkvideomemory.c msdk: fix memory leaks in msdk allocators 2019-09-13 16:54:21 +00:00
gstmsdkvideomemory.h msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkvp8dec.c msdkdec: add postinit_decoder 2019-03-29 13:32:06 +08:00
gstmsdkvp8dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkvp8enc.c msdk: add Hardware tag to element metadata 2019-02-19 23:44:42 +00:00
gstmsdkvp8enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdkvp9dec.c msdk: Remove all DMABuf caps features on Windows 2019-09-10 13:29:11 +00:00
gstmsdkvp9dec.h msdkdec: move output-order out of decode bass class. 2018-11-23 12:26:40 +00:00
gstmsdkvp9enc.c msdk: Remove all DMABuf caps features on Windows 2019-09-10 13:29:11 +00:00
gstmsdkvp9enc.h msdk: add msdkvp9enc element 2019-07-07 15:16:28 +00:00
gstmsdkvpp.c msdk: free mfx frames to avoid memory leaks in encoder and vpp 2019-09-13 16:54:21 +00:00
gstmsdkvpp.h msdkvpp: support video-direction property 2019-08-26 16:39:39 +00:00
gstmsdkvpputil.c msdk: vpp: rotate output frame 2019-08-22 18:17:30 +00:00
gstmsdkvpputil.h msdk: vpp: Add deinterlacing support 2018-04-03 10:38:52 -08:00
Makefile.am msdk: add msdkvp9enc element 2019-07-07 15:16:28 +00:00
meson.build msdk: actually use the include dir we compute 2019-09-11 00:14:08 +00:00
msdk-enums.c msdkvpp: support video-direction property 2019-08-26 16:39:39 +00:00
msdk-enums.h msdk:dec: Add new propery to dump frames in decoded order 2018-05-07 14:12:10 -08:00
msdk.c msdk: adjust the stride align 2019-09-21 16:59:10 +00:00
msdk.h msdk: Remove all DMABuf caps features on Windows 2019-09-10 13:29:11 +00:00
msdk_d3d.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
msdk_libva.c msdk: map MFX_FOURCC_Y410 to VA_FOURCC_Y410 2019-06-29 17:33:57 +02:00
msdk_libva.h msdk: add mfx in include path 2019-01-08 12:59:45 +00:00