Difference between revisions of "VAAPI"

From MythTV Official Wiki
Jump to: navigation, search
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
{{Wikipedia|Video Acceleration API}}
 
{{Wikipedia|Video Acceleration API}}
  
'''V'''ideo '''A'''cceleration '''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]]. Support for VAAPI in MythTV is under development ({{ticket|8593}}, {{changeset|25202}}, {{changeset|25204}})
+
'''V'''ideo '''A'''cceleration '''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.
  
In case you would like to test the VAAPI/XvBA backend, you'll need the latest Splitted Desktop libraries (libva and xvba-video) drivers from [http://www.splitted-desktop.com/~gbeauchesne/ here]
+
 
 +
== 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:
 +
 
 +
<pre>sudo apt-get install libbluray1 i965-va-driver vainfo libmad0 gtk2-engines-pixbuf</pre>
 +
 
 +
2. Check to see if newly installed software is working by running <pre>vainfo</pre>  You 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)
 +
 
 +
<pre>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</pre>
 +
 
 +
3. Install Intel drivers (taken from: step 5 of [http://forum.xbmc.org/showthread.php?tid=114368 GUIDE Simplified Guide for a perfect minimal HTPC on INTEL platforms]):
 +
 
 +
<pre>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</pre>
 +
 
 +
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->
 +
 
 +
<pre>Match Criteria: > W: 0 H: 0
 +
Decoder: VAAPI accleration
 +
Max CPUs: Depends on your CPU
 +
Video Renderer: openglvaapi
 +
OSD renderer: opengl2 </pre>
 +
 
 +
Hit Next
 +
 
 +
<pre>Primary deinterlacer: None
 +
Fallback deinterlacer: None
 +
Custom filters: Empty</pre>
 +
 
 +
Hit Finish
 +
 
 +
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.
  
 
[[Category:Glossary]]
 
[[Category:Glossary]]

Revision as of 17:38, 16 April 2012

Wikipedia-logo-en.png
Wikipedia has an article on:

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-pixbuf
2. Check to see if newly installed software is working by running
vainfo
You 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 

Hit Next

Primary deinterlacer: None
Fallback deinterlacer: None
Custom filters: Empty

Hit Finish

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.