ライブラリのビルドを行う。
zip 形式のファイルは、MSYS に unzip を入れていないので、
Windows のツールで解凍した。
■ liba52
$ tar zxvf a52dec-0.7.4.tar.gz
$ cd a52dec-0.7.4
$ ./configure --disable-shared
$ make
$ mkdir -p /mingw/include/a52dec
$ cp include/a52.h /mingw/include/a52dec/
$ cp liba52/.libs/liba52.a /mingw/lib/
■ Xvid
どうでもいいことだが、「=build」ディレクトリは、なぜ=が付くの?
このディレクトリ名だとコマンドラインの補完機能が効かなくなるのだが・・・
xvidcore-1.2.2.zip を解凍
$ cd xvidcore-1.2.2/build/generic
$ ./configure --disable-shared
$ make
$ cp =build/xvidcore.a /mingw/lib/libxvidcore.a
$ cp ../../src/xvid.h /mingw/include/
■ faac
faac-1.28.zip を解凍
$ cd faac-1.28
$ ./bootstrap
$ ./configure --disable-shared --without-mp4v2
$ make
$ cp include/faac.h /mingw/include/
$ cp include/faaccfg.h /mingw/include/
$ cp libfaac/.libs/libfaac.a /mingw/lib/
■ faad
faad2-2.7.zip を解凍
以下のソースを修正
[common/mp4ff/mp4ff_int_types.h]
4行目
#if defined (_WIN32)
↓
#if defined (_WIN32) && !defined(__MINGW32__)
後はビルド
$ cd faad2
$ autoreconf -vif
$ ./configure --disable-shared
$ make
$ cp include/faad.h /mingw/include/
$ cp include/neaacdec.h /mingw/include/
$ cp libfaad/.libs/libfaad.a /mingw/lib/
■ LAME
ここで nasm の出番。ただし、nasm のバグ(2.07 でも未修正らしい)によりソースの修正が必要。
tar zxvf lame-398-2.tar.gz
以下のソースを修正。
[libmp3lame/i386/Makefile.in]
488 行目
$(ECHO) "non_pic_object='$*.o'" >>$@
↓
$(ECHO) "non_pic_object='.libs/$*.o'" >>$@
そして、ビルドする
$ cd lame-398-2
$ ./configure --disable-shared --disable-frontend --enable-nasm
$ make
$ mkdir -p /mingw/include/lame
$ cp include/lame.h /mingw/include/lame/
$ cp libmp3lame/.libs/libmp3lame.a /mingw/lib/
■ pthreads
$ tar zxvf pthreads-w32-2-8-0-release.tar.gz
$ cd pthreads-w32-2-8-0-release
$ make clean GC
$ cp pthread.h /mingw/include/
$ cp sched.h /mingw/include/
$ cp libpthreadGC2.a /mingw/lib/
ビルドすると pthreadGC2.dll も作成される、
この dll は ffmpeg.exe を実行する時に、
同じディレクトリにある必要がある。
■ x264
$ tar jxvf x264-snapshot-20090904-2245.tar.bz2
$ cd x264-snapshot-20090904-2245
$ ./configure --enable-pthread
$ make
$ cp x264.h /mingw/include/
$ cp libx264.a /mingw/lib/
以上