Nvidia NVDEC (formerly known as NVCUVID [1] ) is a feature in its graphics cards that performs video decoding, offloading this compute-intensive task from the CPU. [2]
It is accompanied by NVENC for video encoding in Nvidia's Video Codec SDK. [2]
NVDEC can offload video decoding to full fixed-function decoding hardware (Nvidia PureVideo), or (partially) decode via CUDA software running on the GPU, if fixed-function hardware is not available. [2] [3]
Depending on the GPU architecture, the following codecs are supported: [4]
NVCUVID was originally distributed as part of the Nvidia CUDA Toolkit. [3] Later, it was renamed to NVDEC and moved to the Nvidia Video Codec SDK. [1]
NVDEC is available for Windows and Linux operating systems. [2] As NVDEC is a proprietary API (as opposed to the open-source VDPAU API), it is only supported by the proprietary Nvidia driver on Linux.
HW accelerated decode and encode are supported on Nvidia GeForce, Quadro, Tesla, and GRID products with Fermi or newer generation GPUs. [8]
Board | Family | Chip | Desktop/ Mobile/ Server | # Of Chips | # Of NVDEC /Chip | Total # of NVDEC | MPEG-1 | MPEG-2 | VC-1 | VP8 | VP9 | H.264 (AVCHD) (except High 10) | H.265 (HEVC) 4:2:0 | H.265 (HEVC) 4:4:4 | AV1 4:2:0 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit | ||||||||||||
GeForce 710A > 810A | Kepler | GK208 | M | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GT 723A / 740A | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GT 720M > 740M | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GT 630 / 635/ 640 / 710 / 730 | D | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce 710A / 810M / 820M | GK107 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GT 640M > 755M / GTX 660M | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GT 630 - 640 GeForce GTX 650 GeForce GT 740 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GTX 645 -650 Ti Boost GeForce GT 740 | GK106 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 660 - 690 GeForce GTX 760 - 770 | GK104 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 760A/M > 880M | GK104 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 680M/MX > 880M | M | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 780 - 780 Ti | Kepler (2nd Gen) | GK110 | D | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||
GeForce GTX Titan / Titan Black | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GTX Titan Z | 2 | 2 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||
GeForce GTX 745 - 750 Ti | Maxwell (1st Gen) | GM107 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||
GeForce 840M / 845M / 940M / 940MX / 945M | M | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 850A > 960A | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce GTX 850M > 960M | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce 830A > 945A | GM108 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |||
GeForce 830M > 945M | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||||||
GeForce GTX 920MX - 940MX | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||||||
GeForce MX110 / MX130 | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||||||
GeForce GTX 750 / 950 - 960 | Maxwell (2nd Gen) | GM206 | D | 1 | 1 | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | |
GeForce GTX 965M | GM206 | M | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | ||||
GeForce GTX 910M / 920M / 920A | GM208B | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 980M / 980MX | GM204 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 960 Ti / 970 / 980 | D | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX 980 Ti | GM200 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | |||||
GeForce GTX Titan X | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | ||||||
GeForce MX150 | Pascal | GP108 | M | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | |
GeForce MX230 / MX250 / MX330 | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||||||
GeForce GT 1030 | D | 1 | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | |||
GeForce GTX 1050 / 1050 Ti / MX350 | GP107 | D/M | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||
GeForce GTX 1050 / 1050 Ti | GP106 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | |||||
GeForce GTX 1060 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||||
GeForce GTX 1060 | GP104 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | |||||
GeForce GTX 1070M / 1080M | GP104B | M | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||
GeForce GTX 1070 / 1070 Ti / 1080 | GP104 | D/M | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||
GeForce GTX 1080 Ti | GP102 | D | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||
GeForce GTX Titan X / Titan Xp | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||||
Titan V | Volta | GV100 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ||||
GeForce GTX 1650 / MX450 | Turing | TU117 | D/M | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |||
GeForce GTX 1660 Ti / 1660 / 1660 Super | TU116 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |||||
GeForce RTX 2060 / 2070 / 2060 Super | TU106 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |||||
GeForce RTX 2080 / 2070 Super / 2080 Super | TU104 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | |||||
GeForce RTX 2080 Ti | TU102 | D | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | ||||
Titan RTX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | ||||||
A100 | Ampere | GA100 | S | 5 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | ||
GeForce RTX 3050 Ti / RTX 3050 | GA107 | D/M | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |||
GeForce RTX 3060 | GA106 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |||||
GeForce RTX 3060 Ti / 3070 / 3070 Ti | GA104 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |||||
GeForce RTX 3080 / 3090 | GA102 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |||||
GeForce RTX 4090 | Ada | AD102 | D | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Board | Family | Chip | Desktop/ Mobile/ Server | # Of Chips | # Of NVDEC /Chip | Total # of NVDEC | MPEG-1 | MPEG-2 | VC-1 | VP8 | VP9 | H.264 (AVCHD) | H.265 (HEVC) 4:2:0 | H.265 (HEVC) 4:4:4 | AV1 4:2:0 | ||||||||
8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit | 8 bit | 10 bit | 12 bit |
A graphics processing unit (GPU) is a specialized electronic circuit initially designed to accelerate computer graphics and image processing. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.
Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.
A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.
X-Video Motion Compensation (XvMC), is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. In theory this process should also reduce bus bandwidth requirements. Currently, the supported portions to be offloaded by XvMC onto the GPU are motion compensation and inverse discrete cosine transform (iDCT) for MPEG-2 video. XvMC also supports offloading decoding of mo comp, iDCT, and VLD for not only MPEG-2 but also MPEG-4 ASP video on VIA Unichrome hardware.
CoreAVC was a proprietary codec for decoding the H.264/MPEG-4 AVC video format.
CUDA is a proprietary and closed source 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 called general-purpose computing on GPUs (GPGPU). CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements, for the execution of compute kernels.
nouveau is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.
Unified Video Decoder is the name given to AMD's dedicated video decoding ASIC. There are multiple versions implementing a multitude of video codecs, such as H.264 and VC-1.
PureVideo is Nvidia's hardware SIP core that performs video decoding. PureVideo is integrated into some of the Nvidia GPUs, and it supports hardware decoding of multiple video codec standards: MPEG-2, VC-1, H.264, HEVC, and AV1. PureVideo occupies a considerable amount of a GPU's die area and should not be confused with Nvidia NVENC. In addition to video decoding on chip, PureVideo offers features such as edge enhancement, noise reduction, deinterlacing, dynamic contrast enhancement and color enhancement.
Video Acceleration API (VA-API) is an open source application programming interface that allows applications such as VLC media player or GStreamer to use hardware video acceleration capabilities, usually provided by the graphics processing unit (GPU). It is implemented by the free and open-source library libva, combined with a hardware-specific driver, usually provided together with the GPU driver.
OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies programming languages for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.
X-Video Bitstream Acceleration (XvBA), designed by AMD Graphics for its Radeon GPU and APU, is an arbitrary extension of the X video extension (Xv) for the X Window System on Linux operating-systems. XvBA API allows video programs to offload portions of the video decoding process to the GPU video-hardware. Currently, the portions designed to be offloaded by XvBA onto the GPU are currently motion compensation (MC) and inverse discrete cosine transform (IDCT), and variable-length decoding (VLD) for MPEG-2, MPEG-4 ASP, MPEG-4 AVC (H.264), WMV3, and VC-1 encoded video.
Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.
Intel Graphics Technology (GT) is the collective name for a series of integrated graphics processors (IGPs) produced by Intel that are manufactured on the same package or die as the central processing unit (CPU). It was first introduced in 2010 as Intel HD Graphics and renamed in 2017 as Intel UHD Graphics.
Intel Quick Sync Video is Intel's brand for its dedicated video encoding and decoding hardware core. Quick Sync was introduced with the Sandy Bridge CPU microarchitecture on 9 January 2011 and has been found on the die of Intel CPUs ever since.
Distributed Codec Engine (DCE) is an API and its implementation as software library ("libdce") by Texas Instruments. The library was released under the Revised BSD License and some additional terms.
Video Code Engine is AMD's video encoding application-specific integrated circuit implementing the video codec H.264/MPEG-4 AVC. Since 2012 it was integrated into all of their GPUs and APUs except Oland.
Crystal HD is Broadcom's hardware semiconductor intellectual property (SIP) core that performs video decoding.
Nvidia NVENC is a feature in Nvidia graphics cards that performs video encoding, 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.
Video Core Next is AMD's brand for its dedicated video encoding and decoding hardware core. It is a family of hardware accelerator designs for encoding and decoding video, and is built into AMD's GPUs and APUs since AMD Raven Ridge, released January 2018.