Elecard QS Video Encoder

Elecard QS Video Encoder is a GStreamer plugin for encoding into MPEG-2 (ISO/IEC 13818-2), H.264/AVC (MPEG-4 Part 10, ISO/IEC 14496-10), and H.265/HEVC (ISO/IEC 23008-2 MPEG-H Part 2/ITU-T H.265) streams based on Intel QuickSync technology.

Features

Elecard QS Video Encoder has the following features:

  • Supports various color space standards.

  • Supports multiple chroma format conversion settings.

  • Supports two deinterlacing methods: the fast Bob algorithm and the Advanced space-time algorithm.

  • Supports the Lowpower image resizing algorithm optimized for low-power consumption.

  • Ensures precise picture size and luminance adjustment.

Parameter Description

Below is the table describing Elecard QS Video Encoder parameters and their values.

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

acc-mode

Specifies the acceleration mode.

Enum

0 — Auto
62915329 — MFX GPU accelerated mode, system memory

0

readable, writable

aspect

Specifies the input aspect ratio. Specified values are used as the numerator and denominator of the rational fraction.

Fraction

[0/1 – 16384/1]

0/1

readable, writable

aud

Enables or disables the in-header access unit delimiter recording. Available options:

  • Auto — enabled/disabled automatically;

  • Off — always off;

  • On — always on.

Enum

0 — Auto
1 — Off
2 — On

2

readable, writable

bitrate

Specifies the video stream bit rate.

Integer

[1 – 65535000]

8000000

readable, writable

bitrate-max

Specifies the maximum allowed bit rate when encoding in the VBR mode.

Integer

[1 – 65535000]

9000000

readable, writable

buffer-size

Specifies the size of the encoded picture buffer, VBV in bits. This buffer is used to manage the data stream during encoding, ensuring the video bit rate meets the specified limits and protecting the buffer from overflowing.

Integer

[1 – 65535000]

8000000

readable, writable

cavlc

Specifies the CAVLC entropy encoding mode (AVC only). Available options:

  • Auto — enabled/disabled automatically;

  • Off — always off;

  • On — always on.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

closed-gop

Enables or disables the closed GOP structure. In an open GOP, frames can reference the frames of a preceding GOP, which increases compression efficiency but makes processing and random access more complicated.

Boolean

True, False

True

readable, writable

colour-primaries

Specifies the standard of the color space in the video stream, which is required for correct display of colors on output devices.

Enum

0 — Unspecified
1 — BT.709
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240M
8 — Generic film
9 — BT.2020
10 — SMPTE 428
11 — SMPTE 431
12 — SMPTE 432
22 — EBU 3213

0

readable

crop-h

Specifies the picture cropping height. The positive value sets the cropping height, while the negative value sets the vertical offset relative to the right bottom corner of the source picture.

Integer

[-16384 – 16384]

0

readable, writable

crop-w

Specifies the picture cropping width. The positive value sets the cropping width, while the negative value sets the horizontal offset relative to the right bottom corner of the source picture.

Integer

[-16384 – 16384]

0

readable, writable

crop-x

Specifies the picture cropping parameters. Sets the top left corner coordinates (CropTop: x) relative to the source picture.

Integer

[0 – 16384]

0

readable, writable

crop-y

Specifies the picture cropping parameters. Sets the top left corner coordinates (CropLeft: y) relative to the source picture.

Integer

[0 – 16384]

0

readable, writable

csc

Specifies the chroma format conversion and bit depth setting.

Enum

0 — Unspecified
-1073731448 — YUV, 4:2:0, 8 bit
-1073731318 — YUV, 4:2:0, 10 bit
-1073723256 — YUV, 4:2:2, 8 bit
-1073723126 — YUV, 4:2:2, 10 bit
-1073715064 — YUV, 4:4:4, 8 bit
-1073714934 — YUV, 4:4:4, 10 bit

0

readable, writable

deinterlace

Specifies the deinterlacing operation mode. In the Auto mode, the deinterlacing is applied only to interlaced frames.

Enum

0 — Off
1 — On
2 — Auto

0

readable, writable

deinterlace-method

Specifies the deinterlacing method. Available methods:

  • BOB — the fast Bob algorithm that vertically scales the original frame field to a complete frame;

  • Advanced — a high-quality space-time algorithm that uses adaptive algorithms to process each frame area.

Enum

1 — BOB
2 — Advanced

2

readable, writable

device-id (Windows-only) / device-path (Linux-only)

The device-id parameter specifies the ordinal number of the QS graphics card. The numeration starts from 0. The upper range boundary depends on the number of GPUs on a given machine. The parameter is used to control the component operation in systems with multiple graphics cards. The device-path parameter indicates a path to the video device. It is an empty string by default, as the device is selected automatically.

Integer (device-id) / String (device-path)

[0 – INTEL_GPU_COUNT]

