次の方法で共有


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

関連項目

拡張色情報

Media Foundation 列挙