1,638
edits
mNo edit summary |
m (→Documentation) |
||
Line 14: | Line 14: | ||
The Doxygen documentation can be found at GStreamer 1.0 Codec Engine Plugin Design Documentation. | The Doxygen documentation can be found at GStreamer 1.0 Codec Engine Plugin Design Documentation. | ||
== gst-inspect output == | |||
<pre> | |||
~ # gst-inspect-1.0 ce_h264enc | |||
Factory Details: | |||
Rank primary (256) | |||
Long-name CE H.264 video encoder | |||
Klass Codec/Encoder/Video | |||
Description Encode video in H.264 format | |||
Author Melissa Montero <melissa.montero@ridgerun.com> | |||
Plugin Details: | |||
Name ceplugin | |||
Description GStreamer Plugin for codecs based on CodecEngine API for Texas Instruments SoC | |||
Filename /usr/lib/gstreamer-1.0/libgstce.so | |||
Version 0.0 | |||
Source module gst-ce-plugins | |||
Binary package gst-ce-plugin | |||
Origin URL RidgeRun | |||
GObject | |||
+----GInitiallyUnowned | |||
+----GstObject | |||
+----GstElement | |||
+----GstVideoEncoder | |||
+----GstCeVidEnc | |||
+----GstCeH264Enc | |||
Implemented Interfaces: | |||
GstPreset | |||
Pad Templates: | |||
SRC template: 'src' | |||
Availability: Always | |||
Capabilities: | |||
video/x-h264 | |||
framerate: [ 0/1, 120/1 ] | |||
width: [ 128, 4080 ] | |||
height: [ 96, 4096 ] | |||
stream-format: { (string)avc, (string)byte-stream } | |||
SINK template: 'sink' | |||
Availability: Always | |||
Capabilities: | |||
video/x-raw | |||
format: NV12 | |||
framerate: [ 0/1, 120/1 ] | |||
width: [ 128, 4080 ] | |||
height: [ 96, 4096 ] | |||
Element Flags: | |||
no flags set | |||
Element Implementation: | |||
Has change_state() function: gst_video_encoder_change_state | |||
Element has no clocking capabilities. | |||
Element has no URI handling capabilities. | |||
Pads: | |||
SINK: 'sink' | |||
Pad Template: 'sink' | |||
SRC: 'src' | |||
Pad Template: 'src' | |||
Element Properties: | |||
name : The name of the object | |||
flags: readable, writable | |||
String. Default: "ceh264enc0" | |||
parent : The parent of the object | |||
flags: readable, writable | |||
Object of type "GstObject" | |||
rate-control : Encoding rate control | |||
flags: readable, writable | |||
Enum "GstCeVidEncRate" Default: 1, "CBR" | |||
(1): CBR - Constant Bit Rate, for video conferencing | |||
(2): VBR - Variable Bit Rate, for storage | |||
(3): Two Pass - Two pass rate, for non real-time applications | |||
(4): None - No Rate Control is used | |||
(5): User - User defined on algorithm specific properties | |||
encoding-preset : Encoding preset | |||
flags: readable, writable | |||
Enum "GstCeVidEncPreset" Default: 2, "speed" | |||
(1): quality - High quality | |||
(2): speed - High speed, for storage | |||
(3): user - User defined on algorithm specific properties | |||
max-bitrate : Maximum bit rate to be supported in bits per second | |||
flags: readable, writable | |||
Integer. Range: 1000 - 50000000 Default: 6000000 | |||
target-bitrate : Target bit rate in bits per second, should be <= than the maxbitrate | |||
flags: readable, writable | |||
Integer. Range: 1000 - 20000000 Default: 6000000 | |||
intraframe-interval : Interval between two consecutive intra frames | |||
flags: readable, writable | |||
Integer. Range: 0 - 2147483647 Default: 30 | |||
force-frame : Force next frame to be encoded as a specific type | |||
flags: readable, writable | |||
Enum "GstCeVidEncForce" Default: -1, "na" | |||
(-1): na - No forcing of any specific frame type for the frame | |||
(0): i-frame - Force the frame to be encoded as I frame | |||
(3): idr-frame - Force the frame to be encoded as an IDR frame | |||
num-out-buffers : Number of buffers to be used in the output buffer pool | |||
flags: readable, writable | |||
Integer. Range: 3 - 2147483647 Default: 3 | |||
min-size-percentage : Define the minimum size acceptable for an output buffer,as a percentage of the input buffer size recomended by the encoder.The encoder will use the defined smaller buffer when there is not enough free memory. Only set this property to less than 100 if you can ensure the encoder will compress the data enough to fit in the smaller buffer and you don't want to drop buffers | |||
flags: readable, writable | |||
Integer. Range: 10 - 100 Default: 100 | |||
fix-timestamp : Set if the buffers timestamp should be changed | |||
to follow pipeline framerate. This property ignores input buffer timestamp | |||
flags: readable, writable | |||
Boolean. Default: false | |||
bytestream : Generate h264 NAL unit stream instead of 'packetized' stream (no codec_data is generated) | |||
flags: readable, writable | |||
Boolean. Default: false | |||
headers : Include on the stream the SPS/PPS headers | |||
flags: readable, writable | |||
Boolean. Default: false | |||
single-nalu : Buffers contains a single NALU | |||
flags: readable, writable | |||
Boolean. Default: false | |||
profile : Profile identification for the encoder | |||
flags: readable, writable | |||
Enum "GstCeH264EncProfile" Default: 100, "high" | |||
(66): base - Base line | |||
(77): main - Main profile | |||
(100): high - High profile | |||
level : Level identification for the encoder | |||
flags: readable, writable | |||
Enum "GstCeH264EncLevel" Default: 40, "4.0" | |||
(10): 1.0 - Level 1.0 | |||
(9): 1.b - Level 1.b | |||
(11): 1.1 - Level 1.1 | |||
(12): 1.2 - Level 1.2 | |||
(13): 1.3 - Level 1.3 | |||
(20): 2.0 - Level 2.0 | |||
(21): 2.1 - Level 2.1 | |||
(22): 2.2 - Level 2.2 | |||
(30): 3.0 - Level 3.0 | |||
(31): 3.1 - Level 3.1 | |||
(32): 3.2 - Level 3.2 | |||
(40): 4.0 - Level 4.0 | |||
(41): 4.1 - Level 4.1 | |||
(42): 4.2 - Level 4.2 | |||
(50): 5.0 - Level 5.0 | |||
(51): 5.1 - Level 5.1 | |||
entropy : Flag for Entropy Coding Mode | |||
flags: readable, writable | |||
Enum "GstCeH264EncEntropy" Default: 1, "cabac" | |||
(0): cavlc - CAVLC | |||
(1): cabac - CABAC | |||
t8x8intra : Enable 8x8 Transform for I Frame (only for High Profile) | |||
flags: readable, writable | |||
Boolean. Default: true | |||
t8x8inter : Enable 8x8 Transform for P Frame (only for High Profile) | |||
flags: readable, writable | |||
Boolean. Default: false | |||
encquality : Encoder quality setting | |||
flags: readable, writable | |||
Enum "GstCeVidEncQuality" Default: 2, "speed" | |||
(0): backward - version 1.1, backward compatible mode | |||
(1): quality - High quality mode | |||
(2): speed - High speed mode | |||
enabletcm : When encquality is 0, this flag controls if TCM memory should be used (otherwise is ignored and default to yes) | |||
flags: readable, writable | |||
Boolean. Default: false | |||
ddrbuf : Use DDR buffers instead of IMCOP buffers | |||
flags: readable, writable | |||
Boolean. Default: false | |||
ntemplayers : Number of temporal Layers for SVC | |||
flags: readable, writable | |||
Enum "GstCeH264EncLayers" Default: 0, "one" | |||
(0): one - One layer (Stream with frame rate: F) | |||
(1): two - Two layers (Stream with frame rate: F, F/2) | |||
(2): three - Three layers (Stream with frame rate: F, F/2, F/8) | |||
(255): three - all P refer to previous I or IDR frame (Stream with frame rate: F) | |||
svcsyntaxen : Control for SVC syntax and DPB management | |||
flags: readable, writable | |||
Enum "GstCeH264EncSeqSvcSyntax" Default: 0, "sw" | |||
(0): sw - SVC disabled sliding window enabled | |||
(1): svc-sw - SVC enabled sliding window enabled | |||
(2): mmco - SVC disabled MMCO enabled | |||
(3): svc-mmco - SVC enabled MMCO enabled | |||
seqscaling : Use of sequence scaling matrix | |||
flags: readable, writable | |||
Enum "GstCeH264EncSeqScaling" Default: 1, "auto" | |||
(0): disable - Disable | |||
(1): auto - Auto | |||
(2): low - Low | |||
(3): moderate - Moderate | |||
qpintra : Quantization Parameter (QP) for I frames (only valid when rate control is disabled or is fixed QP) | |||
flags: readable, writable | |||
Integer. Range: 1 - 51 Default: 28 | |||
qpinter : Quantization Parameter (QP) for P frame (only valid when rate control is disabled or is fixed QP) | |||
flags: readable, writable | |||
Integer. Range: 1 - 41 Default: 28 | |||
rcalgo : Rate Control Algorithm (requires ratecontrol set to 5) | |||
flags: readable, writable | |||
Enum "GstCeH264EncRCAlgo" Default: 1, "vbr" | |||
(0): cbr - CBR | |||
(1): vbr - VBR | |||
(2): fixedqp - Fixed QP | |||
(3): cvbr - CVBR | |||
(4): rc1 - RC1 | |||
(5): cbr1 - CBR1 | |||
(6): vbr1 - VBR1 | |||
airrate : Adaptive intra refresh. This indicates the maximum number of MBs(per frame) that can be refreshed using AIR. | |||
flags: readable, writable | |||
Integer. Range: 0 - 2147483647 Default: 0 | |||
idrinterval : Interval between two consecutive IDR frames | |||
flags: readable, writable | |||
Integer. Range: 0 - 2147483647 Default: 0 | |||
interlace : Enable/Disable interlace encoding | |||
flags: readable, writable | |||
Boolean. Default: false | |||
interlace-mode : Control the reference picture selection in case of interlaced encoding | |||
flags: readable, writable | |||
Enum "GstCeH264EncInterlaceMode" Default: 0, "arf" | |||
(0): arf - Adaptive reference field | |||
(1): spf - Same parity field | |||
(2): mrcf - Most recent coded field | |||
</pre> | |||
== Supported hardware == | == Supported hardware == |