VAAPI

VAAPI

VAAPI (Video Acceleration API) is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing. It consists of a main library and driver-specific acceleration backends for each supported hardware vendor.

The following features are currently supported in VAAPI for Intel graphics cards:

Hardware Supported

  • Intel® GMA X4500HD.
  • Intel® HD Graphics (in Intel® 2010 Core™ i7/i5/i3 processor family).
  • Intel® HD Graphics 2000/3000 (in 2nd Generation Intel® Core™ i7/i5/i3 Processor family).
  • Intel® HD Graphics 2500/4000 (in 3nd Generation Intel® Core™ i7/i5/i3 Processor family).

Features

  • Support MPEG2 decode acceleration Main Profile @ HL up to 80 Mbps.
  • Support VC-1 decode acceleration Advanced Profile @ Level 3 up to 40 Mbps (HD Graphics 2000/3000 and 2500/4000 only).
  • Support H.264/AVC decode acceleration High Profile @ L4.1 up to 40 Mbps , with:
    • H.264 / AVC Hardware Variable Length Decoding (VLD) - CABAC
    • H.264 / AVC Hardware Variable Length Decoding (VLD) - CAVLC
    • H.264 / AVC Hardware Inverse Transform (IT)
    • H.264 / AVC Hardware Motion Compensation (HWMC)
    • H.264 / AVC Hardware In-Loop Deblocking (ILDB)
  • Support H.264/AVC encode acceleration Main Profile @ L4.1 up to 40 Mbps(HD Graphics 2000/3000 and 2500/4000 only).
VAAPI Capability MPEG2 decode H.264/AVC decode VC-1 decode H.264/AVC encode
Intel® GMA X4500HD Yes Yes with g45-h264 branch Not implemented Not supported by hardware
Intel® HD Graphics Yes Yes Not implemented Not supported by hardware
Intel® HD Graphics 2000/3000 Yes Yes Yes Yes
Intel® Ivy Bridge Yes Yes Yes Yes

To understand more about the VA API development, and participate in the process, the following are the main guidelines to get started:

Web page

Mailing list

IRC

  • Intel's VA API developers hang out in #intel-gfx@freenode.net.

Bugs

Patches and code

The VA API development repository is located at VAAPI repository. Feel free to experiment with it, test the new code and send patches when appropriate! Code speaks louder than words.