News
* Jul 01'09 -- Add MPEG2 VLD driver into libVA for Intel integrated G45 graphics chip
* Jun 12'09 -- Update VAAPI to version 0.30 to include encode support
* Sep 13'07 -- Create libVA git repository on freedesktop.org
About
The main motivation for VAAPI (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.
Version 0.30 of libva, an implementation of VAAPI for Linux, is now available via git from the following location (http://cgit.freedesktop.org/libva/):
git clone git://anongit.freedesktop.org/git/libva
Specification
Latest VAAPI decode/encode specification can be found at http://cgit.freedesktop.org/libva/tree/src/va.h,
Post-processing interface can be found at http://cgit.freedesktop.org/libva/tree/src/X11/va_x11.h
Architecture
A more complicated version of how VAAPI library/driver looks like under Linux/DRI infrastructure:
libVA sample code
* decode sample program: http://cgit.freedesktop.org/libva/tree/test/test_12.c, the clip information can be found in http://cgit.freedesktop.org/libva/plain/test/mpeg2-I.jpg
* encode sample program: to be added
* post-processing into pixmap: to be added
* subpicture sample program: to be added
Contact
Jonathan Bian (jonathan.bian@intel.com); Austin Yuan (shengquan.yuan@intel.com)


