Elecard AVC Video Encoder

Elecard AVC Video Encoder is a GStreamer plugin for encoding into H.264/AVC (MPEG-4 Part 10, ISO/IEC 14496-10) streams.

Features

Elecard AVC Video Encoder has the following features:

  • Supports adaptive quantization;

  • Supports CAVLC and CABAC entropy encoding algorithms;

  • Enables precise GOP structure adjustment;

  • Supports various H.264 levels and profiles.

Parameter Description

Below is the table describing Elecard AVC Video Decoder parameters and their values:

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

afd-code

Specifies the Active Format Descriptor (AFD) used to describe the image format, in particular—to manage the way the video will be displayed on screens with various aspect ratios, including the stretching and cropping modes or black lines. AFD is used to improve the compatibility of video with various devices.

Enum

0 — Auto
2 — Box 16x9 Top
3 — Box 14x9 Top
4 — Box 16x9 Centre
8 — Full Frame
9 — 4x3 Centre
10 — 16x9 Centre
11 — 14x9 Centre
13 — 4x3 SNP 14x9 Centre
14 — 16x9 SNP 14x9 Centre
15 — 16x9 SNP 4x3 Centre

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

aq-mode

Specifies the Adaptive Quantization (AQ) mode. The following modes are available:

  • None — AQ is not used;

  • Complexity — complexity-based AQ;

  • Luminance — AQ based on complexity and luminance masking;

  • ROI — encoding mode where the frame ROI (Region of Interest) is encoded with a quantizer value changed by a certain amount (QP_OFFSET);

  • Inter-frame — AQ based on inter-frame dependencies, available only with look-ahead;

  • Variance — variance-based AQ.

Enum

0 — None
1 — Complexity
2 — Luminance
3 — ROI
4 — Inter-Frame
5 — Variance

5

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

aq-strength

Specifies the adaptive quantization strength by indicating the difference between the values of quantizers and the base level.

Unsigned Integer

[1 – 10]

4

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

ar-auto

Enables or disables the use of the auto aspect ratio for the stream.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

ar-mode

Specifies the aspect ratio mode. Available modes:

  • PAR — picture aspect ratio;

  • SAR — sample aspect ratio.

Enum

0 — PAR
1 — SAR

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

aspect-info

Enables or disables the recording of aspect info in the bitstream.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

b-frames-mode

Specifies the B-frame encoding mode. Available modes:

  • All disposable — B-frames do not contain information needed for decoding other frames;

  • All reference — B-frames contain information needed for decoding other frames. This mode provides higher quality of encoded data;

  • Hierarchical — enables the encoder to use the hierarchical structure of B-frames when encoding. This mode increases the quality of encoded data. The B-frames number must be set to 3.

Enum

0 — All disposable
1 — All reference
2 — Hierarchical

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

bitrate-avg

Specifies the average bit rate in bit/s.

Unsigned Integer

[1024 – 288000000]

1500000

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

bitrate-max

Specifies the hypothetical stream scheduler rate in bit/s.

Unsigned Integer

[1024 – 288000000]

3000000

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

bitrate-mode

Specifies the rate control mode. Available modes:

  • ConstQ — mode with fixed quantization parameters for all frames;

  • VBR — mode with variable bit rate. The limitation on the maximum bit rate is taken into account;

  • CBR — mode with constant bit rate. Accounts for the HRD model limitations that prevent the encoder buffer from overflowing and ensure the specified bit rate is maintained;

  • ABR — mode with average bit rate maintained throughout the entire video, but the limitation on the maximum bit rate is not taken into account;

  • Cslise — mode with constant fixed slice data size, meant for in-house use only.

Enum

0 — СonstQ
1 — VBR
2 — CBR
3 — ABR
4 — Cslice

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

bitrate-pass

