カラマネに対応している OBS Studio の設定とかについて書きます。
↑カラマネ用ブランチです。
1. transfer
ガンマカーブですね。OETF のカーブでは次のような曲線になります。
xvYCC は BT.709 の 0~1 以外の範囲を定義したいわゆる拡張規格で,出力は xvYCC 固定になっています。このあたりはおいおい追加するか BT.709 をデフォにするか検討します。
デフォルトに関しては xvYCC 固定です。
2. colorprim
色域変換のための行列決定ですね。BT.2020 と BT.709 といった色空間を変更し,適切な RGB 値にマッピングさせます。
BT.709 と BT.2020 の色域の比較は以下を見るとよいでしょう。
http://trendy.nikkeibp.co.jp/article/column/20150629/1065402/?SS=expand-digital&FD=-102139740
当然 BT.2020 のほうが広いですから,RGB(255, 0, 0) といった信号を BT.709 で表すことはできません。しかし表現できる限界まで飽和させます。
デフォルトに関しては次のようなアルゴリズムで決定します。
if (width <= 720 && height <= 486) VIDEO_CP_NTSC; else if (width <= 720 && height <= 576) VIDEO_CP_PAL; else if (width == 4096 && height == 2160) VIDEO_CP_DCI_P3; else if (width >= 3840 && height >= 2160) VIDEO_CP_PAL; else VIDEO_CP_BT709;
3. colormatrix
YUV⇔RGB 変換行列です。ここだけは映像知識かじっている人はよく聞く話なので割愛します。
デフォルトに関しては次のようなアルゴリズムで決定します。
if (height < 720) VIDEO_CM_BT601; else if (height >= 2160) VIDEO_CM_BT2020NC; else VIDEO_CM_BT709;
最後に
作成者は Adobe RGB や BT.2020 を正しく表示できる環境を持っていないため,実際の画面と比較して報告いただけるとうれしいです。