Předem bych chtěl upozornit, že návod jsem vytvářel pod Ubuntu 9.10 KK, takže nevím jestli postup bude stejný u nových či starších distribucí. Takže než začneme zkontrolujeme jestli je naše karta podporovaná touto technologii, to uděláme na Wikipedii pro VDPAU. Pokud tedy vlastníme jeden z čipů ze seznamu, tak stačí nahrát poslední verzi ovladače grafické karty ze stránek NVIDIA

Potřebný software

v terminálu spustíme příkazy

sudo apt-get update
sudo apt-get build-dep ffmpeg vlc
sudo apt-get install build-essential libtool automake git-core xcb xlibs-dev libdrm-dev

Získáme zdrojové kódy

Poté co máme systém připravený, získáme zbytek zdrojáků které jsou potřeba a to sekvencí

mkdir ~/vdpau_proj
cd ~/vdpau_proj
wget http://www.splitted-desktop.com/~gbeauchesne/libva/libva-latest.tar.gz
tar xvf libva-latest.tar.gz
wget http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/vdpau-video-latest.tar.gz
tar xvf vdpau-video-latest.tar.gz
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/
cd ..
git clone git://git.videolan.org/vlc.git

Kompilace

Máme-li všechny potřebné zdrojáky a knihovny, mužeme zkompilovat jednotlivé projekty a to sekvencí. Pokud máme vícejádrový processor můžeme si kompilaci urychlit změnou příkazu „make“ na „make -j pocetjader+1„, což u dvoujádra znamená „make -j 3

Pro zkompilování libva (v adresáři libva)

for file in debian/patches/*.patch;do patch -p1 < $file;done

autoreconf -f -i
./configure
make
sudo make install

Pro zkompilování VDPAU backendu

./configure
make
sudo make install

Malá přestávka od kompilací, teď spustíme příkaz

vainfo

Pokud výstup vypadá zhruba takto, tak je to dobré. Pokud nikoliv, tak pečlivě projdeme kompilační log a podíváme se jestli nebyly v průběhu překladu nějaké chyby a kompilační postup opakujeme.

libva: libva version 0.31.0-sds3
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
libva: va_getDriverName() returns 0
libva: Trying to open /home/thresh/sandbox/lib/va/nvidia_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA API version: 0.31
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA API - 0.5.2
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

Pro kompilaci ffmpeg následující

sudo cp libavcodec/vaapi.h /usr/local/include/libavcodec/vaapi.h
./configure --enable-vdpau --enable-shared --disable-static --enable-debug
make
sudo make install

A na konec kompilace VLC playeru

mkdir build
cd build
../configure --enable-libva
make
sudo make install

Spuštění

Po spuštění nějakého 720p či 1080p ve VLC playeru by mělo jít vidět značné odlehčení procesoru.

Reklamy