MinGW公式サイトで、binutils-2.19とmingwrt-3.15.2がリリースされていましたので、コンパイル環境をアップデートして、ライブラリ一式コンパイルし直しました。
2009/1/27 追記
libavcodec/libmp3lame.c に不具合があるらしく、音声にlameを指定するとエンコードの最後に落ちます。
AACなどは大丈夫ですが、lameを使いたい場合は、とりあえず過去のrev.をご利用下さい。
ffmpeg_bin_pentium4-16686.zip (Pentium4最適化版)
ffmpeg_bin_core2-16686.zip (Core2最適化版)
ffmpeg_bin_athlon64-16686.zip (Athlon64最適化版)
2013/02/09 削除しました。
以下のライブラリをアップデートしました。
x264 rev.1084
今回も自前でビルドしたMinGW gcc4.3.2を使用しています。
バイナリはどれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Sempronの一部など)をお使いの方は、最適化無し版を使ってみてください。
zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。
pthreadGC2.dllは不要です。
携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。
携帯動画変換君の設定は、こちらの記事を参考にしてください。
FFmpegのコンパイルは、こちらの記事を参考にしてください。
コンパイル環境:MinGW gcc4.3.2
各ライブラリのバージョンは、以下の通りです。
nasm-2.05.1
yasm-0.7.2
pthreads-w32 release 2.9.0
zlib-1.2.3
a52dec-0.7.5-cvs
faac-1.26
faad2-2.6.1
gsm-1.0.12
lame-398-2
libnut-661
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0
x264 rev.1084
xvidcore-1.2.1
最適化オプションは、以下のようにしています。
configureのオプションに--enable-smallを付けると、gccのオプションに-Osが付き、-O4にしても無駄なことが分かりましたので、-O4は外しました。
--enable-smallを付けなければ、gccのオプションに-O3が付きます。
最適化無し版
--extra-cflags="-mtune=generic -mno-sse2"
Pentium4最適化版
--extra-cflags="-mtune=pentium4 -mfpmath=sse -msse"
Core2最適化版
--extra-cflags="-mtune=core2 -mfpmath=sse -msse"
Athlon64最適化版
--extra-cflags="-mtune=athlon64 -mfpmath=sse -msse"
configureオプションは以下の通りです。
$ ./configure --enable-memalign-hack --enable-postproc --enable-swscale --enable-gpl --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="-mtune=athlon64 -mfpmath=sse -msse"
※--extra-cflagsは、最適化の種類により異なります。
configureのメッセージはこちら。



今回もビルドお疲れ様です。
早速ありがたく使わせていただきます!
私が作ったのはffmpegのフロントエンドなので、機能のほとんどをffmpegに頼っています。このフロントエンドが能力を発揮できるのは管理人様のおかげです。むしろ、おかげというよりメインです!(笑
コメントありがとうございます。
私はコンパイルしているだけなので、たいしたことないですよ(笑
yuheiさんも、ffmpegのコンパイルに挑戦してみてはいかがですか?
初コメです。
PSPや携帯用に変換する際には、いつもお世話になってます。
今回もありがたく使わせていただこうと思い、早速 変換君に上書きしたのですが。
mp3に変換した際、最後にエラーが出てしまうんですよ。
ググッてみるとCraving Explorerでも内臓のffmpegで同じ症状が出るみたいでして。
16538より新しいものだとこうなるみたいですね。
一応対応策はあるようなのですが、自分でコンパイルするのは無謀すぎるので。
バイナリィはそのままで、解決策はないでしょうか?
長々とすいません。
しばらく音声はAACしか使っていなかったので気がつきませんでした(><)
Craving Explorerでググったらパッチが見つかりましたので、近いうちに試してみます。
ffmpegのオプションで逃げられないか探してみたのですが、分かりませんでした。
申し訳ありませんが、とりあえずrev.16517をご利用下さい。
やはり、バッチ使うしかないみたいですね。
わざわざ調べていただいたようで、どうもありがとうございました。
最近PSP用に再エンコする際に使ってた携帯動画変換君の中のFFMpegを、rev9133からこちらのビルドに変えて使わせていただいております。
が、変換元がHE-AACでエンコされてる場合に
[aac @ 0x16001e0]SBR not implemented. Update your FFmpeg version to the newest one from SVN. If the problem still occurs, it means that your file has a feature which has not been implemented.
といったエラーがずらっと表示されるようになりました。
エラーが出るだけで、ちゃんとエンコはできるので問題ないと言えば問題ないんですが、気になるもので…
何か対処法等がありましたらお願いします。
Craving ExplorerのWikiにあったパッチを使わせていただいて修正しましたので、rev.16905を使用してみてください。
私が試した限りでは大丈夫でした。
よろしくお願いします。
Craving Explorerのサポート掲示板で同様の問題が挙がっていました。
rev.16905で修正しましたので、試してみてください。
HE-AACのデコードは出来るようになりますが、エンコードには対応していないようです。
MobileHackerzさんのところには、Nero AAC Codecを携帯動画変換君で使う方法がありました。
早速試しましたが、mp3 HE-AAC共に問題ありませんでした。
ありがたく使わせていただきます。
報告が遅くなりましたが、無事にHE-AACのデコードができました。
ありがとうございました!!