NVENC (short for Nvidia Encoder) is a feature in Nvidia graphics cards that performs Data compression, offloading this compute-intensive task from the CPU to a dedicated part of the GPU. It was introduced with the Kepler-based GeForce 600 series in March 2012 (GT 610, GT620 and GT630 is Fermi Architecture).
The encoder is supported in many livestreaming and recording programs, such as vMix, Wirecast, Open Broadcaster Software (OBS) and Bandicam, as well as video editing apps, such as Adobe Premiere Pro or DaVinci Resolve. It also works with Nvidia Share game capture, which is included in Nvidia's GeForce Experience software.
Until March 2023 consumer-targeted GeForce graphics cards officially support no more than three simultaneously encoding video streams, regardless of the count of the cards installed, but this restriction can be circumvented on Linux and Windows systems by applying an unofficial patch to the Device driver. Doing so also unlocks NVIDIA Frame Buffer Capture (NVFBC), a fast desktop capture API that uses the capabilities of the GPU and its driver to accelerate capture. Professional cards support between three and unrestricted simultaneous streams per card, depending on card model and compression quality, the restrictions were loosened in 2023 allowing up to 5 simultaneously encoding video streams. From January 2024 onwards, eight simultaneous encoding video streams became the baseline.
Nvidia chips also feature an onboard decoder, Nvidia NVDEC (short for Nvidia Decoder), to offload video decoding from the CPU to a dedicated part of the GPU.
+NVENC summary ! colspan="3" | GPU Hardware ! colspan="6" | H.264 (AVC) (In H.264, NVENC always has B frame support, max 4096×4096 resolution) ! colspan="7" | H.265 (HEVC) ! colspan="3" | AV1 | ||||||||||||||
1st Gen | GK110 | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | colspan="7" rowspan="4" | colspan="3" rowspan="4" | ||||||||
GK107 | ||||||||||||||||||
GK106 | ||||||||||||||||||
GK104 | ||||||||||||||||||
4nd Gen | GM107 | rowspan="1" | rowspan="1" | rowspan="1" | rowspan="1" | colspan="7" rowspan="1" | colspan="3" rowspan="5" | |||||||||||
5th Gen | GM206 | rowspan="2" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="1" | rowspan="1" | rowspan="4" | rowspan="4" | rowspan="4" | |||
rowspan="1" | rowspan="1" | |||||||||||||||||
GM204 | rowspan="2" | rowspan="2" | rowspan="2" | |||||||||||||||
GM200 | ||||||||||||||||||
6th Gen | GP108 | colspan="16" | ||||||||||||||||
GP107 | rowspan="2" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="12" | rowspan="5" | rowspan="12" | rowspan="8" | colspan="3" rowspan="12" | |||
GP106 | ||||||||||||||||||
GP104-2xx+ | rowspan="1" | |||||||||||||||||
GP104-1xx | ||||||||||||||||||
GP102 | ||||||||||||||||||
GP100 | rowspan="2" | |||||||||||||||||
GV10x | rowspan="6" | |||||||||||||||||
TU117 | rowspan="5" | |||||||||||||||||
TU116 | rowspan="4" | |||||||||||||||||
TU106 | ||||||||||||||||||
TU104 | ||||||||||||||||||
TU102 | ||||||||||||||||||
7th Gen | GA107 | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | rowspan="4" | colspan="3" rowspan="4" | ||
GA106 | ||||||||||||||||||
GA104 | ||||||||||||||||||
GA102 | ||||||||||||||||||
GA100 | colspan="16" | |||||||||||||||||
8th Gen | AD107 | rowspan="3" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" | rowspan="6" |
AD106 | ||||||||||||||||||
AD104-250 | ||||||||||||||||||
AD104-400 | rowspan="3" | |||||||||||||||||
AD103 | ||||||||||||||||||
AD102 | ||||||||||||||||||
9th Gen | GB207 | rowspan="3" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" | rowspan="5" |
GB206 | ||||||||||||||||||
GB205 | ||||||||||||||||||
GB203 | ||||||||||||||||||
GB202 | ||||||||||||||||||
Nvidia's documentation states a peak encoder throughput of 8× realtime at a resolution of 1920×1080 (where the baseline "1×" equals 30Hz). Actual throughput varies on the selected preset, user-controlled parameters and settings, and the GPU/memory clock frequencies. The published 8× rating is achievable with the NVENC high-performance preset, which sacrifices compression efficiency and quality for encoder throughput. The high-quality preset is considerably slower but produces fewer compression artifacts
Maxwell GM108 does not have NVENC hardware encoder support.
HEVC encoding also lacks Sample Adaptive Offset (SAO). Adaptive quantization, look-ahead rate control, adaptive B-frames (H.264 only) and adaptive GOP features were added with the release of Nvidia Video Codec SDK 7. These features rely on CUDA cores for hardware acceleration.
SDK 7 supports two forms of adaptive quantization; Spatial AQ (H.264 and HEVC) and Temporal AQ (H.264 only).
Nvidia's consumer-grade (GeForce) cards and some of its lower-end professional Nvidia Quadro cards are restricted to three simultaneous encoding jobs. Its higher-end Quadro cards do not have this restriction.
Nvidia Video Codec SDK 8 added Pascal exclusive Weighted Prediction feature (CUDA based). Weighted prediction is not supported if the encode session is configured with B frames (H.264).
There is no B-Frame support for HEVC encoding, and the maximum CU size is 32×32.
The NVIDIA GT 1030 and the Mobile Quadro P500 are GP108 chips that don't support the NVENC encoder.
In laptop graphics, NVIDIA MX Graphics do not include NVENC as they are based on a Nvidia Maxwell-generation GM108 or a Pascal-generation GP108 chip. The GeForce MX350 is a GP107 chip whose NVENC encoder is disabled during manufacture.
It does not offer support for HEVC B-Frames.
In mobile graphics, as with most other GeForce MX-series graphics, the GeForce MX450 does not support NVENC as it is a TU117 chip whose hardware encoder is permanently disabled in its manufacture. The GeForce MX550, however, does support NVENC as its hardware encoder remains enabled at manufacturing level.
In entry-level mobile graphics, the GA107-chip-based GeForce MX570 comes in two versions, one of which (the GeForce MX570 A) has the hardware decoder and encoder permanently disabled during manufacturing.
It is bundled with Nvidia's GeForce driver.
NVENC is available for Windows and Linux operating systems. The free and open-source nouveau device driver does not support Nvidia NVENC.
Streams ! H.264 Encode (1080p30) |
|
|