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

HW accelerated decode and encode are supported on Nvidia GeForce, Quadro, Tesla, and GRID products with Fermi or newer generation GPUs.[8]

BoardFamilyChipDesktop/
Mobile/
Server
# Of Chips# Of NVDEC
/Chip
Total # of NVDECMPEG-1MPEG-2VC-1VP8VP9H.264
(AVCHD)
(except High 10)
H.265 (HEVC) 4:2:0H.265 (HEVC) 4:4:4AV1 4:2:0
8 bit10 bit12 bit8 bit10 bit12 bit8 bit10 bit12 bit8 bit10 bit12 bit
GeForce 710A > 810AKeplerGK208M111YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GT 723A / 740AYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GT 720M > 740MYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GT 630 / 635/ 640 / 710 / 730DYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce 710A / 810M / 820MGK107YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GT 640M > 755M / GTX 660MYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GT 630 - 640 GeForce GTX 650 GeForce GT 740YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 645 -650 Ti Boost GeForce GT 740GK106YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 660 - 690 GeForce GTX 760 - 770GK104YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 760A/M > 880MGK104YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 680M/MX > 880MMYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 780 - 780 TiKepler (2nd Gen)GK110DYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX Titan / Titan BlackYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX Titan Z22YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 745 - 750 TiMaxwell (1st Gen)GM10711YesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce 840M / 845M / 940M / 940MX / 945MMYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 850A > 960AYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 850M > 960MYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce 830A > 945AGM10800NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce 830M > 945MYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce GTX 920MX - 940MXYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce MX110 / MX130YesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce GTX 750 / 950 - 960Maxwell (2nd Gen)GM206D11YesYesYesYesYesNoNoYesYesYesNoNoNoNoNoNoNo
GeForce GTX 965MGM206MYesYesYesYesYesNoNoYesYesYesNoNoNoNoNoNoNo
GeForce GTX 910M / 920M / 920AGM208BYesYesYesNoNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 980M / 980MXGM204YesYesYesYesNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 960 Ti / 970 / 980DYesYesYesYesNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX 980 TiGM200YesYesYesYesNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce GTX Titan XYesYesYesYesNoNoNoYesNoNoNoNoNoNoNoNoNo
GeForce MX150PascalGP108M00NoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce MX230 / MX250 / MX330YesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo
GeForce GT 1030D11YesYesYesNoYesYesYesYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1050 / 1050 Ti / MX350GP107D/MYesYesYesNoYesYesYesYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1050 / 1050 TiGP106YesYesYesNoYesNoNoYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1060YesYesYesNoYesNoNoYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1060GP104YesYesYesNoYesNoNoYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1070M / 1080MGP104BMYesYesYesYesYesNoNoYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1070 / 1070 Ti / 1080GP104D/MYesYesYesYesYesNoNoYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1080 TiGP102DYesYesYesNoYesYesYesYesYesYesYesNoNoNoNoNoNo
GeForce GTX Titan X / Titan XpYesYesYesNoYesYesYesYesYesYesYesNoNoNoNoNoNo
Titan VVoltaGV100YesYesYesYesYesYesYesYesYesYesYesNoNoNoNoNoNo
GeForce GTX 1650 / MX450TuringTU117D/MYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
GeForce GTX 1660 Ti / 1660 / 1660 SuperTU116YesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
GeForce RTX 2060 / 2070 / 2060 SuperTU106YesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
GeForce RTX 2080 / 2070 Super / 2080 SuperTU104YesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
GeForce RTX 2080 TiTU102DYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
Titan RTXYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
A100AmpereGA100S5YesYesYesYesYesYesYesYesYesYesYesYesYesYesNoNoNo
GeForce RTX 3050 Ti / RTX 3050GA107D/M1YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNo
GeForce RTX 3060GA106YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNo
GeForce RTX 3060 Ti / 3070 / 3070 TiGA104YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNo
GeForce RTX 3080 / 3090GA102YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNo
GeForce RTX 4090AdaAD102D11YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
BoardFamilyChipDesktop/
Mobile/
Server
# Of Chips# Of NVDEC
/Chip
Total # of NVDECMPEG-1MPEG-2VC-1VP8VP9H.264
(AVCHD)
H.265 (HEVC) 4:2:0H.265 (HEVC) 4:4:4AV1 4:2:0
8 bit10 bit12 bit8 bit10 bit12 bit8 bit10 bit12 bit8 bit10 bit12 bit

See also

edit

References

edit
  1. ^ a b "Video Decoder". CUDA Toolkit Documentation. Nvidia. Retrieved 2017-11-12.
  2. ^ a b c d "NVIDIA VIDEO CODEC SDK". NVIDIA Developer. Nvidia. 23 August 2013. Retrieved 2017-11-12.
  3. ^ a b "Nvidia Video Decoder (NVCUVID) Interface" (PDF). Nvidia. November 2015. Retrieved 2017-11-12.
  4. ^ "Video Encode and Decode GPU Support Matrix". NVIDIA Developer. Nvidia. Retrieved 2017-11-12.
  5. ^ Michael Larabel (27 June 2017). "GStreamer Adds NVDEC NVIDIA GPU Decoding Support". Phoronix.
  6. ^ Michael Larabel (11 November 2017). "FFmpeg Lands NVDEC-Accelerated H.264 Decoding". Phoronix.
  7. ^ wm4 (28 October 2017). "vd_lavc: add support for nvdec hwaccel". GitHub.{{cite web}}: CS1 maint: numeric names: authors list (link)
  8. ^ "Video Encode and Decode GPU Support Matrix [NEW]". 8 September 2020.
edit