DXVA2_NominalRange 枚举 (dxva2api.h)
介绍如何将颜色数据映射到规范化 [0...1] 范围。
这些标志在 DXVA2_ExtendedFormat 结构中使用。 它们指示颜色值的范围是否包括 100% 白色) 以上的空余空间 (值,以及引用黑色) 以下的 toeroom (值。
语法
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;
常量
DXVA2_NominalRangeMask 值: 0x7 用于验证标志值的位掩码。 此值不是有效的标志。 |
DXVA2_NominalRange_Unknown 值: 0 未知或未指定的名义范围。 如果在 DXVA2_VideoProcessBltParams 结构的 DestFormat 成员中使用此值,驱动程序将根据目标颜色空间确定最佳标称范围。 例如,目标图面通常是 sRGB,每个通道的标称范围为 0-255。 但是,驱动程序可能会使用自动增益控制等技术来最大化动态范围,同时保留参考白色上方的值。 |
DXVA2_NominalRange_Normal 值:1 等效于 DXVA2_NominalRange_0_255。 |
DXVA2_NominalRange_Wide 值: 2 等效于 DXVA2_NominalRange_16_235。 |
DXVA2_NominalRange_0_255 值:1 对于 8 位样本,规范化范围 [0...1] 映射到 [0...255],对于 10 位样本映射到 [0...1023]。 |
DXVA2_NominalRange_16_235 值: 2 对于 8 位样本,规范化范围 [0...1] 映射到 [16...235],对于 10 位样本映射到 [64...940]。 |
DXVA2_NominalRange_48_208 值: 3 对于 8 位样本,规范化范围 [0..1] 映射到 [48...208],对于 10 位样本映射到 [192...832]。 |
备注
对于 YUV 颜色,这些标志指定如何在 Y'CbCr 和 Y'PbPr 之间进行转换。 对于 Y' (亮度) ,Y'PbPr 颜色空间的范围为 [0..1];对于 Pb/Pr (色度) ,则为 [-0.5...0.5]。
值 | 说明 |
---|---|
DXVA2_NominalRange_0_255 | 不应用于 YUV 数据。 |
DXVA2_NominalRange_16_235 |
对于 8 位 Y'CbCr 组件:
|
DXVA2_NominalRange_48_208 | 对于 8 位 Y'CbCr 值,Y' 范围 [0..1] 映射到 [48...208]。 |
对于 RGB 颜色,标志区分各种 RGB 空间。
值 | 说明 |
---|---|
DXVA2_NominalRange_0_255 | sRGB |
DXVA2_NominalRange_16_235 | 工作室 RGB;ITU-R BT.709 |
DXVA2_NominalRange_48_208 | ITU-R BT.1361 RGB |
视频数据可能包含高于或低于标称范围的值。
注意 名为 DXVA2_NominalRange_Normal 和 DXVA2_NominalRange_Wide 的值可能是混淆的一个潜在来源。 Wide 是指可通过将标称范围 [0...1] 映射到较窄的数字值范围来表示的模拟值的可能范围。 由于宽在此 上下文中的含义 不明确,因此首选名为 DXVA2_NominalRange_0_255 和 DXVA2_NominalRange_16_235 的等效值。 这些名称明确传达枚举的含义,不太可能被误解。
如果使用 IMFMediaType 接口描述视频格式,则标称范围在 MF_MT_VIDEO_NOMINAL_RANGE 属性中指定。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | dxva2api.h |