gstreamer/sys/msdk
Sreerenj Balachandran 3f2314a1a9 msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase
Using NV12 layout in dmabuf mode giving mis-aligned
VPP output with the media-driver. Keep the NV12 support
(so that we can file the bug agianst msdk or mediadriver),
but lower the ordering so that BGRA picks as default.

NV12 issue can be reproduced with explicit capfilter:
vidoetestsrc ! msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
2018-05-30 16:29:41 -08:00
..
gstmsdk.c msdk: Add conditional build for vp9 decoder 2018-05-15 16:33:00 -08:00
gstmsdkallocator.h msdk: allocator: get dmabuf handle during allocation if required 2018-03-30 11:04:28 -08:00
gstmsdkallocator_d3d.c msdk: Avoid build failures on Windows until d3d allocator is implemented 2018-02-13 13:54:03 -09:00
gstmsdkallocator_libva.c msdk: Add method to replace internal VASurface of mfxFrameSurface 2018-05-30 16:23:44 -08:00
gstmsdkallocator_libva.h msdk: Add method to replace internal VASurface of mfxFrameSurface 2018-05-30 16:23:44 -08:00
gstmsdkbufferpool.c msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkbufferpool.h msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkcontext.c msdk: fix plugin load on implementations with only HW support 2018-04-04 17:31:14 -08:00
gstmsdkcontext.h msdk: manage MSDK surfaces seperately 2018-03-08 11:37:12 -09: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 msdk:dec: Add new propery to dump frames in decoded order 2018-05-07 14:12:10 -08:00
gstmsdkdec.h msdk:dec: Add new propery to dump frames in decoded order 2018-05-07 14:12:10 -08:00
gstmsdkenc.c msdk: enc: Add supprot for dmabuf-import 2018-05-30 16:26:27 -08:00
gstmsdkenc.h msdk: enc: Add dmabuf-export support 2018-05-02 14:52:24 -08:00
gstmsdkh264dec.c msdk: dec: remove framerate field from sink caps template 2018-03-29 13:06:41 -08:00
gstmsdkh264dec.h msdk: Add H.264 decoder 2016-12-12 23:16:11 +01:00
gstmsdkh264enc.c msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -08:00
gstmsdkh264enc.h msdk: h264_enc: Enable B-pyramid prediction support 2018-02-20 12:41:18 -09:00
gstmsdkh265dec.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkh265dec.h msdk: Add H.265 decoder 2016-12-12 23:48:46 +01:00
gstmsdkh265enc.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkh265enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdkmjpegdec.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkmjpegdec.h msdk: add mjpeg decoder 2016-12-13 00:06:42 +01:00
gstmsdkmjpegenc.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkmjpegenc.h msdk: add mjpeg encoder 2016-12-13 00:06:42 +01:00
gstmsdkmpeg2dec.c msdk: dec: remove framerate field from sink caps template 2018-03-29 13:06:41 -08:00
gstmsdkmpeg2dec.h msdk: Add mpeg2 decoder 2018-01-10 10:40:24 -09:00
gstmsdkmpeg2enc.c msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -08:00
gstmsdkmpeg2enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdksystemmemory.c msdk: fix typo 2018-03-13 14:18:23 -08:00
gstmsdksystemmemory.h msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkvc1dec.c msdk: vc1_dec: Add Advanced profile (WVC1) support 2018-02-13 14:41:52 -09:00
gstmsdkvc1dec.h msdk: Add VC1 decoder (simple and main profiles) 2018-02-13 14:40:54 -09:00
gstmsdkvideomemory.c msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkvideomemory.h msdk: dmabuf support 2018-03-30 11:06:05 -08:00
gstmsdkvp8dec.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkvp8dec.h msdk: adds msdkvp8dec 2017-11-01 11:33:50 +02:00
gstmsdkvp8enc.c msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
gstmsdkvp8enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdkvp9dec.c msdk: Add conditional build for vp9 decoder 2018-05-15 16:33:00 -08:00
gstmsdkvp9dec.h msdk: dec: Add VP9 decoder 2018-05-15 16:32:22 -08:00
gstmsdkvpp.c msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase 2018-05-30 16:29:41 -08:00
gstmsdkvpp.h msdkvpp: Disable passthrough if memory capsfeature changes 2018-04-30 12:40:32 -08:00
gstmsdkvpputil.c msdk: vpp : Add frame rate control 2018-04-03 11:10:20 -08:00
gstmsdkvpputil.h msdk: vpp: Add deinterlacing support 2018-04-03 10:38:52 -08:00
Makefile.am msdk: Add conditional build for vp9 decoder 2018-05-15 16:33:00 -08:00
meson.build Meson: Generate pc file for all plugins in bad 2018-04-25 11:08:09 +01:00
msdk-enums.c msdk:dec: Add new propery to dump frames in decoded order 2018-05-07 14:12:10 -08: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: Add more video format mapping 2018-04-25 12:33:08 -08:00
msdk.h msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
msdk_d3d.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
msdk_libva.c msdk: libva: remove unnecessary code and comments 2018-03-13 14:21:40 -08:00
msdk_libva.h msdk: allow building against open sourced msdk 2018-05-15 16:31:02 -08:00
README msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00

# gst-msdk

gst-msdk is a plugin for
[Intel Media SDK](https://software.intel.com/en-us/media-sdk), a
cross-platform API for developing media applications. The plugin has
multiple elements for video hardware encoding leveraging latest Intel
processors through Intel Media SDK.

- MPEG2 encoding (*msdkmpeg2enc*)

- H.264 encoding (*msdkh264enc*)

- H.265 encoding (*msdkh265enc*)

- VP8 encoding (*msdkvp8enc*)


It requires:

- Intel Media SDK


# Giving it a try

Encoding a simple video test source and saving it to a file.

    $ gst-launch-1.0 videotestsrc ! msdkh264enc ! filesink location=test.h264


# License

gst-mdk is freely available for download under the terms of the
[BSD-3-Clause License](https://spdx.org/licenses/BSD-3-Clause.html).