Windows 8.1 中的 YUV 格式范围
应用可以向用户模式显示驱动程序发出信号,以利用从Windows 8.1开始的扩展范围 [0, 255] YUV 视频格式,如下表所示:
YUV 范围 | 输入数据范围 | 典型用途 | 标准 |
---|---|---|---|
扩展范围 | [0, 255] | 消费设备:网络摄像头和点拍摄相机 | JFIF 标准和 MJPEG 视频格式用作默认格式 |
工作室亮度范围 | [16, 235] | 专业相机和视频设备 | ITU BT.601 和 BT.709 |
内容和广播行业制作的大多数视频在工作室范围内,而由个人消费者制作的视频则处于扩展范围。 扩展范围也称为 全亮度范围。
在Windows 8.1之前,Microsoft Media Foundation 视频处理管道对所有输入数据执行操作,就像在工作室范围内一样,这会导致动态范围变小,如果输入数据实际上位于扩展范围内,则通常会产生强烈的对比度。
从Windows 8.1开始,当视频输入 YUV 格式处于扩展范围内时,应用可以通知驱动程序此更高动态范围。
转换扩展范围的 YUV 格式
这些图像显示了如何将从深色到浅色值的 YUV 扩展范围内容 (解释为 RGB 格式) :
- 顶部图像显示扩展范围内容被错误解释,就像是工作室范围一样。
- 底部图像显示正确解释的扩展范围内容。
顶部图像中的错误解释显示对比度增加,高光在达到纯白色之前变得过于明亮。
扩展范围 YUV 接口
在Windows 8.1之前,Media Foundation 仅支持工作室亮度范围,因此对扩展范围图像的解释会导致对比度增加,如上面的第一张图像所示。 从Windows 8.1开始,Media Foundation 管道使用这些结构和枚举向 Windows 显示驱动程序模型 (WDDM) 1.3 及更高版本的用户模式显示驱动程序指示是否正在播放或捕获扩展范围或工作室范围的 YUV 内容:
新枚举
更改了结构和枚举
- D3D11_1DDI_VIDEO_PROCESSOR_COLOR_SPACE
- D3D11_1DDI_VIDEO_PROCESSOR_DEVICE_CAPS
- DXVAHDDDI_BLT_STATE_OUTPUT_COLOR_SPACE_DATA
- DXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA
- DXVAHDDDI_VPDEVCAPS
WDDM 1.3 及更高版本的用户模式显示驱动程序必须支持所有这些新的和更改的结构和枚举。
有关如何在不同输入 RGB 和 YUV 格式之间进行转换的详细信息,请参阅 YUV-RGB 数据范围 转换。