Haihao Xiang
b483f3499a
msdkh265dec: add support for main-444-10/main-444-10-intra profile
...
The output format is Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
9da737d6aa
msdk: return a right pointer for Y410 when mapping a frame
2019-06-29 17:33:57 +02:00
Haihao Xiang
ba24af0490
msdk: set right BitDepth and Shift for Y410 mfx frame
...
BitDepth is 10 and Shitf must be set to 0 when creating Y410 mfx
frame in MSDK
2019-06-29 17:33:57 +02:00
Haihao Xiang
84a46f04a7
msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y410 frame
2019-06-29 17:33:57 +02:00
Haihao Xiang
bc3a43bdb4
msdk: map MFX_FOURCC_Y410 to VA_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
365f6cf0c8
msdk: map GST_VIDEO_FORMAT_Y410 to VA_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
9b43a5621f
msdk: map GST_VIDEO_FORMAT_Y410 to MFX_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
49ae5c2de4
msdkh265dec: add support for main-444 profile
...
The output format is VUYA
2019-06-29 17:33:57 +02:00
Haihao Xiang
1ee2adc580
msdkh265dec: add support for main-422-10/main-422-10-intra 10bit
...
The ouput format is Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
a3f8faa682
msdk: set right BitDepth and Shift for Y210 mfx frame
...
BitDepth is 10 and Shitf must be set to 1 when creating Y210 mfx
frame in MSDK
2019-06-29 14:15:32 +00:00
Haihao Xiang
32fce730ed
msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y210 frame
2019-06-29 14:15:32 +00:00
Haihao Xiang
c763a6f157
msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
47bb53a80a
msdk: map GST_VIDEO_FORMAT_Y210 to VA_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
24da8ec47b
msdk: map GST_VIDEO_FORMAT_Y210 to MFX_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
56d6df08f9
msdkh265dec: add support for main-422-10/main-422-10-intra 8bit
...
The output format is YUY2
2019-06-29 14:15:32 +00:00
Haihao Xiang
1ec231b85d
msdk: return a right pointer for VUYA format
...
The first channel in memory is V for VUYA format, note
GST_VIDEO_FORMAT_VUYA is mapped to MFX_FOURCC_AYUV in this plugin
2019-05-31 14:51:35 +08:00
Haihao Xiang
9f588a97dc
msdk: fix the typo for gst_msdkvp9dec_debug
2019-05-16 12:18:30 +08:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Haihao Xiang
5b369e6e97
msdk: fix the build error with libva 2.4.0
...
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/949
2019-04-17 13:10:10 +08:00
Peter Seiderer
670481bdeb
msdkdec: fix error handling in case of unsupported hardware
...
Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
Peter Seiderer
e766aaf2b1
msdkenc: fix error handling in case of unsupported hardware
...
Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
Peter Seiderer
9b19968a66
msdk: fix error handling in case of unsupported hardware
...
Fix double gst_object_unref for GstMsdkContext.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
Haihao Xiang
e81a22d741
msdkvpp: add BGR10A2_LE format in the src pad
...
example pipeline:
gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10LE ! msdkvpp ! \
video/x-raw,format=BGR10A2_LE ! fakesink
2019-04-09 14:26:02 +00:00
Haihao Xiang
21f07e95f5
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_A2RGB10 frame
2019-04-09 14:26:02 +00:00
Haihao Xiang
c40ecbe7f5
msdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10
2019-04-09 14:26:02 +00:00
Haihao Xiang
95fdc2e984
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to VA_FOURCC_A2R10G10B10
2019-04-09 14:26:02 +00:00
Haihao Xiang
53fd4a1564
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to MFX_FOURCC_A2RGB10
2019-04-09 14:26:02 +00:00
Haihao Xiang
8e4d7c3642
msdkdec: add postinit_decoder
...
The workaround for https://github.com/Intel-Media-SDK/MediaSDK/issues/1139
is required for vp8 only, so move this workaround to the corresponding
postinit_decoder function
The pipeline below works with this change
gst-launch-1.0 filesrc location=SA10104.vc1 ! \
'video/x-wmv,profile=(string)advanced',width=720,height=480,framerate=14/1 ! \
msdkvc1dec ! fakesink
2019-03-29 13:32:06 +08:00
Haihao Xiang
01051e7dfd
msdkdec: don't set unknown picture struct to progressive for vc1
...
MFXVideoDECODE_DecodeHeader only parses the sequence layer for VC1, so
the structure is unknown for a stream with interlace flag set in the
sequence layer. If forcing the struct to progressive in this plugin,
MediaSDK will fail to decode such streams.
2019-03-29 13:13:07 +08:00
Haihao Xiang
5b0247db33
msdkvc1dec: add the preinit_decoder function
2019-03-29 12:57:51 +08:00
Haihao Xiang
ac1408874b
msdkvpp: add VUYA format in the src and sink pads
2019-03-25 09:50:33 +00:00
Haihao Xiang
8389e88840
msdk: return the right pointer for GST_VIDEO_FORMAT_VUYA frame
...
The first component for GST_VIDEO_FORMAT_VUYA in memory is V.
2019-03-25 09:50:33 +00:00
Haihao Xiang
24d12a4abf
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_AYUV frame
2019-03-25 09:50:33 +00:00
Haihao Xiang
5a5d707cdd
msdk: map MFX_FOURCC_AYUV to VA_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
cd8696d2b2
msdk: map GST_VIDEO_FORMAT_VUYA to VA_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
f7863cc741
msdk: map GST_VIDEO_FORMAT_VUYA to MFX_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
28a1b0c418
msdkdec: avoid infinite loop
...
It is possible MFXVideoDECODE_DecodeFrameAsync returns MFX_ERR_INCOMPATIBLE_VIDEO_PARAM
and this error can't be recovered by retrying MFXVideoDECODE_DecodeFrameAsync
in some cases, so we need to limit the number of retries to avoid infinite loop.
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/909
2019-03-25 09:10:38 +00:00
Haihao Xiang
2e3022c553
msdk: relicense the plugin to LGPL
...
Some files licensed under LGPL were included, so relicense the plugin
from BSD to LPGL. In addition, this patch removes the README per the
discussion in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/853
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/853
2019-03-17 18:15:46 +00:00
Seungha Yang
1d17e3891d
mskd: Don't use MFX_FOURCC_RGB565 if it's undefined
...
../subprojects/gst-plugins-bad/sys/msdk/msdk.c(61): error C2065: 'MFX_FOURCC_RGB565'
The minimum required version for the format seems to MFX_VERSION >= 1028
2019-03-01 07:03:01 +00:00
Haihao Xiang
4b8e3b215a
msdkdec: fix for small resolution
2019-02-28 11:51:06 +00:00
Haihao Xiang
18d410b81a
msdkdec: fix for resolution change
...
Returning MFX_ERR_INCOMPATIBLE_VIDEO_PARAM from
MFXVideoDECODE_DecodeFrameAsync means the allocated mfx surface is not
suitable for the current frame, we need a new mfx surface and try
MFXVideoDECODE_DecodeFrameAsync again.
2019-02-28 11:08:24 +00:00
Haihao Xiang
a751b33072
msdkdec: force the alignment of width/height to 16 for vp8/vp9
...
MSDK library requires 16 alignment for vp8/vp9, otherwise a pipeline
for vp8/vp9 decoding might fail.
example pipeline:
gst-launch-1.0 filesrc location=vp8_1280x720.webm ! matroskademux ! \
msdkvp8dec ! fakesink
0:00:00.150565444 10657 0x55c8484036d0 ERROR msdkdec
gstmsdkdec.c:1056:gst_msdkdec_handle_frame:<msdkvp8dec0>
DecodeFrameAsync failed (invalid video parameters)
2019-02-27 15:56:29 +00:00
Haihao Xiang
0806f94e1c
msdkvpp: add RGB16 format in the sink pad
...
Note: MSDK doesn't support RGB16 output, hence don't add RGB16 format in
the src pad
2019-02-27 15:22:43 +00:00
Haihao Xiang
f39bcd3920
msdk: set some parameters in mfxFrameData for a RGB16 frame
2019-02-27 15:22:43 +00:00
Haihao Xiang
52b5a7e206
msdk: map MFX_FOURCC_RGB565 to VA_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
a09cff84ce
msdk: map GST_VIDEO_FORMAT_RGB16 to VA_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
197f7f569b
msdk: map GST_VIDEO_FORMAT_RGB16 to MFX_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
6287016a74
msdkdec: release the occupied surface for MFX_WRN_DEVICE_BUSY
...
When MFXVideoDECODE_DecodeFrameAsync () returns MFX_WRN_DEVICE_BUSY with
an output surface, a new input surface is required when retrying
MFXVideoDECODE_DecodeFrameAsync ().
This fixes the out-of-surface issue mentioned in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/890
2019-02-24 19:13:57 +00:00
Haihao Xiang
fffb3f628d
msdk: don't destroy an image twice
...
This gets rid of annoying message in the log, e.g. run the pipeline
below:
gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=NV12,width=352,height=288 ! msdkh264enc ! filesink \
location=test.h264
[LIBVA]:CRITICAL - DdiMedia_DestroyImage:4357: Invalid image
2019-02-24 17:59:43 +00:00
Haihao Xiang
348a4b570d
msdk: move the comment to the correct place
2019-02-24 17:59:43 +00:00