Nvidia NVDEC
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]
Technology
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]
Versions
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]
Operating system support
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.
Application and library support
GPU support
HW accelerated encode and decode 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) |
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 | 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 720M > 740M | 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 630 / 635/ 640 / 710 / 730 | Kepler | GK208 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce 710A / 810M / 820M | Kepler | GK107 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GT 640M > 755M / GTX 660M | Kepler | GK107 | D | 1 | 1 | 1 | 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 | Kepler | GK107 | D | 1 | 1 | 1 | 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 | Kepler | GK106 | D | 1 | 1 | 1 | 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 | Kepler | GK104 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 760A/M > 880M | Kepler | GK104 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 680M/MX > 880M | Kepler | GK104 | M | 1 | 1 | 1 | 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 | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX Titan / Titan Black | Kepler (2nd Gen) | GK110 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX Titan Z | Kepler (2nd Gen) | GK110 | D | 2 | 1 | 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 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce 845M / 940M / 940MX / 945M | Maxwell (1st Gen) | GM107 | M | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 850A > 960A | Maxwell (1st Gen) | GM107 | M | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 850M > 960M | Maxwell (1st Gen) | GM107 | M | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce 830A > 945A | Maxwell (1st Gen) | GM108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce 830M > 945M | Maxwell (1st Gen) | GM108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce GTX 920MX - 940MX | Maxwell (1st Gen) | GM108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce MX110 / MX130 | Maxwell (1st Gen) | GM108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce GTX 750 GeForce GTX 950 - 960 | Maxwell (2nd Gen) | GM206 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No |
GeForce GTX 965M | Maxwell (2nd Gen) | GM206 | M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No |
GeForce GTX 910M / 920M / 920A | Maxwell (2nd Gen) | GM208B | M | 1 | 1 | 1 | Yes | Yes | Yes | No | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 965M > 980M / 980MX | Maxwell (2nd Gen) | GM204 | M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 960 Ti / 970 / 980 | Maxwell (2nd Gen) | GM204 | M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX 980 Ti | Maxwell (2nd Gen) | GM200 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce GTX Titan X | Maxwell (2nd Gen) | GM200 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No |
GeForce MX150 | Pascal | GP108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce MX230 / MX250 | Pascal | GP108 | M | 1 | 0 | 0 | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
GeForce GT 1030 | Pascal | GP108 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1050 / 1050 Ti | Pascal | GP107 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1050 / 1050 Ti | Pascal | GP106 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1060 | Pascal | GP106 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1060 | Pascal | GP104 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1070M / 1080M | Pascal | GP104B | M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1070 / 1070 Ti / 1080 | Pascal | GP104 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1080 Ti | Pascal | GP102 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX Titan X / Titan Xp | Pascal | GP102 | D | 1 | 1 | 1 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
Titan V | Volta | GV100 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No |
GeForce GTX 1650 | Turing | TU117 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
GeForce GTX 1660 Ti / 1660 | Turing | TU116 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
GeForce RTX 2060 / 2070 | Turing | TU106 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
GeForce RTX 2080 | Turing | TU104 | D/M | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
GeForce RTX 2080 Ti | Turing | TU102 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
Titan RTX | Turing | TU102 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
A100 | Ampere | GA100 | S | 1 | 1 | 5 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No |
GeForce RTX 3080 / 3090 | Ampere | GA102 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
GeForce RTX 3060 Ti / 3070 | Ampere | GA104 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
GeForce RTX 3050 Ti / 3060 | Ampere | GA106 | D | 1 | 1 | 1 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
See also
- AMD Video Core Next, AMD's equivalent SIP core since 2018
- AMD Unified Video Decoder, AMD's equivalent SIP core up to 2017
- Intel Quick Sync Video, Intel's equivalent SIP core
References
- "Video Decoder". CUDA Toolkit Documentation. Nvidia. Retrieved 2017-11-12.
- "NVIDIA VIDEO CODEC SDK". NVIDIA Developer. Nvidia. Retrieved 2017-11-12.
- "Nvidia Video Decoder (NVCUVID) Interface" (PDF). Nvidia. November 2015. Retrieved 2017-11-12.
- "Video Encode and Decode GPU Support Matrix". NVIDIA Developer. Nvidia. Retrieved 2017-11-12.
- Michael Larabel (27 June 2017). "GStreamer Adds NVDEC NVIDIA GPU Decoding Support". Phoronix.
- Michael Larabel (11 November 2017). "FFmpeg Lands NVDEC-Accelerated H.264 Decoding". Phoronix.
- wm4 (28 October 2017). "vd_lavc: add support for nvdec hwaccel". GitHub.
- https://developer.nvidia.com/video-encode-decode-gpu-support-matrix