World Library  
Flag as Inappropriate
Email this Article


Original author(s) Nvidia
Stable release 0.8 / July 1, 2014 (2014-07-01)[1]
Operating system Linux, FreeBSD, Solaris
License MIT License

VDPAU (Video Decode and Presentation API for Unix) is a royalty-free API as well as its implementation as free and open-source library (libvdpau) distributed under the MIT License.[2]

The VDPAU interface is to be implemented by device drivers to offer end-user software, such as VLC media player or GStreamer, access to available video acceleration hardware, such a PureVideo or Unified Video Decoder and make use of it.

VDPAU is targeted at Unix-like operating systems (including Linux, FreeBSD, Solaris).[3][4][5]


  • Functional range of the interface 1
  • History 2
  • Device drivers and video controllers implementing VDPAU 3
    • Generic VDPAU driver 3.1
  • Software that supports VDPAU 4
  • Nvidia VDPAU Feature Sets 5
  • libvdpau standalone VDPAU library 6
  • See also 7
  • References 8
  • External links 9

Functional range of the interface

VDPAU allows video programs to access the PureVideo function blocks to offload portions of the video decoding process and video post-processing.[6]

Currently, the portions capable of being offloaded by VDPAU onto the GPU are motion compensation (mo comp), inverse discrete cosine transform (iDCT), VLD (variable-length decoding) and deblocking for MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Part 2), H.264/MPEG-4 AVC and VC-1, WMV3/WMV9 encoded videos.[3] Which specific codecs of these that can be offloaded to the GPU depends on the generation version of the GPU hardware; specifically, to also decode MPEG-4 ASP (MPEG-4 Part 2), Xvid/OpenDivX (DivX 4), and DivX 5 formats, a GeForce 200M (2xxM) Series (the eleventh generation of Nvidia's GeForce graphics processing units) or newer GPU hardware is required.[7]


VDPAU was originally designed by Nvidia for their PureVideo SIP block present on their GeForce 8 series and later GPUs.[8]

Device drivers and video controllers implementing VDPAU

VDPAU is implemented in X11 software device drivers, but relies on acceleration features in the hardware GPU. (Currently, only the second generation PureVideo HD bit-stream processor in some of Nvidia's GeForce 8 series and later video controller hardware work as of Beta device driver version 180.06.)[3] Video controllers for which VDPAU is not available from the GeForce 8 series includes the 8800GTS 320/640 MB editions and the 8800GTX. Later cards based on the G9x series cores (e.g., the 8400GS and the 8800GTS 512 MiB; G92 core) work with VDPAU. Nvidia currently has no plans to introduce VDPAU for the additional existing video controller products.[9] All video controllers for which the driver implements VDPAU are listed in Nvidia PureVideo.[10]

S3 Graphics added VDPAU to the Linux drivers of their Chrome 400 video cards. As of version 14.02.17 of its Linux device driver, VPDAU is available with the S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT and the S3 Chrome 540 GTX hardware.[11]

ATI/AMD released an open source driver for Radeon HD 4000+ graphic cards featuring VDPAU acceleration.[12][13]

Intel currently does not offer VDPAU, working on their VA-API instead. Nvidia hopes these GPU designers will make their products compatible with the open source VDPAU library and provide drivers with VDPAU acceleration by mentioning example names of hardware specific drivers for Intel and ATI: and[14] Intel has stated they are considering VDPAU.[15]

sunxi SoCs (Allwinner) have experimental VDPAU implementation.[16]

Mesa as of v8.0 includes VDPAU for video cards that utilize Gallium3D.

Generic VDPAU driver

As of late 2013, there is an independently-developed back-end drivers that allows VDPAU acceleration on devices with VA-API or OpenMAX IL capabilities, on OpenGL, OpenGL ES, and framebuffer. [17] It has been reported to work on some Intel graphics and Adobe Flash player. [18]

Software that supports VDPAU

VDPAU can also be used as a backend for the VA-API and OpenMAX IL which themselves covers a subset of VDPAU's capabilities; so any software that uses the VA-API or OpenMAX IL is also partly capable of using VDPAU (e.g., VLC media player).[30]

Nvidia VDPAU Feature Sets

Nvidia VDPAU Feature Sets[31] are different hardware generations of GPU's supporting different levels of (Nvidia PureVideo) hardware decoding capabilities. For feature sets A, B and C, 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
Supports complete acceleration for H.264 and partial acceleration for MPEG-1, MPEG-2, VC-1/WMV9
Feature Set B
Supports complete acceleration for MPEG-1, MPEG-2, VC-1/WMV9 and H.264.
Note that 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
Supports 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.
Feature Set D
Similar to feature set C but added support for decoding H.264 with a resolution of up to 4032 × 4080 and MPEG-1/MPEG-2 with a resolution of up to 4032 × 4048 pixels.
Feature Set E
Similar to feature set D but added support for decoding H.264 with a resolution of up to 4096 × 4096 and MPEG-1/MPEG-2 with a resolution of up to 4080 × 4080 pixels. GPUs with VDPAU feature set E support an enhanced error concealment mode which provides more robust error handling when decoding corrupted video streams.[32]

libvdpau standalone VDPAU library

The libvdpau standalone VDPAU library is distributed by Nvidia independently of their proprietary Linux graphics driver in an effort to help the adoption of VDPAU by those outside of Nvidia. This open source library package contains a wrapper library and a debugging library allowing other manufacturers to implement VDPAU in their device drivers.[8][33][34][35]

See also


  1. ^ "libvdpau 0.8".  
  2. ^ "Announcing libvdpau 0.2".  
  3. ^ a b c  
  4. ^  
  5. ^ VDPAU (Video Decode and Presentation API for Unix)
  6. ^ Video4Linux2 - Path to a Standardized Video Codec API
  7. ^ NVIDIA 190.32 Beta Brings New VDPAU Features
  8. ^ a b NVIDIA Releases Standalone VDPAU Library
  9. ^
  10. ^ "PureVideo Support Table" (PDF). Nvidia. Retrieved 2014-05-22. 
  11. ^
  12. ^ AMD announces UVD support for RV710-SI
  13. ^ Phoronix: AMD Releases Open-Source UVD Video Support
  14. ^ NVIDIA's driver for X11-oriented VDPAU
  15. ^ Intel Considering VDPAU Support For X.Org Driver
  16. ^ [1]
  17. ^
  18. ^
  19. ^ [2]
  20. ^ Fluendo's New Codecs Support VDPAU, VA-API
  21. ^  
  22. ^ XBMC for Linux VDPAU support (ongoing development in an separate SVN branch)
  23. ^ XBMC SVN Development Tree - Trac Changeset 17698
  24. ^ XBMC Receives Mainline Support For VDPAU
  25. ^ XBMC Receives Mainline Support For VDPAU
  26. ^  
  27. ^ xine-lib-1.2 hg development tree, changeset 9b68f6efb713
  28. ^ ddennedy (2009-11-30). "VDPAU for MLT 0.4.11 Git version". MLT. Retrieved 2009-11-30. 
  29. ^ [3]
  30. ^  
  31. ^ "Appendix G. VDPAU Support". 2014-02-28. Retrieved 2014-03-03. 
  32. ^ VDPAU For NVIDIA's Maxwell GPU On Linux
  33. ^ libvdpau 0.2 release announcement published on devel mailing-list
  34. ^ NVIDIA Proposes VDPAU For DRI2 Patches
  35. ^ Add VDPAU drivers to the server's DRI2 implementation (PULL request on xorg-devel mailing list)
  36. ^ XBMC for iOS and Apple TV now available

External links

  • VDPAU (Video Decode and Presentation API for Unix) by Nvidia
  • NVIDIA VDPAU Benchmarks
  • A NVIDIA VDPAU Back-End For Intel's VA-API
  • VDPAU usage by MythTV
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.