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 组件:
  • 对于 8 位 Y' 值,Y' 范围 [0...1] 映射到 [16..235]。
  • 对于 8 位 Cb/Cr 值,[-0.5...0.5] 的 Pb/Pr 范围映射到 [16...240]。
对于具有 n 位精度的样本,一般公式为:
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
要从 Y'CbCr 转换为 Y'PbPr 的反公式如下:
  • 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 对于 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 的等效值。 这些名称明确传达枚举的含义,不太可能被误解。
 
此枚举等效于 DXVA 1.0 中使用的 DXVA_NominalRange 枚举,尽管它定义了其他值。

如果使用 IMFMediaType 接口描述视频格式,则标称范围在 MF_MT_VIDEO_NOMINAL_RANGE 属性中指定。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 dxva2api.h

请参阅

扩展的颜色信息

媒体基础枚举