Bagikan melalui


enumerasi DXVA2_NominalRange (dxva2api.h)

Menjelaskan cara memetakan data warna ke rentang [0...1] yang dinormalisasi.

Bendera ini digunakan dalam struktur DXVA2_ExtendedFormat . Mereka menunjukkan apakah rentang nilai warna mencakup headroom (nilai di atas 100% putih) dan toeroom (nilai di bawah referensi hitam).

Sintaks

typedef enum _DXVA2_NominalRange {
  DXVA2_NominalRangeMask = 0x7,
  DXVA2_NominalRange_Unknown = 0,
  DXVA2_NominalRange_Normal = 1,
  DXVA2_NominalRange_Wide = 2,
  DXVA2_NominalRange_0_255 = 1,
  DXVA2_NominalRange_16_235 = 2,
  DXVA2_NominalRange_48_208 = 3
} DXVA2_NominalRange;

Konstanta

 
DXVA2_NominalRangeMask
Nilai: 0x7
Bitmask untuk memvalidasi nilai bendera. Nilai ini bukan bendera yang valid.
DXVA2_NominalRange_Unknown
Nilai: 0
Rentang nominal yang tidak diketahui atau tidak ditentukan.

Jika nilai ini digunakan dalam anggota DestFormat dari struktur DXVA2_VideoProcessBltParams , driver akan menentukan rentang nominal optimal berdasarkan ruang warna tujuan. Misalnya, permukaan tujuan biasanya sRGB, yang memiliki rentang nominal 0-255 per saluran. Namun, driver mungkin menggunakan teknik seperti kontrol perolehan otomatis untuk memaksimalkan rentang dinamis sambil mempertahankan nilai di atas referensi putih.
DXVA2_NominalRange_Normal
Nilai: 1
Setara dengan DXVA2_NominalRange_0_255.
DXVA2_NominalRange_Wide
Nilai: 2
Setara dengan DXVA2_NominalRange_16_235.
DXVA2_NominalRange_0_255
Nilai: 1
Rentang yang dinormalisasi [0...1] memetakan ke [0...255] untuk sampel 8-bit atau [0...1023] untuk sampel 10-bit.
DXVA2_NominalRange_16_235
Nilai: 2
Rentang yang dinormalisasi [0...1] memetakan ke [16...235] untuk sampel 8-bit atau [64...940] untuk sampel 10-bit.
DXVA2_NominalRange_48_208
Nilai: 3
Rentang yang dinormalisasi [0..1] memetakan ke [48...208] untuk sampel 8-bit atau [192...832] untuk sampel 10-bit.

Keterangan

Untuk warna YUV, bendera ini menentukan cara mengonversi antara Y'CbCr dan Y'PbPr. Ruang warna Y'PbPr memiliki rentang [0..1] untuk Y' (luma) dan [-0.5...0.5] untuk Pb/Pr (kroma).

Nilai Deskripsi
DXVA2_NominalRange_0_255 Tidak boleh digunakan untuk data YUV.
DXVA2_NominalRange_16_235 Untuk komponen Y'CbCr 8-bit:
  • Rentang Y [0...1] memetakan ke [16..235] untuk nilai 8-bit Y'.
  • Rentang Pb/Pr [-0.5...0.5] peta ke [16...240] untuk nilai Cb/Cr 8-bit.
Untuk sampel dengan n bit presisi, persamaan umumnya adalah:
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
Persamaan terbalik yang akan dikonversi dari Y'CbCr ke Y'PbPr adalah:
  • Y' = (Y' / 2 ^ (n-8) - 16) / 219
  • Pb = (Cb / 2 ^ (n-8) - 128) / 224
  • Pr = (Cr / 2 ^ (n-8) - 128) / 224
DXVA2_NominalRange_48_208 Untuk nilai Y'CbCr 8-bit, rentang Y [0..1] peta ke [48...208].
 

Untuk warna RGB, bendera membedakan berbagai ruang RGB.

Nilai Deskripsi
DXVA2_NominalRange_0_255 Srgb
DXVA2_NominalRange_16_235 Studio RGB; ITU-R BT.709
DXVA2_NominalRange_48_208 ITU-R BT.1361 RGB
 

Data video mungkin berisi nilai di atas atau di bawah rentang nominal.

Catatan Nilai bernama DXVA2_NominalRange_Normal dan DXVA2_NominalRange_Wide adalah sumber potensial kebingungan. Wide mengacu pada rentang nilai analog yang mungkin dapat diwakili, dengan memetakan rentang nominal [0...1] ke dalam rentang nilai digital yang lebih sempit. Karena arti luas dalam konteks ini ambigu, nilai yang setara bernama DXVA2_NominalRange_0_255 dan DXVA2_NominalRange_16_235 lebih disukai. Nama-nama ini secara eksplisit menyampaikan arti enumerasi, dan cenderung tidak salah disalahartikan.
 
Enumerasi ini setara dengan enumerasi DXVA_NominalRange yang digunakan dalam DXVA 1.0, meskipun menentukan nilai tambahan.

Jika Anda menggunakan antarmuka IMFMediaType untuk menjelaskan format video, rentang nominal ditentukan dalam atribut MF_MT_VIDEO_NOMINAL_RANGE .

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header dxva2api.h

Lihat juga

Informasi Warna Yang Diperluas

Enumerasi Yayasan Media