今回特に変わったことはありませんので、前のrev.が動作していた環境でなら問題なく動作すると思います。
前回から、xvidcore-1.2のマルチスレッドを動作させるために、ちょっとソースを修正したのですが、詳細は後日。
ffmpeg_bin-15413.zip
ffmpeg_bin_pentium4-15413.zip (Pentium4最適化版)
ffmpeg_bin_athlon64-15413.zip (Athlon64最適化版)
以下のライブラリをアップデートしました。
x264 r987
今回も自前でビルドしたMinGW gcc4.3.2を使用しています。
バイナリはどれを使っても大丈夫だと思いますが、SSE2に対応していないCPU(Sempronの一部など)をお使いの方は、最適化無し版を使ってみてください。
zipファイルを解凍すると、ffmpeg.exeが出てきますので、携帯動画変換君のcoresフォルダに置くなり、単体で使うなりしてください。
pthreadGC2.dllは不要です。
携帯動画変換君のffmpeg.exeとは、オプションの互換性がありませんので、上書きする際はご注意ください。
携帯動画変換君の設定は、こちらの記事を参考にしてください。
FFmpegのコンパイルは、こちらの記事を参考にしてください。
iPod、iPhone、携帯での動画再生におすすめの、リチウム電池内蔵AC充電器はこちら。
コンパイル環境:MinGW gcc4.3.2
各ライブラリのバージョンは、以下の通りです。
nasm-2.03.01
yasm-0.7.1
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
libnut-659
libogg-1.1.3
libvorbis-1.2.0
libtheora-1.0beta3
x264 rev.987
xvidcore-1.2
最適化オプションは、以下のようにしています。
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-postproc --enable-swscale --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のメッセージはこちら。



xvidですが、前回と比較しましたがcpu使
用率,fpsともあまり違いはなさそうでし
た。環境は、athlon64 4050eです。
今回比較したソースでは、前回のverと比
べて、cpu使用率80-85%,エンコード速度
30fps程度で違いがわかりませんでした。
自分もxvidのSMP対応版をあべちんさんのビルドと
自分でのビルドとで試してみました。
自分の環境はデュアルコア (Core2) なんですが、
-threads 0 と -threads 1 は両方ともシングルスレッドで変わらず、
-threads 2 以上にするとマルチスレッドで動くようになってました。
ただ、xvidのSMP対応は今のところ動き検索の部分だけなので、
元がそこそこ早いCPUでffmpegのデフォルト設定(軽めのオプション)だと、
マルチスレッドで動かしてもあんまりスピード向上は体感できない気がします。
・解像度が大きい場合
・-me_method full とかの重いオプションの場合
はマルチスレッドにするとそれなり(1.2〜1.3倍くらい)には速くなるようです。
最近MinGWのruntimeとw32apiが更新されていて、
ffmpegの方もr15423あたりの変更でこれにあわせたようです。
自分のところではlibavdeviceのコンパイルでエラーになったので、
mingwrt-3.15-mingw32-dev.tar.gz
mingwrt-3.15-mingw32-dll.tar.gz
w32api-3.12-mingw32-dev.tar.gz
の3つをDLしてきて更新したら無事コンパイルできました。