以前コメントいただいたように、最近のx265では、1つの実行ファイルに8bit/10bit/12bitを含めることができるようになっていて、わざわざexeファイルを分ける必要はない。(multilibバイナリ)
そこで、x265をmultilibとしてビルドしつつ、懲りずにVisula StudioでPGOビルドした。
…ちょうどはいろいろ便利そうなVisula Studio 2015が出た時期にあれなんだけれど、Visual Studio 2013で記事は書いてしまった。
※追記 2015.07.28
現在LTCGあるいはPGOでビルドすると、12bitの出力がおかしくなる問題があるようです。そのため、記事中から12bitのビルドを削除し、8bit + 10bitのみの記述に変更しました。
ビルドの準備
Visual Studio Community 2013CMake (Win32 Installer をダウンロード)
Mercurial (MSI installer かInno Setup installerのどちらかを)
yasm適当なy4mファイル (ffmpegとかで自分で作るか、
このあたりから適当に bus_cif.y4mとかで)
ffmpegでy4mを作る場合、
ffmpeg.exe -y -i <ソース動画> -an -pix_fmt yuv420p -f yuv4mpegpipe -frame 240 <出力.y4m>
とかで作れば良いと思う。
1. インストーラに従ってVisual Studio Community 2013をインストール。ダウンロード・インストール方法は
こちら。
2. インストーラに従ってMericurialをインストール。環境変数を設定してもらうのを忘れないようにする。

3. インストーラに従ってCMakeをインストール。環境変数を設定してもらうのを忘れないようにする。

4.ダウンロードしたyasmをパスの通じているところへ配置する。さっきCMakeのbinにパスを通しているので、Cmake\binに放り込んだ。

5. ひとまず、コマンドプロンプトで、
がそれぞれ反応があるか確かめる。
これで準備は完了。
ビルド実行
これで終わり。
効果確認
環境Win 8.1 x64
Core i7 5960X (8C/16T, L3=20MB)
Core 4.4GHz / Cache 3.8GHz
DDR4-2666, 4ch, 32GB
Aviutl 1.00
lwinput r785
x265guiEx 3.62(仮) (VS2015対応、mutlilib対応版)…週末公開予定
ソース
Charlotte OP を一度x265 + x264guiEx + afsでエンコードしたもの。
1920x1080p 23.976fps 約1分30秒
x265.exe 1.7+357 x64 8bit/10bit
・PGOビルド
・普通のLTCGビルド
x265 オプション
--preset slow --crf 21 --pmode --amp --weightb
結果 | LTCG | PGO | 高速化率 |
---|
8bit | 4.28 fps | 4.38 fps | +2.3% |
---|
10bit | 2.41 fps | 2.48 fps | +2.9% |
---|
8bit /
普通のLTCGビルド (4.28 fps)
8bit /
PGOビルド (4.38 fps)
10bit /
普通のLTCGビルド (2.41 fps)
10bit /
PGOビルド (2.48 fps)

わずかだが、少し速い。
まあただ、重いところはアセンブラで高速化されているのだろうし、効果は限定的だと思う。
スポンサーサイト