Babyish Wiki
Advertisement
VDPAU
Orijinol òŧā Nvidia
Divelopen bai freedesktop.org
Steibol rīlīs 1.1.1 / 2015n 8m 31d; 8 nin jiqín (2015-08-31)
Wraiten in C, C++
Opèreitiŋ sistèm Linux, FreeBSD, Solaris
Taip Template:Ubl
Laisèns MIT License
Websàit http.download.nvidia.com/XFree86/vdpau/doxygen/html/

VDPAU-wa Iŋgliš: Video Decode and Presentation API for Unix dè suokxie. Nigè progrem wa royalty-free API as well as its implementation as free and open-source library (libvdpau) distributed under the MIT License.[1]

mesa-wa softwär laibrari provaidiŋ accelerated video playback (incl. H.264) and video post-processing for the supported graphics cards. Jigùm-dè vörçion wa: 11.2.0-1ubuntu2.2:

mesa-vdpau-drivers-wa package enables support for VDPAU for some gallium drivers.

Zuigèn-dè čeinjs wa:

  • bxt-add-2x6-variant.diff: Update BXT pciids.[2]
  • add-more-kbl-pciids.diff, remove-obsolete-kbl-pciids.diff: Update i965 pciids.[3]

The VDPAU interface is to be implemented by device drivers, such as Nvidia GeForce driver, nouveau, amdgpu, to offer end-user software, such as VLC media player or GStreamer, a standardized access to available video decompression acceleration hardware in the form of ASIC blocks on GPU chips, such as PureVideo or Unified Video Decoder and make use of it.

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

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.[7]

Currently, the portions capable of being offloaded by VDPAU onto the GPU[klärifaikeiçion rīkwairen] 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.[4] 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.[8]

History[]

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

On March 9, 2015, Nvidia released VDPAU version 1.0 which supports High Efficiency Video Coding (HEVC) decoding for the Main, Main 4:4:4, Main Still Picture, Main 10, and Main 12 profiles.[10]

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.)[4] 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.[11] All video controllers for which the driver implements VDPAU are listed in Nvidia PureVideo.[12]

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, VDPAU is available with the S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT and the S3 Chrome 540 GTX hardware.[13]

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

Intel does not offer VDPAU drivers, they only support their VA-API. It is, however, possible to use Intel's VA-API drivers by way of libvdpau-va-gl.

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: libvdpau_intel.so and libvdpau_ati.so.[16] Intel has stated they are considering VDPAU.[17]

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

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 driver that in turn uses OpenGL (for drawing and scaling), and VA-API if available (for decoding).[19] It has been reported to work on some Intel graphics and Adobe Flash Player.[20]

The accelerated scaling with just OpenGL functionality is needed mostly because of Flash player, which uses un-accelerated scaling if VDPAU is unavailable. Almost all other video software that runs on GNU/Linux supports Xv. It's essential for full-screen video on slower computers without native VDPAU support.

The VDPAU to VA-API translation for HW decoding is useful with recent Intel graphics hardware, as some software supports HW decoding through VDPAU but not VA-API.

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).[33]

Nvidia VDPAU Feature Sets[]

Nvidia VDPAU Feature Sets[34] 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.[35]
Feature Set F
Introduced dedicated HEVC Main (8-bit) and Main 10 (10-bit) video decoding up to 4096 × 2304 pixels resolution.
Feature Set G
Introduced dedicated hardware video decoding of HEVC Main 12 (12-bit), and VP9 hardware decoding up to 4096 × 2304 pixels resolution.
Feature Set H
Feature Set H are capable of hardware-accelerated decoding of 8192x8192 (8k resolution) H.265/HEVC video streams.[36]

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.[9][37][38][39]

See also[]

  • Nvidia PureVideo – the bit-stream technology from Nvidia used in their graphics chips to accelerate video decoding with VDPAU.
  • Unified Video Decoder – the bit-stream technology from AMD used in their graphics chips to accelerate video decoding
  • DirectX Video Acceleration (DXVA) – the VDPAU equivalent API for Microsoft Windows operating-system.
  • Video Acceleration API (VA API) – an alternative video acceleration API for Linux/UNIX operating-system.
  • X-Video Bitstream Acceleration (XvBA) – an alternative video acceleration API for Linux/UNIX operating-system.
  • X-Video Motion Compensation (XvMC) API – alternative and oldest video acceleration API for Linux/UNIX operating-system.
  • Distributed Codec Engine (libcde) is a Texas Instruments API for the video codec engine in OMAP based embedded systems
  • Video Decode Acceleration Framework is Apple Inc.'s API for hardware-accelerated decoding of H.264 on Mac OS X
  • VideoToolBox is an undocumented API from Apple Inc. for hardware-accelerated decoding on Apple TV and Mac OS X 10.5 or later.[40]
  • OpenMAX IL (Open Media Acceleration Integration Layer) - a royalty-free cross-platform media abstraction API from the Khronos Group

Riförènses[]

  1. "Announcing libvdpau 0.2". freedesktop.org. 2009-09-17. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://lists.freedesktop.org/archives/xorg-announce/2009-September/001036.html. 
  2. Launchpad. "LP:#1577735". Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://launchpad.net/bugs/1577735. 
  3. Launchpad. "LP:#1600124". Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://launchpad.net/bugs/1600124. 
  4. 4.0 4.1 4.2 Michael Larabel (2008-11-14). "NVIDIA Driver Brings PureVideo Features To Linux". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=article&item=nvidia_180_vdpau&num=1. Ritrīven on 2009-03-13. 
  5. Michael Larabel (2008-11-14). "NVIDIA VDPAU Benchmarks". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=article&item=nvidia_vdpau&num=1. Ritrīven on 2009-03-13. 
  6. "VDPAU: Video Decode and Presentation API for Unix". Nvidia. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://http.download.nvidia.com/XFree86/vdpau/doxygen/html/index.html. 
  7. "Video4Linux2: Path to a Standardized Video Codec API" (PDF). Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf. 
  8. "NVIDIA 190.32 Beta Brings New VDPAU Features - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzUxMQ. 
  9. 9.0 9.1 "NVIDIA Releases Standalone VDPAU Library - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzU0MA. 
  10. Larabel, Michael (9 March 2015). "NVIDIA Announces VDPAU 1.0 With HEVC/H.265 Decoding". Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-VDPAU-1.0-Released. Ritrīven on 9 March 2015. 
  11. "Archived copy". Archived from the original on January 25, 2009. https://web.archive.org/web/20090125002956/http://nvnews.net/vbulletin/showthread.php?t=123095. Ritrīven on January 19, 2009. 
  12. "PureVideo Support Table" (PDF). Nvidia. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://www.nvidia.com/docs/CP/11036/PureVideo_Product_Comparison.pdf. Ritrīven on 2014-05-22. 
  13. [1]Template:Dead link
  14. "[PATCH drm/radeon: UVD support for RV710-SI"]. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://lists.freedesktop.org/archives/dri-devel/2013-April/036766.html. Ritrīven on 2016-05-25. 
  15. "AMD Releases Open-Source UVD Video Support - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=article&item=amd_opensource_uvd&num=1. Ritrīven on 2016-05-25. 
  16. "VDPAU: X11 Window System Integration Layer". Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://http.download.nvidia.com/XFree86/vdpau/doxygen/html/group__api__winsys__x11.html#Driver. 
  17. "Intel Considering VDPAU Support For X.Org Driver - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzA0Nw. Ritrīven on 2016-05-25. 
  18. "GitHub - linux-sunxi/libvdpau-sunxi: Experimental VDPAU for Allwinner sunxi SoCs (WiP)". GitHub. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://github.com/linux-sunxi/libvdpau-sunxi. Ritrīven on 2016-05-25. 
  19. "GitHub - i-rinat/libvdpau-va-gl: VDPAU driver with OpenGL/VAAPI backend". GitHub. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://github.com/i-rinat/libvdpau-va-gl. Ritrīven on 2016-05-25. 
  20. "Adobe Flash Player Hardware Acceleration on Intel Graphics Cards". WebUpd8. 5 September 2013. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://www.webupd8.org/2013/09/adobe-flash-player-hardware.html. Ritrīven on 2016-05-25. 
  21. "Archived copy". Archived from the original on June 26, 2009. https://web.archive.org/web/20090626184934/http://blog.boxee.tv/2009/06/23/boxee-for-windows-moving-up-to-the-major-leagues/. Ritrīven on June 26, 2009. 
  22. "Fluendo's New Codecs Support VDPAU, VA-API - Phoronix". Phoronix.com. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=ODEwMw. Ritrīven on 2016-05-25. 
  23. Michael Larabel (2008-11-29). "MythTV Adds Support For NVIDIA VDPAU". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=Njg4Ng. Ritrīven on 2009-03-13. 
  24. "XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN)". Xbmc.org. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://xbmc.org/forum/showthread.php?t=45525. Ritrīven on 2016-05-25. 
  25. "Kodi - Open Source Home Theater Software". Xbmc.org. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://xbmc.org/trac/changeset/17698. Ritrīven on 2016-05-25. 
  26. "XBMC Receives Mainline Support For VDPAU - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzE2Mg. 
  27. "XBMC Receives Mainline Support For VDPAU". 2009-03-23. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzE2Mg. Ritrīven on 2016-05-25. 
  28. Michael Larabel (2008-12-17). "Xine Picks Up Support For NVIDIA's VDPAU". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=Njk0MA. Ritrīven on 2009-03-13. 
  29. "xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713". Debian.org. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://hg.debian.org/hg/xine-lib/xine-lib-1.2/rev/9b68f6efb713. Ritrīven on 2016-05-25. 
  30. ddennedy (2009-11-30). "VDPAU for MLT 0.4.11 Git version". MLT. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://sourceforge.net/news/?group_id=96039&id=279508. Ritrīven on 2009-11-30. 
  31. "Flash Player 10.2 beta - with VDPAU acceleration! : linux". reddit. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://www.reddit.com/r/linux/comments/eeh52/. 
  32. "mpv Reference Manual". Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://mpv.io/manual/master/#video. Ritrīven on 2016-04-09. 
  33. Michael Larabel (2009-02-03). "A NVIDIA VDPAU Back-End For Intel's VA-API". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=article&item=xorg_vdpau_vaapi. Ritrīven on 2009-03-13. 
  34. "Appendix G. VDPAU Support". Nvidia. 2016-04-22. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://us.download.nvidia.com/XFree86/Linux-x86_64/364.19/README/vdpausupport.html#vdpau-implementation-limits. Ritrīven on 2016-04-22. 
  35. "VDPAU For NVIDIA's Maxwell GPU On Linux". 2014-03-03. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=MTYyMDQ. Ritrīven on 2016-05-25. 
  36. http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64/EM64T) DISPLAY DRIVER Version: 367.27
  37. "[ANNOUNCE libvdpau 0.2"]. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://lists.freedesktop.org/archives/xorg-announce/2009-September/001036.html. Ritrīven on 2016-05-25. 
  38. "NVIDIA Proposes VDPAU For DRI2 Patches - Phoronix". Phoronix. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. https://www.phoronix.com/scan.php?page=news_item&px=NzYzNg. Ritrīven on 2016-05-25. 
  39. "[PULL Add VDPAU drivers to the server's DRI2 implementation"]. xorg. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://lists.x.org/archives/xorg-devel/2009-October/003056.html. Ritrīven on 2016-05-25. 
  40. "XBMC for iOS and Apple TV now available". 2011-01-20. Archived from the original. You must specify the date the archive was made using the |archivedate= parameter. http://www.tuaw.com/2011/01/20/xbmc-for-ios-and-atv2-now-available/. Ritrīven on 2016-05-25. 

External links[]

Interwiki-liŋks

Template:NVIDIA

Advertisement