Specifies the multipass encoding mode:

  • Single — single-pass encoding;

  • Multi Analyze — statistics gathering and analysis mode;

  • Multi Encode — encoding mode that uses stream data obtained during analysis;

  • Multi Analyze Fast — robust mode for statistics gathering and analysis.

Enum

0 — Single
1 — Multi Analyze
2 — Multi Encode
3 — Multi Analyze Fast

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

bitrate-real

Indicates the real average bit rate.

Double

[0 – 1E+10]

0

readable

bitrate-stat

Specifies the name of the file used for storing multipass statistics.

String

eavcenc_stat.log

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

chroma-format

Specifies the chroma format.

Enum

0 — Grayscale format (4:0:0)
1 — 4:2:0 chroma format
2 — 4:2:2 chroma format

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

colour-description

Enables or disables the record of color description in the bitstream.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

colour-description-value

Specifies the color description value:

1 - Rec. 709 (BT.709)
2 - BT.470M
6 - SMPTE 240M
9 - BT.2020

Integer

[0 – 255]

2

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

deblock-alpha

Specifies the intensity of filtering block artifacts on low quantization levels, which is used to decrease the visibility of sharp transitions between blocks in the video.

Integer

[-6 – 6]

-1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

deblock-beta

Specifies the threshold of filtering block artifacts at higher quantization levels, which is used to adjust the balance between preserving details and eliminating noises.

Integer

[-6 – 6]

-1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

deblock-control

Enables or disables the deblocking filter control.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

deblock-mode

Specifies the operation mode of the in-loop deblock filter:

  • Deblock_Picture — mode for the deblock filter to be applied to an entire picture;

  • Deblock_Disable — mode that switches deblock filter off, which can preserve individual details but increases the visibility of artifacts;

  • Deblock_Slices — mode for the deblock filter to be applied separately to each slice, which is useful for increasing the speed of multislice encoding.

Enum

0 — Deblock_Picture
1 — Deblock_Disable
2 — Deblock_Slices

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

encoded-frames

Indicates the number of encoded frames.

Unsigned Integer

[0 – 2147483647]

0

readable

entropy-mode

Specifies the entropy encoding mode. Available modes:

  • CAVLC — encoding with the CAVLC algorithm that is less complicated and has a higher processing speed.

  • CABAC — encoding with the CABAC algorithm that provides better compression but requires more processing power.

Enum

0 — CAVLC
1 — CABAC

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

explicit-mv

Enables or disables explicit motion vectors for P- and B-slices. Explicit vectors may be useful in certain cases (e.g., for simple codecs or situations where motion precision is important). However, they are less useful in more common scenarios.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

field-order

Specifies picture encoding mode:

  • Top Field First (TFF) — encoding mode for the top field lines to be processed first;

  • Bottom Field First (BFF) — encoding mode for the bottom field lines to be processed first;

  • Auto — mode for the order of processing fields to be determined automatically based on info from input video.

Enum

0 — TFF
1 — BFF
2 — Auto

2

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

fix-output-frame-rate

Enables or disables the use of fixed frame rate at output. When enabled, the output video will have a constant frame rate regardless of real time values on input frames.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

fix-source-frame-rate

Enables or disables the use of fixed frame rate at input. When this parameter is enabled, the encoder will use fixed frame rate, replacing the original frame rate of input video.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

force-idr

Specifies the PTS value to insert forced IDR frame.

Integer64

[-1 – 9223372036854775807]

-1

readable, writable

force-pic-struct-present-flag

Enables or disables the record of the pic_struct_present flag to the bitstream.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

fps

Indicates the average number of encoded frames per second.

Double

[0 – 100000]

0

readable

full-range-colors

Specifies whether the full range of levels is used to display the video. The full range (0–255) can be found in PC screens and devices supporting the extended range; the limited range (16–235 for luma and 16–240 for chroma components) is used in the majority of television and broadcasting standards.

Enum

0 — TV
1 — PC

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-adaptive

