DXVA2_NominalRange enumeration (dxva2api.h)
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 = 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;
Constants
DXVA2_NominalRangeMask Value: 0x7 Bitmask to validate flag values. This value is not a valid flag. |
DXVA2_NominalRange_Unknown Value: 0 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 Value: 1 Equivalent to DXVA2_NominalRange_0_255. |
DXVA2_NominalRange_Wide Value: 2 Equivalent to DXVA2_NominalRange_16_235. |
DXVA2_NominalRange_0_255 Value: 1 The normalized range [0...1] maps to [0...255] for 8-bit samples or [0...1023] for 10-bit samples. |
DXVA2_NominalRange_16_235 Value: 2 The normalized range [0...1] maps to [16...235] for 8-bit samples or [64...940] for 10-bit samples. |
DXVA2_NominalRange_48_208 Value: 3 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:
|
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.
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
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | dxva2api.h |