Intel hardware-accelerated media decoding and encoding on Linux
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).
Next generation Intel® Core™ i7/i5/i3 Processor family (codename Ivy Bridge) .
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 Ivy Bridge 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 Ivy Bridge 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 |
Software Package
2011Q3 release is recommended. The key components include:Kernel: Linux 3.0 or later
Libdrm: libdrm 2.4.26
Libva: libva 1.0.14
In order to use VAAPI, you need a media player that supports it. E.g. you can get mplayer with vaapi support from mplayer-vaapi-latest.tar.bz2 or VLC 1.1.0.
Install Instructions
libdrm
./autogen.sh ./configure make make install
libva
./autogen.sh ./configure --enable-i965-driver make make install
mplayer
get mplayer with vaapi support from mplayer-vaapi-latest.tar.bz2
./configure --enable-x11 --enable-vaapi make make install
Known Issues
During stress testing, sometimes mplayer stops at a frame in some streams
Under certain circumstance, very short period of arrtifacts on one frame when playing back some streams
