The GStreamer encoding parameters are shown in the following table.
VCU Parameter | GStreamer Property | Description |
---|---|---|
Rate Control Mode | control rate | Available bit rate control modes, Constant Bit
rate (CBR) and Variable Bit rate (VBR) Encoding
Default value: 2 |
Use Output Port Buffer Pool | use-out-port-pool | If enabled, use DMA based buffer pool on
encoder’s the output pool. Default value: FALSE |
Target Bit Rate 6 | target bitrate | Target bitrate in Kbps Default value: 64 |
Maximum Bit Rate 6 | max bitrate | Maximum bitrate, in Kbps, used in VBR rate
control mode. Default value: target-bitrate. The max-bitrate value
should always be the target-bitrate Default value: 64 |
Profile | Through caps |
Supported profiles for corresponding codec are mentioned in Table 1 Default value: HEVC_MAIN |
Level | Through caps |
Supported Levels for corresponding codec are mentioned in Table 1 Default value: 51 |
Tier | Through caps |
Supported Tier for H.265 (HEVC) codec is mentioned in Table 1 Default value: MAIN_TIER |
Slice QP / I-frame QP | quant-i-frames | Quantization parameter for I‑frames in CONST_QP
mode, also used as initial QP in other rate control modes. Range
0–51. Default value: 30 |
P-frame QP | quant-p-frames | Quantization parameter for P‑frames in CONST_QP
mode. Range 0–51. Default value: 30 |
B-frame QP | quant-b-frames | Quantization parameter for B‑frames in CONST_QP
mode. Range 0–51. Default value: 30 |
GOP Length | gop-length | Distance between two consecutive Intra frames.
Specify integer value between 0 and 1,000. Value 0 and 1 corresponds
to Intra-only encoding Default value: 30 |
Number of B-frames | b-frames | Number of B-frames between two consecutive
P-frames. Used only when gop-mode is basic or pyramidal. Range: 0-4 (for gop-mode = basic) 3, 5, or 7 (for gop-mode = pyramidal) B-frames should be set to zero in low-latency and reduced-latency mode as there cannot be any frame reordering when b-frames is set. Default value: 0 |
Number of Slices | num-slices | Specifies the number of slices used for each
frame. Each slice contains one or more full LCU row or rows and are
spread over the frame as regularly as possible. The minimum value is
1. Max supported value as below: In low-latency mode H.264(AVC): 32 H.265 (HEVC): 22 More than 16 slices will not bring much benefit in low latency mode because of overhead In normal latency-mode H.264(AVC): picture_height/16 H.265(HEVC): minimum of picture_height/32 Above max supported values in normal mode will work but HEVC has some more limitations when encoder uses multiple cores When HEVC encoder uses multiple cores (i.e. anything beyond 1080p60 resolution) then the max num-slices is limited by "Max # of tile rows MaxTileRows". Refer to Table 1. In 4k encoding, num-slices should be set to 8 for all latency-modes to achieve best performance. Default value: 1 |
Minimum QP | min-qp | Minimum QP value allowed in encoding session. Range 0–51. Default value: 10 |
Maximum QP | max-qp | Maximum QP value allowed in encoding session. Range 0–51. Default value: 51 |
GOP Configuration | gop-mode | Specifies group of pictures configuration
Both open and closed GOP structures are supported. When Gop.FreqIDR ≠ Gop.Length and B-frames ≠ 0, open GOP structures are possible. For pyramidal gop-mode, encoder uses closed GOPs only. Without B-frames, it only uses closed GOPs. With B-frames, gop-mode=pyramidal, it uses closed GOPs. With B-frames, gop-mode=default and periodicity-idr = 0, it uses open GOPs. With B-frames, gop-mode=default and IDR_freq= GOP. Length, it uses closed GOPs. (For different IDR_freq, you can get mix of open and closed GOPs) Default value: 0 |
Gradual Decoder Refresh | gdr-mode | Specifies which Gradual Decoder Refresh scheme
should be used when gop-mode = low_delay_p
Default value: 0 |
QP Control Mode | qp-mode | QP control mode used by the VCU encoder
Default value: 2 |
Filler data | filler-data | Enable/Disable filler data adding functionality
in CBR rate control mode. Boolean: TRUE or FALSE Default value: True |
Entropy Mode | entropy-mode | Specifies the entropy mode for H.264 (AVC)
encoding process
Default value: 1 |
Deblocking Filter | loop-filter-mode | Enables/disables the deblocking filter option
Default value: 0 |
IDR picture frequency | periodicity-idr | Specifies the number of frames between
consecutive instantaneous decoder refresh (IDR) pictures. The
periodicity-idr property was formerly called gop-freq-idr. Allowed values: <Positive value> or -1 to disable IDR insertion Default value: 0 (first frame is IDR) |
Initial Removal Delay | initial-delay | Specifies the initial removal delay as specified
in the HRD model in milliseconds. Not used when
control-rate = disable
Note: If this value is set too low
(less than 1 frame period), you may see reduced visual
quality.
Default value: 1500 |
Coded Picture buffer size | cpb-size | Specifies the coded picture buffer (CPB) as
specified in the HRD model in milliseconds. Not used when
control-rate = disable Default value: 3000 |
Dependent slice | dependent-slice | Specifies whether the additional slices are
dependent on other slice segments or regular slices in multiple
slices encoding sessions. Used in H.265 (HEVC) encoding only.
Boolean: TRUE or FALSE Default value: False |
Target slice size | slice-size | If set to 0, slices are defined by the
num-slices parameter, else it specifies the target slice size in
bytes. Used to automatically split the bitstream into approximately
equally‑sized slices. Range 0–65,535. Default value: 0 |
Scaling Matrix | scaling-list | Specifies the scaling list mode
Default value: 1 |
PrefetchLevel2 | prefetch-buffer | Enable/Disable L2Cache buffer in encoding
process Default value: false |
Vertical Search Range | low-bandwidth | Specifies low bandwidth mode. Decreases the
vertical search range used for P-frame motion estimation. TRUE or
FALSE. Default values: FALSE |
Slice Height | slice-height | This parameter is used for 2017.4 and earlier
releases only. It is deprecated in 2018.3 and later releases.
Specifies input buffer height alignment of upstream element, if
any. Default value: 1 |
Aspect-Ratio | aspect-ratio | Selects the display aspect ratio of the video
sequence to be written in SPS/VUI.
Default value: 0 |
Constrained Intra Prediction | constrained-intra-prediction | If enabled, prediction only uses residual data
and decoded samples from neighboring coding blocks that are coded
using intra prediction modes. Boolean: TRUE or FALSE. Default value: False |
Long term Ref picture | long-term-ref | If enabled, encoder accepts dynamically
inserting and using long-term reference picture events from upstream
elements Boolean: TRUE or FALSE Default value: False |
Long term picture frequency | long-term-freq | Periodicity of Long-term reference picture
marking in encoding process Units in frames, distance between two
consecutive long-term reference pictures Default value: 0 |
Dual pass encoding | look-ahead | The number of frames processed ahead of second
pass encoding. If smaller than 2, dual pass encoding is disabled. Default value: 0 |
Alignment | Through caps | Encoder alignment
Default value: au Note: When encoder alignment is set to low-latency mode, it is recommended that you set the rate control mode (control-rate) to low latency. See VCU Latency Modes on how to set alignment. When using Low Latency mode, the encoder and decoder are limited by the number of internal cores. The encoder has a maximum of four streams and the decoder has a maximum of two streams. |
Max Quality Target | max-quality-target | Caps quality at certain limit keeping the bit
rate variable. Only used with capped variable rate-control. It xcps
the quality at a certain high limit, keeping bitrate variable Range: 0 to 20 (20 = lossless quality) Default value: 14 The allowed values are between 0 and 20 (where 0 is really poor quality and 20 is close to visual lossless quality). If the encoder cannot reach this quality level due to the video complexity and/or a restricted bitrate, or If the quality target is too high, then the Capped-VBR has no effect compared to VBR. Note: The controlSW parameter name in cfg is
MaxQuality.
|
Max Picture Size | max-picture-size | You can curtail instantaneous peak in the
bit-stream using this parameter. It works in CBR/VBR rate-control
only. When Max Picture Size is enabled, the VCU encoder uses CBR/VBR
but it also enables the hardware rate control module to keep track
of encoding frame size. The hardware rate control module adjusts the
QPs within the frame to ensure that the encoded picture sizes honor
the provided max-picture-size. MaxPictureSize = TargetBitrate / FrameRate * AllowedPeakMargin For 100 Mbps TargetBitrate, 60 fps FrameRate, and 10% AllowedPeakMargin, MaxPictureSize = (100 Mb/s / 60 fps ) * 1.1 = 1834 Kb per frame. |
Slice Type Value Selection | uniform-slice-type |
Enable/Disable uniform slice type in slice header. When this is enabled, the following slice-type values are used in slice header.
Supported from 2021.1 release onwards. |
Input yuv Crop Feature | input-crop |
The The property type of This parameter is supported only from release 2021.1 onwards. |
Latency | latency-mode | For 2018.3 and prior releases (Not used in
2019.1 or later releases; for 2019.1 and future releases, use the
Alignment parameter), specifies encoder latency modes:
Default value: 0 Note: The low-latency latency mode is not recommended
when Rate Control is CBR/VBR.
|
Default ROI Quality | default-roi-quality | Default quality level to apply to each Region of Interest
Default: 0 |
Frame Skip | skip-frame | If enabled and encoded, picture exceeds the CPB
buffer size; the specific picture is discarded and replaced by a
picture with all MB/CTB encoded as skip. Only use of
control-rate=constant/variable and b-frames are less than 2. Default: FALSE |
Maximum number of consecutive frame skips | max-consecutive-skip | Specifies the maximum number of consecutive
skipped frames if skip-frame is enabled. Default Value: 4294967295 |
Max picture size for frame types | max-picture-sizes | Max picture sizes based on frame types ('<I,
P, B>’) Maximum picture size of I, P, and B frames in Kb, encoded
picture size is limited to max-picture-size-x value. If set it to 0,
the max-picture-size-x does not have any effect. GstValueArray of
GValue of type "gint" Write only. The property type of max-picture-sizes is GstValueArray. |
Intraframes interval | interval-intraframes | Interval of coding Intra frames Default: 0 |
Beta offset for deblocking filters | loop-filter-beta-offset | Beta offset for the deblocking filter is used
only when loop-filter-mode is enabled. Range: -6 to 6 Default: -1 |
Alpha offset for deblocking filters | loop-filter-alpha-c0-offset | Alpha C0 offset for the deblocking filter, used
only when loop-filter-mode is enabled. Range: -6 to 6 Default: -1 |
|