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:
- 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).
- Intel® HD Graphics 4200/4400/4600/5000, Intel® Iris™ Graphics 5100, and Intel® Iris™ Pro Graphics 5200 (in 4nd Generation Intel® Core™ i7/i5/i3 Processor family).
- Support MPEG2 decode acceleration Main Profile @ HL up to 80 Mbps.
- Support MPEG2 encode acceleration Main profile @ HL up to 80 Mbps (excludes GMA X4500HD, HD Graphics and HD Graphics 2000/3000)
- Support VC-1 decode acceleration Advanced Profile @ Level 3 up to 40 Mbps (excludes GMA X4500HD and HD Graphics)
- 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(excludes GMA X4500HD and HD Graphics).
- Support JPEG/MJPEG decoding(excludes GMA X4500HD, HD Graphics and HD Graphics 2000/3000).
- Support Video Post Processing(excludes GMA X4500HD).
|VAAPI Capability||MPEG2 decode||MPEG2 encode||H.264/AVC decode||VC-1 decode||H.264/AVC encode||JPEG/MJPEG||Video Post Processing|
|Intel® GMA X4500HD||Yes||Not supported by hardware||Yes with g45-h264 branch||Not implemented||Not supported by hardware||Not supported by Hardware||No|
|Intel® HD Graphics||Yes||Not supported by hardware||Yes||Not implemented||Not supported by hardware||Not supported by Hardware||Yes|
|Intel® HD Graphics 2000/3000||Yes||Not supported by hardware||Yes||Yes||Yes||Not supported by Hardware||Yes|
|Intel® Ivy Bridge||Yes||Yes||Yes||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:
- The main VAAPI project web page is http://freedesktop.org/wiki/Software/vaapi/.
- General developers discussions occur on the firstname.lastname@example.org mailing list.
- Subscribe to the list at http://lists.freedesktop.org/mailman/listinfo/libva.
- Archives are found at http://lists.freedesktop.org/archives/libva/.
- Intel's VA API developers hang out in #email@example.com.
- When you discover a problem or want to request a new feature, you can file an issue by following the guideline at https://01.org/linuxgraphics/documentation/how-report-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.