Ubuntu Weekly Recipe

第123回 ATI/AMDでも動画再生支援機能を使用する

この記事を読むのに必要な時間:およそ 2 分

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 グラフィックスドライバ]をインストールしてある必要があります。

図1 ハードウェア・ドライバが有効になっている様子

図1 ハードウェア・ドライバが有効になっている様子

libvaのビルドとインストール

http://www.splitted-desktop.com/~gbeauchesne/libva/で配布されているソースを使用します。執筆段階の最新版はlibva_0.31.0-1+sds13で,pkgs以下でバイナリパッケージも配布されていますが,ここではより汎用的なlibva-latest.tar.gzをビルドする方法で説明します。

  1. パッケージ作成に必要なパッケージをインストールする

    $ sudo apt-get install devscripts
    
  2. 依存しているパッケージをインストールする

    $ sudo apt-get install cdbs debhelper autotools-dev libdrm-dev x11proto-xext-dev libxext-dev libxfixes-dev libgl1-mesa-dev automake1.9 libtool
    
  3. ダウンロードしたソースを解凍する

    $ tar xfv libva-latest.tar.gz
    
  4. ビルドを開始する

    $ cd libva-0.31.0 # 注: ここは変わる可能性がある
    $ dpkg-buildpackage -rfakeroot -uc -b
    
  5. ビルドが完了したら,インストールする

    $ 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をダウンロードします。

ビルド方法は,以下のとおりです。

  1. ダウンロードしたアーカイブを解凍する

    $ tar xf mplayer-vaapi-latest-FULL.tar.bz2
    
  2. 依存しているパッケージをインストールする

    $ sudo apt-get build-dep mplayer
    
  3. ビルドする

    $ cd mplayer-vaapi-20100414 # 注: ここは変わる可能性がある
    $ ./checkout-patch-build.sh
    

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバー。Ubuntu Japanese Teamではパッケージングなどを担当。ほかには日本語入力関連やOpenOffice.org日本ユーザー会コミッティも兼任。

コメント

コメントの記入