DXVA2_NominalRange enumeration
Describes how to map color data to a normalized [0...1] range.
These flags are used in the DXVA2_ExtendedFormat structure. They indicate whether the range of color values includes headroom (values above 100% white) and toeroom (values below reference black).
Syntax
typedef enum _DXVA2_NominalRange { DXVA2_NominalRangeMask = 0x07, 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;
Constants
- DXVA2_NominalRangeMask
-
Bitmask to validate flag values. This value is not a valid flag.
- DXVA2_NominalRange_Unknown
-
Unknown or unspecified nominal range.
If this value is used in the DestFormat member of the DXVA2_VideoProcessBltParams structure, the driver will determine the optimal nominal range based on the destination color space. For example, the destination surface is usually sRGB, which has a nominal range of 0-255 per channel. However, a driver might use a technique such as automatic gain control to maximize the dynamic range while preserving values above reference white.
- DXVA2_NominalRange_Normal
-
Equivalent to DXVA2_NominalRange_0_255.
- DXVA2_NominalRange_Wide
-
Equivalent to DXVA2_NominalRange_16_235.
- DXVA2_NominalRange_0_255
-
The normalized range [0...1] maps to [0...255] for 8-bit samples or [0...1023] for 10-bit samples.
- DXVA2_NominalRange_16_235
-
The normalized range [0...1] maps to [16...235] for 8-bit samples or [64...940] for 10-bit samples.
- DXVA2_NominalRange_48_208
-
The normalized range [0..1] maps to [48...208] for 8-bit samples or [192...832] for 10-bit samples.
Remarks
For YUV colors, these flags specify how to convert between Y'CbCr and Y'PbPr. The Y'PbPr color space has a range of [0..1] for Y' (luma) and [-0.5...0.5] for Pb/Pr (chroma).
| Value | Description |
|---|---|
| DXVA2_NominalRange_0_255 | Should not be used for YUV data. |
| DXVA2_NominalRange_16_235 |
For 8-bit Y'CbCr components:
For samples with n bits of precision, the general equations are:
The inverse equations to convert from Y'CbCr to Y'PbPr are:
|
| DXVA2_NominalRange_48_208 | For 8-bit Y'CbCr values, Y' range of [0..1] maps to [48...208]. |
For RGB colors, the flags differentiate various RGB spaces.
| Value | Description |
|---|---|
| DXVA2_NominalRange_0_255 | sRGB |
| DXVA2_NominalRange_16_235 | Studio RGB; ITU-R BT.709 |
| DXVA2_NominalRange_48_208 | ITU-R BT.1361 RGB |
Video data might contain values above or below the nominal range.
This enumeration is equivalent to the DXVA_NominalRange enumeration used in DXVA 1.0, although it defines additional values.
If you are using the IMFMediaType interface to describe the video format, the nominal range is specified in the MF_MT_VIDEO_NOMINAL_RANGE attribute.
Requirements
|
Minimum supported client |
Windows Vista [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2008 [desktop apps only] |
|
Header |
|
See also