2008年02月03日

FFmpeg rev.11825 ダウンロード

最近、すごい勢いでFFmpegのrev.が上がっている今日この頃、皆様いかがお過ごしでしょうか。

2008/2/3時点でのFFmpeg最新版、rev.11825のWindows用バイナリを置いておきます。

ffmpeg_bin-11825.zip

ffmpeg_bin_pentium4-11825.zip (Pentium4最適化版)

ffmpeg_bin_athlon64-11825.zip (Athlon64最適化版)

2008/09/15 削除しました。

以下のライブラリをアップデートしました。
libnut-571

3種類どれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Sempronの一部など)をお使いの方は、最適化無し版を使ってみてください。
3種類全部ダメだったという方は…。
すみません、私も分かりません。

zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。
pthreadGC2.dllは不要です。

携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。

携帯動画変換君の設定は、こちらの記事を参考にしてください。

FFmpegのコンパイルは、こちらの記事を参考にしてください。

コンパイル環境:MinGW gcc4.2.2

各ライブラリのバージョンは、以下の通りです。
nasm-2.01
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-571
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0beta2
x264 rev.736
xvidcore-1.1.3

最適化オプションは、以下のようにしています。
configureのオプションに--enable-smallを付けると、gccのオプションに-Osが付き、-O4にしても無駄なことが分かりましたので、-O4は外しました。
--enable-smallを付けなければ、gccのオプションに-O3が付きます。

最適化無し版
--extra-cflags="-mtune=generic -mno-sse2 -fno-strict-aliasing"

Pentium4最適化版
--extra-cflags="-mtune=pentium4 -mfpmath=sse -msse -fno-strict-aliasing"

Athlon64最適化版
--extra-cflags="-mtune=athlon64 -mfpmath=sse -msse -fno-strict-aliasing"

configureオプションは以下の通りです。
$ ./configure --enable-memalign-hack --enable-pp --enable-swscaler --enable-gpl --enable-liba52 --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --disable-ffplay --enable-avisynth --enable-small --enable-pthreads --extra-ldflags=-static --extra-cflags="-fno-strict-aliasing"

configureのメッセージはこちら
posted by あべちん at 15:00 | Comment(14) | TrackBack(0) | FFmpegダウンロード
この記事へのコメント
管理人さんこんにちは

一気に200ぐらいリビジョンがあがりましたね
更新の大半がconstですが。。。

GCC2.2.3も正規リリースされたようです
CORE系の最適化とかSSE4対応が気になりますね
Posted by 蓄電 at 2008年02月04日 13:43
GCC4.2.3でした_no

しかも
CORE系の最適化とかSSE4対応は
GCC4.3です_no
Posted by 蓄電 at 2008年02月05日 00:09
蓄電さん、こんにちは。
早速、GCC4.2.3をビルドして使ってみました。
TDMさんの所でも、GCC4.2.3が上がってますね。
FFmpegをコンパイルしてみましたが、GCC4.2.2の時よりもバイナリが小さくなるようです。
詳細は、また後ほどご報告します。
Posted by あべちん at 2008年02月05日 08:23
GCC4.2.3 TDMさんのGCCを使ってコンパイルしてみましたが
FAACがコンパイルできませんでした

/bin/sh ../libtool --mode=link gcc -O2 -Wall -o faac.exe main.o input.o ../libfaac/libfaac.la ../common/mp4v2/libmp4v2.la -lm -lstdc++ -lws2_32
mkdir .libs
libtool: link: cannot find the library `/extra/gccbuild/cross-gcc/mingw32/lib/libstdc++.la'
make[2]: *** [faac.exe] Error 1
make[2]: Leaving directory `/home/install/faac/frontend'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/install/faac'
make: *** [all] Error 2

libstdc++.laのPASSがおかしくなっています
configureでもエラーが出たので原因を調べています

そのほかはうまくコンパイルできました
Posted by 蓄電 at 2008年02月05日 12:26
FAACのコンパイルの検証してみました

configreのほうはこれが気になりました
./configure: line 12907: -print-search-dirs: command not found
./configure: line 13035: -print-search-dirs: command not found

configreに
--without-mp4v2
をつけると
上のエラーは出たままですが
FAACのコンパイルは通るようになりました



Posted by 蓄電 at 2008年02月05日 20:01
hi,

first,
thanks for the regular builds.
it's very nice to have constant updates.

I just wanted to say that your compiles can't properly encode DV.
At first I thought it was an ffmpeg bug, but then i saw it was only your versions.

I believe if you re-order the configure options it will work,
particularly if you set --enable-memalign_hack further down the chain.

also have a friend with an old athlon, and all your versions crash

ty
tripp
Posted by お名前 at 2008年02月06日 17:29
Hi,
thank you for your visit and comments.

What is '--enable-memalign_hack' and '--enable-memalign-hack' difference?