Enables or disables the adaptive placing of B- and P-slices. When enabled, the encoder automatically adjusts the number of B- and P-slices depending on the scene complexity, which increases video quality and compresses data more efficiently.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-infinite

Enables or disables encoding with an infinite GOP (Group of Pictures). If enabled, the stream is encoded starting with one IDR frame and subsequent P-frames without explicit limitations on the GOP length

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-intra-refresh

Enables or disables the intra-frame refresh. When enabled, the encoder refreshes a part of the picture in each frame, encoding it with intra-blocks, which increases resistance to data losses during transmission. It is recommended to use this in the infinite GOP encoding mode.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-max-bcount

Specifies the maximum number of subsequent B-frames in a GOP. This affects the GOP structure and the balance between the quality of the video and compression efficiency. It is recommended to use 3 B-frames only in combination with the hierarchical GOP structure to avoid the decrease in quality in case of more complex scenes.

Unsigned Integer

[0 – 3]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-max-length

Specifies the maximum GOP length in frames, which affects the video stream structure and the balance between the quality of compression and the decoding complexity.

Unsigned Integer

[1 – 500]

250

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-min-length

Specifies the minimum GOP length in frames, which affects the video stream structure and the balance between compression quality and decoding complexity.

Unsigned Integer

[1 – 500]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-reordering

Enables or disables GOP reordering.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

gop-time-length

Specifies the GOP length in ms.

Integer

[-1 – 2147483647]

-1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

idr-frequency

Specifies the frequency of IDR frames appearance in the video stream. If the parameter is set to 1, each I-frame will be an IDR frame; if the value is 2, each second I-frame will be an IDR frame.

Unsigned Integer

[0 – 1000]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

initial-delay

Specifies the initial occupancy of the HRD (Hypothetical Reference Decoder) buffer in 90 kHz ticks. This determines how much data will be loaded to the buffer before the decoding process starts.

Unsigned Integer

[1024 – 288000000]

36000

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

level

Specifies the H.264 codec level by setting limitations on the maximum values of bit rate, resolution, and other stream properties.

Enum

10 — Level 1.0
11 — Level 1.1
12 — Level 1.2
13 — Level 1.3
20 — Level 2.0
21 — Level 2.1
22 — Level 2.2
30 — Level 3.0
31 — Level 3.1
32 — Level 3.2
40 — Level 4.0
41 — Level 4.1
42 — Level 4.2
50 — Level 5.0
51 — Level 5.1
52 — Level 5.2
60 — Level 6.0
61 — Level 6.1
62 — Level 6.2
100 — Auto

100

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

license-state

Indicates the component license state.

String

evaluation expired

readable

log2-max-frame-num

Specifies the log2 of the maximum frame number.

Integer

[4 – 16]

8

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

log2-max-pic-order-cnt-lsb

Specifies the log2 of the maximum picture count.

Integer

[4 – 16]

8

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

lookahead

Specifies the size of the look-ahead buffer in frames. This buffer is used to analyze and predict subsequent frames, which enables the encoder to take more measured decisions when encoding and improve the quality of compression.

Unsigned Integer

[0 – 500]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

low-latency

Enables or disables the low-latency mode. If enabled, the encoder optimizes the encoding process to minimize latency, which is especially important for real-time cases such as videoconferencing or video streaming.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

mc-subpel-refinement

Specifies the accuracy of motion prediction:

  • QP — motion prediction with quarter-pixel accuracy, which is more precise and improves the video quality, but requires more powerful hardware;

  • HP — motion prediction with half-pixel accuracy, which is less precise but quicker. It’s also not as demanding thanks to decreased processor workload.

Enum

0 — QP
1 — HP

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

me-search-range

Specifies the maximum length of the motion vector in full pixels. This parameter determines the range that the encoder will rely on while searching for similar in-frame blocks when predicting motion. Increasing the range can make prediction more accurate, especially in complex scenes where objects can move over long distances. However, this will also increase the processing load.

Unsigned Integer

[0 – 511]

