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 is supported by MythTV as of 0.25.
You need to install the libva VAAPI library and the related hardware drivers.
Install necessary packages
sudo apt-get install libva1 i965-va-driver libva-intel-vaapi-driver vainfo
If compiling from source, also install libva-dev
sudo apt-get install libva-dev
Using other distributions
You can use the official Intel graphic installer available at: https://01.org/linuxgraphics/downloads/2013/intelr-linux-graphics-installer-version-1.0.2
Or build from source:
If your distribution doesn't include recent drivers (0.32 and above is recommended). Install Intel drivers (taken from: step 5 of GUIDE Simplified Guide for a perfect minimal HTPC on INTEL platforms): (11-8-13 See remarks below for errors and incomplete compile. This wiki needs to be updated.)
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 (11-8-13 the file will download but it is empty) sudo autoreconf -v --install sudo patch -p1 < ./increase_micro_version.patch (11-8-13 There will be an error here since the patch file is empty) sudo ./configure --prefix=/usr sudo make sudo make install
TestCheck 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
Configure MythTV for VAAPI
- Make sure you are using OpenGL or Auto as painter
- MythFrontend -> Setup -> Appearance, make sure Painter is set to Auto or OpenGL (not Qt)
- Select VAAPI Playback Profile from Mythfrontend:
- MythFrontend -> Setup -> Video -> Playback -> (Screen 3/8) -> Select "VAAPI normal" profile in list
Hit Next 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.