First, please try this liknk below.
http://ffdshow.faireal.net/mirror/ffmpeg/

abechin
Posted by あべちん at 2008年02月09日 14:11
蓄電さん、こんにちは。
TDMさんのGCCに問題があるのでしょうかね?
自前でビルドしたGCC4.2.3では、faacもコンパイル出来ました。
需要があるようなら、GCCをビルドする手順なども書こうかと思ってはいるんですけど。
Posted by あべちん at 2008年02月09日 14:19
管理人さん こんにちは

開発用PCのHDDが飛んでしまい
環境構築しなおすついでに
いくつか試したら

GCCのビルドできました!!
FAACも通りました!!
ほかのコンパイルも通りました!

FFMPEG以外。。。。。_no

現在エラーの原因調査中です
でも一歩前進した感じがします

ありがとうございます

また2chのほうで僕のパッチをさらに追加してくれた人がいます
こちらのほうも公開したかいがあったと
うれしいです
Posted by 蓄電 at 2008年02月16日 09:16
In file included from libfaac.c:28:
d:/app/mingw/include/faac.h:53: error: redefinition of typedef 'int32_t'
d:/app/mingw/include/stdint.h:31: error: previous declaration of 'int32_t' was here
make[1]: *** [libfaac.o] Error 1

ってエラーが出ます
53行目のtypedef int int32_t;をコメントアウトすればコンパイルは通るのですが
エンコードしようとするとエラーで落ちてしまいます
うーんGCCのビルドがおかしいのかな・・・

もうちょっと調べてみます
Posted by 蓄電 at 2008年02月16日 16:55
土日でいろいろ試しましたが
やはりGCCのビルドはできても
FFMPEGのビルドはできません
MINGWでのGCCビルド情報は少なく
クロスコンパイル環境でのビルド方法や
LINUXでのGCCビルド方法を参考にしていますが

時間があるときでいいのであべちんさんの手順を教えてもらえていただけないでしょうか?

Posted by 蓄電 at 2008年02月19日 01:02
蓄電さん、こんにちは。
TDMさんのgcc4.2.3でfaacをコンパイルしてみましたが、エラーが出てコンパイル出来ませんでした。
やっぱり、なにか違うのかもしれません。

gccのビルドは、MinGW本家のgcc4.2.1のshスクリプトを修正して使っています。

shスクリプトは、こんな感じです。
−−−ここから−−−
DEST=/develop/sandpit/sjlj/
../gcc-4.2.3/configure --with-gcc --enable-libgomp --with-arch=athlon64 --with-tune=athlon64 --disable-werror --prefix=/mingw --with-local-prefix=/mingw --enable-threads --disable-nls --disable-libstdcxx-pch --enable-languages=c,c++,objc,obj-c++ --disable-win32-registry --enable-sjlj-exceptions --enable-libstdcxx-debug --enable-cxx-flags='-fno-function-sections -fno-data-sections' --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --disable-bootstrap
make -j4 BOOT_CFLAGS="-O2 -D__USE_MINGW_ACCESS" CFLAGS="-O2 -D__USE_MINGW_ACCESS" CXXFLAGS="-mthreads -O2" LDFLAGS="-s" 2>err.log 1>out.log
make DESTDIR=${DEST} install
−−−ここまで−−−

ソースを展開したgcc-4.2.3と同じ階層に、buildなどの名前でディレクトリを作成して、そのディレクトリでビルドしています。

gcc-4.2.3のソースの他に、以下のものをインストールしています。
libiconv-1.11.1
上記に対するパッチ
libiconv-1.11.1-ja-1.patch.gz
http://www2d.biglobe.ne.jp/~msyk/software/libiconv-patch.html
pthreads-w32-2-8-0-release
gmp-4.2.2
mpfr-2.3.1
gnuwin32のbison-2.1

その他、pthreads-w32-2-8-0-releaseをstaticにしている場合、
gcc-4.2.2/libgomp/configure 8515行目
gcc-4.2.2/libgomp/configure.ac
177行目
LIBS="-lpthread $LIBS" を
LIBS="-lpthread -lwsock32 -DPTW32_STATIC_LIB $LIBS" に修正します。
通常は修正不要です。

そのうち、ちゃんとまとめようと思っていますが、とりあえず今日はここまで。
Posted by あべちん at 2008年02月20日 02:04
ありがとうございます
bisonはMSYSのを入れていて
pthreadsはGCC構築後に入れてました
libiconvは1.12でエラーが出てたので
MINGW用って言うのを見つけたのでそれを入れてました

今度の休みでチャレンジしてみたいと思います

いつも本当にありがとうございます
Posted by 蓄電 at 2008年02月21日 04:35
休みまで待てず
試してみました
無事にFFMPEGをコンパイルすることができました
ありがとうございます

Posted by 蓄電 at 2008年02月22日 04:08
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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