255

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

me-unrestricted-mv

Enables or disables the use of motion vectors outside the frame. If enabled, the encoder can analyze motion vectors that go beyond the current frame, which increases motion precision accuracy, especially when objects go beyond the frame or appear on its borders. If disabled, only those vectors that do not extend beyond the frame are analyzed, which decreases processing load but also decreases prediction accuracy.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

min-block-size

Specifies the minimum size of the block for motion compensation. Available sizes:

  • 16x16 pixels — motion compensation is done on larger blocks, which lowers the processing load but decreases prediction accuracy, especially for small objects or complex motions;

  • 8x8 pixels — ensures more accurate motion compensation due to smaller blocks being analyzed; this increases the quality of prediction in scenes with small moving objects but requires more powerful hardware.

Enum

0 — 16х16
1 — 8х8

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

mv-x-bslice

Specifies the maximum horizontal length of motion vectors in B-frames. This parameter helps control the accuracy and efficiency of motion prediction in B-frames to manage the compression quality and the use of hardware.

Unsigned Integer

[0 – 511]

255

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

mv-x-pslice

Specifies the maximum horizontal length of motion vectors in P-frames. This parameter helps to control the accuracy and efficiency of motion prediction in P-frames to manage the compression quality and the use of hardware.

Unsigned Integer

[0 – 511]

255

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

mv-y-bslice

Specifies the maximum vertical length of motion vectors in B-frames. This parameter helps to control the accuracy and efficiency of motion prediction in B-frames to manage the compression quality and the use of hardware.

Unsigned Integer

[0 – 511]

255

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

mv-y-pslice

Specifies the maximum vertical length of motion vectors in P-frames. This parameter helps to control the accuracy and efficiency of motion prediction in P-frames to manage the compression quality and the use of hardware.

Unsigned Integer

[0 – 511]

255

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

name

Specifies the component name.

String

eavcenc0

readable, writable

num-ref-idx-l0-active

Specifies the maximum reference index for reference picture list 0 that shall be used to decode each slice of the picture; list 0 is used if num_ref_idx_active_override_flag equals 0 per slice.

Integer

[0 – 16]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

num-ref-idx-l1-active

Specifies the maximum reference index for reference picture list 1 that shall be used to decode each slice of the picture; list 1 is used if num_ref_idx_active_override_flag equals 0 per slice.

Integer

[0 – 16]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

num-reference-frames

Specifies how many preceding frames can be used as references for encoding the current frame during motion prediction. Increasing the number can improve the accuracy of prediction, which is especially useful for complex scenes with fast motion. However, this will also require more powerful hardware and RAM.

Unsigned Integer

[0 – 16]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

num-threads

Specifies the number of threads the encoder will create to parallelize the process of encoding. If the value is set to 0, the encoder determines the number of threads automatically.

Unsigned Integer

[0 – 16]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

output-frame-rate

Specifies the frame rate if the fixed output frame rate is enabled.

Double

[1 – 100]

25

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

par-height

Specifies the vertical size of a pixel based on its horizontal size if non-standard pixel aspect ratio is used. In most cases, the pixel aspect ratio is 1:1, but in some formats such as SD, pixels can be rectangular. In this case, the PAR setting becomes crucial for correct image display.

Integer

[1 – 65535]

3

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

par-width

Specifies the horizontal size of a pixel based on its vertical size if non-standard pixel aspect ratio is used. In most cases, the pixel aspect ratio is 1:1, but in some formats such as SD, pixels can be rectangular. In this case, the PAR setting becomes crucial for correct image display.

Integer

[1 – 65535]

4

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

parent

Specifies the parent of the object.

String

Object of type GstObject

readable, writable

performance

