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] 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]
Technology
[edit]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
[edit]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
[edit]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
[edit]- Gstreamer has supported NVDEC since 2017.[5]
- FFmpeg has supported NVDEC since 2017.[6]
- mpv has supported NVDEC since 2017 by the use of FFmpeg.[7]
GPU support
[edit]Hardware 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 | No | |
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 |
See also
[edit]- 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
- List of Nvidia graphics processing units
- Qualcomm Hexagon
- Nvidia NVENC
References
[edit]- ^ a b "Video Decoder". CUDA Toolkit Documentation. Nvidia. Retrieved 2017-11-12.
- ^ a b c d "NVIDIA VIDEO CODEC SDK". NVIDIA Developer. Nvidia. 23 August 2013. Retrieved 2017-11-12.
- ^ a b "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.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ "Video Encode and Decode GPU Support Matrix [NEW]". 8 September 2020.