0

readable, writable

display-primaries-x0

Specifies the horizontal coordinate (x) for the red color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

display-primaries-x1

Specifies the horizontal coordinate (x) for the green color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

display-primaries-x2

Specifies the horizontal coordinate (x) for the blue color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

display-primaries-y0

Specifies the vertical coordinate (y) for the red color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

display-primaries-y1

Specifies the vertical coordinate (y) for the green color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

display-primaries-y2

Specifies the vertical coordinate (y) for the blue color component in the color primaries system. The value is used to describe the video color space according to the CIE 1931 system.

Integer

[0 – 65535]

0

readable

double-rate

Enables or disables the frame rate doubling mode during deinterlacing by transforming each field into a complete frame.

Boolean

True, False

False

readable, writable

encoded-frames

Indicates the number of encoded frames.

Unsigned Integer64

[0 – 18446744073709551615]

0

readable

eos

Specifies the mode of recording the End Of Sequence (EOS) header to the bitstream.

Enum

0 — Auto
1 — Off
2 — On

2

readable, writable

format

Specifies the stream encoding format.

Enum

1073983424 — MPEG2 Video
1073988784 — AVC
1073991408 — HEVC

1073988784

readable

fps

Indicates the average number of encoded frames per second.

Double

[0 – 1.797693e+308]

0

readable

framerate

Specifies the input frame rate. Specified values are used as the numerator and denominator of the rational fraction.

Fraction

[0/2147483647 – 2147483647/1]

0/1

readable, writable

frc

Specifies the frame rate of the output bitstream. Specified values are used as the numerator and denominator of the rational fraction.

Fraction

[0/2147483647 – 2147483647/1]

0/1

readable, writable

full-range

Specifies whether the full range of levels is used for video display. 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.

Boolean

True, False

False

readable

gop-size

Specifies the distance between I-frames (the number of frames in a GOP).

Integer

[1 – 1500]

64

readable, writable

idr-interval

Specifies the maximum distance between IDR frames. A set value indicates which key-frame should be an IDR frame. If the parameter is set to 1, every key-frame is an IDR (default). If the value is 2, every second key-frame is an IDR and so on.

Integer

[1 – 2147483647]

1

readable, writable

initial-delay

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

Integer

[1 – 900000]

45000

readable, writable

level

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

Enum

0 — Unspecified
1 — MPEG2 Low
2 — MPEG2 Main
4 — MPEG2 High
6 — AVC 1
7 — AVC 1.b
8 — AVC 1.1
9 — AVC 1.2
10 — AVC 1.3
11 — AVC 2
12 — AVC 2.1
13 — AVC 2.2
14 — AVC 3
15 — AVC 3.1
16 — AVC 3.2
17 — AVC 4
18 — AVC 4.1
19 — AVC 4.2
20 — AVC 5
21 — AVC 5.1
22 — AVC 5.2
23 — AVC 6
24 — AVC 6.1
25 — AVC 6.2
26 — HEVC 1
27 — HEVC 2
28 — HEVC 2.1
29 — HEVC 3
30 — HEVC 3.1
31 — HEVC 4
32 — HEVC 4.1
33 — HEVC 5
34 — HEVC 5.1
35 — HEVC 5.2
36 — HEVC 6
37 — HEVC 6.1
38 — HEVC 6.2

0

readable, writable

license-state

Indicates the component license state.

String

evaluation

readable

lookahead

Enables or disables the buffer of preliminary analysis (look-ahead) in frames. This buffer is used to analyze and predict subsequent frames, which helps the encoder to take better decisions when encoding, thus improving the compression quality. Available modes:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

lookahead-depth

Specifies the size of the preliminary analysis buffer. In accordance with the MediaSDK documentation, 0 is the default value, while the lowest accepted value is 10. To ensure compatibility, values in the [1–9] range shall be changed to 10.

Integer

[0 – 100]

0

readable, writable

matrix-coeffs

Specifies the transform matrix for encoding/decoding video color components (YUV ↔ RGB). The matrix determines how luminance (Y) and color differences (U, V) are transformed into color components (R, G, B) and back.

Enum

0 — Unspecified
1 — BT.709
2 — Identity
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240
8 — YCgCo
9 — BT.2020 NC
10 — BT.2020 C
11 — SMPTE 2085
12 — Chromaticity NC
13 — Chromaticity C
14 — BT.2100

0

readable

max-content-light-level

Specifies the maximum luminance level (in nits) for the brightest pixel in the entire video content.

Integer

[0 – 65535]

0

readable

max-display-mastering-luminance

Specifies the maximum luminance (in nits) used to calibrate the display for content mastering.

Integer

[0 – 2147483647]

0

readable

max-pic-average-light-level

Specifies the maximum average luminance (in nits) in the picture in any frame of the content.

Integer

[0 – 2147483647]