Specifies pre-set parameters that can be selected to ensure a certain balance between the speed and quality of video encoding. Available modes:

  • Custom — user mode that allows you to set the parameters manually and achieve the desired balance between speed and quality;

  • Highest Quality — mode that offers the highest encoding quality but at the lowest speed;

  • High Quality — mode that offers high encoding quality at a speed greater than in the highest quality mode;

  • Optimal — mode that provides an optimal balance between speed and quality, which is suitable for the majority of scenarios;

  • Fast Speed — mode that ensures fast encoding with average quality;

  • Fastest Speed — fastest encoding mode.

Enum

0 — Custom
1 — Highest Quality
2 — High Quality
3 — Optimal
4 — Fast Speed
5 — Fastest Speed

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

pic-init-quant

Specifies the initial value of SliceQPY for each slice.

Unsigned Integer

[0 – 51]

26

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

pic-timing-utc

Enables or disables the use of UTC (Coordinated Universal Time) to synchronize picture timing. If enabled, the time stamps of frames in the video stream will use UTC, which can be useful to synchronize video with other streams or events in real time.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

picture-mode

Specifies the image encoding mode. Available modes:

  • Frame mode — encoding is done at the full frame level (progressive scan);

  • Field mode — encoding is done at the field level (interlaced scan);

  • MBAFF mode — an adaptive encoding mode (Macroblock Adaptive Frame/Field), where a decision to encode in frame or field format is taken for each macroblock separately;

  • PAFF — an adaptive encoding mode (Picture Adaptive Frame Field), where a decision about the encoding method is taken at the full frame level;

  • PAFF (MBAFF) — a combined adaptive mode, where the decision to code at the full frame level (PAFF) is taken first. Then, if the frame is identified as interlaced, a more precise adaptation at the macroblock level (MBAFF) is used for it.

Enum

0 — Frame
1 — Field
2 — MBAFF
3 — PAFF Field
4 — PAFF MBAFF

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

poc-type

Specifies POC (Picture Order Count) in the video stream.

  • Type 0 — a direct POC calculation where the slice number always increases by one in the order the slices are decoded;

  • Type 2 — the display order is equal to the decoding order and there is only one non-reference frame between two reference frames.

Enum

0 — Type 0
2 — Type 2

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

pps-mode

Specifies the mode of recording a PPS (Picture Parameter Set) in the video stream. Available modes:

  • Each IDR — a PPS is recorded before each IDR frame;

  • Each I-frame — a PPS is recorded before each I-frame;

  • Each Picture — a PPS is recorded before each frame;

  • Once — a PPS is recorded only once at the beginning of the stream;

  • EverySecond — a PPS is recorded every second.

Enum

0 — Each IDR
1 — Each I-frame
2 — Each Picture
3 — Once
4 — EverySecond

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

preset

Enables selection of a preset of settings optimized for the most common media formats and hardware platforms. The use of presets simplifies the configuration of the encoding process and provides a balance between quality, speed, and compatibility for certain devices and formats.

Enum

0 — Custom
1 — Baseline
2 — Main
3 — High
4 — Apple iPOD
5 — Sony PSP
6 — DVD
7 — HD DVD
8 — Blu-Ray
9 — Blu-Ray HD
10 — HDV1 720p
11 — HDV2 1080i
12 — AVCHD
13 — Offline

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

profile

Specifies an H.264 profile that determines a set of functions and limitations for video stream decoding. Available profiles:

  • Baseline — a profile with basic functions for applications with limited resources such as videoconferencing;

  • Constraining Baseline — a modification of the Baseline profile with additional limitations aimed at increasing compatibility and tolerance to errors in a low-resource or real-time environment;

  • Main — a profile with improved features, such as B-frames, suitable for broadcasting and video streaming;

  • High — a profile that offers extended encoding capabilities. It is one of the most high-quality profiles in the H.264 specification;

  • High422 — a profile for video with 4:2:2 chroma subsampling format used in professional production.

Enum

66 — Baseline
67 — ConstrBaseline
77 — Main
100 — High
122 — High422

66

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

psnr-avg

Indicates the average PSNR over a 1-second window.

