Video Acceleration API is a successor to XvMC, providing partial and full hardware offloading of video decoding. This interface is available on Intel graphics. Interface frontends are also available for ATI's XvBA and nVidia's VDPAU. This interface will be supported by MythTV as of 0.25.
Enable VAAPI in 0.25 using Intel Graphics
Although this needs some further testing, this is how I was able to enable VAAPI in 0.25 using Ubuntu and Intel 3000 graphics.
1. Install necessary packages:
sudo apt-get install libbluray1 i965-va-driver vainfo libmad0 gtk2-engines-pixbuf2. Check to see if newly installed software is working by running
vainfoYou should see something similar to this: (note, output will be different for those running different versions of the Intel integrated graphics, you are looking for VAEntrypointVLD with some of the codecs)
vainfo: VA API version: 0.32 vainfo: Driver version: i965 Driver 0.1 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD
3. Install Intel drivers (taken from: step 5 of GUIDE Simplified Guide for a perfect minimal HTPC on INTEL platforms):
cd ~ sudo mkdir Builds cd Builds sudo apt-get build-dep libva1 git clone git://anongit.freedesktop.org/vaapi/libva cd libva git checkout vaapi-ext sudo ./autogen.sh --prefix=/usr sudo make sudo make install cd.. git clone git://anongit.freedesktop.org/vaapi/intel-driver cd intel-driver git checkout vaapi-ext wget http://paste.kde.org/184874/raw/ -O ./increase_micro_version.patch sudo autoreconf -v --install sudo patch -p1 < ./increase_micro_version.patch sudo ./configure --prefix=/usr sudo make sudo make install
4. Install new Playback Profile from Mythfrontend:
Mythfrontend->Setup->Video->Playback->(Screen 3/8)->Add New->(New Name (something like VAAPI)->OK->Add New Entry->
Match Criteria: > W: 0 H: 0 Decoder: VAAPI accleration Max CPUs: Depends on your CPU Video Renderer: openglvaapi OSD renderer: opengl2
Primary deinterlacer: None Fallback deinterlacer: None Custom filters: Empty
Hit Enter until you are back out to the main screen
Try playing back a recording or another video and you should notice a decrease in CPU usage.
The only issue that I've seen is with LiveTV. Whenever I watch LiveTV I get a white screen with audio only if I change channels. Exiting out and going right back in solves the issue until you change channel again, this might be attributed to something else with my setup.