Condividi tramite


enumerazione DXVA2_NominalRange (dxva2api.h)

Viene descritto come eseguire il mapping dei dati dei colori a un intervallo [0...1] normalizzato.

Questi flag vengono usati nella struttura DXVA2_ExtendedFormat . Indicano se l'intervallo di valori di colore include la sala head (valori superiori al 100% bianco) e toeroom (valori sotto il riferimento nero).

Sintassi

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;

Costanti

 
DXVA2_NominalRangeMask
Valore: 0x7
Maschera di bit per convalidare i valori dei flag. Questo valore non è un flag valido.
DXVA2_NominalRange_Unknown
Valore: 0
Intervallo nominale sconosciuto o non specificato.

Se questo valore viene utilizzato nel membro DestFormat della struttura DXVA2_VideoProcessBltParams , il driver determinerà l'intervallo nominale ottimale in base allo spazio dei colori di destinazione. Ad esempio, la superficie di destinazione è in genere sRGB, che ha un intervallo nominale di 0-255 per canale. Tuttavia, un driver potrebbe usare una tecnica come il controllo del guadagno automatico per massimizzare l'intervallo dinamico mantenendo i valori sopra il bianco di riferimento.
DXVA2_NominalRange_Normal
Valore: 1
Equivale a DXVA2_NominalRange_0_255.
DXVA2_NominalRange_Wide
Valore: 2
Equivale a DXVA2_NominalRange_16_235.
DXVA2_NominalRange_0_255
Valore: 1
L'intervallo normalizzato [0...1] è mappato a [0...255] per campioni a 8 bit o [0...1023] per campioni a 10 bit.
DXVA2_NominalRange_16_235
Valore: 2
L'intervallo normalizzato [0...1] è mappato a [16...235] per campioni a 8 bit o [64...940] per campioni a 10 bit.
DXVA2_NominalRange_48_208
Valore: 3
L'intervallo normalizzato [0..1] è mappato a [48...208] per campioni a 8 bit o [192...832] per campioni a 10 bit.

Commenti

Per i colori YUV, questi flag specificano come eseguire la conversione tra Y'CbCr e Y'PbPr. Lo spazio colore Y'PbPr ha un intervallo di [0..1] per Y' (luma) e [-0.5...0.5] per Pb/Pr (cromatica).

Valore Descrizione
DXVA2_NominalRange_0_255 Non deve essere usato per i dati YUV.
DXVA2_NominalRange_16_235 Per i componenti a Y'CbCr a 8 bit:
  • L'intervallo Y di [0...1] corrisponde a [16..235] per i valori a Y a 8 bit.
  • Gli intervalli pb/pr di [-0.5...0.5] sono mappati a [16...240] per i valori Cb/Cr a 8 bit.
Per i campioni con n bit di precisione, le equazioni generali sono:
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
Le equazioni inverse da convertire da Y'CbCr a Y'PbPr sono:
  • 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 Per i valori Y'CbCr a 8 bit, l'intervallo Y' di [0..1] corrisponde a [48...208].
 

Per i colori RGB, i flag differenziano vari spazi RGB.

Valore Descrizione
DXVA2_NominalRange_0_255 Srgb
DXVA2_NominalRange_16_235 Studio RGB; ITU-R BT.709
DXVA2_NominalRange_48_208 ITU-R BT.1361 RGB
 

I dati video possono contenere valori superiori o inferiori all'intervallo nominale.

Nota I valori denominati DXVA2_NominalRange_Normal e DXVA2_NominalRange_Wide rappresentano una potenziale fonte di confusione. Wide fa riferimento all'intervallo possibile di valori analogici che possono essere rappresentati, eseguendo il mapping dell'intervallo nominale [0...1] in un intervallo più stretto di valori digitali . Poiché il significato di wide in questo contesto è ambiguo, è preferibile usare i valori equivalenti denominati DXVA2_NominalRange_0_255 e DXVA2_NominalRange_16_235. Questi nomi comunicano in modo esplicito il significato dell'enumerazione e hanno meno probabilità di essere interpretati in modo non corretto.
 
Questa enumerazione equivale all'enumerazione DXVA_NominalRange usata in DXVA 1.0, anche se definisce valori aggiuntivi.

Se si usa l'interfaccia IMFMediaType per descrivere il formato video, l'intervallo nominale viene specificato nell'attributo MF_MT_VIDEO_NOMINAL_RANGE .

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione dxva2api.h

Vedi anche

Informazioni sul colore estese

Enumerazioni media Foundation