[[labs.beatcraft.com]]~
[[bc9/Software/OpenEmbedded]]~

*ffmpeg for bc9 [#s0bb9ace]
**version [#z45fd85a]
今回は git で source を取得しています。~
version は master branch の ~
commit 5d0910641a2b281c8fe3c83863d6f284de66f255 ~
になります。~
2009年9月15日時点の最新版です。~
***source file 取得方法 [#j598da15]
1.まずは git clone で ffmpeg の最新版を取得します。~
 $ cd /home/beat
 $ git clone git://git.ffmpeg.org/ffmpeg/
 $ cd /home/beat/ffmpeg
 $ git clone git://git.ffmpeg.org/libswscale/
最新版を使用する場合はここまで実行したら完了になります。~
~
2.次に上記の時点(2009年9月15日時点の最新版)と同じ状態の ffmpeg を取得します。~
最新版の取得後以下のようにして下さい。~
 $ cd /home/beat/ffmpeg
上記 commit のSHA-1ハッシュ値の最初の7文字で指定して git checkout を実行します。~
 $ git checkout 5d09106
これで2009年9月15日時点の ffmpeg の source file を取得できます。~

**環境変数設定 [#h248d8ef]
まず bc9 版を build するためには、bc9 用 kernel を build した時と同様 cross compile のために以下のような環境変数を設定します。
 export PATH=/home/beat/gumstix/gumstix-oe/tmp/cross/bin:$PATH
 export ARCH=arm
 export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
bc9-oe-sdk/bc9-android-sdk の /home/beat/kernel_work/envsetup.sh を source すれば上記の設定が行えます。

** configure [#bf075e5c]
bc9 の cpu XScale 270 の iWMMXt に最適化した ffmpeg を build するため、以下の option で configure を実行します。
 ./configure --prefix=/home/beat/temp/usr/local \
 --disable-static --enable-shared --enable-pthreads \
 --cross-prefix=arm-angstrom-linux-gnueabi- --enable-cross-compile \
 --arch=arm --disable-armvfp --extra-cflags="-march=iwmmxt"
ffmpeg の configure の arch 判定、cpu 判定は 少し工夫をしないと iWMMXt が正しく判定されません。~
arm-angstrom-linux-gnueabi-gcc や arm-angstrom-linux-gnueabi-as のテストで iWMMXt を正しく判定させるためには、~
configure 内の条件で判定させず直接 arm-angstrom-linux-gnueabi-gcc に -march=iwmmxt を引数として渡さなければなりません。~
 -> --extra-cflags="-march=iwmmxt" を追加します。~
また、XScale 270 は armv5te + iWMMXt で VFP は載っていないので、armvfp も無効にします。~
 -> --disable-armvfp を追加します。~
上記の config option で configure を実行すると armv6、armv6t2 は自動判定で無効になります。~

**make & make install [#p0133f7f]
prefix を /home/beat/temp/usr/local としてありますので、アーカイブ作成のために~
make install で仮インストールをすると /home/beat/temp/usr/local 以下に /bin や /lib が作られインストールされます。~
これを bc9 では /usr/local に install しますので、以下のようにインストール用アーカイブを作成します。
 $ cd /home/beat/temp/
 $ tar cvfz ffmpeg_for_bc9.tgz usr
できあがったインストール用アーカイブ使って bc9 実機にインストールする場合は以下の手順を実行します。~
アーカイブを bc9 にコピー~
 $ scp ffmpeg_for_bc9.tgz root@{bc9_IPADDR}:/
bc9 に login 後アーカイブを展開~
 root@bc9:~$ tar -C / -xzvf ffmpeg_for_bc9.tgz
展開終了後、ldconfig を実行します。~
 root@bc9:~$ ldconfig
bc9 は /etc/ld.so.conf にすでに /usr/local/lib の設定があり、/usr/local/bin にも default で PATH が通っていますので~
ldconfig を実行すれば /usr/local/bin/ffmpeg が実行可能になります。

**URL [#xe4143a8]
build 済みのインストール用アーカイブは以下の url からダウンロードできます。~
ビルド済みのインストール用アーカイブは以下の url からダウンロードできます。~
http://sourceforge.jp/frs/redir.php?m=osdn&f=%2Fbc9-dev%2F43624%2Fffmpeg_for_bc9_20090918.tgz

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS