gstreamer/sys/msdk
Sreerenj Balachandran 5184f85d77 msdk: vpp: Allocation query fixes
prpose_allocation:
-- always instantiate a pool for for upstream
-- use async_depth + 1 as min buffer count

decide_allocation:
-- always create a new bufferpool for source pad.
Each of the msdk element has to create it's own mfxsurfacepool
which is an msdk contraint. For eg: Each Msdk component (vpp, dec and
enc)
will invoke the external Frame allocator for video-memory usage
So sharing the pool between gst-msdk elements might not be a good idea.

https://bugzilla.gnome.org/show_bug.cgi?id=793705
2018-04-25 12:33:00 -08:00
..
gstmsdk.c msdk: Add VPP element 2018-04-03 10:38:19 -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: allocator: libva: check if it's already using dmabuf when mapping 2018-04-02 15:49:32 -08:00
gstmsdkallocator_libva.h msdk: adds new function to get dmabuf information from surface. 2018-03-30 11:05:16 -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: rename the function to what it means more exactly. 2018-04-02 15:55:55 -08:00
gstmsdkdec.h msdkdec: use dmabuf if possible 2018-03-30 11:06:40 -08:00
gstmsdkenc.c msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -08:00
gstmsdkenc.h msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -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: h265dec: remove framerate field from sink caps template 2018-03-29 12:40:34 -08:00
gstmsdkh265dec.h msdk: Add H.265 decoder 2016-12-12 23:48:46 +01:00
gstmsdkh265enc.c msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -08:00
gstmsdkh265enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdkmjpegdec.c msdk: jpegdec: Fix non-interleaved sample decode 2018-04-16 14:37:21 -08:00
gstmsdkmjpegdec.h msdk: add mjpeg decoder 2016-12-13 00:06:42 +01:00
gstmsdkmjpegenc.c msdk: Allow building against mfx_dispatcher 2017-10-30 18:20:23 +02: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: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
gstmsdkvp8dec.h msdk: adds msdkvp8dec 2017-11-01 11:33:50 +02:00
gstmsdkvp8enc.c msdk: Don't set extended coding options for JPEG encode 2018-03-29 11:56:19 -08:00
gstmsdkvp8enc.h msdk: Create plugin for Intel's Media SDK 2016-11-14 15:16:45 +01:00
gstmsdkvpp.c msdk: vpp: Allocation query fixes 2018-04-25 12:33:00 -08:00
gstmsdkvpp.h msdk: vpp : Add frame rate control 2018-04-03 11:10:20 -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 VPP element 2018-04-03 10:38:19 -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: vpp : Add frame rate control 2018-04-03 11:10:20 -08:00
msdk-enums.h msdk: vpp : Add frame rate control 2018-04-03 11:10:20 -08:00
msdk.c msdk: fix plugin load on implementations with only HW support 2018-04-04 17:31:14 -08:00
msdk.h msdk: fix plugin load on implementations with only HW support 2018-04-04 17:31:14 -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: libva: adds utility function between mfx and libva 2018-02-13 12:39:44 -09: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).