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] NVDEC is a successor of PureVideo and is available in Kepler and later NVIDIA GPUs.
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.
Hardware accelerated decode and encode are supported on Nvidia GeForce, Quadro, Tesla, and GRID products with Fermi or newer generation GPUs. [8]
Board | Chip | NVDEC per Chip | 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 | |||||||
GeForce 710A > 810A | GK208 | 1 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No |
GeForce GT 723A / 740A | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GT 720M > 740M | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GT 630 / 635/ 640 / 710 / 730 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce 710A / 810M / 820M | GK107 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GT 640M > 755M / GTX 660M | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GT 630 - 640 GeForce GTX 650 GeForce GT 740 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 645 -650 Ti Boost GeForce GT 740 | GK106 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX 660 - 690 GeForce GTX 760 - 770 | GK104 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX 760A/M > 880M | GK104 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX 680M/MX > 880M | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 780 - 780 Ti | GK110 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX Titan / Titan Black | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX Titan Z | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 745 - 750 Ti | GM107 | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce 840M / 845M / 940M / 940MX / 945M | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 850A > 960A | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 850M > 960M | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce 830A > 945A | GM108 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce 830M > 945M | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
GeForce GTX 920MX - 940MX | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
GeForce MX110 / MX130 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
GeForce GTX 750 / 950 - 960 | GM206 | 1 | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 965M | GM206 | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | |
GeForce GTX 910M / 920M / 920A | GM208B | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX 980M / 980MX | GM204 | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX 960 Ti / 970 / 980 | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce GTX 980 Ti | GM200 | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | |
GeForce GTX Titan X | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | ||
GeForce MX150 | GP108 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce MX230 / MX250 / MX330 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
GeForce GT 1030 | 1 | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1050 / 1050 Ti / MX350 | GP107 | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1050 / 1050 Ti | GP106 | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1060 | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | ||
GeForce GTX 1060 | GP104 | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1070M / 1080M | GP104B | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1070 / 1070 Ti / 1080 | GP104 | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1080 Ti | GP102 | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX Titan X / Titan Xp | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | ||
Titan V | GV100 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | |
GeForce GTX 1650 / MX450 | TU117 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
GeForce GTX 1660 Ti / 1660 / 1660 Super | TU116 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
GeForce RTX 2060 / 2070 / 2060 Super | TU106 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
GeForce RTX 2080 / 2070 Super / 2080 Super | TU104 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
GeForce RTX 2080 Ti | TU102 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
Titan RTX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | ||
A100 | GA100 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | |
GeForce RTX 3050 Ti / RTX 3050 | GA107 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
GeForce RTX 3060 | GA106 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
GeForce RTX 3060 Ti / 3070 / 3070 Ti | GA104 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
GeForce RTX 3080 / 3090 | GA102 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
GeForce RTX 4090 | AD102 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Board | Chip | NVDEC per Chip | 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 |
A graphics processing unit (GPU) is a specialized electronic circuit initially designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal computers, workstations, and game consoles. 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.
In computing, CUDA is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated general-purpose processing, an approach called general-purpose computing on GPUs (GPGPU). CUDA API and its runtime: The CUDA API is an extension of the C programming language that adds the ability to specify thread-level parallelism in C and also to specify GPU device specific operations. 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. In addition to drivers and runtime kernels, the CUDA platform includes compilers, libraries and developer tools to help programmers accelerate their applications.
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 a programming language 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.
Kepler is the codename for a GPU microarchitecture developed by Nvidia, first introduced at retail in April 2012, as the successor to the Fermi microarchitecture. Kepler was Nvidia's first microarchitecture to focus on energy efficiency. Most GeForce 600 series, most GeForce 700 series, and some GeForce 800M series GPUs were based on Kepler, all manufactured in 28 nm. Kepler found use in the GK20A, the GPU component of the Tegra K1 SoC, and in the Quadro Kxxx series, the Quadro NVS 510, and Tesla computing modules.
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.
Ada Lovelace, also referred to simply as Lovelace, is a graphics processing unit (GPU) microarchitecture developed by Nvidia as the successor to the Ampere architecture, officially announced on September 20, 2022. It is named after the English mathematician Ada Lovelace, one of the first computer programmers. Nvidia announced the architecture along with the GeForce RTX 40 series consumer GPUs and the RTX 6000 Ada Generation workstation graphics card. The Lovelace architecture is fabricated on TSMC's custom 4N process which offers increased efficiency over the previous Samsung 8 nm and TSMC N7 processes used by Nvidia for its previous-generation Ampere architecture.
{{cite web}}
: CS1 maint: numeric names: authors list (link)