DXVA2_NominalRange-Enumeration (dxva2api.h)

Beschreibt, wie Farbdaten einem normalisierten [0...1]-Bereich zugeordnet werden.

Diese Flags werden in der DXVA2_ExtendedFormat-Struktur verwendet. Sie geben an, ob der Bereich der Farbwerte die Kopffreiheit (Werte über 100 % weiß) und den Toeroom (Werte unterhalb des Verweises schwarz) umfasst.

Syntax

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;

Konstanten

 
DXVA2_NominalRangeMask
Wert: 0x7
Bitmaske zum Überprüfen von Flagwerten. Dieser Wert ist kein gültiges Flag.
DXVA2_NominalRange_Unknown
Wert: 0
Unbekannter oder nicht angegebener nominaler Bereich.

Wenn dieser Wert im DestFormat-Member der DXVA2_VideoProcessBltParams-Struktur verwendet wird, bestimmt der Treiber den optimalen Nominalbereich basierend auf dem Zielfarbraum. Beispielsweise ist die Zieloberfläche in der Regel sRGB, die einen nominalen Bereich von 0 bis 255 pro Kanal aufweist. Ein Treiber kann jedoch eine Technik wie die automatische Verstärkungssteuerung verwenden, um den dynamischen Bereich zu maximieren, während Werte oberhalb von Referenzweiß beibehalten werden.
DXVA2_NominalRange_Normal
Wert: 1
Entspricht DXVA2_NominalRange_0_255.
DXVA2_NominalRange_Wide
Wert: 2
Entspricht DXVA2_NominalRange_16_235.
DXVA2_NominalRange_0_255
Wert: 1
Der normalisierte Bereich [0...1] entspricht [0...255] für 8-Bit-Stichproben oder [0...1023] für 10-Bit-Stichproben.
DXVA2_NominalRange_16_235
Wert: 2
Der normalisierte Bereich [0...1] entspricht [16...235] für 8-Bit-Stichproben oder [64...940] für 10-Bit-Stichproben.
DXVA2_NominalRange_48_208
Wert: 3
Der normalisierte Bereich [0..1] entspricht [48...208] für 8-Bit-Stichproben oder [192...832] für 10-Bit-Beispiele.

Hinweise

Für YUV-Farben geben diese Flags an, wie zwischen Y'CbCr und Y'PbPr konvertiert werden soll. Der Y'PbPr-Farbraum hat einen Bereich von [0..1] für Y' (luma) und [-0.5...0.5] für Pb/Pr (Chroma).

Wert BESCHREIBUNG
DXVA2_NominalRange_0_255 Sollte nicht für YUV-Daten verwendet werden.
DXVA2_NominalRange_16_235 Für 8-Bit-Y'CbCr-Komponenten:
  • Der Y-Bereich von [0...1] wird [16..235] für 8-Bit-Y-Werte zugeordnet.
  • Pb/Pr-Bereiche von [-0.5...0.5] werden [16...240] für 8-Bit-Cb/Cr-Werte zugeordnet.
Für Stichproben mit n Bits genauigkeit sind die allgemeinen Formeln:
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
Die umgekehrten Formeln, die von Y'CbCr in Y'PbPr konvertiert werden sollen, sind:
  • 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 Bei 8-Bit-Y'CbCr-Werten wird der Y'-Bereich von [0..1] [48...208] zugeordnet.
 

Bei RGB-Farben unterscheiden die Flags verschiedene RGB-Räume.

Wert BESCHREIBUNG
DXVA2_NominalRange_0_255 Srgb
DXVA2_NominalRange_16_235 Studio RGB; ITU-R BT.709
DXVA2_NominalRange_48_208 ITU-R BT.1361 RGB
 

Videodaten können Werte oberhalb oder unterhalb des nominalen Bereichs enthalten.

Hinweis Die Werte DXVA2_NominalRange_Normal und DXVA2_NominalRange_Wide sind eine potenzielle Ursache für Verwirrung. Wide bezieht sich auf den möglichen Bereich analoger Werte, der dargestellt werden kann, indem der Nominalbereich [0...1] in einen engeren Bereich digitaler Werte abgebildet wird. Da die Bedeutung von breit in diesem Kontext mehrdeutig ist, werden die äquivalenten Werte DXVA2_NominalRange_0_255 und DXVA2_NominalRange_16_235 bevorzugt. Diese Namen geben explizit die Bedeutung der Enumeration an und sind weniger wahrscheinlich falsch interpretiert.
 
Diese Enumeration entspricht der DXVA_NominalRange-Enumeration , die in DXVA 1.0 verwendet wird, obwohl sie zusätzliche Werte definiert.

Wenn Sie die IMFMediaType-Schnittstelle verwenden, um das Videoformat zu beschreiben, wird der nominale Bereich im MF_MT_VIDEO_NOMINAL_RANGE-Attribut angegeben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile dxva2api.h

Weitere Informationen

Erweiterte Farbinformationen

Media Foundation-Enumerationen