・vbv-maxrate, vbv-bufsizeの入力欄追加。おまけで自動機能付。あわせてx264guiEx.ini更新。
場所がないので、
-1 で (x264guiExによる)自動指定。エンコード時に計算される。
0 で 指定しない。(デフォルト)
というふうになるようにしてある。
自動フィールドシフト時は、あとからタイムコードをいじる以上、VBV計算が正しく反映されるわけではないので注意。tcfile-inを使えればいいんだけど、自動フィールドシフトでタイムコードファイルを作るには一回エンコードしないと作れないので、1passではできない。
あといろいろと。
・timebaseがコマンド入力欄から「画面に反映」をクリックしても反映されない問題を修正。
・プリセット「アニメ(高画質)」を素直に--tune animationに。不勉強な人間が勝手に変な設定を作ってすまなかった。
・x264guiExDefault.iniのbaseline profileの記述に--no-interlacedが抜けていたので追加。
・GUI上でタブで飛ぶと変なとこにワープしまくるのを修正。
・コードを多少整理。
ダウンロード>>
VBVの自動指定は、動画の H.264 Level にあわせて、その Level における最大値を指定。
自動指定の例は…
1280x720p, 29.97fps, High, ref=5, Level=Auto -> vbv-maxrate 17500 vbv-bufsize 17500
1280x720p, 29.97fps, High, ref=9, Level=Auto -> vbv-maxrate 25000 vbv-bufsize 31250
1280x720p, 29.97fps, High, ref=5, Level=4.1 -> vbv-maxrate 25000 vbv-bifsize 31250
PS3とかPSPとかの機器固有の制限値とか、あるいはこだわりの値とか、そういうその他の値を指定したい方は手動で。
VBVとかLevelについては、こちらを参考にさせていただきました。ありがとうございます。
猫科研究所様 の x264(vbv-maxrate,vbv-bufsize,profile,level), H.264(Profile/Level)
H.264/MPEG-4 AVC - Wikipedia(英語版)x264のencoder/set.c