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).
- 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).
Features
- 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 |
Intel® Haswell | 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:
Github Resources
- Libva project is located at https://github.com/intel/libva
- Intel driver project is located at https://github.com/intel/intel-vaapi-driver
- Libva utils project has moved to https://github.com/intel/libva-utils
Issues
- Use https://github.com/intel/libva/issues/new to file bugs on the libva github site
- Use https://github.com/intel/intel-vaapi-driver/issues/new to file bugs on the intel-vaapi-driver github site
- Use https://github.com/intel/libva-utils/issues/new to file bugs on the libva-utils github site
Mailing list
- General developers discussions occur on the intel-vaapi-media@lists.01.org mailing list.
- Subscribe to the list at https://lists.01.org/mailman/listinfo/intel-vaapi-media
- Archives are found at http://lists.01.org/pipermail/intel-vaapi-media/
IRC
Intel's VA API developers hang out in ##intel-media@freenode.net.
Slack
- We also use [#Slack](https://slack.com) and host [VAAPI Media Slack Team](https://intel-media.slack.com).
- You can sign up by submitting your email address to our [Slack Team invite page](https://intelmedia.stamplayapp.com).
- Slack complements our other means of communication. Pick the one that works best for you!
Project: Open Source Media Framework