News

About

The main motivation for VA-API (Video Acceleration API) is to enable hardware accelerated video decode/encode 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/VMW3). 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.

The current video decode/encode interface is window system independent, so that potentially it can be used with graphics sub-systems other than X. In a nutshell it is basically a scheme to pass various types of data buffers from the application to the GPU for decoding or encoding. Feedback on the API is greatly welcomed, as this is intended to be a community collaborative effort.

Download

The latest releases of libva software can be found at: http://www.freedesktop.org/software/vaapi/

Git

libva an implementation of VA-API for Linux, is now available via git from the following location (http://cgit.freedesktop.org/libva/):

git clone git://anongit.freedesktop.org/git/libva

The gstreamer-vaapi elements are available at: https://gitorious.org/vaapi/gstreamer-vaapi

git clone git://gitorious.org/vaapi/gstreamer-vaapi.git

Specification

Latest VA-API decode/encode specification can be found at http://cgit.freedesktop.org/libva/tree/va/va.h,

Post-processing interface can be found at http://cgit.freedesktop.org/libva/tree/va/va_x11.h

Drivers (back-ends) that implement VA-API

Decoding Hardware with no backend available

  • NONE FOR NOW

Software using VA-API

libVA sample code

Architecture

[[!img Linux_vaAPI.gif]

Contact

Jonathan Bian (jonathan.bian@intel.com); Austin Yuan (shengquan.yuan@intel.com)