0

readable

min-display-mastering-luminance

Specifies the minimum luminance (in nits) used to calibrate the display for content mastering.

Integer

[0 – 65535]

0

readable

name

The name of the object.

String

eqsenc0

readable, writable

num-threads

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

Unsigned Integer

[0 – 24]

0

readable, writable

oem-name

OEM name.

String

readable

parent

Specifies the parent of the object.

Object of type GstObject

readable

performance

Allows to select pre-configured parameters to ensure a certain balance between the speed and quality of video encoding.

Enum

1 — Veryslow
2 — Slower
3 — Slow
4 — Medium
5 — Fast
6 — Veryfast
7 — Ultrafast

7

readable, writable

pic-struct

Specifies the input picture structure.

Enum

0 — Unspecified
1 — Progressive
22 — Interlaced frame TFF
26 — Interlaced frame BFF

0

readable, writable

profile

Specifies a profile for the selected encoder that defines a set of functions and limitations for video stream decoding.

Enum

0 — Unspecified
1 — MPEG2 Simple
2 — MPEG2 Main
5 — MPEG2 High
1000 — AVC Baseline
1002 — AVC Main
1004 — AVC High
2000 — HEVC Main
2001 — HEVC Main 10
2105 — HEVC Main 4:2:2 10
2107 — HEVC Main 4:4:4
2108 — HEVC Main 4:4:4 10
2300 — HEVC Screen-Extended Main
2301 — HEVC Screen-Extended Main 10
2302 — HEVC Screen-Extended Main 4:4:4
2303 — HEVC Screen-Extended Main 4:4:4 10

0

readable, writable

pyramid

Specifies the mode of using the pyramidal GOP structure.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

qp-b

Specifies the quantization parameter for B-frames (CQP).

Integer

[0 – 51]

28

readable, writable

qp-i

Specifies the quantization parameter for I-frames (CQP).

Integer

[0 – 51]

28

readable, writable

qp-p

Specifies the quantization parameter for P-frames (CQP).

Integer

[0 – 51]

28

readable, writable

rate-control

Specifies the rate control operation mode. Available modes:

  • CQP — a mode with constant quantization parameters for all frames;

  • VBR — a variable bit rate mode, taking into account the maximum bit rate;

  • CBR — a constant bit rate mode, taking into account the limitations of the HRD model that protect against the encoder’s buffer overflow and ensure the set bit rate is met.

Enum

0 — CQP
1 — VBR
2 — CBR

2

readable, writable

recovery-point

Enables or disables the writing of SEI recovery_point to the bitstream.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

ref-distance

Specifies the distance between I- or P-frames. The specified value affects the distance between reference frames in the following manner: 1 — IP, 2 — IPB, 3 — IPBB and so on. If the value is 0, the distance is set automatically.

Integer

[0 – 16]

0

readable, writable

ref-frames

Specifies how many preceding frames can be used as references for encoding the current frame during motion prediction. Increasing the number of frames can make prediction better, which is especially useful for complex scenes with quick motion. However, this will also increase computation overhead and memory requirements.

Integer

[0 – 16]

0

readable, writable

resize-h

Specifies the output picture height. If changing picture height is not required, set the parameter to 0.

Integer

[0 – 16384]

0

readable, writable

resize-mode

Specifies the image resizing algorithm. Available modes:

  • Lowpower — a quick mode optimized for low energy consumption;

  • Quality — a maximum quality mode.

Enum

0 — Unspecified
1 — Lowpower
2 — Quality

0

readable, writable

resize-w

Specifies the output picture width. If changing picture width is not required, set the parameter to 0.

Integer

[0 – 16384]

0

readable, writable

transfer-characteristics

Specifies the transfer function that determines how luminance (Luma) is transformed into signal levels. The method is used for correct display of the luminance levels according to the chosen standard.

Enum

0 — Unspecified
1 — BT.709
4 — FCC
5 — BT.601 PAL
6 — BT.601 NTSC
7 — SMPTE 240
8 — Linear
9 — Logarithmic 100:1
10 — Logarithmic 100*Sqrt(10):1
11 — IEC 61966-2-4
12 — BT.1361
13 — IEC 61966-2-1
14 — BT.2020 (10 bit)
15 — BT.2020 (12 bit)
16 — SMPTE 2084 (PQ)
17 — SMPTE 428
18 — BT.2100 (HLG)

0

readable

video-format

Specifies the video format of the stream.

Enum

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

0

readable

vst

Enables or disables the overriding of the video signal type.

Boolean

True, False

False

readable, writable

white-point-x

Specifies the horizontal coordinate (x) of the white point in the CIE 1931 color space.

Integer

[0 – 65535]

0

readable

white-point-y

Sets the vertical coordinate (y) of the white point in the CIE 1931 color space.

Integer

[0 – 65535]

0

readable