Advertisement

XMedia Recode

Hardware accelerated video conversion with Nvidia NVENC H.264

NVIDIA NVENC (NVIDIA Encoder) H.264 is a hardware-accelerated solution from NVIDIA specifically designed for video encoding.

NVENC uses dedicated hardware on the NVIDIA GPU to perform H.264 encoding, offloading the CPU and enabling faster and more energy-efficient video processing.

At least GeForce 6xx graphics cards (Kepler architecture) and
Nvidia GPU driver 522.25 or higher are required.


Nvidia NVENC H.264 settings

Mode

Determines whether the video is encoded or copied.

Codec

Determines which video codec is used for encoding.

Language

Sets the language that the player displays when playing.

FourCC

The FourCC code is used to identify the required decoder within AVI files.

Graphic card

Determines which graphics cards are used for encoding.

Profil

The profiles define the functions that are used for coding.

  • Baseline: for mobile devices such as cell phones or MP3 players (no B-frames, CABAC and 8×8-DCT)
  • Main: for standard TV (no 8×8-DCT)
  • High. for HDTV (no restriction)
  • High 4:4:4 Predictive

Level

Sets the maximum resolution, bit rates and frame rate.



Level resolution/frame rate maximum video bitrate
Baseline
Extended
Main
maximum video bitrate
High
maximum video bitrate
High 10
maximum video bitrate
High 4:2:2
High 4:4:4
1 128×96 / 30 64 kbit/s 80 kbit/s 192 kbit/s 256 kbit/s
1b 176×144 / 15 128 kbit/s 160 kbit/s 384 kbit/s 512 kbit/s
1.1 176×144 / 30
320×240 / 10
352×288 / 7.5
192 kbit/s 240 kbit/s 576 kbit/s 768 kbit/s
1.2 176×144 / 60
320×240 / 20
352×288 / 15
384 kbit/s 480 kbit/s 1152 kbit/s 1536 kbit/s
1.3 320×240 / 40
352×288 / 30
768 kbit/s 960 kbit/s 2304 kbit/s 3072 kbit/s
2 320×240 / 40
352×288 / 30
2 Mbit/s 2,5 Mbit/s 6 Mbit/s 8 Mbit/s
2.1 352×288 / 50
352×576 / 25
4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s
2.2 352×288 / 50
720×480 / 15
4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s
3 720×480 / 30
720×576 / 25
10 Mbit/s 12,5 Mbit/s 30 Mbit/s 40 Mbit/s
3.1 720×576 / 60
1280×720 / 30
14 Mbit/s 17,5 Mbit/s 42 Mbit/s 56 Mbit/s
3.2 1280×720 / 60
1280×1024 / 42,2
20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s
4 1280×720 / 68,3
1280×1024 / 48
1920×1080 / 30
20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s
4.1 1280×720 / 68,3
1280×1024 / 48
1920×1080 / 30
50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s
4.2 1280×720 / 145
1920×1080 / 64
2048×1080 / 60
50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s
5 1920×1080 / 72,3
2048×1080 / 67,8
3672×1536 / 26,7
135 Mbit/s 168,75 Mbit/s 405 Mbit/s 540 Mbit/s
5.1 2048×1080 / 112,9
3840×2160 / 31,7
4096×2160 / 28,5
240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s
5.2 2048×1080 / 172
3840×2160 / 66,8
4096×2160 / 60
240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s

Preset

Preset are ready-made settings, between very high speed and very high quality.

  • Default (Low Latency)
  • HQ (High Quality)
  • HP (High Performance)
  • BD (Bluray Disk)
  • LL (Low Latency)
  • LL-HQ (Low Latency-High Quality)
  • LL-HP (Low Latency-High Performance)

Framerate

Sets the frame rate in frames per second.



Advertisement

GOP (Group Of Pictures) length

A GOP is an interval from I-frame to I-frame.

Display mode

Progressive: must be set if the source material is progressive or is converted to progressive by a deinterlace filter.

Interlaced TFF (Top field first): must be set if the source material is Interlaced TFF
Interlaced BFF (Bottom field first): must be set if the source material is Interlaced BFF.

Color mode

Allows you to make changes to the color settings.
Which color mode you can choose depends on the video codec used.

Number of B frames

Specifies the maximum number of B frames that can be in a row.

VBV buffer size

Sets the size of the video buffering verifier. This option checks the interaction of the video stream and decoder so that no buffer overflow or underflow occurs.

Lookahead

The lookahead function in the H.264 codec analyzes future frames before encoding to make optimal decisions for motion compensation and bitrate control. It improves compression efficiency, image quality, and keyframe placement by predicting upcoming frames, optimizing bitrate, and enhancing visual quality at lower data rates, though at the cost of additional computational power.

Nvidia NVENC H.264: Lookahead

CABAC

CABAC (Context Adaptive Binary Arithmetic Coding) is a specific coding method. Instead of variable long bit sequences, it uses better arithmetic coding, which provides between 10 and 20% data rate savings.

Nvidia NVENC H.264: CABAC

Temporal AQ (Adaptive Quantization)

Temporal AQ tries to adjust encoding QP (on top of QP evaluated by the rate control algorithm) based on temporal characteristics of the sequence. Temporal AQ improves the quality of encoded frames by adjusting QP for regions which are constant or have low motion across frames but have high spatial detail, such that they become better reference for future frames.

Nvidia NVENC H.264: Temporal AQ

Spatial AQ (Adaptive Quantization)

Spatial AQ mode adjusts the QP values based on spatial characteristics of the frame. Since the low complexity flat regions are visually more perceptible to quality differences than high complexity detailed regions, extra bits are allocated to flat regions of the frame at the cost of the regions having high spatial detail. Although spatial AQ improves the perceptible visual quality of the encoded video, the required bit redistribution results in PSNR drop in most of the cases. Therefore, during PSNR-based evaluation, this feature should be turned off.

Nvidia NVENC H.264: Spatial AQ

Weighted Prediction

Weighted prediction involves calculation of a multiplicative weighting factor and an additive offset to the motion compensated prediction. Weighted prediction provides significant quality gain for contents having illumination changes. NVENCODE API supports weighed prediction for HEVC and H.264 starting from Pascal generation GPUs.

Adaptive B-Frame

The adaptive B-frame function in the Nvidia NVENC H.264 codec is a technique for dynamically adjusting the number and placement of B-frames (Bidirectional Frames) during video encoding.

The adaptive B-frame function adjusts the number of B-frames based on scene complexity and motion intensity to achieve a better balance between quality and bitrate.


Share