Double

[0 –100]

0

readable

pulldown

Specifies a mode for using pull-down to transform frames and fields from one frame rate format into another. Available options:

  • None — pull-down is not used, which means frames and fields are transmitted without changes;

  • 23i — 2–3 frames are used for interlaced scan; frames and fields come in the following order: t0, b0, t1, b1, t1, b2, t2, b3, t3, b3, etc;

  • 32i — 3–2 frames are used for interlaced scan; frames and fields come in the following order: t0, b0, t0, b1, t1, b2, t2, b2, t3, etc;

  • 23p — 2–3 frames are used for progressive scan; frames and fields come in the following order: f0, f0, f1, f1, f1, f2, f2, f3, f3, f3, etc;

  • 32p — 3–2 frames are used for progressive scan; frames and fields come in the following order: f0, f0, f0, f1, f1, f2, f2, f2, f3, f3, etc;

  • Auto — the mode of transformation between frames and fields is selected automatically; they come in the following order: t0, b0, t0, b1, t1, b2, t2, b2, t3, etc.

Enum

0 — None
1 — 23i
2 — 32i
3 — 23p
4 — 32p
5 — Auto

5

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

qp-avg

Indicates the average quantization parameter over a 1-second window. This average accounts for and incorporates the QP delta values associated with different picture types (I, P, B).

Double

[0 – 51]

0

readable

quant-b

Specifies the quantizer value for B-frames in CQ (Constant Quality) video encoding mode.

Unsigned Integer

[0 – 51]

28

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-i

Specifies the quantizer value for I-frames in CQ (Constant Quality) video encoding mode.

Unsigned Integer

[0 – 51]

23

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-max

Specifies the maximum quantizer value the encoder can use during video encoding. This specifies the top limit for compression to control the image quality and avoid excessive quality loss in case of high compression.

Unsigned Integer

[0 – 51]

51

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-min

Specifies the minimum quantizer value the encoder can use during video encoding. This specifies a lower limit for compression to control the detail level and avoid excessive file size increase when improving quality.

Unsigned Integer

[0 – 51]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-offset-cb

Specifies the quantizer offset for Cb chroma component, which affects the level of compression for color information in this component.

Integer

[-10 – 10]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-offset-cr

Specifies the quantizer offset for Cr chroma component, which affects the level of compression for color information in this component.

Integer

[-10 – 10]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-p

Specifies the quantizer value for P-frames in CQ (Constant Quality) video encoding mode.

Unsigned Integer

[0 – 51]

25

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-scale-mode

Specifies the quant scale mode.

Enum

0 — None
2 — SPS AVC Intra 50
3 — SPS AVC Intra 100

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

quant-trellis

Specifies a mode of Trellis optimization that uses the best quantization methods to minimize quality losses. Available options:

  • PSNR — a PSNR method optimized for the PSNR (Peak Signal-to-Noise Ratio) metric, which helps minimize quality loss;

  • HVS — a method optimized for human perception (HVS stands for Human Visual System), which ensures better visual perception of an image, taking into account the specifics of human vision.

Enum

0 — Off
1 — PSNR
2 — HVS

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-last-ip-frames

Specifies the number of I/P-frames that will be encoded at the end of the video stream. To use this feature, you need to enable the lookahead parameter and set the size of the look-ahead buffer to not less than N+B frames.

Unsigned Integer

[0 – 499]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-roi-height

Specifies the height of ROI in the frame when the ROI mode for adaptive quantization (ROI AQ) is selected.

Unsigned Integer

[0 – 16384]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-roi-quant-offset

Specifies the quantizer offset for ROI in the frame when the ROI mode for adaptive quantization is used.

Integer

[-18 – 18]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-roi-width

Specifies the width of ROI in the frame when the ROI mode for adaptive quantization is used.

Unsigned Integer

[0 – 16384]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-roi-x

Specifies the x coordinate of ROI in the frame when the ROI mode for adaptive quantization is used.

