labs.beatcraft.com
bc9/Software/OpenEmbedded

ffmpeg for bc9

version

今回は git で source を取得しています。
version は master branch の
commit 5d0910641a2b281c8fe3c83863d6f284de66f255
になります。
2009年9月15日時点の最新版です。

source file 取得方法

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 を取得できます。

環境変数設定

まず 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

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

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

ビルド済みのインストール用アーカイブは以下の 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
Last-modified: 2009-09-17 (木) 21:55:57 (2988d)