VDPAU
Encyclopedia
VDPAU is an open source
library (libvdpau) and API
originally designed by Nvidia
for its GeForce 8 series
and later GPU hardware, targeted at the X Window System
on Unix
-based operating system
s (including Linux
, FreeBSD
, and Solaris). This VDPAU API allows video programs to offload portions of the video decoding process and video post-processing
to the GPU
video-hardware.
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. 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 unit
s) or newer GPU hardware is required.
VDPAU can be described as the X Window System equivalent of the Microsoft
's DxVA (DirectX Video Acceleration) API for Windows
.
to enable these features. Currently only second generation of PureVideo HD bit-stream processor in some of Nvidia's GeForce 8 series
and later graphics cards hardware that has support since the Beta device driver version 180.06. Unsupported hardware 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) are supported. Nvidia currently has no plans to introduce support for the unsupported hardware. All supported graphic devices are listed in Nvidia PureVideo
.
S3 Graphics
added support for VDPAU to the Linux drivers of its Chrome 400
video card
s since version 14.02.17 of its device driver for Linux, it supports the S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT and the S3 Chrome 540 GTX hardware.
Intel and ATI
currently offer no support for VDPAU. Nvidia hopes these GPU designers will support 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. Intel has mentioned that they are considering VDPAU support.
VDPAU can also be used as a backend for the Video Acceleration API (VA API) which itself covers a subset of VDPAU's capabilities; so any software that supports VA API also partly supports VDPAU (e.g., VLC media player
).
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
library (libvdpau) and API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
originally designed by Nvidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
for its GeForce 8 series
GeForce 8 Series
The GeForce 8 Series, is the eighth generation of NVIDIA's GeForce line of graphics processing units. The third major GPU architecture developed at NVIDIA, the GeForce 8 represents the company's first unified shader architecture.-Naming:...
and later GPU hardware, targeted at the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
on Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
-based operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s (including Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, and Solaris). This VDPAU API allows video programs to offload portions of the video decoding process and video post-processing
Video post-processing
The term post-processing is used in the video/film business for quality-improvement image processing methods used in video playback devices, , and video players software and transcoding software...
to the GPU
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
video-hardware.
Currently, the portions capable of being offloaded by VDPAU onto the GPU are motion compensation
Motion compensation
Motion compensation is an algorithmic technique employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture...
(mo comp), inverse discrete cosine transform (iDCT), VLD (variable-length decoding)
Variable-length code
In coding theory a variable-length code is a code which maps source symbols to a variable number of bits.Variable-length codes can allow sources to be compressed and decompressed with zero error and still be read back symbol by symbol...
and deblocking
Deblocking filter (video)
A deblocking filter is a video filter applied to blocks in decoded video to improve visual quality and prediction performance by smoothing the sharp edges which can form between macroblocks when block coding techniques are used...
for MPEG-1, MPEG-2
H.262/MPEG-2 Part 2
H.262 or MPEG-2 Part 2 is a digital video compression and encoding standard developed and maintained jointly by ITU-T Video Coding Experts Group and ISO/IEC Moving Picture Experts Group . It is the second part of the ISO/IEC MPEG-2 standard...
, MPEG-4 ASP (MPEG-4 Part 2)
MPEG-4 Part 2
MPEG-4 Part 2, MPEG-4 Visual is a video compression technology developed by MPEG. It belongs to the MPEG-4 ISO/IEC standards. It is a discrete cosine transform compression standard, similar to previous standards such as MPEG-1 and MPEG-2...
, H.264/MPEG-4 AVC
H.264/MPEG-4 AVC
H.264/MPEG-4 Part 10 or AVC is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video...
and VC-1
VC-1
VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006...
, WMV3/WMV9 encoded videos. 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
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
's GeForce
GeForce
GeForce is a brand of graphics processing units designed by Nvidia. , there have been eleven iterations of the design. The first GeForce products were discrete GPUs designed for use on add-on graphics boards, intended for the high-margin PC gaming market...
graphics processing unit
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
s) or newer GPU hardware is required.
VDPAU can be described as the X Window System equivalent of the Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
's DxVA (DirectX Video Acceleration) API for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
.
Device drivers and hardware supporting VDPAU
Each hardware video GPU capable of VDPAU video acceleration requires an X11 software device driverDevice driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
to enable these features. Currently only second generation of PureVideo HD bit-stream processor in some of Nvidia's GeForce 8 series
GeForce 8 Series
The GeForce 8 Series, is the eighth generation of NVIDIA's GeForce line of graphics processing units. The third major GPU architecture developed at NVIDIA, the GeForce 8 represents the company's first unified shader architecture.-Naming:...
and later graphics cards hardware that has support since the Beta device driver version 180.06. Unsupported hardware 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) are supported. Nvidia currently has no plans to introduce support for the unsupported hardware. All supported graphic devices are listed in Nvidia PureVideo
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 ; and Nvidia Quadro series...
.
S3 Graphics
S3 Graphics
S3 Graphics, Ltd is an American company specializing in graphics chipsets. Although they do not have the large market share that they once had, they still produce graphics accelerators for home computers under the "S3 Chrome" brand name.-History:...
added support for VDPAU to the Linux drivers of its Chrome 400
S3 Graphics Chrome 400
-History:VIA planned the production of 2 new graphics chips, Chrome 440 and 430, by the end of 2007. The Chrome 460 will support DirectX 10 and adopts a 90 nm process, while the Chrome 430 will support DirectX 10.1 and adopts a 65nm process. The Chrome 400 series was codenamed 'Destination'...
video card
Video card
A video card, Graphics Card, or Graphics adapter is an expansion card which generates output images to a display. Most video cards offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors...
s since version 14.02.17 of its device driver for Linux, it supports the S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT and the S3 Chrome 540 GTX hardware.
Intel and ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...
currently offer no support for VDPAU. Nvidia hopes these GPU designers will support 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. Intel has mentioned that they are considering VDPAU support.
Software supporting VDPAU
- BoxeeBOXEEBoxee is a cross-platform freeware HTPC software application with a 10-foot user interface and social networking features designed for the living-room TV...
- GStreamerGStreamerGStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing...
- MPlayerMPlayerMPlayer is a free and open source media player. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for OS/2, Syllable, AmigaOS and MorphOS are also available. The Windows version works, with some minor...
- MythTVMythTVMythTV is a free and open source home entertainment application with a simplified "10-foot user interface" design for the living-room TV, and turns a computer with the necessary hardware into a network streaming digital video recorder, a digital multimedia home entertainment system, or home theater...
- XBMC Media Center
- XBMC Live (Linux Live CD/USB operating-system)
- XineXinexine is a multimedia playback engine for Unix-like operating systems released under the GNU General Public License. xine is built around a shared library that supports different frontend player applications. Another important feature of xine is the ability to manually correct the synchronization...
- MLTMedia Lovin' ToolkitMedia Lovin' Toolkit is an open source multimedia framework, designed and developed for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications...
- Adobe FlashAdobe FlashAdobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
10.2 Stage Video and later versions (32bit only presently)
VDPAU can also be used as a backend for the Video Acceleration API (VA API) which itself covers a subset of VDPAU's capabilities; so any software that supports VA API also partly supports VDPAU (e.g., VLC media player
VLC media player
VLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to...
).
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 support into their device drivers.See also
- Nvidia PureVideoNvidia PureVideoNvidia 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 ; and Nvidia Quadro series...
– the bit-stream technology from NvidiaNVIDIANvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
used in their graphics chips to accelerate video decoding with VDPAU. - DirectX Video Acceleration (DXVA) – the VDPAU equivalent API for Microsoft WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
operating-system. - Video Acceleration API (VA API)Video Acceleration APIVideo Acceleration API is an open source software library and API specification. It enables and provides access to graphics hardware acceleration for video processing. VA API is targeted at the X Window System on Unix-based operating systems...
– 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.
- X-Video Bitstream Acceleration (XvBA)X-Video Bitstream AccelerationX-Video Bitstream Acceleration , designed by AMD for its Radeon GPU and Fusion APU, is an arbitrary extension of the X video extension for the X Window System on Linux operating-systems. XvBA API allows video programs to offload portions of the video decoding process to the GPU video-hardware...
– AMD's competing API for Linux/UNIX operating-system. - Video Decode Acceleration Framework is Apple Inc.'s API for hardware-accelerated decoding of H.264 on Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
- VideoToolBox is an undocumented API from Apple Inc. for hardware-accelerated decoding on Apple TV and Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
10.5 or later. - OpenVideo Decode (OVD) – a new open cross-platform video acceleration API from AMD.
- OpenMAX IL (Open Media Acceleration Integration Layer)OpenMAXOpenMAX is a royalty-free, cross-platform set of C-language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images...
- a royalty-free cross-platform media abstraction API from the Khronos GroupKhronos GroupThe Khronos Group is a not-for-profit member-funded industry consortium based in Beaverton, Oregon, focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices...