The Full Wiki

Video Acceleration API: Wikis

Advertisements
  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Video Acceleration API (VA API) is an open source software library ("libVA") and API specification which enables and provides access to graphics hardware (GPU) acceleration for video processing on Linux and UNIX based operating systems. Accelerated processing includes video decoding, video encoding, subpicture blending and rendering. The specification was originally designed by Intel for its GMA (Graphics Media Accelerator) series of GPU hardware, the API is however not limited to GPUs or Intel specific hardware, as other hardware and manufacturers can also freely use this API for hardware accelerated video decoding.[1]

VA API was designed with the purpose of someday replacing XvMC, which is the UNIX equivalent of the Microsoft Windows DirectX Video Acceleration (DxVA) API.

Contents

Overview

The main motivation for VA API is to enable hardware accelerated video decode at various entry-points (VLD, IDCT, Motion Compensation, bitstream processing, spatial-temporal deinterlacing, inverse quantization, and other functions[2 ]) 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's GPUs[3].

As of February 28, 2009 VA API is only natively supported by the drivers for Intel's Poulsbo Chipset with GMA500 integrated graphics for UMPCs[4], and S3 Graphics's Chrome 400 and 500 series device driver[5]. VDPAU (Video Decode and Presentation API for Unix designed by NVIDIA) can be used as a backend for the VA API, so any software that supports VA API also supports VDPAU[6]. In November of 2009, VA-API gained a new "xvba-video" backend which allows VA-API powered applications to take advantage of AMD Radeon's UVD2 chipsets via the XvBA (X-Video Bitstream Acceleration API designed by AMD) library, this xvba-video" backend is however a proprietary implementation which is not yet abilable to the public.[1]

Processes that could be accelerated

Processes that can be accelerated if both the device drivers and GPU hardware supports them:

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 the GPU for decoding a compressed bit-stream. Feedback on this API is greatly welcomed, as this is intended to be a community collaborative effort.

VAAPI.jpg

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

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

While the support is centered on the Chrome 530 GT and Chrome 540 GTX, the Chrome 430 ULP, 430 GS, 430 GT, and 440 GTX are also compatible. Additionally, the Chrome 4300E and 4300E+ embedded chipsets are also stated to be compatible... When it comes to the video acceleration, S3 Graphics states the driver provides full H.264 (MPEG-4 AVC) and VC-1 acceleration while there is also MPEG2-HD VLD bit-stream hardware decoding. What video interface are they using? An enhanced version of XvMC? NVIDIA's very popular (and very effective) VDPAU? They are actually using VA-API. Intel developed the Video Acceleration API, but so far, only their Intel Poulsbo Chipset driver supports this API. http://www.phoronix.com/scan.php?page=article&item=s3_linux_ogl3_vaapi&num=1

Software supporting VA API

See also

References

External links

Advertisements

Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message