Yinhang Liu
d99e97af80
msdkh264enc: add dblk-idc property
...
The SDK can support deblocking reference structure [1], so add a new
property to enable this feature.
[1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2122 >
2021-03-31 02:27:10 +00:00
Haihao Xiang
be1f66a491
msdkenc{h264,h265}: add intra-refresh-type property
...
The SDK allows user to specify the intra refresh type which can improve
error resilience without significant impact on encoded bitstream size
caused by I frames [1]
[1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2090 >
2021-03-29 01:36:57 +00:00
Haihao Xiang
1f1a5b4ad1
msdkenc{h264,h265}: add min-qp and max-qp properties
...
The SDK allows user to set a QP range [1], so add min-qp and max-qp to
sepecify QP range. By default, there is no limitations on QP.
[1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908 >
2020-12-30 06:40:36 +00:00
Haihao Xiang
7bc3d51b42
msdkenc{h264,h265}: add p-pyramid property
...
The SDK can support P-Pyramid reference structure [1], so add a new
property to enable this feature in msdkenc{h264,h265}.
[1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1908 >
2020-12-30 06:40:36 +00:00
Haihao Xiang
55f3590317
msdkenc: support tune property in msdkh264enc and msdkh265enc
...
Introduce a new property for encoding mode selection, the default value
for this new property allows the SDK to decide what to do. In addition,
low-power is marked as deprecated since this fix
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1426 >
2020-07-11 13:57:52 +00:00
Seungha Yang
71cf93c361
msdkh264enc: Configure parser and SEI array only if it's required
2020-04-02 09:20:11 +00:00
Seungha Yang
882531aa54
msdkh264enc: Port to h264parser API for frame packing SEI injection
...
Create frame packing SEI memory only once per set_format() and
reuse it if possible.
2020-03-31 08:30:50 +00:00
Seungha Yang
c0787ed1cd
msdkh264enc: Add support for CEA708 closed caption insertion
...
Currently supported caption format is CEA708_RAW
2020-03-30 07:59:10 +00:00
Haihao Xiang
8512624a41
msdkenc: set ROI region for msdk{h264, h265}enc
...
A reconfig is needed when ROI is changed, otherwise the ROI parameters won't
take effect
2020-01-15 00:47:12 +00:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Tim-Philipp Müller
16426b3928
msdk: add Hardware tag to element metadata
2019-02-19 23:44:42 +00:00
Sreerenj Balachandran
f1f148fe7c
msdk: Don't set extended coding options for JPEG encode
...
MJPEG doesn't have support for extended coding options
https://bugzilla.gnome.org/show_bug.cgi?id=793873
2018-03-29 11:56:19 -08:00
Sreerenj Balachandran
e924dec4e1
msdk: h264_enc: Enable B-pyramid prediction support
...
Since there is already an "adaptive-B" option, just
use boolean property for B-pyramid enabling.
Fixme: Not sure whether this can be supported in vp8 and vp9.
It could be possible through GPB (b without backward ref) but
can't verify currently. We can move this as common property
once verified with vp8 and vp9 without breaking any backward
compatibility.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:41:18 -09:00
Sreerenj Balachandran
07c05a75a5
msdk: Add more tuning options
...
Added tuning options for mb level bitrate control,
adaptive I-frame insertion, and adaptive B-frame insertion.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:41:08 -09:00
Sreerenj Balachandran
f25bcf7cb8
msdk: h264_enc: Add slice size tuning option
...
According to spec, it is a general property. But based on
testing it only works for h264 encoder.
Let's keep it as h264 specific for now.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:40:59 -09:00
Sreerenj Balachandran
ddd02be0de
msdk: move enum definitions to separte file
...
Move enum value defintions which are (or in future) supported
by more than one codec into a common file.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:40:50 -09:00
Sreerenj Balachandran
b7dbcb26b8
msdk: encoder: h264: Enable trellis quantization tuning
...
Add a new property "trellis" to enable trellis quantization.
Keeping trellis as a flag value (which is boolean for gst x264 enc element)
since it is possible to enable/disable this seperately for
I,P and B frames through MediaSDK ext option headers.
The subclass implementations always need to inform base-encoder
if it requires the inclusion of Extend Header buffers (mfxExtCodingOption2
and mfxExtCodingOption3).
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:40:42 -09:00
Sreerenj Balachandran
d58c0bd509
msdk: h264_enc: Add LookaheadDownsampling support
...
This option controls down sampling in look ahead bitrate
control mode. According to spec it is only supported in AVC.
Fixme: Probably HEVC also have support for this in recent
MSDK versions. We could move the enumeration types to common
header usable for multiple codecs.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:39:53 -09:00
Sreerenj Balachandran
fa0911c3f6
msdk: encoder: register only the required properties
...
The base encoder common properties are not valid for
mjpeg encoder where there is no motion compensation or rate control.
Delaying the property installation on the base gobject
untill the subclass class_init get invoked.
https://bugzilla.gnome.org/show_bug.cgi?id=791637
2018-02-20 12:38:28 -09:00
Sebastian Dröge
538aae2404
msdkh264enc: Implement frame-packing SEI insertion for side-by-side and top-bottom
...
Ideally this would be supported directly in the Intel MediaSDK but
that's not the case nowadays.
https://bugzilla.gnome.org/show_bug.cgi?id=774920
2017-11-20 14:39:03 +02:00
Josep Torra
7d68d40239
msdk: Create plugin for Intel's Media SDK
...
[scott.d.phillips@intel.com: gst-indent *.c *.h]
[scott.d.phillips@intel.com: link with libva at build time]
[scott.d.phillips@intel.com: remove unused includes]
[scott.d.phillips@intel.com: Update README]
https://bugzilla.gnome.org/show_bug.cgi?id=770990
2016-11-14 15:16:45 +01:00