enumerasi DXVA2_VideoTransferFunction (dxva2api.h)
Menentukan fungsi konversi dari RGB linier ke RGB non-linear (R'G'B'). Bendera ini digunakan dalam Struktur DXVA2_ExtendedFormat.
Sintaks
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;
Konstanta
DXVA2_VideoTransFuncMask Nilai: 0x1f Bitmask untuk memvalidasi nilai bendera. Nilai ini bukan bendera yang valid. |
DXVA2_VideoTransFunc_Unknown Nilai: 0 Tidak dikenal. Perlakukan sebagai DXVA2_VideoTransFunc_709. |
DXVA2_VideoTransFunc_10 Nilai: 1 RGB linear (gamma = 1.0). |
DXVA2_VideoTransFunc_18 Nilai: 2 Benar 1,8 gamma, L' = L^1/1.8. |
DXVA2_VideoTransFunc_20 Nilai: 3 Benar 2.0 gamma, L' = L^1/2.0. |
DXVA2_VideoTransFunc_22 Nilai: 4 Benar 2.2 gamma, L' = L^1/2.2. Fungsi transfer ini digunakan dalam SISTEM M (NTSC) ITU-R BT.470-2. |
DXVA2_VideoTransFunc_709 Nilai: 5 Fungsi transfer ITU-R BT.709. Kurva Gamma 2.2 dengan segmen linier di rentang bawah. Fungsi transfer ini digunakan dalam BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470, dan SMPTE 274M. Selain itu BT-1361 menggunakan fungsi ini dalam rentang [0...1]. |
DXVA2_VideoTransFunc_240M Nilai: 6 Fungsi transfer SMPTE 240M. Kurva Gamma 2.2 dengan segmen linier di rentang bawah. |
DXVA2_VideoTransFunc_sRGB Nilai: 7 fungsi transfer sRGB. Kurva Gamma 2.4 dengan segmen linier di rentang bawah. |
DXVA2_VideoTransFunc_28 Nilai: 8 Benar 2.8 gamma. L' = L^1/2.8. Fungsi transfer ini digunakan dalam ITU-R BT.470-2 System B, G (PAL). |
Keterangan
Tabel berikut ini memperlihatkan rumus untuk fungsi transfer yang paling umum. Dalam rumus ini, L adalah nilai linier dan L' adalah nilai non-linear (gamma dikoreksi). Nilai-nilai ini relatif terhadap rentang yang dinormalisasi [0...1].
Ruang warna | Fungsi transfer |
---|---|
sRGB (8-bit) |
L' = 12,92L, untuk L < 0,031308 L' = 1,055L^1/2,4− 0,055, untuk L >= 0,031308 |
BT.470-2 Sistem B, G | L' = L^0,36 |
BT.470-2 Sistem M | L' = L^0,45 |
BT.709 |
L' = 4,50L, untuk L < 0,018 L' = 1,099L^0,45− 0,099, untuk L >= 0,018 |
scRGB | L' = L |
SMPTE 240M |
L' = 4.0L, untuk L < 0.0228 L' = 1,1115L^0,45− 0,01115, untuk L >= 0,0228 |
Tabel berikut ini memperlihatkan rumus terbalik untuk mendapatkan nilai asli yang dikoreksi gamma:
Ruang warna | Fungsi transfer |
---|---|
sRGB (8-bit) |
L = 1/12.92L', untuk L' < 0.03928 L = ((L' + 0,055)/1055)^2,4, untuk L' >= 0,03928 |
BT.470-2 Sistem B, G | L = L'^1/0,36 |
BT.470-2 Sistem M | L = L'^1/0,45 |
BT.709 |
L = L'/4.50, untuk L' < 0.081 L = ((L' + 0,099) / 1,099)^1/0,45, untuk L' >= 0,081 |
scRGB | L = L' |
SMPTE 240M |
L = L'/4.0, untuk L' < 0.0913 L= ((L' + 0,1115)/1,1115)^1/0,45, untuk L' >= 0,0913 |
Enumerasi ini setara dengan enumerasi DXVA_VideoTransferFunction yang digunakan dalam DXVA 1.0.
Jika Anda menggunakan antarmuka IMFMediaType untuk menjelaskan format video, fungsi transfer ditentukan dalam atribut MF_MT_TRANSFER_FUNCTION .
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Header | dxva2api.h |