2011年08月06日

libvpxのコンパイル&インストール v0.9.7以降 w32threads

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

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

WebM Repositories
と書いてある少し上にある、
snapshots
のリンクからたどっていくと、
http://code.google.com/p/webm/downloads/list

ここに、libvpxのソースコードや、WebM(VP8)動画再生用のDirectShowフィルタなどがあります。

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

2011/10/12 追記
ソースコードの入手場所を変更しました。
$ git clone http://git.chromium.org/webm/libvpx.git

ブラウザでアクセスする場合は、こちらから。
http://git.chromium.org/gitweb/?p=webm/libvpx.git


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

2012/01/20 追記
ソースコードをアップデートしました。
libvpx-v0.9.7-p1-283.tar.bz2

MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvpx-v0.9.7-p1-283.tar.bz2
$ cd libvpx
$ CFLAGS="-fno-tree-vectorize" ./configure --prefix=/mingw --target=x86-win32-gcc --cpu=i686 --disable-examples
$ make
$ make install

以上で終了です。


【補足】
試しに、--cpu=athlon64 でコンパイルしたら、FFmpegがクラッシュしてエンコードできなかったのですが、gccのオプションに、
-fno-tree-vectorize
を追加したらクラッシュしなくなりました。

--cpu=i686 だと必要ないのですが、念のため追加することにしました。

2012/01/29 追記
v1.0.0になったのを機に書き直しました。
w32threadsとpthreadsのコンパイル手順は、patch以外は同じなので、一つの記事にまとめました。
libvpxのコンパイル&インストール (v1.0.0以降)


【更新履歴】を見る
posted by あべちん at 13:50 | Comment(3) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
libvpxをlibavに移植につきましてご報告ありがとう御座いました。

http://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=libavcodec/libvpxenc.c;h=01749a29bafb6be197c12e3b22137d6c7499a4ea;hp=fa393b8f4219d97268a0c0c5cdb7ff37692c996a;hb=HEAD;hpb=ee0e91462ce299151a856bddc4f5ba9fb170d233

↑を参考に差分を取ったので「AVClass *class;」は付いていました。
ちょうど、運悪くlibvpx-v0.9.7-p1-32以前でしたので、それが原因だったのかもしれません。
あべちんさんのご報告を受け、只今、以前使用していたパッチを使いlibvpx-v0.9.7-p1-33で試した結果、正常にエンコード&終了しました。

あべちんさんのご報告がなければ「libav-vpx無理だった」で終わってましたw


libcdioはまだ一度も試してなかったので・・・(汗
ご報告通り、修正patchを適用させて頂きます。

ありがとう御座いました。
Posted by X5-452 at 2011年09月25日 17:24
X5-452さん、こんにちは。管理人です。

解決して良かったです。

最初に、libcdioを追加しようと思った時にググったら、X5-452さんのブログがヒット!

libavとlibvpxの記事も読んで、試しにビルドして実行してみたらエラーになって、結果的にlibcdioの解決にも結びついたので、相乗効果ですね。

こちらこそ、X5-452さんの記事を参考にさせていただいて、ありがとうございました。
Posted by あべちん at 2011年09月26日 21:28
2日くらい前に”AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*”がコミットされましたが、
libavcodec/libvpxenc.c 574〜587行がまだ”FF_OPT_TYPE_*”になってるのが気になりますw

とりあえずパッチで”AV_OPT_TYPE_*”に修正してffmpegをbuildしましたが・・・

意図的なものか?忘れてるのか?
Posted by X5-452 at 2011年10月15日 01:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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