NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20100725-2245.tar.bz2
を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20100725-2245.tar.bz2
$ cd x264-snapshot-20100725-2245
以下のパッチを適用します。
$ patch -p1 < x264-pthreads-20100717.diff
次に、make fprofiledするための、適当なサンプル動画を用意します。
自分で用意するのがめんどうな場合は、
Xiph.org Test Media
http://media.xiph.org/
とか、
http://media.xiph.org/video/derf/
辺りから、拡張子がy4mのものをダウンロードして使用します。
私の場合、B'zの「MY LONELY TOWN(初回限定盤 CD+DVD)」に付いてきたDVDから、携帯動画変換君を使ってサンプル動画を作りました。
Title=x264 fprofiled sample
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -an -deinterlace -vcodec mpeg2video -sameq -ss 00:01:40 -vframes 100 "<%TemporaryFile%>.mpg""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%TemporaryFile%>.mpg" -an -f yuv4mpegpipe "<%OutputPath%>\sample.y4m""
Command2="rm "<%TemporaryFile%>.mpg""
デインターレースして、1分40秒の所から100フレーム切り出しています。
ソースがプログレッシブなら、yuv4mpegpipeに直接変換すれば良いです。
サンプル動画が準備できたら、
$ ./configure --prefix=/mingw
$ make fprofiled VIDS="sample.y4m"
$ make install
以上で終了です。
【補足】
ただmakeしたときのlibx264.aのサイズは約1,000KB、make fprofiledしたときのlibx264.aのサイズは830KB前後になりました。
私が使用したサンプル動画は720x480pですが、映像サイズを大きく(1920x1080pなど)すると、libx264.aのサイズが小さくなる傾向があるようです。
フレーム数は100としましたが、500などに増やすと、若干libx264.aのサイズが小さくなりました。
ですが、時間がかかるわりに大して違わなかったため、フレーム数は100にしました。
サンプル動画はどうするのが最適なのか、ご存じの方がいらっしゃったら、教えていただけるとありがたいです。
スポンサードリンク
2010年07月27日
2010年06月29日
implicit declaration of function 'strcasecmp'
FFmpeg自前ビルドが趣味の皆様へ。
FFmpeg rev.23823から、こんなエラーが出てコンパイルできなくなりました。
libavfilter/parseutils.c: In function 'color_table_compare':
libavfilter/parseutils.c:217:5: error: implicit declaration of function 'strcasecmp'
rev.23823のアップデートで、CFLAGSに
-Werror=implicit-function-declaration
というフラグが付いて、今までwarningでコンパイルが通っていたのが、エラーで終了するようになってしまったんですね。
この件について、バグレポートが上がっていました。
str[n]casecmp not declared under __STRICT_ANSI__
http://sourceforge.net/tracker/?func=detail&aid=3022047&group_id=2435&atid=102435
tempnam not declared under __STRICT_ANSI__
http://sourceforge.net/tracker/?func=detail&aid=3022054&group_id=2435&atid=102435
そのうち修正されると思いますが、とりあえずこちらのパッチを適用してください。
/mingw/include/string.h のパッチ。
$ patch -p0 < strcasecmp.diff
/mingw/include/stdio.h のパッチ。
$ patch -p0 < tempnam.diff
ご参考まで。
FFmpeg rev.23823から、こんなエラーが出てコンパイルできなくなりました。
libavfilter/parseutils.c: In function 'color_table_compare':
libavfilter/parseutils.c:217:5: error: implicit declaration of function 'strcasecmp'
rev.23823のアップデートで、CFLAGSに
-Werror=implicit-function-declaration
というフラグが付いて、今までwarningでコンパイルが通っていたのが、エラーで終了するようになってしまったんですね。
この件について、バグレポートが上がっていました。
str[n]casecmp not declared under __STRICT_ANSI__
http://sourceforge.net/tracker/?func=detail&aid=3022047&group_id=2435&atid=102435
tempnam not declared under __STRICT_ANSI__
http://sourceforge.net/tracker/?func=detail&aid=3022054&group_id=2435&atid=102435
そのうち修正されると思いますが、とりあえずこちらのパッチを適用してください。
/mingw/include/string.h のパッチ。
$ patch -p0 < strcasecmp.diff
/mingw/include/stdio.h のパッチ。
$ patch -p0 < tempnam.diff
ご参考まで。
2010年06月21日
Pthreadsのコンパイル&インストール
Pthreadsは、以下の場所にあります。
http://sourceware.org/pthreads-win32/
正式リリースは、pthreads-w32-2-8-0-release.tar.gzですが、cvsでダウンロードできる、pthreads-w32-2-9-0のソースを置いておきますので、こちらをご利用下さい。
pthreads-w32-2-9-0-release.tar.bz2
または、CVSからダウンロードする場合は以下の通りです。
$ cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 login
(Logging in to anoncvs@sourceware.org)
CVS password:
ここで、
anoncvs
と入力します。
その後、
$ cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 checkout pthreads
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf pthreads-w32-2-9-0-release.tar.bz2
$ cd pthreads
ここで、discussion listに上がっていた、64 bit Windows関連のパッチpthreads-w64.diffを適用します。
$ patch -p1 < pthreads-w64.diff
パッチを適用したら、
$ make clean GC-static
$ cp libpthreadGC2.a /mingw/lib/libpthread.a
$ cp pthread.h sched.h semaphore.h /mingw/include/.
libpthreadGC2.aは、ファイル名をlibpthread.aに変更して、コピーするのがミソです。
ヘッダファイル3つも、忘れずにコピーして下さい。
以上で終了です。
【補足】
この記事のautostaticパッチはCVSにマージされましたので、パッチは不要になりました。
http://sourceware.org/ml/pthreads-win32/2010/msg00006.html
http://sourceware.org/pthreads-win32/
正式リリースは、pthreads-w32-2-8-0-release.tar.gzですが、cvsでダウンロードできる、pthreads-w32-2-9-0のソースを置いておきますので、こちらをご利用下さい。
pthreads-w32-2-9-0-release.tar.bz2
または、CVSからダウンロードする場合は以下の通りです。
$ cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 login
(Logging in to anoncvs@sourceware.org)
CVS password:
ここで、
anoncvs
と入力します。
その後、
$ cvs -d :pserver:anoncvs@sourceware.org:/cvs/pthreads-win32 checkout pthreads
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf pthreads-w32-2-9-0-release.tar.bz2
$ cd pthreads
ここで、discussion listに上がっていた、64 bit Windows関連のパッチpthreads-w64.diffを適用します。
$ patch -p1 < pthreads-w64.diff
パッチを適用したら、
$ make clean GC-static
$ cp libpthreadGC2.a /mingw/lib/libpthread.a
$ cp pthread.h sched.h semaphore.h /mingw/include/.
libpthreadGC2.aは、ファイル名をlibpthread.aに変更して、コピーするのがミソです。
ヘッダファイル3つも、忘れずにコピーして下さい。
以上で終了です。
【補足】
この記事のautostaticパッチはCVSにマージされましたので、パッチは不要になりました。
http://sourceware.org/ml/pthreads-win32/2010/msg00006.html
2010年06月16日
FFmpegのコンパイル (2010/6/15)
それでは、FFmpegのコンパイルです。
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
・make-3.81
http://sourceforge.net/downloads/mingw/MSYS/make/make-3.81-3/
make-3.81-3-msys-1.0.13-bin.tar.lzma
・bash-3.1.17
http://sourceforge.net/downloads/mingw/MSYS/bash/bash-3.1.17-3/
bash-3.1.17-3-msys-1.0.13-bin.tar.lzma
ダウンロードしたファイルを、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
現時点での最新版、gcc-4.5.0をインストールします。
以下のファイルを、すべて
C:\MinGW\
に、解凍します。
以下の旧バージョンのライブラリが
C:\MinGW\lib\
のディレクトリに残っている場合は削除してください。
libstdc++.a
libstdc++.la
libsupc++.a
libsupc++.la
・gcc-4.5.0
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/GCC/Version4/gcc-4.5.0-1/
gcc-core-4.5.0-1-mingw32-bin.tar.lzma
gcc-c++-4.5.0-1-mingw32-bin.tar.lzma
libgomp-4.5.0-1-mingw32-dll-1.tar.lzma
libgcc-4.5.0-1-mingw32-dll-1.tar.lzma
libssp-4.5.0-1-mingw32-dll-0.tar.lzma
libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma
・gmp
http://sourceforge.net/downloads/mingw/MinGW/gmp/gmp-5.0.1-1/
libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma
libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
・mpfr
http://sourceforge.net/downloads/mingw/MinGW/mpfr/mpfr-2.4.1-1/
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
・mpc
http://sourceforge.net/downloads/mingw/MinGW/mpc/mpc-0.8.1-1/
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
上記のもの以外に、最新版のGCCは以下の所からもダウンロードできます。
どちらかお好みでインストールしてください。
TDM-GCC
http://tdm-gcc.tdragon.net/download
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
・GNU Binutils
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/GNU-Binutils/binutils-2.20.51/
binutils-2.20.51-1-mingw32-bin.tar.lzma
・MinGW API for MS-Windows
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.14/
w32api-3.14-mingw32-dev.tar.gz
・MinGW Runtime
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-3.18/
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
2010/06/29 追記
FFmpeg rev.23823以降のコンパイルの時、strcasecmp関数とtempnam関数がエラーになってしまいます。
こちらの記事を参考にパッチを適用してください。
implicit declaration of function 'strcasecmp'
追加で、MSYS DTKをインストールします。
MSYS Supplementary Tools
http://sourceforge.net/downloads/mingw/MSYS/Supplementary%20Tools/msysDTK-1.0.1/
より、
msysDTK-1.0.1.exe
を、ダウンロードして実行します。
perl、automake、autoconfなどがインストールされます。
続きを読む
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
・make-3.81
http://sourceforge.net/downloads/mingw/MSYS/make/make-3.81-3/
make-3.81-3-msys-1.0.13-bin.tar.lzma
・bash-3.1.17
http://sourceforge.net/downloads/mingw/MSYS/bash/bash-3.1.17-3/
bash-3.1.17-3-msys-1.0.13-bin.tar.lzma
ダウンロードしたファイルを、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
現時点での最新版、gcc-4.5.0をインストールします。
以下のファイルを、すべて
C:\MinGW\
に、解凍します。
以下の旧バージョンのライブラリが
C:\MinGW\lib\
のディレクトリに残っている場合は削除してください。
libstdc++.a
libstdc++.la
libsupc++.a
libsupc++.la
・gcc-4.5.0
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/GCC/Version4/gcc-4.5.0-1/
gcc-core-4.5.0-1-mingw32-bin.tar.lzma
gcc-c++-4.5.0-1-mingw32-bin.tar.lzma
libgomp-4.5.0-1-mingw32-dll-1.tar.lzma
libgcc-4.5.0-1-mingw32-dll-1.tar.lzma
libssp-4.5.0-1-mingw32-dll-0.tar.lzma
libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma
・gmp
http://sourceforge.net/downloads/mingw/MinGW/gmp/gmp-5.0.1-1/
libgmpxx-5.0.1-1-mingw32-dll-4.tar.lzma
libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
・mpfr
http://sourceforge.net/downloads/mingw/MinGW/mpfr/mpfr-2.4.1-1/
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
・mpc
http://sourceforge.net/downloads/mingw/MinGW/mpc/mpc-0.8.1-1/
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
上記のもの以外に、最新版のGCCは以下の所からもダウンロードできます。
どちらかお好みでインストールしてください。
TDM-GCC
http://tdm-gcc.tdragon.net/download
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
・GNU Binutils
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/GNU-Binutils/binutils-2.20.51/
binutils-2.20.51-1-mingw32-bin.tar.lzma
・MinGW API for MS-Windows
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.14/
w32api-3.14-mingw32-dev.tar.gz
・MinGW Runtime
http://sourceforge.net/downloads/mingw/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-3.18/
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
2010/06/29 追記
FFmpeg rev.23823以降のコンパイルの時、strcasecmp関数とtempnam関数がエラーになってしまいます。
こちらの記事を参考にパッチを適用してください。
implicit declaration of function 'strcasecmp'
追加で、MSYS DTKをインストールします。
MSYS Supplementary Tools
http://sourceforge.net/downloads/mingw/MSYS/Supplementary%20Tools/msysDTK-1.0.1/
より、
msysDTK-1.0.1.exe
を、ダウンロードして実行します。
perl、automake、autoconfなどがインストールされます。
続きを読む
2010年05月28日
FFmpegのコンパイル (2010/5/28)
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
gcc4.4系の安定版の最新はgcc4.4.3ですが、MinGWのwebページには、gcc4.4系はgcc4.4.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release_ gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、できるだけ最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
MinGW GCC 4.5.0をインストールする場合は、以下の記事を参考にしてください。
MinGW GCC 4.5.0リリース
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
追加で、MSYS DTKをインストールします。
以下のページより、
http://sourceforge.net/project/showfiles.php?group_id=2435
MSYS Supplementary Tools
msysDTK-1.0.1 より、
msysDTK-1.0.1.exe
を、ダウンロードして実行します。
perl、automake、autoconfなどがインストールされます。
続きを読む
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
gcc4.4系の安定版の最新はgcc4.4.3ですが、MinGWのwebページには、gcc4.4系はgcc4.4.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release_ gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、できるだけ最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
MinGW GCC 4.5.0をインストールする場合は、以下の記事を参考にしてください。
MinGW GCC 4.5.0リリース
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
追加で、MSYS DTKをインストールします。
以下のページより、
http://sourceforge.net/project/showfiles.php?group_id=2435
MSYS Supplementary Tools
msysDTK-1.0.1 より、
msysDTK-1.0.1.exe
を、ダウンロードして実行します。
perl、automake、autoconfなどがインストールされます。
続きを読む
libvpxのコンパイル&インストール
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フィルタなどがあります。
ですが、このままだとFFmpegのビルドができませんでしたので、gitでダウンロードしたlibvpxのソースコードと、修正したパッチを置いておきます。
libvpx-0.9.0-31.tar.bz2
snapshotsにあるソースコード
libvpx-0.9.1.tar.bz2
でも問題ありませんが、当サイトの更新に合わせて、ソースコードも置いておきます。
libvpx-0.9.1-122.tar.bz2
最新のソースコードは、gitでもダウンロードできます。
$ git clone git://review.webmproject.org/libvpx.git
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvpx-0.9.1-122.tar.bz2
$ cd libvpx
libvpxでpthreadを使用するためのパッチを適用します。
$ patch -p1 < libvpx-0.9.0-20100528.diff
その後、
$ CFLAGS="-march=i686 -DPTW32_STATIC_LIB" ./configure --target=x86-win32-gcc --disable-examples
$ make
$ cp libvpx.a /mingw/lib/
$ mkdir -p /mingw/include/vpx
$ cp vpx/*.h /mingw/include/vpx/
以上で終了です。
【補足】
CFLAGSについて、
-march=i686 は、これを付けないと、FFmpegがエラーを吐いてエンコードできませんでした。
-DPTW32_STATIC_LIB は、pthreadライブラリをスタティックリンクするための、おまじないです。
FFmpegでWebM(VP8)動画のエンコードに対応するためには、以下のパッチが必要です。
(libvpxではなく、FFmpeg本体のパッチです。)
ffmpeg-vp8-encdec-20100528.diff
このパッチを適用する前に、もう一つ先に適用するパッチがありますので、FFmpeg本体のコンパイル手順を参照してください。
2010/06/05 追記
FFmpeg rev.23474以降、FFmpeg本体へのパッチは不要になりました。
【更新履歴】
2010/06/15 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.0-93.tar.bz2
2010/06/22 追記
ソースコードをアップデートしました。
バージョンが0.9.1になりました。
パッチは変更ありません。
libvpx-0.9.1-13.tar.bz2
2010/07/16 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-39.tar.bz2
2010/07/18 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-40.tar.bz2
2010/07/28 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-69.tar.bz2
2010/08/04 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-81.tar.bz2
2010/08/22 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-106.tar.bz2
2010/09/01 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-122.tar.bz2
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フィルタなどがあります。
snapshotsにあるソースコード
libvpx-0.9.1.tar.bz2
でも問題ありませんが、当サイトの更新に合わせて、ソースコードも置いておきます。
libvpx-0.9.1-122.tar.bz2
最新のソースコードは、gitでもダウンロードできます。
$ git clone git://review.webmproject.org/libvpx.git
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvpx-0.9.1-122.tar.bz2
$ cd libvpx
libvpxでpthreadを使用するためのパッチを適用します。
$ patch -p1 < libvpx-0.9.0-20100528.diff
その後、
$ CFLAGS="-march=i686 -DPTW32_STATIC_LIB" ./configure --target=x86-win32-gcc --disable-examples
$ make
$ cp libvpx.a /mingw/lib/
$ mkdir -p /mingw/include/vpx
$ cp vpx/*.h /mingw/include/vpx/
以上で終了です。
【補足】
CFLAGSについて、
-march=i686 は、これを付けないと、FFmpegがエラーを吐いてエンコードできませんでした。
-DPTW32_STATIC_LIB は、pthreadライブラリをスタティックリンクするための、おまじないです。
FFmpegでWebM(VP8)動画のエンコードに対応するためには、以下のパッチが必要です。
(libvpxではなく、FFmpeg本体のパッチです。)
ffmpeg-vp8-encdec-20100528.diff
このパッチを適用する前に、もう一つ先に適用するパッチがありますので、FFmpeg本体のコンパイル手順を参照してください。
2010/06/05 追記
FFmpeg rev.23474以降、FFmpeg本体へのパッチは不要になりました。
【更新履歴】
2010/06/15 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.0-93.tar.bz2
2010/06/22 追記
ソースコードをアップデートしました。
バージョンが0.9.1になりました。
パッチは変更ありません。
libvpx-0.9.1-13.tar.bz2
2010/07/16 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-39.tar.bz2
2010/07/18 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-40.tar.bz2
2010/07/28 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-69.tar.bz2
2010/08/04 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-81.tar.bz2
2010/08/22 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-106.tar.bz2
2010/09/01 追記
ソースコードをアップデートしました。
パッチは変更ありません。
libvpx-0.9.1-122.tar.bz2
2010年05月04日
librtmp(RTMP Dump)のコンパイル&インストール
librtmp(RTMP Dump)のインストールには、zlibとOpenSSLのライブラリが必要ですので、先にインストールしておいてください。
zlibのコンパイル&インストール
OpenSSL 1.0.0のコンパイル&インストール
librtmp(RTMP Dump)は、以下の場所にあります。
http://rtmpdump.mplayerhq.hu/
以下のディレクトリから、
http://rtmpdump.mplayerhq.hu/download/
rtmpdump-2.2d.tgz
rtmpdump-2.3.tgz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf rtmpdump-2.2d.tgz
$ cd rtmpdump-2.2d
$ make mingw CC=gcc AR=ar
$ tar xzf rtmpdump-2.3.tgz
$ cd rtmpdump-2.3
$ make SYS=mingw CC=gcc AR=ar
$ cd librtmp
$ make install prefix=/mingw SHARED=no
以上で終了です。
【更新履歴】
2010/05/31 追記
最新版は、rtmpdump-2.2e.tar.gz です。
2010/07/01 追記
最新版は、rtmpdump-2.3.tgz です。
zlibのコンパイル&インストール
OpenSSL 1.0.0のコンパイル&インストール
librtmp(RTMP Dump)は、以下の場所にあります。
http://rtmpdump.mplayerhq.hu/
以下のディレクトリから、
http://rtmpdump.mplayerhq.hu/download/
rtmpdump-2.3.tgz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf rtmpdump-2.3.tgz
$ cd rtmpdump-2.3
$ make SYS=mingw CC=gcc AR=ar
$ cd librtmp
$ make install prefix=/mingw SHARED=no
以上で終了です。
【更新履歴】
2010/05/31 追記
最新版は、rtmpdump-2.2e.tar.gz です。
2010/07/01 追記
最新版は、rtmpdump-2.3.tgz です。
OpenSSL 1.0.0のコンパイル&インストール
OpenSSLは、以下の場所にあります。
http://www.openssl.org/
左サイドバーのSourceから、
http://www.openssl.org/source/
openssl-1.0.0.tar.gz
openssl-1.0.0a.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf openssl-1.0.0a.tar.gz
$ cd openssl-1.0.0a
以下のパッチを適用します。
$ patch -p1 < openssl-1.0.0-mingw.diff
このパッチは以下の情報を参考にしました。(蓄電さん情報)
http://fledna-tech.blogspot.com/2010/04/compile-openssl-100-with-mingw-gcc-44.html
その後、
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw
以上で終了です。
【補足】
Configureの先頭は大文字なのでご注意ください。
$ make install
とすると、普段あまり使用しないmanページファイル(説明書)が大量にインストールされるため、
$ make install_sw
としています。
動作確認する場合は、
$ make test
の途中で、ファイルサイズ0バイトの空のファイルをコンパイルしようとして、
undefined reference to `_WinMain@16'
というエラーでストップしてしまうので、以下のファイルをコピーしてからmake testします。
$ cp test/dummytest.c test/jpaketest.c
$ cp test/dummytest.c test/md2test.c
$ cp test/dummytest.c test/rc5test.c
【更新履歴】
2010/06/01 追記
最新版は、openssl-1.0.0a.tar.gz です。
パッチの変更はありません。
http://www.openssl.org/
左サイドバーのSourceから、
http://www.openssl.org/source/
openssl-1.0.0a.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf openssl-1.0.0a.tar.gz
$ cd openssl-1.0.0a
以下のパッチを適用します。
$ patch -p1 < openssl-1.0.0-mingw.diff
このパッチは以下の情報を参考にしました。(蓄電さん情報)
http://fledna-tech.blogspot.com/2010/04/compile-openssl-100-with-mingw-gcc-44.html
その後、
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw
以上で終了です。
【補足】
Configureの先頭は大文字なのでご注意ください。
$ make install
とすると、普段あまり使用しないmanページファイル(説明書)が大量にインストールされるため、
$ make install_sw
としています。
動作確認する場合は、
$ make test
の途中で、ファイルサイズ0バイトの空のファイルをコンパイルしようとして、
undefined reference to `_WinMain@16'
というエラーでストップしてしまうので、以下のファイルをコピーしてからmake testします。
$ cp test/dummytest.c test/jpaketest.c
$ cp test/dummytest.c test/md2test.c
$ cp test/dummytest.c test/rc5test.c
【更新履歴】
2010/06/01 追記
最新版は、openssl-1.0.0a.tar.gz です。
パッチの変更はありません。
2010年04月03日
FFmpegのコンパイル (2010/4/2)
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
gcc4.4系の安定版の最新はgcc4.4.3ですが、MinGWのwebページには、gcc4.4系はgcc4.4.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release_ gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、できるだけ最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
2010/04/02
GCC本家ではgcc4.5系はまだ正式にリリースされていませんが、MinGW Proposedに早くもgcc4.5系が出ています。
正式にリリースされたら、当サイトでも採用する予定です。
2010/04/22
MinGW GCC 4.5.0正式版がリリースされました。
インストール手順は以下の記事を参考にしてください。
MinGW GCC 4.5.0リリース
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
1. MSYS環境のアップデート
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっています。
make 3.8.1 以上
bash 3.1 以上
であれば問題ありません。
MSYS環境が古い場合、bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
makeも古い場合は更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
gcc4.4系の安定版の最新はgcc4.4.3ですが、MinGWのwebページには、gcc4.4系はgcc4.4.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release_ gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、できるだけ最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
2010/04/02
GCC本家ではgcc4.5系はまだ正式にリリースされていませんが、MinGW Proposedに早くもgcc4.5系が出ています。
正式にリリースされたら、当サイトでも採用する予定です。
2010/04/22
MinGW GCC 4.5.0正式版がリリースされました。
インストール手順は以下の記事を参考にしてください。
MinGW GCC 4.5.0リリース
その他、以下の3つのパッケージも最新のものにしておきましょう。
MinGWをインストールした時点で最新版になっていれば、更新は不要です。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
librtmp(RTMP Dump)のコンパイル&インストール(旧版)
2010/05/04 追記
新しく記事を書き直しましたので、以下の記事を参照してください。
librtmp(RTMP Dump)のコンパイル&インストール
librtmp(RTMP Dump)のインストールには、zlibとOpenSSLのライブラリが必要ですので、先にインストールしておいてください。
zlibのコンパイル&インストール
OpenSSLのコンパイル&インストール
librtmp(RTMP Dump)は、以下の場所にあります。
http://rtmpdump.mplayerhq.hu/
以下のディレクトリから、
http://rtmpdump.mplayerhq.hu/download/
rtmpdump-2.2c.tar.gz
を、適当なディレクトリに保存します。
開発中のソースは、svnで入手できます。
svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
こちらにもソースを置いておきます。
rtmpdump-2.2b-r416.tar.bz2
rtmpdump-2.2c-r437.tar.bz2
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf rtmpdump-2.2b-r416.tar.bz2
$ tar xjf rtmpdump-2.2c-r437.tar.bz2
または、svnが利用できる環境の場合
$ svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
$ cd rtmpdump
正式版の場合は、
$ tar xzf rtmpdump-2.2c.tar.gz
$ cd rtmpdump-2.2c
svn版か正式版のどちらか1つを解凍後、
$ make mingw CC=gcc AR=ar
$ cd librtmp
$ make install prefix=/mingw
以上で終了です。
【補足】
downloadディレクトリ
http://rtmpdump.mplayerhq.hu/download/
からでもソースは入手できますが、
rtmpdump-2.2b.tar.gz
だと、RTMP_SetupURL関数が未定義のため、FFmpegのコンパイル時にエラーになります。
そのため、svnの最新版を使用しています。
2010/4/19 追記
rtmpdump-2.2c.tar.gz から、RTMP_SetupURL関数が実装されました。
新しく記事を書き直しましたので、以下の記事を参照してください。
librtmp(RTMP Dump)のコンパイル&インストール
librtmp(RTMP Dump)のインストールには、zlibとOpenSSLのライブラリが必要ですので、先にインストールしておいてください。
zlibのコンパイル&インストール
OpenSSLのコンパイル&インストール
librtmp(RTMP Dump)は、以下の場所にあります。
http://rtmpdump.mplayerhq.hu/
以下のディレクトリから、
http://rtmpdump.mplayerhq.hu/download/
rtmpdump-2.2c.tar.gz
を、適当なディレクトリに保存します。
開発中のソースは、svnで入手できます。
svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
こちらにもソースを置いておきます。
rtmpdump-2.2c-r437.tar.bz2
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf rtmpdump-2.2c-r437.tar.bz2
または、svnが利用できる環境の場合
$ svn co svn://svn.mplayerhq.hu/rtmpdump/trunk rtmpdump
$ cd rtmpdump
正式版の場合は、
$ tar xzf rtmpdump-2.2c.tar.gz
$ cd rtmpdump-2.2c
svn版か正式版のどちらか1つを解凍後、
$ make mingw CC=gcc AR=ar
$ cd librtmp
$ make install prefix=/mingw
以上で終了です。
【補足】
downloadディレクトリ
http://rtmpdump.mplayerhq.hu/download/
からでもソースは入手できますが、
rtmpdump-2.2b.tar.gz
だと、RTMP_SetupURL関数が未定義のため、FFmpegのコンパイル時にエラーになります。
そのため、svnの最新版を使用しています。
2010/4/19 追記
rtmpdump-2.2c.tar.gz から、RTMP_SetupURL関数が実装されました。
OpenSSLのコンパイル&インストール
2010/05/04 追記
新しく記事を書き直しましたので、以下の記事を参照してください。
OpenSSL 1.0.0のコンパイル&インストール
OpenSSLは、以下の場所にあります。
http://www.openssl.org/
左サイドバーのSourceから、
http://www.openssl.org/source/
openssl-0.9.8n.tar.gz
を、適当なディレクトリに保存します。
最新版は1.0.0ですが、コンパイルできなかったため、0.9.8nにしました。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf openssl-0.9.8n.tar.gz
$ cd openssl-0.9.8n
以下のパッチを適用します。
$ patch -p1 < openssl-0.9.8n-mingw.diff
途中で、ファイルサイズ0バイトの空のファイルをコンパイルしようとして、
undefined reference to `_WinMain@16'
というエラーでストップしてしまうので、以下のファイルをコピーします。
$ cp test/dummytest.c test/jpaketest.c
$ cp test/dummytest.c test/mdc2test.c
$ cp test/dummytest.c test/rc5test.c
その後、
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw
以上で終了です。
【補足】
Configureの先頭は大文字なのでご注意ください。
$ make install
とすると、普段あまり使用しないmanページファイル(説明書)が大量にインストールされるため、
$ make install_sw
としています。
新しく記事を書き直しましたので、以下の記事を参照してください。
OpenSSL 1.0.0のコンパイル&インストール
OpenSSLは、以下の場所にあります。
http://www.openssl.org/
左サイドバーのSourceから、
http://www.openssl.org/source/
openssl-0.9.8n.tar.gz
を、適当なディレクトリに保存します。
最新版は1.0.0ですが、コンパイルできなかったため、0.9.8nにしました。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf openssl-0.9.8n.tar.gz
$ cd openssl-0.9.8n
以下のパッチを適用します。
$ patch -p1 < openssl-0.9.8n-mingw.diff
途中で、ファイルサイズ0バイトの空のファイルをコンパイルしようとして、
undefined reference to `_WinMain@16'
というエラーでストップしてしまうので、以下のファイルをコピーします。
$ cp test/dummytest.c test/jpaketest.c
$ cp test/dummytest.c test/mdc2test.c
$ cp test/dummytest.c test/rc5test.c
その後、
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw
以上で終了です。
【補足】
Configureの先頭は大文字なのでご注意ください。
$ make install
とすると、普段あまり使用しないmanページファイル(説明書)が大量にインストールされるため、
$ make install_sw
としています。
2010年03月27日
libogg、libvorbis、libtheoraのコンパイル&インストール
libogg、libvorbis、libtheoraは、以下の場所にあります。
http://xiph.org/
左の方の、Downloadsから、
http://xiph.org/downloads/
libogg-1.2.0.tar.gz
libvorbis-1.3.1.tar.bz2
libtheora-1.1.1.tar.bz2
を、適当なディレクトリに保存します。
(1) libogg
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libogg-1.2.0.tar.gz
$ cd libogg-1.2.0
$ ./configure --prefix=/mingw
$ make
$ make install
(2) libvorbis
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvorbis-1.3.1.tar.bz2
$ cd libvorbis-1.3.1
$ ./configure --prefix=/mingw
$ make
$ make install
(3) libtheora
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libtheora-1.1.1.tar.bz2
$ cd libtheora-1.1.1
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
http://xiph.org/
左の方の、Downloadsから、
http://xiph.org/downloads/
libogg-1.2.0.tar.gz
libvorbis-1.3.1.tar.bz2
libtheora-1.1.1.tar.bz2
を、適当なディレクトリに保存します。
(1) libogg
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libogg-1.2.0.tar.gz
$ cd libogg-1.2.0
$ ./configure --prefix=/mingw
$ make
$ make install
(2) libvorbis
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libvorbis-1.3.1.tar.bz2
$ cd libvorbis-1.3.1
$ ./configure --prefix=/mingw
$ make
$ make install
(3) libtheora
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libtheora-1.1.1.tar.bz2
$ cd libtheora-1.1.1
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
2010年03月04日
LAME v3.98.3以降 (libmp3lame) のコンパイル&インストール
NASMを、あらかじめインストールしておきます。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.98.3
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-3.98.3.tar.gz
lame-3.98.4.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-3.98.4.tar.gz
$ cd lame-3.98.4
$ ./configure --prefix=/mingw --enable-nasm
$ make
$ make install
以上で終了です。
FFmpegで使用する時は、-acodec libmp3lame です。
【更新履歴】
2010/3/26 追記
最新版は、3.98.4です。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.98.3
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-3.98.4.tar.gz
を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-3.98.4.tar.gz
$ cd lame-3.98.4
$ ./configure --prefix=/mingw --enable-nasm
$ make
$ make install
以上で終了です。
FFmpegで使用する時は、-acodec libmp3lame です。
【更新履歴】
2010/3/26 追記
最新版は、3.98.4です。
2009年09月25日
opencore-amrのコンパイル&インストール
opencore-amrは、以下の場所にあります。
http://sourceforge.net/projects/opencore-amr/
【Dowonload Now!】ボタンをクリックして、opencore-amr-0.1.2.tar.gz をダウンロードし、ファイルを適当なディレクトリに保存します。
上記の圧縮ファイルは、なぜか pvamrwbdecoder_basic_op_cequivalent.h が抜けていて、そのままだとコンパイルできません。
不足分のファイルをgitでダウンロードしましたので、こちらに置いておきます。
pvamrwbdecoder_basic_op_cequivalent.h
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf opencore-amr-0.1.2.tar.gz
解凍すると、ディレクトリとは別に以下のファイルが出てきます。
pvamrwbdecoder_basic_op_cequivalent.h
pvamrwbdecoder_basic_op_gcc_armv5.h
この2つのファイルのうち、
pvamrwbdecoder_basic_op_cequivalent.h
を、
opencore-amr-0.1.2/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/
に、コピーします。
$ cd opencore-amr-0.1.2
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
http://sourceforge.net/projects/opencore-amr/
【Dowonload Now!】ボタンをクリックして、opencore-amr-0.1.2.tar.gz をダウンロードし、ファイルを適当なディレクトリに保存します。
不足分のファイルをgitでダウンロードしましたので、こちらに置いておきます。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf opencore-amr-0.1.2.tar.gz
解凍すると、ディレクトリとは別に以下のファイルが出てきます。
pvamrwbdecoder_basic_op_cequivalent.h
pvamrwbdecoder_basic_op_gcc_armv5.h
この2つのファイルのうち、
pvamrwbdecoder_basic_op_cequivalent.h
を、
opencore-amr-0.1.2/opencore/codecs_v2/audio/gsm_amr/amr_wb/dec/src/
に、コピーします。
$ cd opencore-amr-0.1.2
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
2009年08月05日
FFmpegのコンパイル (2009/8/5)
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2010/3/24 追記
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっていますので、上記の更新は不要です。
2. MinGW環境のアップデート
安定版の最新はgcc4.4.14.4.2ですが、MinGWのwebページにはgcc4.4.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
GNU binutils-2.19.1 より、
binutils-2.19.1-mingw32-bin.tar.gz
GNU binutils-2.20 より、
binutils-2.20-1-mingw32-bin.tar.gz
GNU binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
Current Release: w32api-3.13 より、
w32api-3.13-mingw32-dev.tar.gz
Current Release: w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
Current Release: mingwrt-3.15.2 より、
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
mingwrt-3.16 より、
mingwrt-3.16-mingw32-dev.tar.gz
mingwrt-3.16-mingw32-dll.tar.gz
mingwrt-3.17 より、
mingwrt-3.17-mingw32-dev.tar.gz
mingwrt-3.17-mingw32-dll.tar.gz
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
MinGW公式ページからダウンロードリンクが見つからなくなっていますので、こちらに置いておきます。
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2010/3/24 追記
MSYS-1.0.11以上をインストールした場合、bashとmakeは新しい物になっていますので、上記の更新は不要です。
2. MinGW環境のアップデート
安定版の最新はgcc
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Current Release gcc-4.4.0 より、
gcc-core-4.4.0-mingw32-bin.tar.gz
gcc-core-4.4.0-mingw32-dll.tar.gz
gcc-c++-4.4.0-mingw32-bin.tar.gz
gcc-c++-4.4.0-mingw32-dll.tar.gz
gmp-4.2.4-mingw32-dll.tar.gz
mpfr-2.4.1-mingw32-dll.tar.gz
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
binutils-2.19.1-mingw32-bin.tar.gz
GNU binutils-2.20 より、
binutils-2.20-1-mingw32-bin.tar.gz
GNU binutils-2.20.1 より、
binutils-2.20.1-2-mingw32-bin.tar.gz
MinGW API for MS-Windows
w32api-3.13-mingw32-dev.tar.gz
Current Release: w32api-3.14 より、
w32api-3.14-mingw32-dev.tar.gz
MinGW Runtime
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
mingwrt-3.16-mingw32-dev.tar.gz
mingwrt-3.16-mingw32-dll.tar.gz
mingwrt-3.17-mingw32-dev.tar.gz
mingwrt-3.17-mingw32-dll.tar.gz
mingwrt-3.18 より、
mingwrt-3.18-mingw32-dev.tar.gz
mingwrt-3.18-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
opencore-amr-0.1.1のコンパイル&インストール
2009/9/25
最新版はopencore-amr-0.1.2です。
この記事は情報が古いので、以下の記事を参照してください。
opencore-amrのコンパイル&インストール
opencore-amrは、以下の場所にあります。
http://sourceforge.net/projects/opencore-amr/
View all files → をクリックして以下のページを表示します。
http://sourceforge.net/projects/opencore-amr/files/
opencore-amr-0.1.1.tar.gz をクリックして、ファイルを適当なディレクトリに保存します。
2009/8/11 追記
上記のページからダウンロードできなくなっていますので、こちらからどうぞ。
opencore-amr-0.1.1.tar.gz
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf opencore-amr-0.1.1.tar.gz
$ cd opencore-amr
インストールの時にエラーになるので、Makefileにパッチopencore-amr-makefile.diffを適用します。
$ patch -p1 < opencore-amr-makefile.diff
パッチを適用した後、
$ make CC=gcc
$ make PREFIX=/mingw install
以上で終了です。
最新版はopencore-amr-0.1.2です。
この記事は情報が古いので、以下の記事を参照してください。
opencore-amrのコンパイル&インストール
opencore-amrは、以下の場所にあります。
http://sourceforge.net/projects/opencore-amr/
View all files → をクリックして以下のページを表示します。
http://sourceforge.net/projects/opencore-amr/files/
opencore-amr-0.1.1.tar.gz をクリックして、ファイルを適当なディレクトリに保存します。
2009/8/11 追記
上記のページからダウンロードできなくなっていますので、こちらからどうぞ。
opencore-amr-0.1.1.tar.gz
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf opencore-amr-0.1.1.tar.gz
$ cd opencore-amr
インストールの時にエラーになるので、Makefileにパッチopencore-amr-makefile.diffを適用します。
$ patch -p1 < opencore-amr-makefile.diff
パッチを適用した後、
$ make CC=gcc
$ make PREFIX=/mingw install
以上で終了です。
Pthreadsのコンパイル&インストール (autostatic版)
Pthreadsは、以下の場所にあります。
http://sourceware.org/pthreads-win32/
正式リリースは、pthreads-w32-2-8-0-release.tar.gzですが、cvsでダウンロードできる、pthreads-w32-2-9-0のソースを置いておきますので、こちらをご利用下さい。
pthreads-w32-2-9-0-release.tar.gz
pthreadもstaticライブラリにすることで、pthreadGC2.dllが不要になります。
何をしているか興味のある方は、以下の記事を参照してください。
http://sourceware.org/ml/pthreads-win32/2009/msg00004.html
http://sourceware.org/ml/pthreads-win32/2009/msg00024.html
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf pthreads-w32-2-9-0-release.tar.gz
$ cd pthreads
ここでautostaticのパッチpthreads-autostatic.diffを適用します。
$ patch -p1 < pthreads-autostatic.diff
2010/3/10 追記
mingwrt-3.18より、TLS Callbackが実装されました。
それに伴い、autostaticパッチも修正しましたので、以下のようにパッチを使い分けてください。
mingwrt-3.17以前
pthreads-autostatic-prev.diff
mingwrt-3.18以降
2010/06/15 追記
autostatic以外に、64bit OSでの不具合対応など追加しました。
pthreads-autostatic.diff
パッチを適用したら、
$ make clean GC-autostatic
$ cp libpthreadGC2.a /mingw/lib/libpthread.a
$ cp pthread.h sched.h semaphore.h /mingw/include/.
libpthreadGC2.aは、ファイル名をlibpthread.aに変更して、コピーするのがミソです。
ヘッダファイル3つも、忘れずにコピーして下さい。
以上で終了です。
http://sourceware.org/pthreads-win32/
正式リリースは、pthreads-w32-2-8-0-release.tar.gzですが、cvsでダウンロードできる、pthreads-w32-2-9-0のソースを置いておきますので、こちらをご利用下さい。
pthreads-w32-2-9-0-release.tar.gz
pthreadもstaticライブラリにすることで、pthreadGC2.dllが不要になります。
何をしているか興味のある方は、以下の記事を参照してください。
http://sourceware.org/ml/pthreads-win32/2009/msg00004.html
http://sourceware.org/ml/pthreads-win32/2009/msg00024.html
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf pthreads-w32-2-9-0-release.tar.gz
$ cd pthreads
ここでautostaticのパッチpthreads-autostatic.diffを適用します。
$ patch -p1 < pthreads-autostatic.diff
2010/3/10 追記
mingwrt-3.18より、TLS Callbackが実装されました。
それに伴い、autostaticパッチも修正しましたので、以下のようにパッチを使い分けてください。
mingwrt-3.17以前
pthreads-autostatic-prev.diff
mingwrt-3.18以降
2010/06/15 追記
autostatic以外に、64bit OSでの不具合対応など追加しました。
pthreads-autostatic.diff
パッチを適用したら、
$ make clean GC-autostatic
$ cp libpthreadGC2.a /mingw/lib/libpthread.a
$ cp pthread.h sched.h semaphore.h /mingw/include/.
libpthreadGC2.aは、ファイル名をlibpthread.aに変更して、コピーするのがミソです。
ヘッダファイル3つも、忘れずにコピーして下さい。
以上で終了です。
x264のコンパイル&インストール
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20090804-2245.tar.bz2
を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20090804-2245.tar.bz2
$ cd x264-snapshot-20090804-2245
libpthreadGC2.aをlibpthread.aにリネームしてインストールしているので、を以下のパッチを適用します。
$ patch -p1 < x264-pthreads-20090717.diff
2010/1/31 追記
rev.1416以降用にパッチをアップデートしました。
$ patch -p1 < x264-pthreads-20100131.diff
2010/7/17 追記
pthreadsライブラリは、winsockライブラリ(-lws2_32)が不要になりましたので、パッチをアップデートしました。
$ patch -p1 < x264-pthreads-20100717.diff
修正が終わったら、
$ CFLAGS=-fno-strict-aliasing ./configure --prefix=/mingw
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20090804-2245.tar.bz2
を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20090804-2245.tar.bz2
$ cd x264-snapshot-20090804-2245
libpthreadGC2.aをlibpthread.aにリネームしてインストールしているので、を以下のパッチを適用します。
rev.1416以降用にパッチをアップデートしました。
$ patch -p1 < x264-pthreads-20100131.diff
2010/7/17 追記
pthreadsライブラリは、winsockライブラリ(-lws2_32)が不要になりましたので、パッチをアップデートしました。
$ patch -p1 < x264-pthreads-20100717.diff
修正が終わったら、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
Xvidのコンパイル&インストール (1.2.2以降)
Xvidは、以下の場所にあります。
http://www.xvid.org/
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.2.2 final source code
xvidcore-1.2.2.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.2.2.tar.gz
$ cd xvidcore
ここで、pthread関連と、インストールされるライブラリ名をxvidcore.*からlibxvidcore.*に変更するパッチxvidcore-1.2.2-pthreads.diffを適用します。
2010/7/17 追記
pthreadsライブラリは、winsockライブラリ(-lws2_32)が不要になりましたので、パッチをアップデートしました。
xvidcore-1.2.2-pthreads-20100717.diff
$ patch -p1 < xvidcore-1.2.2-pthreads.diff
$ patch -p1 < xvidcore-1.2.2-pthreads-20100717.diff
2010/04/28 追記
yasm-1.0.0をインストールすると、configureの時に
yasm version is too old
となるので、、yasm-1.0.0を検出するためのパッチxvidcore-1.2.2-yasm.diffを追加しました。
$ patch -p1 < xvidcore-1.2.2-yasm.diff
その他、VAQ-patchというのも、とりあえず適用してみます。
VAQ: Making Xvid's Adaptive Quantization Not Suck
http://forum.doom9.org/showthread.php?t=135093
より、Patchのリンク先にある、以下のページから、
http://pastebin.com/f1718874b
f1718874b.txtをダウンロード。
$ patch -p1 < f1718874b.txt
あとは、以下の手順でコンパイル&インストールします。
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
http://www.xvid.org/
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.2.2 final source code
xvidcore-1.2.2.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.2.2.tar.gz
$ cd xvidcore
ここで、pthread関連と、インストールされるライブラリ名をxvidcore.*からlibxvidcore.*に変更するパッチxvidcore-1.2.2-pthreads.diffを適用します。
2010/7/17 追記
pthreadsライブラリは、winsockライブラリ(-lws2_32)が不要になりましたので、パッチをアップデートしました。
xvidcore-1.2.2-pthreads-20100717.diff
$ patch -p1 < xvidcore-1.2.2-pthreads-20100717.diff
2010/04/28 追記
yasm-1.0.0をインストールすると、configureの時に
yasm version is too old
となるので、、yasm-1.0.0を検出するためのパッチxvidcore-1.2.2-yasm.diffを追加しました。
$ patch -p1 < xvidcore-1.2.2-yasm.diff
その他、VAQ-patchというのも、とりあえず適用してみます。
VAQ: Making Xvid's Adaptive Quantization Not Suck
http://forum.doom9.org/showthread.php?t=135093
より、Patchのリンク先にある、以下のページから、
http://pastebin.com/f1718874b
f1718874b.txtをダウンロード。
$ patch -p1 < f1718874b.txt
あとは、以下の手順でコンパイル&インストールします。
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
2009年07月25日
LAME v3.98.2 (libmp3lame) のコンパイル&インストール
NASMを、あらかじめインストールしておきます。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.98.1
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-398-2.tar.gzを、適当なディレクトリに保存します。
※3.98.1となっていますが、最新版は3.98.2です。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-398-2.tar.gz
$ cd lame-398-2
$ ./configure --prefix=/mingw --enable-nasm
$ make
$ make install
以上で終了です。
FFmpegで使用する時は、-acodec libmp3lame です。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.98.1
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-398-2.tar.gzを、適当なディレクトリに保存します。
※3.98.1となっていますが、最新版は3.98.2です。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-398-2.tar.gz
$ cd lame-398-2
$ ./configure --prefix=/mingw --enable-nasm
$ make
$ make install
以上で終了です。
FFmpegで使用する時は、-acodec libmp3lame です。
2009年06月24日
FFmpegのconfigureメッセージ (rev.19205以降)
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available no
10 operands supported yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
new filter support no
filters using lavformat no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled no
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopencore-amrnb support yes
libopencore-amrwb support yes
libopenjpeg enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
zlib enabled yes
bzlib enabled yes
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
runtime cpu detection no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available no
10 operands supported yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
new filter support no
filters using lavformat no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled no
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopencore-amrnb support yes
libopencore-amrwb support yes
libopenjpeg enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
zlib enabled yes
bzlib enabled yes
続きを読む
2009年03月08日
FFmpegのコンパイル (2009/3/7)
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
安定版の最新はgcc4.3.3ですが、MinGWのwebページにはgcc4.3.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Testing: gcc-4.3.0-20080502-mingw32-alpha より、
gcc-4.3.0-20080502-mingw32-alpha-bin.7z
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
GNU binutils-2.19.1 より、
binutils-2.19.1-mingw32-bin.tar.gz
MinGW API for MS-Windows
Current Release: w32api-3.13 より、
w32api-3.13-mingw32-dev.tar.gz
MinGW Runtime
Current Release: mingwrt-3.15.2 より、
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
安定版の最新はgcc4.3.3ですが、MinGWのwebページにはgcc4.3.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Testing: gcc-4.3.0-20080502-mingw32-alpha より、
gcc-4.3.0-20080502-mingw32-alpha-bin.7z
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
GNU binutils-2.19.1 より、
binutils-2.19.1-mingw32-bin.tar.gz
MinGW API for MS-Windows
Current Release: w32api-3.13 より、
w32api-3.13-mingw32-dev.tar.gz
MinGW Runtime
Current Release: mingwrt-3.15.2 より、
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
2009年02月11日
FFmpegのコンパイル (2009/2/11)
2009/3/8 追記
configureが変更されて、パッチffmpeg-20090211.diffを適用できなくなってしまいました。
また、configureオプションの--enable-swscaleが削除されています。
2009/3/7時点のパッチを作成しましたので、メニューの、
カテゴリー → FFmpegコンパイル
から、最新の記事を参照してください。
↓以下は、2009/2/11時点の記事です。
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
安定版の最新はgcc4.3.3ですが、MinGWのwebページにはgcc4.3.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Testing: gcc-4.3.0-20080502-mingw32-alpha より、
gcc-4.3.0-20080502-mingw32-alpha-bin.7z
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
GNU binutils-2.19.1 より、
binutils-2.19.1-mingw32-bin.tar.gz
MinGW API for MS-Windows
Current Release: w32api-3.13 より、
w32api-3.13-mingw32-dev.tar.gz
MinGW Runtime
Current Release: mingwrt-3.15.2 より、
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
configureが変更されて、パッチffmpeg-20090211.diffを適用できなくなってしまいました。
また、configureオプションの--enable-swscaleが削除されています。
2009/3/7時点のパッチを作成しましたので、メニューの、
カテゴリー → FFmpegコンパイル
から、最新の記事を参照してください。
↓以下は、2009/2/11時点の記事です。
いよいよ、FFmpegのコンパイルです。
1. MSYS環境のアップデート
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ることがありますので、MSYSのshを更新しておきましょう。
MSYSに標準で入っているmakeも古いので、ついでに更新します。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963&release_id=46827
bash-3.1-MSYS-1.0.11-1.tar.bz2
make-3.81-MSYS-1.0.11-2.tar.bz2
をダウンロードして、C:\msys\1.0\ に解凍します。
2. MinGW環境のアップデート
安定版の最新はgcc4.3.3ですが、MinGWのwebページにはgcc4.3.0までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGW\ に環境があれば、以下のファイルをダウンロードして、C:\MinGW\ の下に解凍すればOKです。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GCC Version 4
Testing: gcc-4.3.0-20080502-mingw32-alpha より、
gcc-4.3.0-20080502-mingw32-alpha-bin.7z
自分でgccをビルドするのは面倒だけど、最新版を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
その他、以下の3つのパッケージも最新のものにしておきましょう。
以下のページから、
http://sourceforge.net/project/showfiles.php?group_id=2435
GNU Binutils
GNU binutils-2.19.1 より、
binutils-2.19.1-mingw32-bin.tar.gz
MinGW API for MS-Windows
Current Release: w32api-3.13 より、
w32api-3.13-mingw32-dev.tar.gz
MinGW Runtime
Current Release: mingwrt-3.15.2 より、
mingwrt-3.15.2-mingw32-dev.tar.gz
mingwrt-3.15.2-mingw32-dll.tar.gz
上記のファイルを、すべてC:\MinGW\ の下に解凍すればOKです。
続きを読む
x264のコンパイル&インストール (2009/2/11)
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20090210-2245.tar.bz2
を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20090210-2245.tar.bz2
$ cd x264-snapshot-20090210-2245
libpthreadGC2.aをstaticライブラリにして、libpthread.aとリネームしているので、configureを修正します。
329、331行目の、-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にpthread関連の修正をするパッチx264-pthreads-20090211.diffを適用します。
$ patch -p1 < x264-pthreads-20090211.diff
修正が終わったら、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20090210-2245.tar.bz2
を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20090210-2245.tar.bz2
$ cd x264-snapshot-20090210-2245
libpthreadGC2.aをstaticライブラリにして、libpthread.aとリネームしているので、configureを修正します。
329、331行目の、-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にpthread関連の修正をするパッチx264-pthreads-20090211.diffを適用します。
$ patch -p1 < x264-pthreads-20090211.diff
修正が終わったら、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
Xvidのコンパイル&インストール (1.2.1以降)
Xvidは、以下の場所にあります。
http://www.xvid.org/
2009/6/4 追記
最新版は1.2.2です。
以下、1.2.1を1.2.2と読み替えてください。
パッチは1.2.1用のをご利用ください。
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.2.1 final source code
xvidcore-1.2.1.tar.gzを、適当なディレクトリに保存します。
gcc4でコンパイルした場合、libx264とlibxvidcoreを一緒にリンクすると、x264のエンコードでcrashするという問題があります。
後でパッチを適用しますが、どんなものか説明します。
src/utils/x86_asm/cpuid.asm
63行目の後に、ALIGN 16を追加。
vendorAMD:
db "AuthenticAMD"
ALIGN 16
以下、コンパイルの手順です。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.2.1.tar.gz
$ cd xvidcore
ここで、pthread関連と、上記ALIGN 16のパッチxvidcore-1.2.1-pthreads.diffを適用します。
$ patch -p1 < xvidcore-1.2.1-pthreads.diff
その他、VAQ-patchというのも、とりあえず適用してみます。
VAQ: Making Xvid's Adaptive Quantization Not Suck
http://forum.doom9.org/showthread.php?t=135093
より、Patchのリンク先にある、以下のページから、
http://pastebin.com/f1718874b
f1718874b.txtをダウンロード。
$ patch -p1 < f1718874b.txt
あとは、以下の手順でコンパイル&インストールします。
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
最後に、xvidcore.aのファイル名を、libxvidcore.aに変更します。
$ mv /mingw/lib/xvidcore.a /mingw/lib/libxvidcore.a
以上で終了です。
http://www.xvid.org/
2009/6/4 追記
最新版は1.2.2です。
以下、1.2.1を1.2.2と読み替えてください。
パッチは1.2.1用のをご利用ください。
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.2.1 final source code
xvidcore-1.2.1.tar.gzを、適当なディレクトリに保存します。
gcc4でコンパイルした場合、libx264とlibxvidcoreを一緒にリンクすると、x264のエンコードでcrashするという問題があります。
後でパッチを適用しますが、どんなものか説明します。
src/utils/x86_asm/cpuid.asm
63行目の後に、ALIGN 16を追加。
vendorAMD:
db "AuthenticAMD"
ALIGN 16
以下、コンパイルの手順です。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.2.1.tar.gz
$ cd xvidcore
ここで、pthread関連と、上記ALIGN 16のパッチxvidcore-1.2.1-pthreads.diffを適用します。
$ patch -p1 < xvidcore-1.2.1-pthreads.diff
その他、VAQ-patchというのも、とりあえず適用してみます。
VAQ: Making Xvid's Adaptive Quantization Not Suck
http://forum.doom9.org/showthread.php?t=135093
より、Patchのリンク先にある、以下のページから、
http://pastebin.com/f1718874b
f1718874b.txtをダウンロード。
$ patch -p1 < f1718874b.txt
あとは、以下の手順でコンパイル&インストールします。
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
最後に、xvidcore.aのファイル名を、libxvidcore.aに変更します。
$ mv /mingw/lib/xvidcore.a /mingw/lib/libxvidcore.a
以上で終了です。
libfaadのコンパイル&インストール
libfaadは、以下の場所にあります。
http://www.audiocoding.com/
右サイドバーののDownloadsから、
http://www.audiocoding.com/downloads.html
FAAD2 Sourceの圧縮形式が3種類ある中で、ファイルサイズが小さいTAR.BZ2 Packageをダウンロードします。
faad2-2.7.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf faad2-2.7.tar.bz2
$ cd faad2-2.7
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要かもしれません。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
上記の修正パッチはこちら。
faad2-2.7.diff
エディタで修正するか、以下のようにパッチを適用してください。
$ patch -p1 < faad2-2.7.diff
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
http://www.audiocoding.com/
右サイドバーののDownloadsから、
http://www.audiocoding.com/downloads.html
FAAD2 Sourceの圧縮形式が3種類ある中で、ファイルサイズが小さいTAR.BZ2 Packageをダウンロードします。
faad2-2.7.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf faad2-2.7.tar.bz2
$ cd faad2-2.7
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要かもしれません。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
上記の修正パッチはこちら。
faad2-2.7.diff
エディタで修正するか、以下のようにパッチを適用してください。
$ patch -p1 < faad2-2.7.diff
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
libfaacのコンパイル&インストール
libfaacは、以下の場所にあります。
http://www.audiocoding.com/
右サイドバーののDownloadsから、
http://www.audiocoding.com/downloads.html
FAAC Sourceの圧縮形式が3種類ある中で、ファイルサイズが小さいTAR.BZ2 Packageをダウンロードします。
faac-1.28.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf faac-1.28.tar.bz2
$ cd faac-1.28
パッチファイルfaac-1.28.diffをダウンロードして、以下のコマンドを実行。
$ patch -p1 < faac-1.28.diff
これで、./configureで --without-mp4v2 を付けなくてもコンパイルできるようになります。
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
※上記パッチを適用しない場合は
$ ./configure --prefix=/mingw --without-mp4v2
としてください。
$ make
$ make install
以上で終了です。
http://www.audiocoding.com/
右サイドバーののDownloadsから、
http://www.audiocoding.com/downloads.html
FAAC Sourceの圧縮形式が3種類ある中で、ファイルサイズが小さいTAR.BZ2 Packageをダウンロードします。
faac-1.28.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf faac-1.28.tar.bz2
$ cd faac-1.28
パッチファイルfaac-1.28.diffをダウンロードして、以下のコマンドを実行。
$ patch -p1 < faac-1.28.diff
これで、./configureで --without-mp4v2 を付けなくてもコンパイルできるようになります。
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
※上記パッチを適用しない場合は
$ ./configure --prefix=/mingw --without-mp4v2
としてください。
$ make
$ make install
以上で終了です。
FFmpegのconfigureメッセージ (rev.17132以降)
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopenjpeg enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
vdpau enabled no
zlib enabled yes
bzlib enabled yes
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86 (generic)
big-endian no
yasm yes
MMX enabled yes
MMX2 enabled yes
3DNow! enabled yes
SSE enabled yes
SSSE3 enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libopenjpeg enabled no
libschroedinger enabled no
libspeex enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
vdpau enabled no
zlib enabled yes
bzlib enabled yes
続きを読む
2008年10月13日
FFmpegのconfigureメッセージ (rev.15571以降)
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
yasm yes
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libschroedinger enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
zlib enabled yes
bzlib enabled no
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
yasm yes
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
libamr-nb support no
libamr-wb support no
libdc1394 support no
libdirac enabled no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libschroedinger enabled no
libtheora enabled yes
libvorbis enabled yes
libx264 enabled yes
libxvid enabled yes
zlib enabled yes
bzlib enabled no
続きを読む
2008年08月17日
libnutのコンパイル&インストール
libnutは、以下の場所にあったようなのですが、Downloadのページがありません。
http://www.nut-container.org/
svnがあれば、以下のように、ソースファイルを拾えます。
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
最新版は、リビジョン659です。
最新版は、リビジョン661です。
最新版は、リビジョン662です。
最新版は、リビジョン664です。
どこかにソースファイルを置いていないか探してみたのですが、見つからなかったので、こちらに置いておきます。
libnut-659.tar.bz2
libnut-661.tar.bz2
libnut-662.tar.bz2
libnut-664.tar.bz2
libnut-664.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libnut-664.tar.bz2
$ cd libnut-664
libnut/demuxer.cの16行目、ftelloをftellに変更します。
修正前) return ftello(priv);
修正後) return ftell(priv);
以上の修正が終わったら、
$ make CC=gcc
$ make PREFIX=/mingw install
以上で終了です。
http://www.nut-container.org/
svnがあれば、以下のように、ソースファイルを拾えます。
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
最新版は、リビジョン664です。
どこかにソースファイルを置いていないか探してみたのですが、見つからなかったので、こちらに置いておきます。
libnut-664.tar.bz2
libnut-664.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libnut-664.tar.bz2
$ cd libnut-664
libnut/demuxer.cの16行目、ftelloをftellに変更します。
修正前) return ftello(priv);
修正後) return ftell(priv);
以上の修正が終わったら、
$ make CC=gcc
$ make PREFIX=/mingw install
以上で終了です。
2008年08月16日
x264のコンパイル&インストール (旧rev.)
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20080815-2245.tar.bz2を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20080815-2245.tar.bz2
$ cd x264-snapshot-20080815-2245
libpthread.aをstaticライブラリにしているので、configureを修正します。
350、352行目の、-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
以上で終了です。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
x264の最新情報は、ここでチェックしましょう。
http://x264.nl/
Gitがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。
$ git clone git://git.videolan.org/x264.git
Gitがインストールされていない場合でも、とりあえず、daily tarballのソースファイルを拾ってくればコンパイルできます。
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
x264-snapshot-20080815-2245.tar.bz2を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf x264-snapshot-20080815-2245.tar.bz2
$ cd x264-snapshot-20080815-2245
libpthread.aをstaticライブラリにしているので、configureを修正します。
350、352行目の、-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
以上で終了です。
2008年03月01日
FFmpegのconfigureメッセージ (rev.12285以降)
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat lavf-no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support no
libamr-wb support no
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
new filter support no
filters using lavformat lavf-no
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support no
libamr-wb support no
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
続きを読む
2008年01月30日
FFmpegのconfigureメッセージ (rev.11615以降)
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support no
libamr-wb support no
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support no
libamr-wb support no
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
続きを読む
2007年12月15日
FFmpegのコンパイル (軽量版)
使いもしないライブラリを全部インストールするのは面倒。
CPUもSingle Coreだから、Pthreadsもいらん。
という方は、以下のようにすれば、コンパイルの手順を省略できます。
gccは4.2.1か4.2.2、bashは3.1をインストールしておいてください。
NASMは必須、Yasmはなくても良いかも?
a52decは、DVDなどで使われるAC-3音声のデコードに必要です。
その他、よく使うライブラリだけインストールします。
nasm-2.00
yasm-0.6.2
zlib-1.2.3
a52dec-0.7.4
faac-1.26
faad2-2.6
lame-3.97
x264 rev.712
xvidcore-1.1.3
続きを読む
CPUもSingle Coreだから、Pthreadsもいらん。
という方は、以下のようにすれば、コンパイルの手順を省略できます。
gccは4.2.1か4.2.2、bashは3.1をインストールしておいてください。
NASMは必須、Yasmはなくても良いかも?
a52decは、DVDなどで使われるAC-3音声のデコードに必要です。
その他、よく使うライブラリだけインストールします。
nasm-2.00
yasm-0.6.2
zlib-1.2.3
a52dec-0.7.4
faac-1.26
faad2-2.6
lame-3.97
x264 rev.712
xvidcore-1.1.3
続きを読む
2007年12月11日
FFmpegのconfigureメッセージ
FFmpegのconfigureに成功すると、以下のようなメッセージが出ます。
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support yes
libamr-wb support yes
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
License: GPL
続きを読む
install prefix /usr/local
source path /c/TEMP/ffmpeg
C compiler gcc
make make
.align is power-of-two no
ARCH x86_32 (generic)
big-endian no
MMX enabled yes
CMOV enabled no
CMOV is fast no
EBX available yes
EBP available yes
gprof enabled no
debug symbols yes
strip symbols yes
optimizations small
static yes
shared no
postprocessing support yes
software scaler enabled yes
video hooking no
network support yes
IPv6 support no
threading support pthreads
SDL support no
Sun medialib support no
AVISynth enabled yes
liba52 support yes
liba52 dlopened no
libamr-nb support yes
libamr-wb support yes
libdc1394 support no
libfaac enabled yes
libfaad enabled yes
libfaad dlopened no
libgsm enabled yes
libmp3lame enabled yes
libnut enabled yes
libtheora enabled yes
libvorbis enabled yes
x264 enabled yes
XviD enabled yes
zlib enabled yes
License: GPL
続きを読む
FFmpegのコンパイル (2007/12/11)
いよいよ、FFmpegのコンパイルです。
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ますので、MinGWのwebページから
bash-3.1-MSYS-1.0.11-1.tar.bz2
をダウンロードして、MSYSのsh.exeを更新しておくと良いです。
最近は、gcc4.2.2でしかコンパイルしていなかったので気がつかなかったのですが、gcc3.4.xだと、コンパイルできたように見えても、ffmpeg.exeを実行するとクラッシュするようです。
2008/01/13追記
と思って、久々にrev.11518をgcc3.4.2でコンパイルしてみたら、正常に動作しました。
いつの間にか修正されていたようです。
安定版の最新はgcc4.2.2ですが、MinGWのwebページにはgcc4.2.1までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGWに環境があれば、以下のファイルをダウンロードして、C:\MinGWの下に解凍すればOKです。
gcc-core-4.2.1-sjlj-2.tar.gz
gcc-g++-4.2.1-sjlj-2.tar.gz
自分でgccをビルドするのは面倒だけど、gcc4.2.2を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より、新しくなっているものもありますので、それぞれの記事で確認してください。
nasm-0.98.39
yasm-0.6.2
pthreads-w32-2-8-0-release
zlib-1.2.3
a52dec-0.7.4
amrnb-7.0.0.0 (3GPP 26104-700)
amrwb-7.0.0.2 (3GPP 26204-700)
faac-1.26
faad2-2.6
gsm-1.0.12
lame-3.97
libnut-512
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0beta2
x264 rev.702
xvidcore-1.1.3
続きを読む
bash-2.0だと、configureの判定ルーチンで引っかかって、
Broken shell detected. Trying alternatives.
というメッセージが出ますので、MinGWのwebページから
bash-3.1-MSYS-1.0.11-1.tar.bz2
をダウンロードして、MSYSのsh.exeを更新しておくと良いです。
最近は、gcc4.2.2でしかコンパイルしていなかったので気がつかなかったのですが、gcc3.4.xだと、コンパイルできたように見えても、ffmpeg.exeを実行するとクラッシュするようです。
2008/01/13追記
と思って、久々にrev.11518をgcc3.4.2でコンパイルしてみたら、正常に動作しました。
いつの間にか修正されていたようです。
安定版の最新はgcc4.2.2ですが、MinGWのwebページにはgcc4.2.1までしかないので、とりあえずそれをインストールしておきましょう。
C:\MinGWに環境があれば、以下のファイルをダウンロードして、C:\MinGWの下に解凍すればOKです。
gcc-core-4.2.1-sjlj-2.tar.gz
gcc-g++-4.2.1-sjlj-2.tar.gz
自分でgccをビルドするのは面倒だけど、gcc4.2.2を使いたいという方は、以下の所からダウンロードできます。
TDM's Experimental GCC/MinGW32 Builds
http://www.tdragon.net/recentgcc/
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より、新しくなっているものもありますので、それぞれの記事で確認してください。
nasm-0.98.39
yasm-0.6.2
pthreads-w32-2-8-0-release
zlib-1.2.3
a52dec-0.7.4
amrnb-7.0.0.0 (3GPP 26104-700)
amrwb-7.0.0.2 (3GPP 26204-700)
faac-1.26
faad2-2.6
gsm-1.0.12
lame-3.97
libnut-512
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0beta2
x264 rev.702
xvidcore-1.1.3
続きを読む
2007年12月01日
make -j で並列処理
make -j4 とか、-jオプションを付けると並列処理してくれるのですね。
-jと数字の間は、スペース開けても開けなくても、どちらでも良いみたいです。
make -j4
make -j 4
など。
私は4にしていますが、色々試して、最適な値を見つけましょう。
#今まで知らなかったよ。
#なんでだれも教えてくれないんだよ。シクシク
#まぁ、今度から気をつけましょうかね。
-jと数字の間は、スペース開けても開けなくても、どちらでも良いみたいです。
make -j4
make -j 4
など。
私は4にしていますが、色々試して、最適な値を見つけましょう。
#今まで知らなかったよ。
#なんでだれも教えてくれないんだよ。シクシク
#まぁ、今度から気をつけましょうかね。
2007年11月21日
libfaadのコンパイル&インストール (2.6)
libfaadは、以下の場所にあります。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
2008/7/7追記
最新版はfaad2-2.6.1です。
faad2-2.6をfaad2-2.6.1に読み替えてください。
faad2-srcのDownloadページから、
faad2-2.6.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faad2-2.6.tar.gz
$ cd faad2
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
common/mp4ff/mp4ff_int_types.hの、4行目を以下のように修正します。
修正前) #if defined (_WIN32)
修正後) #if defined (_WIN32) && !defined (__MINGW32__)
2007/9/30追記
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要です。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
bootstrapの時にメッセージが出ますが、最後に、
Ready to run ./configure
と、なっていればbootstrapは問題ありません。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
2008/7/7追記
最新版はfaad2-2.6.1です。
faad2-2.6をfaad2-2.6.1に読み替えてください。
faad2-srcのDownloadページから、
faad2-2.6.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faad2-2.6.tar.gz
$ cd faad2
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
common/mp4ff/mp4ff_int_types.hの、4行目を以下のように修正します。
修正前) #if defined (_WIN32)
修正後) #if defined (_WIN32) && !defined (__MINGW32__)
2007/9/30追記
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要です。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
bootstrapの時にメッセージが出ますが、最後に、
Ready to run ./configure
と、なっていればbootstrapは問題ありません。
2007年09月30日
gcc4での問題点 (warning)
gcc4でコンパイルしたときに、こんなwarningが出ることがあります。
gcc3をお使いの方には関係ありません。
warning: dereferencing type-punned pointer will break strict-aliasing rules
これは、CFLAGSに、-fno-strict-aliasingを追加すれば解決できます。
FFmpeg関連では、以下のようにします。
1) nasm、libtheora-1.0alpha7の場合(libtheora-1.0beta1以降は不要)、
$ CFLAGS=-fno-strict-aliasing ./configure --prefix=/mingw
$ make
$ make install
2) pthreadsの場合
GNUmakefileの61行目を、以下のように修正します。
修正前) OPT = $(CLEANUP) -O3 -finline-functions
修正後) OPT = $(CLEANUP) -O3 -finline-functions -fno-strict-aliasing
あとは、以下の手順でコンパイルします。
pthreads-w32-2-8-0-release
3) faacの場合(--without-mp4v2 の時は不要)、
$ CXXFLAGS=-fno-strict-aliasing ./configure --prefix=/mingw
$ make
$ make install
4) FFmpeg本体の場合
./configureのオプションに、以下のオプションを追加します。
--extra-cflags=-fno-strict-aliasing
あとは、こちらの記事の手順でコンパイルします。
上記以外では、このwarningは出ていませんでした。
gcc3をお使いの方には関係ありません。
warning: dereferencing type-punned pointer will break strict-aliasing rules
これは、CFLAGSに、-fno-strict-aliasingを追加すれば解決できます。
FFmpeg関連では、以下のようにします。
1) nasm、libtheora-1.0alpha7の場合(libtheora-1.0beta1以降は不要)、
$ CFLAGS=-fno-strict-aliasing ./configure --prefix=/mingw
$ make
$ make install
2) pthreadsの場合
GNUmakefileの61行目を、以下のように修正します。
修正前) OPT = $(CLEANUP) -O3 -finline-functions
修正後) OPT = $(CLEANUP) -O3 -finline-functions -fno-strict-aliasing
あとは、以下の手順でコンパイルします。
pthreads-w32-2-8-0-release
3) faacの場合(--without-mp4v2 の時は不要)、
$ CXXFLAGS=-fno-strict-aliasing ./configure --prefix=/mingw
$ make
$ make install
4) FFmpeg本体の場合
./configureのオプションに、以下のオプションを追加します。
--extra-cflags=-fno-strict-aliasing
あとは、こちらの記事の手順でコンパイルします。
上記以外では、このwarningは出ていませんでした。
x264をgcc4でコンパイル
2008/4/14追記
以下の修正でも良いのですが、実はXvidの方に問題があるらしい事が判明しました。
Xvidの方を修正すれば、以下の修正は不要です。Xvidかx264のどちらかだけ修正してください。
Xvidについての説明はこちらです。
(追記ここまで)
x264をgcc4でコンパイルしたものは、FFmpegで、-vcodec libx264 を指定するとcrashします。
gcc3では問題ありません。
ググったら、解決方法が書いてあるのを見つけました。
元ネタは、ココです。
common/i386/pixel-sse2.asmの、32〜34行目の間に、
tempb: times 4 db 0
の1行を追加します。
SECTION_RODATA
tempb: times 4 db 0
pw_1: times 8 dw 1
ssim_c1: times 4 dd 416 ; .01*.01*255*255*64
ssim_c2: times 4 dd 235963 ; .03*.03*255*255*64*63
修正後、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
#さんざん悩んだのに、こんな簡単に解決できるなんて…。orz
以下の修正でも良いのですが、実はXvidの方に問題があるらしい事が判明しました。
Xvidの方を修正すれば、以下の修正は不要です。Xvidかx264のどちらかだけ修正してください。
Xvidについての説明はこちらです。
(追記ここまで)
x264をgcc4でコンパイルしたものは、FFmpegで、-vcodec libx264 を指定するとcrashします。
gcc3では問題ありません。
ググったら、解決方法が書いてあるのを見つけました。
元ネタは、ココです。
common/i386/pixel-sse2.asmの、32〜34行目の間に、
tempb: times 4 db 0
の1行を追加します。
SECTION_RODATA
tempb: times 4 db 0
pw_1: times 8 dw 1
ssim_c1: times 4 dd 416 ; .01*.01*255*255*64
ssim_c2: times 4 dd 235963 ; .03*.03*255*255*64*63
修正後、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
#さんざん悩んだのに、こんな簡単に解決できるなんて…。orz
2007年07月31日
libnutのコンパイル&インストール (旧rev.)
2008/8/16追記
最新版に合わせて記事を修正しましたので、こちらの記事をどうぞ。
libnutは、以下の場所にあったようなのですが、Downloadのページがありません。
http://www.nut-container.org/
svnがあれば、以下のように、ソースファイルを拾えます。
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
最新版は、リビジョン505514です。
svnが使えない人はどうしましょう?ということで、探したところ、Gentoo Linuxのパッケージにありました。
http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/libnut-503.tar.bz2
リビジョン503ですが、505と比べたところ、nututils/nutindex.cが違っていただけでしたので、libnutに違いはなさそうです。
#505から514は何が変わったんだろうか???
#使ってないので、気にしないことにしよう(逃
2008/2/9追記
ちょっとずつ変更が入っているようなので、libnut-591のソースを置いておきます。
libnut-591.tar.bz2
以下の説明は、libnut-503をlibnut-591に読み替えてください。
2008/2/14追記
libnut-637に更新しました。
libnut-637.tar.bz2
以下の説明は、libnut-503をlibnut-637に読み替えてください。
2008/4/20追記
libnut-657に更新しました。
libnut-657.tar.bz2
以下の説明は、libnut-503をlibnut-657に読み替えてください。
2008/7/19追記
libnut-658に更新しました。
libnut-658.tar.bz2
以下の説明は、libnut-503をlibnut-658に読み替えてください。
libnut-503.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libnut-503.tar.bz2
$ cd libnut-503
config.makを、以下のように修正します。
1行目
修正前) PREFIX = /usr/local
修正後) PREFIX = /mingw
10行目
修正前) CC = cc
修正後) CC = gcc
次に、libnut/demuxer.cの16行目、ftelloをftellに変更します。
修正前) return ftello(priv);
修正後) return ftell(priv);
以上の修正が終わったら、
$ make
$ make install
以上で終了です。
最新版に合わせて記事を修正しましたので、こちらの記事をどうぞ。
libnutは、以下の場所にあったようなのですが、Downloadのページがありません。
http://www.nut-container.org/
svnがあれば、以下のように、ソースファイルを拾えます。
svn co svn://svn.mplayerhq.hu/nut/src/trunk nut
svnが使えない人はどうしましょう?ということで、探したところ、Gentoo Linuxのパッケージにありました。
http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/libnut-503.tar.bz2
リビジョン503ですが、505と比べたところ、nututils/nutindex.cが違っていただけでしたので、libnutに違いはなさそうです。
#505から514は何が変わったんだろうか???
#使ってないので、気にしないことにしよう(逃
ちょっとずつ変更が入っているようなので、libnut-591のソースを置いておきます。
libnut-591.tar.bz2
以下の説明は、libnut-503をlibnut-591に読み替えてください。
libnut-637に更新しました。
libnut-637.tar.bz2
以下の説明は、libnut-503をlibnut-637に読み替えてください。
libnut-657に更新しました。
libnut-657.tar.bz2
以下の説明は、libnut-503をlibnut-657に読み替えてください。
2008/7/19追記
libnut-658に更新しました。
libnut-658.tar.bz2
以下の説明は、libnut-503をlibnut-658に読み替えてください。
libnut-503.tar.bz2を、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xjf libnut-503.tar.bz2
$ cd libnut-503
config.makを、以下のように修正します。
1行目
修正前) PREFIX = /usr/local
修正後) PREFIX = /mingw
10行目
修正前) CC = cc
修正後) CC = gcc
次に、libnut/demuxer.cの16行目、ftelloをftellに変更します。
修正前) return ftello(priv);
修正後) return ftell(priv);
以上の修正が終わったら、
$ make
$ make install
以上で終了です。
libgsmのコンパイル&インストール
libgsmは、以下の場所にあります。
GSM 06.10 lossy speech compression
http://kbs.cs.tu-berlin.de/~jutta/toast.html
- free sourcecode から、
gsm-1.0.12.tar.gz
gsm-1.0.13.tar.gzを、適当なディレクトリに保存します。
2010/1/7 追記
配布元のサイトが無くなっています。
ソースコードをこちらに置いておきます。
gsm-1.0.13.tar.gz
2010/1/25 追記
サイトはこちらへ移転していました。
ソースコードもダウンロードできます。
http://www.quut.com/gsm/
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf gsm-1.0.13.tar.gz
$ cd gsm-1.0-pl13
Makefileを、以下のように修正します。
74行目
修正前) INSTALL_ROOT =
修正後) INSTALL_ROOT = /mingw
83行目
修正前) GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
修正後) GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
上記の修正を手動でするか、以下のパッチを適用します。
$ patch -p1 < gsm-makefile.diff
以上の修正が終わったら、
$ make
$ make gsminstall
以上で終了です。
makeの時に以下のようなエラーが出ますが、libgsm.aまではmake出来ているので、とりあえず今は無視します。
というか、解決できませんでした。
./src/toast.o:toast.c:(.text+0xcfc): undefined reference to `fchmod'
./src/toast.o:toast.c:(.text+0xd40): undefined reference to `fchown'
collect2: ld returned 1 exit status
make: *** [bin/toast] Error 1
2010/4/12 追記
fchmodとfchown関連のエラー対処用のパッチを作成しました。(Pochiさん情報)
以下のようにパッチを適用してください。
$ patch -p1 < gsm-toast.diff
このパッチにより「toast.exe」などのツールが出来上がるようになります。
FFmpegにはlibgsm関連しか使用しませんので、ツールが必要な方はパッチを適用してください。
GSM 06.10 lossy speech compression
http://kbs.cs.tu-berlin.de/~jutta/toast.html
- free sourcecode から、
gsm-1.0.13.tar.gzを、適当なディレクトリに保存します。
2010/1/7 追記
配布元のサイトが無くなっています。
ソースコードをこちらに置いておきます。
gsm-1.0.13.tar.gz
2010/1/25 追記
サイトはこちらへ移転していました。
ソースコードもダウンロードできます。
http://www.quut.com/gsm/
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf gsm-1.0.13.tar.gz
$ cd gsm-1.0-pl13
Makefileを、以下のように修正します。
74行目
修正前) INSTALL_ROOT =
修正後) INSTALL_ROOT = /mingw
83行目
修正前) GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
修正後) GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
上記の修正を手動でするか、以下のパッチを適用します。
$ patch -p1 < gsm-makefile.diff
以上の修正が終わったら、
$ make
$ make gsminstall
以上で終了です。
makeの時に以下のようなエラーが出ますが、libgsm.aまではmake出来ているので、とりあえず今は無視します。
というか、解決できませんでした。
./src/toast.o:toast.c:(.text+0xcfc): undefined reference to `fchmod'
./src/toast.o:toast.c:(.text+0xd40): undefined reference to `fchown'
collect2: ld returned 1 exit status
make: *** [bin/toast] Error 1
2010/4/12 追記
fchmodとfchown関連のエラー対処用のパッチを作成しました。(Pochiさん情報)
以下のようにパッチを適用してください。
$ patch -p1 < gsm-toast.diff
このパッチにより「toast.exe」などのツールが出来上がるようになります。
FFmpegにはlibgsm関連しか使用しませんので、ツールが必要な方はパッチを適用してください。
2007年07月21日
最適化オプションを付けて、FFmpegをコンパイル
configureの時に、CFLAGSで最適化オプションを追加できます。
Athlon64なら、
CFLAGS="-O4 -mtune=athlon64 -mfpmath=sse -msse"
Pentium4なら、
CFLAGS="-O4 -mtune=pentium4 -mfpmath=sse -msse"
私のマシンはAthlon64なので、
$ CFLAGS="-O4 -mtune=athlon64 -mfpmath=sse -msse" ./configure --enable-memalign-hack --enable-gpl --enable-liba52 --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disable-ffplay --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static
などとしてみたら、ffmpegの変換処理が速くなるかもしれませんが、未確認です。
または、
$ ./configure (上記と同じオプション) --extra-cflags="-O4 -mtune=athlon64 -mfpmath=sse -msse"
などとしても、良いと思います。
Athlon64なら、
CFLAGS="-O4 -mtune=athlon64 -mfpmath=sse -msse"
Pentium4なら、
CFLAGS="-O4 -mtune=pentium4 -mfpmath=sse -msse"
私のマシンはAthlon64なので、
$ CFLAGS="-O4 -mtune=athlon64 -mfpmath=sse -msse" ./configure --enable-memalign-hack --enable-gpl --enable-liba52 --enable-libamr-nb --enable-libamr-wb --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disable-ffplay --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static
などとしてみたら、ffmpegの変換処理が速くなるかもしれませんが、未確認です。
または、
$ ./configure (上記と同じオプション) --extra-cflags="-O4 -mtune=athlon64 -mfpmath=sse -msse"
などとしても、良いと思います。
FFmpegのコンパイル (旧rev.)
いよいよ、FFmpegのコンパイルです。
2007/12/11追記
情報が古い部分もありますので、書き直しました。
こちらの記事をどうぞ。
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より、新しくなっているものもありますので、それぞれの記事で確認してください。
nasm-0.98.39
yasm-0.6.2
pthreads-w32-2-8-0-release
zlib-1.2.3
a52dec-0.7.4
amrnb-6.1.0.4 (3GPP 26104-610)
amrwb-7.0.0.1 (3GPP 26204-700)
faac-1.25
faad2-2.5
gsm-1.0.12
lame-3.97
libnut-503
libogg-1.1.3
libvorbis-1.1.2
libtheora-1.0alpha7
x264 rev.667
xvidcore-1.1.3
続きを読む
2007/12/11追記
情報が古い部分もありますので、書き直しました。
こちらの記事をどうぞ。
以下のライブラリは、あらかじめインストールしておいてください。
この記事を書いた時点より、新しくなっているものもありますので、それぞれの記事で確認してください。
nasm-0.98.39
yasm-0.6.2
pthreads-w32-2-8-0-release
zlib-1.2.3
a52dec-0.7.4
amrnb-6.1.0.4 (3GPP 26104-610)
amrwb-7.0.0.1 (3GPP 26204-700)
faac-1.25
faad2-2.5
gsm-1.0.12
lame-3.97
libnut-503
libogg-1.1.3
libvorbis-1.1.2
libtheora-1.0alpha7
x264 rev.667
xvidcore-1.1.3
続きを読む
x264のコンパイル&インストール (旧rev.)
2008/8/16追記
最新版に合わせて記事を修正しましたので、こちらの記事をどうぞ。
2008/3/30現在、最新版はrev.805です。
svnの方のソースはrev.745で更新が止まっており、現在はgitでのソース管理になりました。
詳細は後日書く予定です。
daily tarballは更新されていますので、とりあえずx264の最新版をコンパイルしてみたいという方は、そちらをどうぞ。
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
2007/7/21現在、最新版はrev.667です。
2007/9/30現在、最新版はrev.680です。
2007/11/21現在、最新版はrev.698です。
2007/11/30現在、最新版はrev.702です。
2007/12/14現在、最新版はrev.712です。
2007/12/23現在、最新版はrev.714です。
2008/1/6現在、最新版はrev.717です。
2008/2/9現在、最新版はrev.736です。
2008/3/1現在、最新版はrev.741です。
2008/3/3現在、最新版は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を、適当なディレクトリに保存します。
毎日更新されていて、日付がファイル名になっていますので、その時点でのファイル名に読み替えてください。
2007/8/18追記
libpthread.aをstaticライブラリにしたら、エラーが出てまともに動きませんでした。
libpthread.aを元に戻したので、configureの修正も不要です。
2007/10/1追記
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"
最新版に合わせて記事を修正しましたので、こちらの記事をどうぞ。
2008/3/30現在、最新版はrev.805です。
svnの方のソースはrev.745で更新が止まっており、現在はgitでのソース管理になりました。
詳細は後日書く予定です。
daily tarballは更新されていますので、とりあえずx264の最新版をコンパイルしてみたいという方は、そちらをどうぞ。
NASMとYasmを、あらかじめインストールしておきます。
x264は、以下の場所にあります。
http://www.videolan.org/developers/x264.html
2008/3/3現在、最新版は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/1追記
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"
Xvidのコンパイル&インストール (1.1.3)
Xvidは、以下の場所にあります。
http://www.xvid.org/
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.1.3 final source code
xvidcore-1.1.3.tar.gzを、適当なディレクトリに保存します。
2008/4/14追記
gcc4でコンパイルする場合は、以下のように修正すると、x264のエンコードでcrashする問題が回避できます。
以下の手順の、bootstrap.shを実行する前に修正します。
xvidcore-1.1.3/src/utils/x86_asm/cpuid.asm
80行目の後に、ALIGN 16を追加。
vendorAMD:
db "AuthenticAMD"
ALIGN 16
後は、以下の手順通りでOKです。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.1.3.tar.gz
$ cd xvidcore-1.1.3
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
xvidcore.aのファイル名を、libxvidcore.aに変更します。
$ mv /mingw/lib/xvidcore.a /mingw/lib/libxvidcore.a
以上で終了です。
http://www.xvid.org/
Developers welcome
More at Xvid codec
から進むと、右の方にソースファイルへのリンクがあります。
Developer Downloads
↓Xvid 1.1.3 final source code
xvidcore-1.1.3.tar.gzを、適当なディレクトリに保存します。
2008/4/14追記
gcc4でコンパイルする場合は、以下のように修正すると、x264のエンコードでcrashする問題が回避できます。
以下の手順の、bootstrap.shを実行する前に修正します。
xvidcore-1.1.3/src/utils/x86_asm/cpuid.asm
80行目の後に、ALIGN 16を追加。
vendorAMD:
db "AuthenticAMD"
ALIGN 16
後は、以下の手順通りでOKです。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf xvidcore-1.1.3.tar.gz
$ cd xvidcore-1.1.3
$ cd build/generic/
$ ./bootstrap.sh
$ ./configure --prefix=/mingw
$ make
$ make install
xvidcore.aのファイル名を、libxvidcore.aに変更します。
$ mv /mingw/lib/xvidcore.a /mingw/lib/libxvidcore.a
以上で終了です。
LAME (libmp3lame) のコンパイル&インストール
NASMを、あらかじめインストールしておきます。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.97
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-3.97.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-3.97.tar.gz
$ cd lame-3.97
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
2008/5/25追記
最新のβ版は3.98 beta8です。
lame-3.97をlame-3.98b8に読み替えて、上記と同じ手順でコンパイル出来ます。
2008/7/7追記
最新のβ版は3.98です。
lame-3.97をlame-398に読み替えて、上記と同じ手順でコンパイル出来ます。
2008/10/11追記
最新版は3.98.2です。
※相変わらず、公式ページでは3.98.1のまま修正されていません。
lame-3.97をlame-398-2に読み替えて、上記と同じ手順でコンパイル出来ます。
FFmpegで使用する時は、-acodec libmp3lame です。
LAMEは、以下の場所にあります。
http://lame.sourceforge.net/index.php
Get LAMEから、
http://lame.sourceforge.net/download.php
Current Versions
The current release version of LAME is 3.97
Source code tarballs of these versions can be downloaded from SourceForge.
より、ダウンロードページに進み、
lame-3.97.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf lame-3.97.tar.gz
$ cd lame-3.97
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
最新のβ版は3.98 beta8です。
lame-3.97をlame-3.98b8に読み替えて、上記と同じ手順でコンパイル出来ます。
最新のβ版は3.98です。
lame-3.97をlame-398に読み替えて、上記と同じ手順でコンパイル出来ます。
2008/10/11追記
最新版は3.98.2です。
※相変わらず、公式ページでは3.98.1のまま修正されていません。
lame-3.97をlame-398-2に読み替えて、上記と同じ手順でコンパイル出来ます。
FFmpegで使用する時は、-acodec libmp3lame です。
libfaadのコンパイル&インストール (2.5)
2007/10/26現在、faad2-2.6が最新です。こちらの記事をどうぞ。
libfaadは、以下の場所にあります。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
faad2-srcのDownloadページから、
faad2-2.5.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faad2-2.5.tar.gz
$ cd faad2
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
configure.inの120行目の後に、以下のようにelseから2行追加します。
if test x$WITHBMP = xyes; then
AC_DEFINE([HAVE_BMP], 1, [User wants beep media player plugin built])
AM_CONDITIONAL([HAVE_XMMS], true)
AM_CONDITIONAL([HAVE_BMP], true)
else
AM_CONDITIONAL([HAVE_BMP], false)
fi
common/mp4ff/mp4ff_int_types.hの、4行目を以下のように修正します。
修正前) #if defined (_WIN32)
修正後) #if defined (_WIN32) && !defined (__MINGW32__)
pluginsディレクトリの下に、bmpディレクトリを作成します。
$ mkdir plugins/bmp
2007/9/15追記
plugins/Makefile.amの、12行目のbmpを削除します。
修正前) SUBDIRS = bmp
修正後) SUBDIRS =
2007/9/30追記
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要です。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
bootstrapの時にメッセージが出ますが、最後に、
Ready to run ./configure
と、なっていればbootstrapは問題ありません。
libfaadは、以下の場所にあります。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
faad2-srcのDownloadページから、
faad2-2.5.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faad2-2.5.tar.gz
$ cd faad2
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
configure.inの120行目の後に、以下のようにelseから2行追加します。
if test x$WITHBMP = xyes; then
AC_DEFINE([HAVE_BMP], 1, [User wants beep media player plugin built])
AM_CONDITIONAL([HAVE_XMMS], true)
AM_CONDITIONAL([HAVE_BMP], true)
else
AM_CONDITIONAL([HAVE_BMP], false)
fi
common/mp4ff/mp4ff_int_types.hの、4行目を以下のように修正します。
修正前) #if defined (_WIN32)
修正後) #if defined (_WIN32) && !defined (__MINGW32__)
$ mkdir plugins/bmp
2007/9/15追記
plugins/Makefile.amの、12行目のbmpを削除します。
修正前) SUBDIRS = bmp
修正後) SUBDIRS =
2007/9/30追記
gcc4でコンパイルする時は、以下の修正も必要です。
gcc3では不要です。
frontend/main.cの36行目をコメントアウト、または、削除します。
修正前) #define off_t __int64
修正前) /*#define off_t __int64*/
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
bootstrapの時にメッセージが出ますが、最後に、
Ready to run ./configure
と、なっていればbootstrapは問題ありません。
libfaacのコンパイル&インストール (1.25〜1.26)
2007/10/26現在、faac-1.26が最新です。
以下の記事は、faac-1.26と読み替えてください。
libfaacは、以下の場所にあります。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
faac-srcのDownloadページから、
faac-1.25.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faac-1.25.tar.gz
$ cd faac
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
2007/10/3追記
mp4v2もコンパイルできるように、パッチファイルを作りました。> dさん ありがとうございます。
パッチファイルfaac-mp4v2.diffをダウンロードして、以下のコマンドを実行。
$ patch -p0 < faac-mp4v2.diff
これで、./configureで --without-mp4v2 を付けなくてもコンパイルできます。
パッチを適用しない場合は、--without-mp4v2 を付けてください。
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw--without-mp4v2
$ make
$ make install
以上で終了です。
mp4v2関連は、makeがエラーで止まってしまいます。
色々いじってみたのですが、結局原因がつかめず、--without-mp4v2にしてしまいました。
以下の記事は、faac-1.26と読み替えてください。
libfaacは、以下の場所にあります。
http://sourceforge.net/projects/faac/
Download Freeware Advanced
Audio Coder ↓
というボタンをクリック。
faac-srcのDownloadページから、
faac-1.25.tar.gzを、適当なディレクトリに保存します。
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf faac-1.25.tar.gz
$ cd faac
bootstrap、configure.inの、改行コード\rを修正します。
$ mv bootstrap bootstrap.bak
$ tr -d \\r < bootstrap.bak > bootstrap
$ mv configure.in configure.in.bak
$ tr -d \\r < configure.in.bak > configure.in
2007/10/3追記
mp4v2もコンパイルできるように、パッチファイルを作りました。> dさん ありがとうございます。
パッチファイルfaac-mp4v2.diffをダウンロードして、以下のコマンドを実行。
$ patch -p0 < faac-mp4v2.diff
これで、./configureで --without-mp4v2 を付けなくてもコンパイルできます。
パッチを適用しない場合は、--without-mp4v2 を付けてください。
以上の修正が終わったら、
$ ./bootstrap
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
色々いじってみたのですが、結局原因がつかめず、--without-mp4v2にしてしまいました。
libogg、libvorbis、libtheoraのコンパイル&インストール
libogg、libvorbis、libtheoraは、以下の場所にあります。
http://xiph.org/
2007/8/6
libvorbisのバージョンが、1.1.2から1.2.0になっていました。
2007/9/30
libtheoraのバージョンが、1.0alpha7から1.0beta1になっていました。
2007/10/26
libtheoraの最新版は、1.0beta2です。
2008/7/7
libtheoraの最新版は、1.0beta3です。
2008/11/9
libtheoraの最新版は、1.0です。
2009/7/9
liboggの最新版は、1.1.4です。
libvorbisの最新版は、1.2.2です。
2009/7/11
libvorbisの最新版は、1.2.3です。
2009/11/25
libtheoraの最新版は、1.1.1です。
左の方の、Downloadsから、
http://xiph.org/downloads/
libogg-1.1.4.tar.gz
libvorbis-1.2.3.tar.gz
libtheora-1.0beta3.tar.gz
libtheora-1.1.1.tar.bz2
を、適当なディレクトリに保存します。
(1) libogg
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libogg-1.1.4.tar.gz
$ cd libogg-1.1.4
$ ./configure --prefix=/mingw
$ make
$ make install
(2) libvorbis
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libvorbis-1.2.3.tar.gz
$ cd libvorbis-1.2.3
lib/Makefile.inを修正します。
267行目に、-loggを追加
libvorbisfile_la_LIBADD = libvorbis.la -logg
以上の修正が終わったら、
$ ./configure --prefix=/mingw
$ make
$ make install
libvorbisencとlibvorbisfileのインストールの時にエラーでストップしてしまう場合は、もう1回「make install」すればインストーできます。
(3) libtheora
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libtheora-1.0beta2.tar.gz
$ cd libtheora-1.0beta2
lib/dsp.hを修正します。
22行目をコメントアウト
/*typedef unsigned long int ogg_uint64_t;*/
以上の修正が終わったら、
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libtheora-1.0beta3.tar.gz
$ cd libtheora-1.0beta3
include/theora/codec.hを修正します。
70行目に以下の1行を追加。
#include <stddef.h>
以上の修正が終わったら、
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libtheora-1.0beta3.tar.gz
$ cd libtheora-1.0beta3
$ tar xjf libtheora-1.1.1.tar.bz2
$ cd libtheora-1.1.1
そのまま、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。
http://xiph.org/
libvorbisのバージョンが、1.1.2から1.2.0になっていました。
libtheoraのバージョンが、1.0alpha7から1.0beta1になっていました。
libtheoraの最新版は、1.0beta2です。
libtheoraの最新版は、1.0beta3です。
2008/11/9
2009/7/9
liboggの最新版は、1.1.4です。
2009/7/11
libvorbisの最新版は、1.2.3です。
2009/11/25
libtheoraの最新版は、1.1.1です。
左の方の、Downloadsから、
http://xiph.org/downloads/
libogg-1.1.4.tar.gz
libvorbis-1.2.3.tar.gz
libtheora-1.1.1.tar.bz2
を、適当なディレクトリに保存します。
(1) libogg
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libogg-1.1.4.tar.gz
$ cd libogg-1.1.4
$ ./configure --prefix=/mingw
$ make
$ make install
(2) libvorbis
MSYSで、ファイルを保存したディレクトリに移動し、
$ tar xzf libvorbis-1.2.3.tar.gz
$ cd libvorbis-1.2.3
267行目に、-loggを追加
libvorbisfile_la_LIBADD = libvorbis.la -logg
$ ./configure --prefix=/mingw
$ make
$ make install
libvorbisencとlibvorbisfileのインストールの時にエラーでストップしてしまう場合は、もう1回「make install」すればインストーできます。
(3) libtheora
$ tar xzf libtheora-1.0beta2.tar.gz
$ cd libtheora-1.0beta2
22行目をコメントアウト
/*typedef unsigned long int ogg_uint64_t;*/
$ tar xzf libtheora-1.0beta3.tar.gz
$ cd libtheora-1.0beta3
70行目に以下の1行を追加。
#include <stddef.h>
MSYSで、ファイルを保存したディレクトリに移動し、
$ cd libtheora-1.0beta3
$ tar xjf libtheora-1.1.1.tar.bz2
$ cd libtheora-1.1.1
そのまま、
$ ./configure --prefix=/mingw
$ make
$ make install
以上で終了です。


