D3D11_VIDEO_PROCESSOR_COLOR_SPACE 结构 (d3d11.h)
指定用于视频处理的颜色空间。
语法
typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE {
UINT Usage : 1;
UINT RGB_Range : 1;
UINT YCbCr_Matrix : 1;
UINT YCbCr_xvYCC : 1;
UINT Nominal_Range : 2;
UINT Reserved : 26;
} D3D11_VIDEO_PROCESSOR_COLOR_SPACE;
成员
Usage
指定输出是用于播放还是视频处理 (,例如编辑或创作) 。 设备可以根据 类型优化处理。 默认状态值为 0 (播放) 。
值 | 含义 |
---|---|
|
播放 |
|
视频处理 |
RGB_Range
指定 RGB 颜色范围。 默认状态值为 0 (全范围) 。
值 | 含义 |
---|---|
|
全范围 (0-255) |
|
有限范围 (16-235) |
YCbCr_Matrix
指定 YCbCr 传输矩阵。 默认状态值为 0 (BT.601) 。
值 | 含义 |
---|---|
|
ITU-R BT.601 |
|
ITU-R BT.709 |
YCbCr_xvYCC
指定输出是使用传统 YCbCr 还是扩展的 YCbCr (xvYCC) 。 (传统 YCbCr) ,默认状态值为零。
值 | 含义 |
---|---|
|
传统 YCbCr |
|
扩展 YCbCr (xvYCC) |
Nominal_Range
指定 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE。
在 Windows 8.1 中引入。
Reserved
保留。 设置为零。
注解
RGB_Range 成员适用于 RGB 输出,而 YCbCr_Matrix 和 YCbCr_xvYCC 成员适用于 YCbCr 输出。 如果驱动程序对背景色执行颜色空间转换,它将使用应用于这两个颜色空间的值。
如果驱动程序支持扩展的 YCbCr (xvYCC) ,它将返回 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps 方法中的D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC功能标志。 否则,驱动程序将忽略 YCbCr_xvYCC 的值,并将所有 YCbCr 输出视为常规 YCbCr。
如果支持扩展 YCbCr,则它可以与任一传输矩阵一起使用。 扩展 YCbCr 不会更改黑点或白点 - 黑点仍为 16,白点仍为 235。 但是,扩展的 YCbCr 显式允许范围 1-15 中的黑比黑值,在 236–254 范围内允许比白色更白的值。 使用扩展 YCbCr 时,驱动程序不应将 luma 值剪辑到名义 16–235 范围。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
标头 | d3d11.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