Elecard NV Video Encoder

Elecard NV Video Encoder is a GStreamer plugin for encoding into 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 Nvidia NVENC technology.

Features

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

  • Ensures precise picture size and luminance adjustment.

Parameter Description

Below is the table describing Elecard NV 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 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. The mode is set in the rate-control parameter.

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 mode for entropy encoding with CAVLC algorithm (AVC only), which is less complicated and offers higher processing speed. 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 the 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

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

1

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

Specifies the original number of the Nvidia graphics card. The numeration starts from 0. The parameter is used to control the component operation in systems with multiple graphics cards.

Integer

[0 – 0]

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

format

Specifies the stream encoding format.

Enum

1073988784 — AVC
1073991408 — HEVC

1073988784

readable, writable

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

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 GOP).

Integer

[1 – 256]

50

readable, writable

hrd-nal

Enables or disables the writing of HRD (Hypothetical Reference Decoder) data to stream headers. Available options:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

Enum

0 — Auto
1 — Off
2 — On

1

readable, writable

idr-interval

Specifies the maximum distance between IDR frames. A set value indicates which key frame should be an IDR frame. If 1 is set, every key frame is an IDR (default), 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, given in 90 kHz ticks. This determines how much data will be preloaded to the buffer before encoding.

Integer

[1 – 900000]

45000

readable, writable

level

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

Enum

0 — Unspecified
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.

Integer

[0 – 31]

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 piece of 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 picture luminance (in nits) in any content frame.

Integer

[0 – 65535]

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

Specifies the name of the object.

String

envenc0

readable, writable

oem-name

Indicates the OEM name.

String

readable

parent

Specifies the parent of the object.

Object of type GstObject

readable, writable

performance

Specifies pre-set 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

4

readable, writable

profile

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

Enum

0 — Unspecified
1000 — AVC Baseline
1002 — AVC Main
1004 — AVC High
1007 — AVC High 10
1009 — AVC High 4:2:2
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

0

readable, writable

pyramid

Enables or disables the hierarchical GOP structure for B-frames. Available modes:

  • Auto — enabled/disabled automatically;

  • On — always on;

  • Off — always off.

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]

24

readable, writable

qp-p

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

Integer

[0 – 51]

26

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

ref-distance

Specifies the number of B-frames in the GOP structure.

Integer

[0 – 16]

0

readable, writable

ref-frames

Specifies the number of reference frames.

Integer

[0 – 16]

0

readable, writable

resize-method

Specifies the interpolation method during frame scaling. Available methods:

  • Bilinear interpolation;

  • Bicubic interpolation;

  • Lanczos interpolation (3 lobes);

  • Lanczos interpolation (4 lobes).

Enum

1 — Bilinear interpolation
2 — Bicubic interpolation
3 — Lanczos interpolation (3 lobes)
4 — Lanczos interpolation (4 lobes)

2

readable, writable

resize-h

Specifies image height change.

Integer

[0 – 16384]

0

readable, writable

resize-w

Specifies image width change.

Integer

[0 – 16384]

0

readable, writable

slice-count

Specifies the number of slices in the frame. Increasing the number of slices can speed up encoding. At the same time, it can decrease the quality due to additional application of compression mechanisms for each slice.

Integer

[0 – 64]

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 stream video format.

Enum

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

0

readable

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

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

Integer

[0 – 65535]

0

readable