Elecard HEVC Video Encoder

Elecard HEVC Video Encoder is a GStreamer plugin for encoding into H.265/HEVC (ISO/IEC 23008-2 MPEG-H Part 2/ITU-T H.265) streams.

Features

Elecard HEVC 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;

  • Enables precise picture size and luminance adjustment.

Parameter Description

Below is the table describing Elecard HEVC Video Encoder parameters and their values:

Parameter Name

Description

Value Type

Available Values [range]

Default

Flags

aspect

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

Fraction

[0/1 – 16384/16384]

0/1

readable, writable

aud

Enables or disables the record of access unit delimiter (AUD) to the bitstream. 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 – 1000000000]

8000000

readable, writable

bitrate-max

Specifies the maximum allowed bit rate when encoding in the VBR mode. The mode is set in the rate-control parameter.

Integer

[1 – 1000000000]

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 – 1000000000]

8000000

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 effectiveness but makes processing and random access more complex.

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, writable

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

deblock

Specifies the deblocking filter operation mode.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

deinterlace

Specifies the deinterlacing operation mode. In the On mode, the deinterlacing is always enabled, in the Off mode — always disabled. 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

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, writable

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, writable

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, writable

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, writable

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, writable

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, writable

double-rate

Enables or disables the frame rate doubling mode during deinterlacing. In this mode, each field is transformed 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 record mode for the End Of Sequence (EOS) header to the bitstream.

Enum

0 — Auto
1 — Off
2 — On

2

readable, writable

flp

Sets the index of the first logical processor that the encoder threads run on.

Integer

[0 – 8]

0

readable, writable

fps

Indicates the average number of encoded frames per second (FPS).

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/1 – 2147483647/2147483647]

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/1 – 2147483647/2147483647]

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, writable

gop-size

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

Integer

[1 – 256]

64

readable, writable

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 into the buffer prior to 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
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 take better decisions when encoding, 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.

Integer

[1 – 250]

64

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, writable

max-content-light-level

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

Integer

[0 – 65535]

0

readable, writable

max-display-mastering-luminance

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

Integer

[0 – 2147483647]

0

readable, writable

max-pic-average-light-level

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

Integer

[0 – 65535]

0

readable, writable

min-display-mastering-luminance

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

Integer

[0 – 2147483647]

0

readable, writable

name

Specifies the name of the object.

String

ehevcenc0

readable, writable

num-threads

Specifies the number of threads the encoder will create to parallelize the encoding process. The upper range boundary depends on the number of logical CPU cores on a given machine. If the value is set to 0, the encoder determines the number of threads automatically.

Unsigned Integer

[0 – 0]

0

readable, writable

numa-node

Specifies which socket the encoder runs on.

Integer

[0 – 0]

0

readable, writable

oem-name

Indicates the OEM name.

String

readable

parent

Specifies the parent of the object.

Object of type GstObject

readable, writable

performance

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

Enum

0 — Placebo
1 — Ultraslow
2 — Superslow
3 — Veryslow
4 — Slower
5 — Slow
6 — Medium
7 — Fast
8 — Faster
9 — Veryfast
10 — Superfast
11 — Ultrafast

7

readable, writable

profile

Specifies the H.265 profile that determines a set of functions and limitations for video stream decoding.

Enum

0 — Unspecified
2000 — HEVC Main
2001 — HEVC Main 10
2100 — HEVC Monochrome
2101 — HEVC Monochrome 10
2105 — HEVC Main 4:2:2 10
2107 — HEVC Main 4:4:4
2108 — HEVC Main 4:4:4 10

0

readable, writable

pyramid

Specifies the mode of using the pyramidal structure of GOP.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

pyramid-levels

Specifies the level of the GOP pyramidal structure:

  • 1 — 2-Level Hierarchy;

  • 2 — 3-Level Hierarchy, 3B pyramid;

  • 3 — 4-Level Hierarchy, 7B pyramid.

Integer

[1 – 3]

3

readable, writable

qp-i

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

Integer

[0 – 51]

24

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 that acts with consideration to the maximum bit rate;

  • CBR — a constant bit rate mode that acts with consideration to the limitations of the HRD model that protects against the encoder’s buffer overflow and ensures the set bit rate is met.

Enum

0 — CQP
1 — VBR
2 — CBR

2

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-w

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

Integer

[0 – 16384]

0

readable, writable

sao

Specifies the Sample Adaptive Offset (SAO) working mode.

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

scd

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

Enum

0 — Auto
1 — Off
2 — On

0

readable, writable

tile-cols

Specifies the number of tile columns.

Integer

[0 – 20]

0

readable, writable

tile-rows

Specifies the number of tile rows.

Integer

[0 – 22]

0

readable, writable

transfer-characteristics

Specifies the transfer function that determines how luminance (luma) is transformed into signal levels. The method is used to display correctly 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, writable

video-format

Specifies the stream video format.

Enum

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

0

readable, writable

white-point-x

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

Integer

[0 – 65535]

0

readable, writable

white-point-y

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

Integer

[0 – 65535]

0

readable, writable