2010年12月25日

libvpxのコンパイル&インストール w32threads

libvpxは、以下の場所にあります。
The WebM project
http://www.webmproject.org/

メニューのCodeより、
http://www.webmproject.org/code/

Get the Code
snapshots
と、たどっていくと、
http://code.google.com/p/webm/downloads/list

ここに、libvpxのソースコードや、FFmpegでWebM(VP8)動画のエンコードに対応するパッチ、WebM(VP8)動画再生用のDirectShowフィルタなどがあります。

最新のソースコードは、gitでダウンロードできます。
$ git clone git://review.webmproject.org/libvpx.git

snapshotsにあるソースコード
libvpx-v0.9.6.tar.bz2
でも問題ありませんが、当サイトの更新に合わせて、ソースコードも置いておきます。
libvpx-0.9.5-116.tar.bz2

2011/07/31 追記
ソースコードをアップデートしました。
libvpx-0.9.6-485.tar.bz2

MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvpx-0.9.6-485.tar.bz2
$ cd libvpx
$ CFLAGS="-fno-tree-vectorize" ./configure --target=x86-win32-gcc --cpu=i686 --disable-examples
$ make
$ cp libvpx.a /mingw/lib/
$ mkdir -p /mingw/include/vpx
$ cp vpx/*.h /mingw/include/vpx/

以上で終了です。


【補足】
--cpu=i686 は、これを付けないと、FFmpegがエラーを吐いてエンコードできませんでした。
自分の環境でしか使用しない場合は、
--cpu=athlon64 とか、
--cpu=core2 などでも良いかもしれません。
最近のCPUなら、--cpuオプションを付けなくても良いかもしれません。

2011/02/16 追記
試しに、--cpu=athlon64 でコンパイルしてもクラッシュしました。
gccのオプションに、
-fno-tree-vectorize
を追加したらクラッシュしなくなりましたので、--cpu=i686 でも念のため追加することにしました。
-fomit-frame-pointer も、若干速くなるかもしれないので追加しました。


【更新履歴】を見る
posted by あべちん at 18:04 | Comment(3) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
あべちんさん、こんばんは。
お久しぶりです。
やっとw32threadsに対応し終わりました。

全くビルドに関係ない質問で恐縮なのですが、
libvpx-0.9.5-***.tar.bz2の***の部分は
どのようにして決めているのでしょうか。
gitリポジトリを見てもそれらしき数字はみつかりませんし…

差し支えなければお教えください。
Posted by Kazuki Ashiya at 2011年02月21日 23:03
Kazuki Ashiyaさん、こんにちは。管理人です。
おひさしぶりです。

configureを実行すると出力される「vpx_version.h」に、

#define VERSION_STRING " v0.9.5-286-g945dad2"

という形で出力されるので、それを見ています。

または、コマンドラインから以下のシェルスクリプトを実行しても良いと思います。
build/make/version.sh

Gitのハッシュ値もファイル名に付けてておけば良かったかなと、後になって思っています。

ご参考まで。
Posted by あべちん at 2011年02月22日 12:47
あべちんさん、こんばんは。

なるほど。configureした後に出力されていましたか。
どうりでいくら探しても見つからないわけだ…orz

ありがとうございました。
Posted by Kazuki Ashiya at 2011年02月22日 19:42
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/42247180
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック