DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA 结构 (dxvahd.h)

指定 Microsoft DirectX 视频加速高清 (DXVA-HD) 输入流的颜色空间。

语法

typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
  union {
    struct {
      UINT Type : 1;
      UINT RGB_Range : 1;
      UINT YCbCr_Matrix : 1;
      UINT YCbCr_xvYCC : 1;
      UINT Reserved : 28;
    };
    UINT Value;
  };
} DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;

成员

Type

指定输入流是包含视频还是图形。 设备可以根据 类型优化处理。 默认状态值为 0 (视频) 。

含义
0
视频。
1
图形。

RGB_Range

指定 RGB 颜色范围。 默认状态值为 0 (全范围) 。

含义
0
全范围 (0-255) 。
1
有限范围 (16-235) 。

YCbCr_Matrix

指定 YCbCr 传输矩阵。 默认状态值为 0 (BT.601) 。

含义
0
ITU-R BT.601。
1
ITU-R BT.709。

YCbCr_xvYCC

指定输入流是使用传统的 YCbCr 还是扩展的 YCbCr (xvYCC) 。 默认状态值为 0 (传统 YCbCr) 。

含义
0
传统 YCbCr。
1
扩展的 YCbCr (xvYCC) 。

Reserved

Value

注解

RGB_Range成员适用于 RGB 输入,而YCbCr_MatrixYCbCr_xvYCC成员适用于 YCbCr (YUV) 输入。

在某些情况下,设备可能会对输入流执行中间颜色转换。 如果是,则它使用应用于这两个颜色空间的标志。 例如,假设设备从 RGB 转换为 YCbCr。 如果 RGB_Range 成员为 0,YCbCr_Matrix 成员为 1,则设备将从全范围 RGB 转换为 BT.709 YCbCr。

如果设备支持 xvYCC,它将在 DXVAHD_VPDEVCAPS 结构的 DeviceCaps 成员中返回 DXVAHD_DEVICE_CAPS_xvYCC 功能标志。 否则,设备将忽略 YCbCr_xvYCC 的值,并将所有 YCbCr 输入视为传统 YCbCr。 若要获取设备的功能,请调用 IDXVAHD_Device::GetVideoProcessorDeviceCaps

示例

HRESULT DXVAHD_SetInputColorSpace(
    IDXVAHD_VideoProcessor *pVP,
    UINT stream,
    BOOL bPlayback,     // TRUE = playback, FALSE = video processing
    UINT RGB_Range,     // 0 = 0-255, 1 = 16-235
    UINT YCbCr_Matrix,  // 0 = BT.601, 1 = BT.709
    UINT YCbCr_xvYCC    // 0 = Conventional YCbCr, 1 = xvYCC
    )
{
    DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA data =
    {
        bPlayback ? 0 : 1,
        RGB_Range ? 1 : 0,
        YCbCr_Matrix ? 1 : 0,
        YCbCr_xvYCC ? 1 : 0
    };

    HRESULT hr = pVP->SetVideoProcessStreamState(
        stream,
        DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE,
        sizeof(data),
        &data
        );

    return hr;
}

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 dxvahd.h

另请参阅

DXVA-HD

DXVAHD_STREAM_STATE

Direct3D 视频结构

IDXVAHD_VideoProcessor::SetVideoProcessStreamState

媒体基础结构