Unsigned Integer

[0 – 16384]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rc-roi-y

Specifies the y coordinate of ROI in the frame when the ROI mode for adaptive quantization is used.

Unsigned Integer

[0 – 16384]

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

rd-metric

Specifies the RD metric. It is an optimization method that balances between image quality (distortion) and the compressed file size (bit rate). The main purpose of RD optimization is to minimize the distortion with maximum file compression. Available modes:

  • SAD — Sum of Absolute Differences metric that assesses inaccuracies between blocks based on absolute differences, offering max processing speed;

  • SATD — Sum of Absolute Transformed Differences metric that uses transformations for a more accurate comparison of blocks. SATD is more precise but requires more powerful hardware and time;

  • RDO — Rate-Distortion Optimization metric that minimizes quality loss and provides optimal data compression. This is the most precise and resource-intensive metric that requires more time for processing;

  • RDO_INTRA — partial Rate-Distortion Optimization metric, applicable to I-pictures only.

Enum

0 — SAD
1 — SATD
2 — RDO
3 — RDO_INTRA

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

real-fps

Indicates the current number of encoded frames per second.

Double

[0 – 100000]

0

readable

sar-height

Specifies the height of SAR (Sample Aspect Ratio). The parameter is used if the custom aspect ratio is set. It indicates the height-width ratio image ratio, which helps adjust an image with an atypical aspect ratio.

Integer

[1 – 65535]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

sar-width

Specifies the width of SAR (Sample Aspect Ratio). The parameter is used if the custom aspect ratio is set. It indicates the height-width ratio image ratio, which helps adjust an image with an atypical aspect ratio.

Integer

[1 – 65535]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

sei-mode

Specifies a SEI (Supplemental Enhancement Information) transmission mode. SEI is used to transmit additional information in the video stream. This information doesn’t influence the decoding processes but can be useful for other purposes such as metadata management. Available modes:

  • Unrestricted — a mode for SEI to be inserted in any part of the stream without limitations;

  • One per NALU — a mode for SEI to be inserted only once per each NALU (Network Abstraction Layer Unit).

Enum

0 — Unrestricted
1 — One per NALU

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

slices-count

Specifies the number of slices per frame. Increasing the number of slices can speed up the encoding process, but can decrease the quality due to additional use of compression mechanisms for each slice.

Unsigned Integer

[1 – 99]

1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

source-frame-rate

Specifies the frame rate if the fixed source (input) frame rate is enabled.

Double

[1 – 100]

25

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

speed-mode

Specifies the encoding speed mode.

Enum

0 — Default
1 — Quarter RealTime
2 — Half RealTime
3 — 1x RealTime
4 — 2x RealTime
5 — 4x RealTime
6 — Specified

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

speed-value

Specifies the encoding speed value (frames/sec) if the speed-mode parameter is set to Speed Specified.

Unsigned Integer

[0 – 999]

25

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

sps-mode

Specifies how often an SPS (Sequence Parameter Set) is recorded in the encoded stream. SPS contains important parameters for video stream decoding, such as picture size, frame number, and other specifics required for correct decoding. The frequency of SPS recording can be set based on the requirements to stream compatibility and optimization. Available options:

  • Each IDR — an SPS is recorded for each IDR-frame;

  • Each I-frame — an SPS is recorded for each I-frame;

  • Each Picture — an SPS is recorded for each frame;

  • Once — an SPS is recorded only once at the beginning of the encoding process;

  • Every Second — an SPS is recorded every second.

Enum

0 — Each IDR
1 — Each I-frame
2 — Each Picture
3 — Once
4 — Every Second

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

transform-mode

Specifies a mode for block transformation, which is used during video encoding. Available modes:

  • Only 4x4 — only the transformation of 4x4 blocks is used;

  • Adaptive — the size of a block for transformation is selected based on the image’s parameters;

  • Only 8x8 — only the transformation of 8x8 blocks is used 1.

