ATI/AMDのビデオカードでも使えます
通常,動画の再生はCPUだけで行われます(※1)。しかし,H.264のようにデコード(※2)にかなり負荷がかかる形式でエンコードされている場合,GPU(ビデオカード)に内蔵されている動画再生支援機能を使うことができれば,CPUの負荷が下がったり,あまり高速ではないCPUでも快適に再生できるようになります。
Ubuntuで動画再生支援機能というと,NVIDIAのVDPAUが有名です。確かに普及していて,SMPlayerからでも簡単に使えたりします。
ではATI/AMDのRADEON HDでは使えないかというと,そんなことはありません。Intelが開発したVAAPIは,バックエンドが対応すれば多くのハードウェアで使用できるようになっており,ATI/AMDではXvBAというバックエンド(と,プロプライエタリなドライバ)を使用して動画再生支援機能を利用できます。
Intelでも同様に動画再生支援機能が使えるのかですが,筆者は対応しているハードウェアを所持していないので動作検証ができません。ただ,後で出てくるlibvaのソースを見てみたところ,パッケージレベルでIntelのハードウェアでは動画再生支援機能が使えないようになっているので,これから説明する方法では動作しません。なぜ使えないようになっているのかはわかりませんでした。理由がないのであれば,あっさり動作するのかもしれません。
今回はUbuntu 10.04で検証しましたが,9.10でも同様に動作するはずです。
- ※1
- MPEG2だとそうでもない場合もありますけど,説明が長くなるで省略します。
- ※2
- H.264はデコードだけじゃなくてエンコードもかなり重い処理ですが。
前提条件
ATI/AMD製のビデオカード/チップセット内蔵グラフィックスで,動画再生支援機能のUVD2をサポートしている必要があります。今回はRadeon HD 4350を搭載した玄人志向のRH4350-LE256HD/HSを使用しました。Amazonだと3,000円以下で購入できるので,結構オススメです。ファンレスなのはいいのですが,ヒートシンクが大きくて横のスロットまで占有しますので,拡張スロットが少ないPCをお使いの方は気をつけください。ほかにも,Radeon HD 4000シリーズや5000シリーズでも対応しています。
チップセットは785Gで対応していますが。780Gでも対応しているようです。http://www.splitted-desktop.com/~gbeauchesne/xvba-video/の下にある"Supported Hardware"には780Gがあります。ただし,WikipediaのUVDの項目を読むと780GはUVD2を完全にサポートしていない,とのことなので,どの程度動作するかは不明です。
あとは,[システム]-[システム管理]-[ハードウェア・ドライバ]で[ATI/AMD プロプライエタリ FGLRX グラフィックスドライバ]をインストールしてある必要があります。
libvaのビルドとインストール
http://www.splitted-desktop.com/~gbeauchesne/libva/で配布されているソースを使用します。執筆段階の最新版はlibva_0.31.0-1+sds13で,pkgs以下でバイナリパッケージも配布されていますが,ここではより汎用的なlibva-latest.tar.gzをビルドする方法で説明します。
-
パッケージ作成に必要なパッケージをインストールする
$ sudo apt-get install devscripts
-
依存しているパッケージをインストールする
$ sudo apt-get install cdbs debhelper autotools-dev libdrm-dev x11proto-xext-dev libxext-dev libxfixes-dev libgl1-mesa-dev automake1.9 libtool
-
ダウンロードしたソースを解凍する
$ tar xfv libva-latest.tar.gz
-
ビルドを開始する
$ cd libva-0.31.0 # 注: ここは変わる可能性がある $ dpkg-buildpackage -rfakeroot -uc -b -
ビルドが完了したら,インストールする
$ cd ../ $ sudo dpkg -i libva_0.31.0-1+sds13_i386.deb libva-dev_0.31.0-1+sds13_i386.deb # 注: 当然ここも変わる可能性がある
xvba-videoをインストールする
xvba-videoはソースが配布されておらず,バイナリパッケージをインストールするしかありません。
http://www.splitted-desktop.com/~gbeauchesne/xvba-video/にもやはりlatestがありますが,バージョン管理の関係上最新のバージョンを振ってあるものをインストールするのがいいでしょう。執筆段階での最新版は xvba-video_0.6.11-1です。
MPlayerをビルドする
環境を整えても,使えるアプリケーションがないと宝の持ち腐れです。今回はわりと簡単に用意できるMPlayerを使用します。
http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/で配布されているので,これを利用しましょう。今回はmplayer-vaapi-latest-FULL.tar.bz2をダウンロードします。
ビルド方法は,以下のとおりです。
-
ダウンロードしたアーカイブを解凍する
$ tar xf mplayer-vaapi-latest-FULL.tar.bz2
-
依存しているパッケージをインストールする
$ sudo apt-get build-dep mplayer
-
ビルドする
$ cd mplayer-vaapi-20100414 # 注: ここは変わる可能性がある $ ./checkout-patch-build.sh

