最新版に合わせて記事を修正しましたので、こちらの記事をどうぞ。
2008/03/30 追記
2008/03/30現在、最新版はrev.805です。
svnの方のソースはrev.745で更新が止まっており、現在はgitでのソース管理になりました。
詳細は後日書く予定です。
daily tarballは更新されていますので、とりあえずx264の最新版をコンパイルしてみたいという方は、そちらをどうぞ。
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
2008/03/03 追記
最新版はrev.745です。(svn最終版)
TortoiseSVN、または、svnがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ svn co svn://svn.videolan.org/x264/trunk x264
svnがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20070720-2245.tar.bz2を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
libpthread.aをstaticライブラリにしたら、エラーが出てまともに動きませんでした。
libpthread.aを元に戻したので、configureの修正も不要です。
2007/10/01 追記
libpthread.aをstaticライブラリにした時の解決方法がありました。
元ネタは、ココです。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20070720-2245.tar.bz2
$ cd x264-snapshot-20070720-2245
2007/7/30追記
libpthread.aをstaticライブラリにしたので、configureを修正します。
333、335行目の、-lpthreadGC2を、-lpthreadに変更します。
修正前)
elif cc_check pthread.h "-lpthreadGC2 -lwsock32 -DPTW32_STATIC_LIB" "pthread_create(0,0,0,0);" ; then
pthread="yes"
libpthread="-lpthreadGC2 -lwsock32"
CFLAGS="$CFLAGS -DPTW32_STATIC_LIB"
修正後)
elif cc_check pthread.h "-lpthread -lwsock32 -DPTW32_STATIC_LIB" "pthread_create(0,0,0,0);" ; then
pthread="yes"
libpthread="-lpthread -lwsock32"
CFLAGS="$CFLAGS -DPTW32_STATIC_LIB"
次に、encoder/encoder.cを修正します。
パッチファイルx264-PTW32_STATIC_LIB.diffをダウンロードして、以下のコマンドを実行。
$ patch -p0 < x264-PTW32_STATIC_LIB.diff
※gcc4でコンパイルする場合は、こちらの修正も必要です。
修正が終わったら、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
Cygwinでx264をコンパイルするとき、pthreadを有効にするには、configureの125、126行目の、-mno-cygwinを削除してください。
修正前)
CFLAGS="$CFLAGS -mno-cygwin"
LDFLAGS="$LDFLAGS -mno-cygwin"
修正後)
CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS"
【更新履歴】を見る