Nvidia NVENC
   HOME

TheInfoList



OR:

Nvidia NVENC (short for Nvidia Encoder) is a feature in
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
graphics cards that performs video encoding, offloading this compute-intensive task from the CPU to a dedicated part of the
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
. It was introduced with the
Kepler Johannes Kepler (; ; 27 December 1571 – 15 November 1630) was a German astronomer, mathematician, astrologer, natural philosopher and writer on music. He is a key figure in the 17th-century Scientific Revolution, best known for his laws o ...
-based
GeForce GeForce is a brand of graphics processing units (GPUs) designed by Nvidia. As of the GeForce 40 series, there have been eighteen iterations of the design. The first GeForce products were discrete GPUs designed for add-on graphics boards, inte ...
600 series in March 2012. The encoder is supported in many livestreaming and recording programs, such as
vMix vMix is a software vision mixer available for the Windows operating system. The software is developed by StudioCoast PTY LTD. Like most vision mixing software, it allows users to switch inputs, mix audio, record outputs, and livestreaming, live s ...
,
Wirecast Wirecast is a live video streaming production tool by Telestream. It allows users to create live or on-demand broadcasts for the web. Wirecast is a software video switcher, controlling real-time switching between multiple live video cameras, whil ...
,
Open Broadcaster Software OBS Studio (also Open Broadcaster Software or OBS, for short) is a free, open-source, and cross-platform screencasting and streaming app. It is available for Windows, macOS, Linux distributions, and BSD. The OBS Project raises funds on the ...
(OBS) and
Bandicam Bandicam (stylized as BANDICAM) is a closed-source screen capture and screen recording software originally developed by Bandisoft and later by Bandicam Company that can take screenshots or record screen changes. Bandicam consists of three mai ...
, as well as video editing apps, such as Adobe Premiere Pro or
DaVinci Resolve DaVinci Resolve (originally known as da Vinci Resolve) is a color grading, color correction, visual effects, and audio post-production video editing application for macOS, Windows, and Linux, originally developed by da Vinci Systems, and now ...
. It also works with Share game capture, which is included in Nvidia's GeForce Experience software. Consumer targeted
GeForce GeForce is a brand of graphics processing units (GPUs) designed by Nvidia. As of the GeForce 40 series, there have been eighteen iterations of the design. The first GeForce products were discrete GPUs designed for add-on graphics boards, inte ...
graphics cards officially support no more than 3 simultaneously encoding video streams, regardless of the count of the cards installed, but this restriction can be circumvented on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
systems by applying an
unofficial patch An unofficial patch is a patch for a piece of software, created by a third party such as a user community without the involvement of the original developer. Similar to an ordinary patch, it alleviates bugs or shortcomings. Unofficial patches do ...
to the drivers. Doing so also unlocks ''NVIDIA Frame Buffer Capture (NVFBC)'', a fast desktop capture
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
that uses the capabilities of the GPU and its driver to accelerate capture. Professional cards support between 3 and unrestricted simultaneous streams per card, depending on card model and compression quality. Nvidia chips also feature an onboard decoder, NVDEC (short for Nvidia Decoder), to offload video ''decoding'' from the CPU to a dedicated part of the GPU.


Versions

NVENC has undergone several hardware revisions since its introduction with the first
Kepler Johannes Kepler (; ; 27 December 1571 – 15 November 1630) was a German astronomer, mathematician, astrologer, natural philosopher and writer on music. He is a key figure in the 17th-century Scientific Revolution, best known for his laws o ...
GPU (GK104).


First generation, Kepler GK1xx

The first generation of NVENC, which is shared by all
Kepler Johannes Kepler (; ; 27 December 1571 – 15 November 1630) was a German astronomer, mathematician, astrologer, natural philosopher and writer on music. He is a key figure in the 17th-century Scientific Revolution, best known for his laws o ...
-based GPUs, supports H.264 high-profile (YUV420, I/P/B frames, CAVLC/CABAC), H.264 SVC Temporal Encode VCE, and
Display Encode Mode Video Code Engine (VCE, was earlier referred to as Video Coding Engine, Video Compression Engine or Video Codec Engine in official AMD documentation) is AMD's video encoding application-specific integrated circuit implementing the video codec H. ...
(DEM). 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


Second generation, Maxwell GM107

Introduced with the first-generation Maxwell architecture, second generation NVENC adds support for the high-performance HP444 profile (YUV4:4:4, predictive lossless encoding), and increases encoder throughput up to 16× realtime, which corresponds to about 1080p @ 480Hz with the high-performance preset. Maxwell GM108 does not have NVENC hardware encoder support.


Third generation, Maxwell GM20x

Introduced with the second-generation Maxwell architecture, third generation NVENC implements the video compression algorithm
High Efficiency Video Coding High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video coding format, video compression standard designed as part of the MPEG-H project as a successor to the widely used Advanced Video Coding (AVC, H.264, or MPEG-4 ...
(a.k.a. HEVC, H.265) and also increases the H.264 encoder's throughput to cover 4K-resolution at 60Hz (2160p60). However, it does not support
B-frames In the field of video compression a video frame is compressed using different algorithms with different advantages and disadvantages, centered mainly around amount of data compression. These different algorithms for video frames are called pictu ...
for HEVC encoding (just I and P frames). The maximum NVENC HEVC
coding tree unit Coding tree unit (CTU) is the basic processing unit of the High Efficiency Video Coding (HEVC) video standard and conceptually corresponds in structure to macroblock units that were used in several previous video standards. CTU is also referred to ...
(CU) size is 32 (the HEVC standard allows a maximum of 64), and its minimum CU size is 8.
HEVC High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video compression standard designed as part of the MPEG-H project as a successor to the widely used Advanced Video Coding (AVC, H.264, or MPEG-4 Part 10). In compar ...
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 Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distr ...
and HEVC) and Temporal AQ (H.264 only). Nvidia's consumer-grade (GeForce) cards and some of its lower-end professional
Quadro Quadro was Nvidia's brand for graphics cards intended for use in workstations running professional computer-aided design (CAD), computer-generated imagery (CGI), digital content creation (DCC) applications, scientific calculations and machine ...
cards are restricted to three simultaneous encoding jobs. Its higher-end Quadro cards do not have this restriction.


Fourth generation, Pascal GP10x

Fourth generation NVENC implements HEVC Main10 10-bit hardware encoding. It also doubles the encoding performance of 4K H.264 & HEVC when compared to previous generation NVENC. It supports HEVC 8K, 4:4:4
chroma subsampling Chroma subsampling is the practice of encoding images by implementing less resolution for chroma information than for luma information, taking advantage of the human visual system's lower acuity for color differences than for luminance. It is u ...
, lossless encoding, and sample adaptive offset (SAO). Nvidia Video Codec SDK 8 added Pascal exclusive Weighted Prediction feature (
CUDA CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for general purpose processing, an approach ...
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 High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video compression standard designed as part of the MPEG-H project as a successor to the widely used Advanced Video Coding (AVC, H.264, or MPEG-4 Part 10). In compar ...
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 Maxwell-generation GM108 or a Pascal-generation GP108 chip. The GeForce MX350 is a GP107 chip whose NVENC encoder is disabled during manufacture.


Fifth generation, Volta GV10x/Turing TU117

Volta NVENC has similar performance as Pascal's NVENC

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.


Sixth generation, Turing TU10x/TU116

Sixth generation NVENC implements High Efficiency Video Coding, HEVC 8K encoding at 30 FPS, HEVC B-frames and HEVC B-frames as reference (with support for each and middle modes) and Alpha HEVC support and provides up to 25% bitrate savings for HEVC and up to 15% bitrate savings for H.264. The initial launch of the Nvidia GeForce GTX 1650 was exempt from this generation however, as it used Volta NVENC instead of Turing. Nvidia updated the NVENC encoder of the GTX 1650 cards in 2020 to also use the Turing engine. The GTX 1650 Super uses the
Turing Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher, and theoretical biologist. Turing was highly influential in the development of theoretical co ...
NVENC engine as it is based on the TU116 rather than the TU117 used in the original GTX 1650.


Seventh generation, Ampere GA10x

Ampere has essentially the same NVENC generation engine as Turing. The only substantive difference is that NVDEC received support for
AV1 AOMedia Video 1 (AV1) is an open, royalty-free video coding format initially designed for video transmissions over the Internet. It was developed as a successor to VP9 by the Alliance for Open Media (AOMedia), a consortium founded in 2015 th ...
decoding (with film grain). 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.


Eighth generation, Ada Lovelace AD10x

Nvidia announced the next-gen NVENC with 8K 10-bit 60FPS AV1 fixed function hardware encoder in Ada Lovelace GPUs.


Operating system support

The Nvidia NVENC SIP core needs to be supported by the device driver. The driver provides one or more interfaces, (e.g.
OpenMAX IL OpenMAX (Open Media Acceleration), often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C (programming language), C-language programming interfaces. It provides abstractions for routines that are especially useful ...
) to NVENC. The NVENC SIP core can only be accessed through the
proprietary {{Short pages monitor