VLC VAAPI
Contents
Introduction
This page is about compiling VLC with support of GPU acceleration on Linux.
This howto has been written by Jean-Baptiste Kempf and tested with nVidia GPU.
http://en.wikipedia.org/wiki/Video_Acceleration_API
http://www.freedesktop.org/wiki/Software/vaapi
Before starting
libva
Install libva from http://www.splitted-desktop.com/~gbeauchesne/libva/ . We do not support other libraries than the one from Mr Beauchesne.
Drivers
nVidia
http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/ for nVidia.
Patch it with http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100109/2cb302b3/attachment.patch
ATI
http://www.splitted-desktop.com/~gbeauchesne/xvba-video/ for ATI.
Run
vainfo
To check if everything works.
FFmpeg trunk
Get the latest FFmpeg trunk as of 2010-January. Compile it with vaapi hwaccel support.
./configure --enable-gpl --enable-postproc --prefix=/path/to/ --enable-shared --enable-vaapi make make install
Copy vaapi.h to the includes.
VLC
Get VLC from Git. Get the necessary external libraries (on debian/*buntu: apt-get build-dep vlc)
./bootstrap ./configure make
Compile VLC with vaapi
Patch VLC with http://vlc.pastebin.com/f59445620
Reconfigure VLC.
Edit vlc-config and add
-lX11 -lva-x11
to the avcodec line.
Mine looks like this:
avcodec) cflags="${cflags} -I/home/jb/VideoLAN/vlc/vlc/extras/ffmpeg" libs="${libs} /home/jb/vlc/extras/ffmpeg/libavcodec/libavcodec.a /home/jb/vlc/extras/ffmpeg/libavutil/libavutil.a -lz -lm -lva -ldl -ljack -lasound -lm -lX11 -lva-x11"
Recompile VLC
make clean && make
Check
That everything went ok:
./vlc --list | grep avcodec
should return something.
Activate
Activate acceleration in the preferences.
Profit