qtivdec
The QTI's qtivdec gstreamer element is V4L2 based video decoder that uses QTI's video hardware cores for decoding video. The qtivdec plugin is derived from the GstVideoDecoder gstreamer base class for video decoders. GstVideoDecoder calls start when the element is activated. GstVideoDecoder calls setformat to notify qtivdec of the input configurations. It then hands over the frame to the qtivdec, which then processes and informs the base class that it is done processing the frame. Once all the data has been processed the base class calls stop on qtivdec to inform that processing is stopped. For more information on the GstVideoDecoder class and how the subclasses cooperate, please refer to the official documentation page https://gstreamer.freedesktop.org/documentation/video/gstvideodecoder.html?gi-language=c.
The below sections illustrate the supported input/output parameters and decoder configuration properties supported by this element.
Pad templates
sink (input)
video/x-h264
stream-format: { (string)byte-stream }
alignment: { (string)au }
video/x-h265
stream-format: { (string)byte-stream }
alignment: { (string)au }
video/mpeg
mpegversion: { (int)1, (int)2, (int)4 }
systemstream: false parsed: true
Presence – always
Direction – sink
source (output)
video/x-raw format: NV12 width: [ 32, 4096 ] height: [ 32, 4096 ]
video/x-raw(memory:GBM) format: NV12 width: [ 32, 4096 ] height: [ 32, 4096 ]
Presence – always
Direction – src
Properties
name
The name of the object
type: String
access: read/write
default: "qtivdec0"
silent
Controls the verbose output.
type: Boolean
access: read/write
default: false
decode-order
Output decode order.
type: Boolean
access: read/write
default: false
skip-frames
Controls frame skipping. Used in trick play.
type: Boolean
access: read/write
default: false
perf
Controls performance mode enablement
type: Boolean
access: read/write
default: false
operating-rate
For trick mode of smaller resolution to control FF/REW with higher operating rate
type: Boolean
access: read/write
default: false
omxh264enc
The omxh264enc GStreamer element is part of the gst-omx plugin. The gst-omx plugin is an adapter for the available OpenMAX IL components and maps the OpenMAX APIs and states to the Gstreamer APIs and states. The omxh264enc element is an OpenMAX H264 video encoder that provides h/w accelerated H264 video encoding using the OpenMAX component on platforms that support it. QTI has added support for its OpenMAX video encode component in the gst-omx plugin for enabling h/w accelerated video encode on its video core. The omxh264enc element is based on GstVideoEncoder base class for video encoders. For more information on the GstVideoEncoder methods and API call flow refer to https://gstreamer.freedesktop.org/documentation/video/gstvideoencoder.html?gi-language=c.
Pad templates
sink (input)
video/x-raw width: [ 1, 2147483647 ] height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Presence – always
Direction – sink
source (output)
video/x-h264 width: [ 16, 4096 ] height: [ 16, 4096 ]
Presence – always
Direction – src
name
The name of the object
type: String
access: read/write
default: "omxh264enc-omxh264enc0"
qos
Handle Quality-of-Service events from downstream.
type: Boolean
access: read/write
default: false
control-rate
Bitrate control method. This property can be updated only in NULL or READY state.
type: Enum "GstOMXVideoEncControlRate"
access: read/write
default: -1, "default"
possible values:
(0): disable - Disable
(1): variable - Variable
(2): constant - Constant
(3): variable-skip-frames - Variable Skip Frames
(4): constant-skip-frames - Constant Skip Frames
(-1): default - Component Default
target-bitrate
Target bitrate in bits per second. This property can be updated in all states.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
quant-i-frames
Quantization parameter for I-frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
quant-p-frames
Quantization parameter for P-frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
quant-b-frames
Quantization parameter for B-frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
periodicity-idr
Periodicity of IDR frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
interval-intraframes
Interval of coding Intra frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
b-frames
Number of B-frames between two consecutive I-frames. This property can be updated only in NULL or READY state.
type: Unsigned Integer
access: read/write
default: 4294967295
range: 0 - 4294967295
entropy-mode
Entropy mode for encoding process. This property can be updated only in NULL or READY state.
type: Enum "GstOMXH264EncEntropyMode"
access: read/write
default: -1, "default"
possible values:
(0): CAVLC - CAVLC entropy mode
(1): CABAC - CABAC entropy mode
(-1): default - Component Default
constrained-intra-prediction
If enabled, prediction only uses residual data and decoded samples from neighboring coding blocks coded using intra prediction modes. This property can be updated only in NULL or READY state.
type: Boolean
access: read/write
default: false
loop-filter-mode
Enable or disable the deblocking filter . This property can be updated only in NULL or READY state.
type: Enum "GstOMXH264EncLoopFilter"
access: read/write
default: -1, "default"
possible values:
(0): enable - Enable deblocking filter
(1): disable - Disable deblocking filter
(2): disable-slice-boundary - Disables deblocking filter on slice boundary
(-1): default - Component Default