Enum

0 — Only 4x4
1 — Adaptive
2 — Only 8x8

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i16x16-dc-only-in-islice

Enables/disables the intra 16x16 DC only mode in intra slices.

Boolean

true, false

true

readable, writable, construct

use-i16x16-dc-only-in-pslice

Enables/disables the intra 16x16 DC only mode in predicted slices.

Boolean

true, false

false

readable, writable, construct

use-i16x16-dc-only-in-bslice

Enables/disables the intra 16x16 DC only mode in bidirectional predicted slices.

Boolean

true, false

false

readable, writable, construct

use-i16x16-in-bslice

Enables or disables the intra 16x16 mode in bidirectional predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i16x16-in-islice

Enables or disables the intra 16x16 mode in intra slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i16x16-in-pslice

Enables or disables the intra 16x16 mode in predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i4x4-in-bslice

Enables or disables the intra 4x4 mode in bidirectional predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i4x4-in-islice

Enables or disables the intra 4x4 mode in intra slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i4x4-in-pslice

Enables or disables the intra 4x4 mode in predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i8x8-in-bslice

Enables or disables the intra 8x8 mode in bidirectional predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i8x8-in-islice

Enables or disables the intra 8x8 mode in intra slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-i8x8-in-pslice

Enables or disables the intra 8x8 mode in predicted slices.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

use-scd

Enables or disables the SCD (Scene Change Detection) mechanism. This mechanism allows the encoder to automatically detect the instances of sharp changes in the picture, such as transitions between various scenes, and adapt the GOP structure accordingly. Enabling SCD helps increase encoding quality.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

vbv-size

Specifies the encoded picture buffer, VBV, size in bits. This buffer is used to manage the data stream during encoding to ensure the video bit rate fits in the set limitations and avoid buffer overflow.

Unsigned Integer

[1024 – 288000000]

1200000

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

video-format

Specifies the video format.

Enum

0 — Component
1 — PAL
2 — NTSC
3 — SECAM
4 — MAC
5 — Unspecified

5

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

vui-ar-idc

Specifies the Aspect Ratio IDC in the VUI (Video Usability Information) header of the video stream.

Enum

-1 — Auto
0 — Unspecified
1 — 1:1
2 — 12:11
3 — 10:11
4 — 16:11
5 — 40:33
6 — 24:11
7 — 20:11
8 — 32:11
9 — 80:33
10 — 18:11
11 — 15:11
12 — 64:33
13 — 160:99
255 — Extended

-1

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

wpred-in-bslice

Enables or disables weighted prediction (WP) for bidirectional predicted frames (B-slices) and specifies the functioning mode. WP enables you to take into account the changes in brightness and contrast between frames by applying weighted coefficients to pixels for a more accurate prediction. This can improve the quality of encoding in scenes where lighting changes or objects move. Available modes:

  • Explicit — explicit prediction where weighted coefficients are transmitted in the frame header;

  • Implicit — implicit prediction where weighted coefficients are calculated automatically based on motion data and other specifics.

Enum

0 — Disable
1 — Explicit
2 — Implicit

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

wpred-in-pslice

Enables the encoder to use explicit weighted prediction for predicted frames (P-slices). Weighted prediction takes into account the changes in brightness and contrast between the current and preceding frames, leading to improved prediction accuracy and encoding quality.

Enum

0 — Disable
1 — Enable

0

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

write-afd

Enables or disables the recording of active format descriptor to the bitstream.

Boolean

true, false

false

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

write-au-delimiters

Enables or disables the recording of access unit delimiters.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

write-hrd-params

Enables or disables the recording of HRD parameters.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

write-seq-end-code

Enables or disables the recording of the end of sequence code.

Boolean

true, false

true

readable, writable, changeable in NULL, READY, PAUSED or PLAYING state

1

The Only 8x8 and Adaptive modes are available in High profile only.