gstreamer/sys/msdk
Hyunjun Ko a66d5620f3 msdkdec: use bufferpool
1\ In decide_allocation, it makes its own msdk bufferpool.
  - If downstream supports video meta, it just replace it with the msdk
bufferpool.
  - If not, it uses the msdk bufferpool as a side pool, which will be
decoded into.
    and will copy it to downstream's bufferpool.

2\ Decide if using video memory or system memory.
  - This is not completed in this patch.
  - It might be decided in update_src_caps.
  - But tested for both system memory and video memory cases.

https://bugzilla.gnome.org/show_bug.cgi?id=790752
2018-02-13 13:49:28 -09:00
..
gstmsdk.c msdk: change plugin's description 2018-01-11 11:29:38 +01:00
gstmsdkallocator.h msdk: adds frame allocator using libva 2018-02-13 12:43:42 -09:00
gstmsdkallocator_libva.c msdk: adds frame allocator using libva 2018-02-13 12:43:42 -09:00
gstmsdkbufferpool.c msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkbufferpool.h msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkcontext.c msdk: adds frame allocator using libva 2018-02-13 12:43:42 -09:00
gstmsdkcontext.h msdk: adds frame allocator using libva 2018-02-13 12:43:42 -09:00
gstmsdkdec.c msdkdec: use bufferpool 2018-02-13 13:49:28 -09:00
gstmsdkdec.h msdkdec: use bufferpool 2018-02-13 13:49:28 -09:00
gstmsdkenc.c msdkenc: use bufferpool 2018-02-13 13:48:32 -09:00
gstmsdkenc.h msdkenc: use bufferpool 2018-02-13 13:48:32 -09:00
gstmsdkh264dec.c msdk: Add H.264 decoder 2016-12-12 23:16:11 +01:00
gstmsdkh264dec.h msdk: Add H.264 decoder 2016-12-12 23:16:11 +01:00
gstmsdkh264enc.c msdkh264enc: Implement frame-packing SEI insertion for side-by-side and top-bottom 2017-11-20 14:39:03 +02:00
gstmsdkh264enc.h msdkh264enc: Implement frame-packing SEI insertion for side-by-side and top-bottom 2017-11-20 14:39:03 +02:00
gstmsdkh265dec.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
gstmsdkh265dec.h msdk: Add H.265 decoder 2016-12-12 23:48:46 +01:00
gstmsdkh265enc.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
gstmsdkh265enc.h
gstmsdkmjpegdec.c msdk: Allow building against mfx_dispatcher 2017-10-30 18:20:23 +02: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: Add mpeg2 decoder 2018-01-10 10:40:24 -09:00
gstmsdkmpeg2dec.h msdk: Add mpeg2 decoder 2018-01-10 10:40:24 -09:00
gstmsdkmpeg2enc.c
gstmsdkmpeg2enc.h
gstmsdksystemmemory.c msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdksystemmemory.h msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkvideomemory.c msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
gstmsdkvideomemory.h msdk: supports bufferpool 2018-02-13 13:44:08 -09: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: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
gstmsdkvp8enc.h
Makefile.am msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
meson.build msdk: supports bufferpool 2018-02-13 13:44:08 -09:00
msdk.c msdkenc: use bufferpool 2018-02-13 13:48:32 -09:00
msdk.h msdkenc: use bufferpool 2018-02-13 13:48:32 -09:00
msdk_d3d.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
msdk_libva.c msdk: implements GstMsdkContext. 2018-02-13 12:41:28 -09:00
msdk_libva.h msdk: libva: adds utility function between mfx and libva 2018-02-13 12:39:44 -09:00
README

# 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).