Parameter List

Multimedia User Guide (UG1449)

Document ID
UG1449
Release Date
2022-04-21
Revision
1.4 English

The following table shows the list of VCU parameters and their description.

Table 1. Parameter List
VCU Parameter Description
Target Bit Rate

Target bitrate in kb/s

Default value: 64

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

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 are set.

Default value: 0

Inserting Key Frame (IDR)

Specifies the number of frames between consecutive instantaneous decoder refresh (IDR) pictures.

Encoder inserts a Keyframe and restart a GOP upon IDR request.

Region of Interest Encoding Region of Interest Encoding tags regions in a video frame to be encoded with user supplied quality (high, medium, low, and dont-care) relative to the picture background (untagged region).

You provide the region of interest (ROI) location (top, left) in pixels and the width and height in pixels along with the quality index. Multiple and overlapped ROI regions within a frame are supported. The sample GStreamer application only adds one ROI region but users can attach multiple ROI meta data properties to the buffer.

Long Term Reference Picture

If enabled, encoder accepts dynamically inserting and using long-term reference picture events from upstream elements.

Boolean: True or False

Default value: False

Adaptive GOP

You specify the maximum number of B frames that can be used in a GOP. Set the GOP mode to adaptive using GopCtrlMode=ADAPTIVE_GOP in encoder configuration file at control software, and gop-mode=adaptive in GStreamer.

The encoder adapts the number of B frames used in the GOP pattern based on heuristics on the video content.

The encoder does not go higher than the maximum number of B frames that you specify.

SEI Insertion and Extraction Adds SEI NAL to the stream. You are responsible for the SEI payload and have to write it as specified in Annex D.3 of ITU-T. The encoder does the rest including anti-emulation of the payload.
Dual Pass Encoding Encode the video twice, the first pass collects information about the sequence. Statistics are used to improve the encoding of the second pass.
Scene Change Detection GDR Intra Refresh

The Xilinx® video scene change detection IP provides a video processing block that implements a scene change detection algorithm. The IP core calculates the histogram on a vertically subsampled HMA frame for consecutive frames. The histogram of these frames is then compared using the sum of absolute differences (SAD). This IP core is programmable through a comprehensive register interface to control the frame size, video format, and subsampling value.

Gradual Decoder Refresh (GDR): When GOPCtrlMode is set to LOW_DELAY_P, the GDRMode parameter is used to specify whether GDR scheme should be used or not. When GDR is enabled (horizontal/vertical), the encoder inserts intra MBs row/column in the picture to refresh the decoder. The Gop.FreqIDR parameter specifies the frequency at which the refresh pattern should happen. To allow full picture refreshing, the Gop.FreqIDR parameter should be greater than the number of CTB/MB rows (GDR_HORIZONTAL) or columns (GDR_VERTICAL).

Dynamic Resolution Change – VCU Encoder/Decoder

Dynamic Resolution Change is supported at the VCU for both the Encoder/Decoder.

  • VCU Encoder: Input sources may contain several resolution.
  • VCU Decoder: An input compressed stream can contain multiple resolutions. The VCU Decoder can decode pictures without re-creating a channel.

All the streams should belong to same codec, chroma-format, and bit-depth.

Frameskip support for VCU Encoder

When an encoded picture is too large and exceeds the CPB buffer size, the picture is discarded and replaced by a picture with all MB/CTB encoded as « Skip ».

This feature is useful especially at low bitrates when the encoder must maintain a strict target-bitrate irrespective of video-complexity.

Use this parameter only if control-rate=constant/variable and b-frames are less than 2.

Default: FALSE

32-Streams Support The VCU supports simultaneous encoding and decoding up to 4K UHD resolution at 60 Hz. This can be divided into 32 smaller streams of up to 480p at 30 Hz. Several combinations of one to 32 streams can be supported with different resolutions, provided the cumulative throughput does not exceed 4K UHD at 60 Hz.
DCI-4k Encode/Decode VCU is capable of encoding or decoding at 4096x2160p60, 422, provided the VCU Core-clk frequency is set to 712 MHz, keeping rest of the AXI and MCU frequency as recommend in the harware section.
External QP Table

Along with each frame, it is possible to associate a QP Table specifying the QP to use for each encoding block of the frame. The QP value can be relative or absolute. The QP table buffer must contain a byte per MB/CTB, in raster scan format:

  • In AVC, one byte per 16x16 MB
  • In HEVC, one byte per 32x32 CTB
Temporal-ID support for VCU Encoder The VCU encoder assigns a temporal layer ID to each frame based on its hierarchical layer as per the AVC/HEVC standard. This enables having a temporal-ID based QP and the Lambda table control for encode session. This is for Pyramidal GOP only.
Low latency support Low-latency rate control (hardware RC) is the preferred control-rate for video streaming; it tries to maintain an equal amount of frame sizes for all pictures.
Dynamic-Bitrate Dynamic-bitrate is the ability to change encoding bitrate (target-bitrate) while the encoder is active.
Decoder Meta-data Transfer Using 1-to-1 Relation between Input and Output Buffer Each incoming buffer is copied into the decoder internal circular buffer, and the frame boundaries are (re-)detected afterwards by the decoder itself. This prevents it from keeping a true 1-to-1 relationship between the input buffer and decoded output frame. An application can try to retrieve the 1-to-1 relationship based on the decoding order but this is not reliable in case of error concealment. This new feature consists of bypassing the circular buffer stage for use cases where the incoming buffers are frame (or slice) aligned. In this case, the decoder can directly work on the input buffer (assuming DMA input buffer) and any associated metadata can be retrieved on the output callback
DEFAULT_GOP_B and PYRAMIDAL_GOP_B GOP Control Modes

Patterns are identical to DEFAULT_GOP and PYRAMIDAL_GOP except that P frames are replaced with B Pictures.

Omxh264enc/omxh265enc element gop-mode parameter supports these two new settings from 2019.2 onwards. “basic-b” corresponds to DEFAULT_GOP_B and “pyramidal-b” corresponds to PYRAMIDAL_GOP_B.

Adaptive Deblocking Filter Parameters Update

Loop filter beta and Tc offsets are configurable at frame level.

Constraints: New offset values are applied on the chosen frame and on the following frames in the decoding order.

Omxh264enc/omxh265enc elements support the following two mutable parameters. The values can be modified during run time.

  • loop-filter-beta-offset: Beta offset for the deblocking filter; used only when loop-filter-mode is enabled.
  • loop-filter-alpha-c0-offset / loop-filter-tc-offset: Alpha_C0 / TC offset for the deblocking filter; used only when loop-filter-mode is enabled.
Max Picture Size

Provide the maximum possible limit for encoded video frame, which should be a function of the input target bitrate.

For more information, see the GStreamer Encoding Parameters table in H.264/H.265 Video Codec Unit LogiCORE IP Product Guide (PG252)