- Nvidia PureVideo
-
Nvidia PureVideo is a hardware feature designed to offload video decoding processes and video post-processing from a computer's CPU hardware to Nvidia's GPU hardware series GeForce 6 and later, GeForce M series (formerly known as GeForce Go); and Nvidia Quadro series. PureVideo is designed to work with media playback software, it can also be used for the decoding process of transcoding software. Nvidia's proprietary device drivers for Windows, Linux, Solaris and FreeBSD are PureVideo-enabled; with the appropriate (PureVideo-enabled) application software, the Nvidia driver will automatically use whatever hardware-acceleration is available on the Nvidia display-adapter.
All software HD DVD/Blu-ray players, as well as most software DVD players, are PureVideo-enabled. Microsoft's Windows Media Player and Windows Media Center also support Nvidia's PureVideo technology. Nvidia also sells its own PureVideo decoder software (which is a source of confusion, as Nvidia's decoder is not required and not used by third-party players), which serves as a DVD player with advanced post-processing capabilities. The degree of PureVideo's capabilities varies by generation.
In November 2008 Nvidia released a beta version of a closed-source device driver and open-source API called VDPAU (Video Decode and Presentation API for Unix) with PureVideo support for Linux, FreeBSD and Solaris.[1]
PureVideo HD
PureVideo HD (see "naming confusions" below) is a label which identifies Nvidia graphics boards certified for HD DVD and Blu-ray Disc playback, to comply with the requirements for playing Blu-ray/HD DVDs on PC:
- End-to-end encryption (HDCP) for digital-displays (DVI-D/HDMI)
- Realtime decoding of H.264 high-profile L4.1, VC-1 Advanced Profile L3, and MPEG-2 MP@HL (1080p30) decoding @ 40 Mbps
- Realtime dual-video stream decoding for HD DVD/Blu-ray Picture-in-Picture (primary video @ 1080p, secondary video @ 480p)
The First Generation PureVideo HD
The original PureVideo engine was introduced with the GeForce 6 series. Based on the GeForce FX's video-engine (VPE), PureVideo re-used the MPEG-1/MPEG-2 decoding pipeline, and improved the quality of deinterlacing and overlay-resizing. Compatibility with DirectX 9's VMR9 renderer was also improved. Other VPE features, such as the MPEG-1/MPEG-2 decoding pipeline were left unchanged. Nvidia's press material cited hardware acceleration for VC-1 and H.264 video, but these features were not present at launch.
Starting with the release of the GeForce 6600, PureVideo added hardware acceleration for VC-1 and H.264 video, though the level of acceleration is limited when benchmarked side by side with MPEG-2 video. VPE (and PureVideo) offloads the entire MPEG-2 pipeline (except the initial run length decoding, variable length decoding, and inverse transform),[2] whereas first-generation PureVideo offered limited VC-1 assistance (motion-compensation).
The first generation PureVideo HD is sometimes called "PureVideo HD 1" or VP1, although this is not an official Nvidia designation.
The Second Generation PureVideo HD
Starting with the G84/G86 GPUs (sold as the GeForce 8400/8500/8600 series), Nvidia substantially re-designed the H.264 decoding block inside its GPUs. The second generation PureVideo HD added a dedicated bitstream processor (BSP) and enhanced video processor, which enabled the GPU to completely offload the H.264-decoding pipeline. VC-1 acceleration was also improved, with PureVideo HD now able to offload more of VC-1-decoding pipeline's backend (inverse discrete cosine transform (iDCT) and motion compensation stages). The frontend (bitstream) pipeline is still decoded by the host CPU.[3][4] The second generation PureVideo HD enabled mainstream PCs to play HD DVD and Blu-ray movies, as the majority of the processing-intenstive video-decoding was now offloaded to the GPU.
The second generation PureVideo HD is sometimes called "PureVideo HD 2" or VP2, although this is not an official Nvidia designation. It corresponds to Nvidia VDPAU Feature Set A.
The Third Generation PureVideo HD
This implementation of PureVideo HD, VP3 added entropy hardware to offload VC-1 bitstream decoding with the G98 GPU (sold as GeForce 8400GS),[5] as well as additional minor enhancements for the MPEG-2 decoding block. The functionality of the H.264-decoding pipeline was left unchanged. In essence, VP3 offers complete hardware-decoding for all 3 video codecs of the Blu-ray Disc format: MPEG-2, VC-1, and H.264.
All third generation PureVideo hardware (G98, MCP77, MCP78, MCP79MX, MCP7A) cannot decode H.264 for the following horizontal resolutions: 769–784, 849–864, 929–944, 1009–1024, 1793–1808, 1873–1888, 1953–1968 and 2033–2048 pixel[6]
The third generation PureVideo HD is sometimes called "PureVideo HD 3" or VP3, although this is not an official Nvidia designation. It corresponds to Nvidia VDPAU Feature Set B.
The Fourth Generation PureVideo HD
This implementation of PureVideo HD, VP4 added hardware to offload MPEG-4 (Advanced) Simple Profile bitstream decoding with the GT215, GT216 & GT218 GPUs (sold as GeForce GT 240, GeForce GT 220 & GeForce 210/G210).[7] The H.264-decoder no longer suffers the framesize restrictions of VP3, and adds hardware-acceleration for MVC, a H.264 extension used on 3D Blu-ray discs. The same features are also supported by later GPUs.
The fourth generation PureVideo HD is sometimes called "PureVideo HD 4" or VP4, although this is not an official Nvidia designation. It corresponds to Nvidia VDPAU Feature Set C (which due to a missing API currently does not support decoding MVC).
The Fifth Generation PureVideo HD
The fifth generation of PureVideo HD, introduced with the Geforce GT 520, has significantly improved performance when decoding H.264 (and, from an already much higher level, other codecs),[8] it is also capable of decoding 4K x 2K videos.[9]
The fifth generation PureVideo HD is sometimes called "PureVideo HD 5" or VP5, although this is not an official Nvidia designation. This generation of PureVideo HD corresponds to Nvidia VDPAU Feature set D which due to limitations in all current VDPAU drivers does not support decoding higher resolutions than 2048x2048.[10]
Naming confusion
Because the introduction and subsequent rollout of PureVideo technology was not synchronized with Nvidia's GPU release schedule, the exact capabilities of PureVideo technology and their supported Nvidia GPUs led to a considerable customer confusion. The first generation PureVideo GPUs (GeForce 6 series) spanned a wide range of capabilities. On the low-end of GeForce 6 series (6200), PureVideo was limited to standard-definition content (720x576). The mainstream and high-end of the GeForce 6 series was split between older products (6800 GT) which did not accelerate H.264/VC-1 at all, and newer products (6600 GT) with added VC-1/H.264 offloading capability.
In 2006, PureVideo HD was formally introduced with the launch of the GeForce 7900, which had the first generation PureVideo HD. In 2007, when the second generation PureVideo HD (VP2) hardware launched with the Geforce 8500 GT/8600 GT/8600 GTS, Nvidia expanded Purevideo HD to include both the first generation (retroactively called "PureVideo HD 1" or VP1) GPUs (Geforce 7900/8800 GTX) and newer VP2 GPUs. This led to a confusing product portfolio containing GPUs from two distinctly different generational capabilities: the newer VP2 based cores (Geforce 8500 GT/8600 GT/8600 GTS/8800 GT) and other older PureVideo HD 1 based cores (Geforce 7900/G80).
Nvidia claims that all GPUs carrying the PureVideo HD label fully support Blu-ray/HD DVD playback with the proper system components. For H.264/AVC content, VP1 offers markedly inferior acceleration compared to newer GPUs, placing a much greater burden on the host CPU. However, a sufficiently fast host CPU can play Blu-ray without any hardware assistance whatsoever.
Other hardware acceleration technology
ATI's competing Unified Video Decoder (UVD) is comparable to third-generation PureVideo HD (VP3) in terms of video-decode acceleration. Benchmarks previously conducted by AnandTech found UVD to outperform VP2 in VC-1 playback.[11]
Table of PureVideo (HD) GPUs
Board Name Core Type PureVideo HD VDPAU feature set First Release Date Notes GeForce 6 series NV4x VP1 Not Supported NV40-based models of the 6800 do not accelerate VC-1/H.264 GeForce 7 series G7x VP1 Not Supported - GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB) G80 VP1 Not Supported November 2006 - GeForce 8400 GS, 8500 GT G86 VP2 A April 2007 - GeForce 8600 GT, 8600 GTS G84 VP2 A April 2007 - GeForce 8800 GS, 8800 GT, 8800 GTS (512 MB/1 GB) G92 VP2 A October 2007 - GeForce 8400 GS G98 VP3[12] B December 2007 Earlier cards use G86 core type without VP3 support GeForce 8200, 8300 C77 VP3 B January 2008 Not suitable for running CUDA GeForce 9600 GSO 512, 9600 GT G94 VP2 A February 2008 - GeForce 9600 GSO, 9800 GT, 9800 GTX, 9800 GTX+, 9800 GX2 G92 VP2 A March 2008 - GeForce GTX 260, GTX 275, GTX 280, GTX 285, GTX 295 GT200 VP2 A June 2008 - GeForce 9400 GT, 9500 GT G96 VP2[13] A July 2008 - GeForce 9300M GS, 9300 GS, 9300 GE G98 VP3[12] B October 2008 Mostly found in laptops and on motherboards GeForce 205, 210/G210, 310, G210M, 305M, 310M GT218 VP4[7] C October 2009 Introduced decoding of MPEG-4 (Advanced) Simple Profile (Divx/Xvid) GeForce GT 220, 315, GT 230M, GT 240M, GT 325M, GT 330M GT216 VP4[7] C October 2009 - GeForce GT 240, GT 320, GT 340, GTS 250M, GTS 260M, GT 335M, GTS 350M, GTS 360M GT215 VP4 C November 2009 - GeForce GTX 465, GTX 470, GTX 480, GTX 480M GF100 VP4 C March 2010 - GeForce GTX 460, GTX 470M GF104 VP4 C July 2010 - GeForce GTS 450, GT 445M, GTX 460M, GT 555M GF106 VP4 C September 2010 - GeForce GT 420 OEM, GT 430, GT 440, GT 415M, GT 420M, GT 425M, GT 435M, GT525M, GT 540M, GT 550M GF108 VP4 C September 2010 - GeForce GTX 570, GTX 580 GF110 VP4 C November 2010 - GeForce GTX 570M, GTX 580M GF114 VP4 C January 2011 - GeForce GTX 550 Ti, GTX 560M GF116 VP4 C March 2011 - GeForce 410M, GT 520 GF119 VP5 D April 2011 Introduced 4k x 2k video decoding ION, ION-LE[14] C79 VP3 B - NEXT-GENERATION ION GT218 VP4 C - Nvidia VDPAU Feature Sets
Nvidia VDPAU Feature Sets[15] are different hardware generations of Nvidia GPU's supporting different levels of hardware decoding capabilities. For all the current feature sets from Nvidia, the maximum video width and height are 2048 pixels, minimum width and height 48 pixels, and all codecs are currently limited to a maximum of 8192 macroblocks (8190 for VC-1/WMV9). Partial acceleration means that VLD (bitstream) decoding is performed on the CPU, with the GPU only performing IDCT, motion compensation and deblocking. Complete acceleration means that the GPU performs all of VLD, IDCT, motion compensation and deblocking.
- Feature Set A
- Complete acceleration for H.264
- Partial acceleration for MPEG-1, MPEG-2, VC-1/WMV9
- Feature Set B
- Complete acceleration for MPEG-1, MPEG-2, VC-1/WMV9 and H.264.
- All feature set B hardware cannot decode H.264 for the following widths: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 pixels.
- Feature Set C & D
- Complete acceleration for MPEG-1, MPEG-2, MPEG-4 Part 2 (a.k.a MPEG-4 ASP), VC-1/WMV9 and H.264.
- Global motion compensation and Data Partitioning are not supported for MPEG-4 Part 2.
Software support
Media players (and video converters) cannot directly support PureVideo, but must implement an API that is supported by the graphic driver and the operating system. Every software that supports - depending on hardware and operating system - DXVA, XvMC, VDPAU or VideoToolBox (directly or via Video Decode Acceleration Framework) can use PureVideo's capabilites.
See also
- DirectX Video Acceleration (DxVA) API for Microsoft Windows operating-system.
- VDPAU (Video Decode and Presentation API for Unix) from Nvidia
- X-Video Motion Compensation (XvMC) API for Linux/UNIX operating-system.
- AVIVO - a competing technology from ATI/AMD for use with their graphics chips.
References
- ^ Larabel, Michael (2008-11-14). "NVIDIA Driver Brings PureVideo Features To Linux". Phoronix. http://www.phoronix.com/scan.php?page=article&item=nvidia_180_vdpau. Retrieved 2008-11-15.
- ^ "PureVideo: Digital Home Theater Video Quality for Mainstream PCs with GeForce 6 and 7 GPUs" (PDF). NVIDIA. p. 9. http://www.nvidia.com/object/TB_purevideo.html. Retrieved 2008-03-03.
- ^ "PureVideo Support table" (PDF). NVIDIA. http://www.nvidia.com/docs/CP/11036/PureVideo_Product_Comparison.pdf. Retrieved 2007-09-27.
- ^ "PureVideo HD Support table" (PDF). NVIDIA. http://www.nvidia.com/object/IO_43029.html. Retrieved 2008-10-28.
- ^ "G98 first review". Expreview. http://en.expreview.com/2007/12/04/born-for-hd-first-review-of-g98-8400gs.html?page=3. Retrieved 2008-12-04.
- ^ Implementation limits VDPAU decoder
- ^ a b c http://www.anandtech.com/video/showdoc.aspx?i=3657&p=3
- ^ http://www.anandtech.com/show/4380/discrete-htpc-gpus-shootout/10
- ^ http://www.anandtech.com/show/4380/discrete-htpc-gpus-shootout/11
- ^ ftp://download.nvidia.com/XFree86/Linux-x86_64/275.09.07/README/vdpausupport.html#vdpau-implementation-limits-decoder
- ^ Wilson, Derek (2007-07-23). "HD Video Decode Quality and Performance Summer '07". AnandTech. http://www.anandtech.com/video/showdoc.aspx?i=3047&p=6&cp=5. Retrieved 2008-07-05.
- ^ a b http://www.nvnews.net/vbulletin/showpost.php?p=1870332&postcount=3
- ^ http://forums.nvidia.com/index.php?showtopic=74108
- ^ http://www.nvidia.com/object/picoatom_specifications.html
- ^ ftp://download.nvidia.com/XFree86/Linux-x86/190.53/README/appendix-h.html#vdpau-implementation-limits-decoder
External links
Nvidia Graphics processing units Early chipsetsRIVA seriesGeForce 256 · GeForce 2 · GeForce 3 · GeForce 4 · GeForce 5 · GeForce 6 · GeForce 7 · GeForce 8 · GeForce 9 · GeForce 100 · GeForce 200 · GeForce 300 · GeForce 400 · GeForce 500Other seriesTechnologiesMotherboard chipsets GeForce SeriesnForce SeriesnForce 220/415/420 · nForce2 · nForce3 · nForce4 · nForce 500 · nForce 600 · nForce 700 · nForce 900TechnologiesOther products Project DenverBridge chipsHandheldSoftwareAcquisitionsKey people Jen-Hsun Huang · Chris Malachowsky · Curtis Priem · David Kirk · Debora Shoquist · Dr. Ranga Jayaraman · Jonah M. AlbenVideo processing Post-processing Special processing 24 to 30 fps conversion 30 to 24 fps conversion Inverse telecineCategories:- Nvidia
- Video acceleration
Wikimedia Foundation. 2010.