DXVA2_VideoTransferFunction列挙 (dxva2api.h)
線形 RGB から非線形 RGB (R'G'B') への変換関数を指定します。 これらのフラグは、DXVA2_ExtendedFormat構造体で使用されます。
構文
typedef enum _DXVA2_VideoTransferFunction {
DXVA2_VideoTransFuncMask = 0x1f,
DXVA2_VideoTransFunc_Unknown = 0,
DXVA2_VideoTransFunc_10 = 1,
DXVA2_VideoTransFunc_18 = 2,
DXVA2_VideoTransFunc_20 = 3,
DXVA2_VideoTransFunc_22 = 4,
DXVA2_VideoTransFunc_709 = 5,
DXVA2_VideoTransFunc_240M = 6,
DXVA2_VideoTransFunc_sRGB = 7,
DXVA2_VideoTransFunc_28 = 8
} DXVA2_VideoTransferFunction;
定数
DXVA2_VideoTransFuncMask 値: 0x1f フラグ値を検証するためのビットマスク。 この値は有効なフラグではありません。 |
DXVA2_VideoTransFunc_Unknown 値: 0 不明。 DXVA2_VideoTransFunc_709として扱います。 |
DXVA2_VideoTransFunc_10 値: 1 線形 RGB (ガンマ = 1.0)。 |
DXVA2_VideoTransFunc_18 値: 2 True 1.8 ガンマ、L' = L^1/1.8。 |
DXVA2_VideoTransFunc_20 値: 3 True 2.0 ガンマ、L' = L^1/2.0。 |
DXVA2_VideoTransFunc_22 値: 4 True 2.2 ガンマ、L' = L^1/2.2。 この転送機能は、ITU-R BT.470-2 システム M (NTSC) で使用されます。 |
DXVA2_VideoTransFunc_709 値: 5 ITU-R BT.709 転送関数。 より低い範囲の線形セグメントを持つガンマ 2.2 曲線。 この伝達関数は、BT.709、BT.601、SMPTE 296M、SMPTE 170M、BT.470、SMPTE 274M で使用されます。 さらに BT-1361 では、この関数が [0...1] の範囲内で使用されます。 |
DXVA2_VideoTransFunc_240M 値: 6 SMPTE 240M転送機能。 より低い範囲の線形セグメントを持つガンマ 2.2 曲線。 |
DXVA2_VideoTransFunc_sRGB 値: 7 sRGB 転送関数。 より低い範囲の線形セグメントを持つガンマ 2.4 曲線。 |
DXVA2_VideoTransFunc_28 値: 8 True 2.8 ガンマ。 L' = L^1/2.8。 この伝達関数は、ITU-R BT.470-2 システム B、G (PAL) で使用されます。 |
解説
次の表は、最も一般的な転送関数の数式を示しています。 これらの数式では、L は線形値、L' は非線形 (ガンマ補正) 値です。 これらの値は、正規化された範囲 [0...1] を基準にしています。
色空間 | 転送関数 |
---|---|
sRGB (8 ビット) |
L' = 12.92L(L < 0.031308 の場合) L' = 1.055L^1/2.4− 0.055(L >= 0.031308 の場合) |
BT.470-2 システム B、G | L' = L^0.36 |
BT.470-2 システム M | L' = L^0.45 |
BT.709 |
L' = 4.50L(L < 0.018 の場合) L' = 1.099L^0.45- 0.099(L >= 0.018 の場合) |
Scrgb | L' = L |
SMPTE 240M |
L' = 4.0L(L < 0.0228 の場合) L' = 1.1115L^0.45- 0.01115(L >= 0.0228 の場合) |
次の表に、元のガンマ補正値を取得する逆数式を示します。
色空間 | 転送関数 |
---|---|
sRGB (8 ビット) |
L = 1/12.92L'、L' < 0.03928 の場合 L = ((L' + 0.055)/1055)^2.4(L' >= 0.03928 の場合) |
BT.470-2 システム B、G | L = L'^1/0.36 |
BT.470-2 システム M | L = L'^1/0.45 |
BT.709 |
L = L'/4.50、L' < 0.081 の場合 L = ((L' + 0.099) / 1.099)^1/0.45(L' >= 0.081 の場合) |
Scrgb | L = L' |
SMPTE 240M |
L = L'/4.0、L' < 0.0913 の場合 L= ((L' + 0.1115)/1.1115)^1/0.45(L' >= 0.0913 の場合) |
この列挙体は、DXVA 1.0 で使用される DXVA_VideoTransferFunction 列挙体と同じです。
IMFMediaType インターフェイスを使用してビデオ形式を記述する場合、転送関数は MF_MT_TRANSFER_FUNCTION 属性で指定されます。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
Header | dxva2api.h |