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