- Video Acceleration API
Video Acceleration API (VA API) is a software
API specification which provides access to graphics hardware (GPU ) acceleration for video processing. Accelerated processing includes video decoding, subpicture blending and rendering.VA API is meant to some day replace
XvMC , which is the UNIX equivalent of the Microsoft Windows DirectX Video Acceleration (DxVA) API. The main motivation for VA API is to enable hardware accelerated video decode at various entry-points (VLD,IDCT ,Motion Compensation , etc.) for the prevailing coding standards today (MPEG-2 , MPEG-4 ASP/H.263 , MPEG-4 AVC/H.264, and VC-1/WMV3). Extending XvMC was considered, but due to its original design for MPEG-2 MotionComp only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today'sGPU s but not limited toGPU s, as other hardware could also be used for video decoding acceleration via this API.Processes that could be accelerated
* Motion compensation (mocomp)
* Inverse discrete cosine transform (iDCT)
**Inverse telecine 3:2 and 2:2 pull-down correction
* Inversemodified discrete cosine transform (iMDCT)
* In-loop deblocking filter
* Intra-frame prediction
* Inverse quantization (IQ)
* Variable-Length Decoding (VLD), more commonly known as slice-level acceleration
* Spatial-temporaldeinterlacing and automaticinterlace /progressive source detection
* Bitstream processing (CAVLC /CABAC )Architecture
The current interface is focused on video decode only and is window system independent, so that potentially it can be used with graphics sub-systems other than the
X Window System . In a nutshell it is basically a scheme to pass various types of data buffers from the application to theGPU for decoding a compressed bit-stream. Feedback on thisAPI is greatly welcomed, as this is intended to be a community collaborative effort.Sources
"This API is intended to provide an interface between a video decode application (client) and a hardware decode accelerator (server), to off-load video decode operations from the host to the hardware accelerator at various entry-points."http://www.freedesktop.org/wiki/Software/vaapi
"A new video acceleration API is being developed, in an effort lead by Intel. This new API supports more complete offload (VLD) as well as iDCT+MC, and can support acceleration of MPEG4, H.264, VC-1, as well as MPEG-2."http://www.mythtv.org/wiki/index.php/XvMC
"Extending XvMC was considered, but due to its original design for MPEG-2 MoComp only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's GPUs."http://www.xboxmediacenter.com/wiki/index.php?title=Hardware_Accelerated_Video_Decoding
The "VA API" and "libVA" can also be read about here:"The end user impact is improved performance of H.264, VC-1, MPEG-2 and MPEG-4 video playback with media players that use the new API compared to playback using a pure software implementation."https://wiki.ubuntu.com/mobile-hw-decode
See also
* X-Video Motion Compensation (XvMC)
* DirectX Video Acceleration (DxVA) API -Microsoft Windows analogueReferences
External links
* http://www.freedesktop.org/wiki/Software/vaapi
* http://wiki.ubuntu.com/mobile-hw-decode
Wikimedia Foundation. 2010.