b_pyramid: Bフレームを2以上にしているならこのオプションも使うと良いでしょう。man page にあるとおり、速度低下抜きで若干の画質向上が得られます。概ね2005年3月以前のlibavcodecベース・デコーダではデコード出来ない事に注意して下さい。
一部のBフレームを参照フレームに使えるようにする。他のフレームがBを参照できるようになるので符号化効率があがる。2枚以上のBフレームが必要で、デコーダー・ラグが2になる事がある。この機能はデフォルトではオフ。コマンドラインに --b-pyramid と追加すると使えるようになる。
Bフレームを参照フレーム~他のフレームが予測に使う~に使うことを許可する。
例えば、連続したBフレームが3個あるとしよう。
I0 B1 B2 B3 P4
b_pyramidオプション抜きの場合、 BフレームはMPEG-1/2/4と同じパターンに従う。つまりこれらは
I0 P4 B1 B2 B3
の順番で符号化され、全てのBフレームは I0 とP4 をベースに予測される。
b_pyramidオプション有りの場合、これらは
I0 P4 B2 B1 B3
の順番で符号化される。B2は上記と同じだが、B1は I0 と B2 を、B3 は B2 と P4 をベースに予測される。
この結果、速度低下抜きで圧縮率が僅かに向上する。
しかしながら、このオプションはまだ実験段階だ。:チューニングは未熟で必ずしも効果があるとは限らない。
オプションのbframesは2以上でなければならない。
デメリット:Decoding Delay が2フレームに増える。