Nvidia NVENC

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Nvidia NVENC is the name given to Nvidia's ASIC that performs video encoding. Nvidia NVENC was introduced with the Kepler-based GeForce 600 series in March 2012.[1][2] NVENC is integrated into some of their GPUs and Tegra SoCs. Nvidia NVENC occupies a considerable amount of the die surface and is not to be confused with Nvidia's PureVideo.

Versions[edit]

Since its introduction with the GK104 (GTX680), NVENC has undergone several hardware revisions.

Nvidia NVENC (Kepler)[edit]

This version The first generation of NVENC, which is shared by all Kepler-based GPUs, supports H.264 high-profile (YUV420, I/P/B frames, CAVLC/CABAC), H.264 SVC Temporal Encode VCE, and Display Encode Mode (DEM).

NVidia's documentation states a peak encoder throughput of "8x realtime" at a resolution of 1920x1080 (where the baseline "1x" equals 30fps.) Actual throughput varies on the selected preset and user controlled parameters and settings, and to a lesser degree on the GPU/memory clock frequency. The published 8x rating is achievable with the NVENC preset "high-performance", which sacrifices compression efficiency/quality for encoder throughput. The high-quality preset is considerably slower, but produces fewer compression artifacts.

The Tegra K1 platform includes support for H.265/HEVC video decode as well, but this isn’t accelerated fully in hardware, rather the decode is split across NVENC and CPU.

Nvidia NVENC (Maxwell)[edit]

The second generation, used on the first-generation Maxwell-based GPUs, adds support for HiP444 profile (YUV4:4:4, predictive lossless encoding), as well as increasing encoder throughput up to "16x realtime" (which corresponds roughly to 1080p @ 480fps with the high-performance preset.)

The third generation, introduced with second-generation Maxwell GPUs (GM204), adds support for HEVC encoding, as well as increasing the H264's encoder throughput to cover 4K-resolution @ 60fps (2160p60).

Operating system support[edit]

The Nvidia NVENC SIP core needs to be supported by the device driver. The device driver provides one or multiple interfaces, e.g. OpenMAX IL, to be used by end-user software to access Nvidia NVENC and make use of it. As of August 2014 Nvidia NVENC can only be accessed through a proprietary API called "NVENC API" provided by Nvidia's proprietary device driver Nvidia GeForce driver.

Nvidia's proprietary device driver Nvidia GeForce driver is available for multiple operating systems and support for Nvidia NVENC has been added to it.[citation needed] Additionally, a free and open-source device driver is available, support for Nvidia NVENC is not documented.[3]

See also[edit]

References[edit]