DXVAHDDDI_VPDEVCAPS 结构 (d3dumddi.h)

DXVAHDDDI_VPDEVCAPS结构描述解码设备支持的视频处理器功能。

语法

typedef struct _DXVAHDDDI_VPDEVCAPS {
  [in]  UINT        Reserved;
  [out] UINT        DeviceCaps;
  [out] UINT        FeatureCaps;
  [out] UINT        FilterCaps;
  [out] UINT        InputFormatCaps;
  [out] D3DDDI_POOL InputPool;
  [out] UINT        OutputFormatCount;
  [out] UINT        InputFormatCount;
  [out] UINT        VideoProcessorCount;
  [out] UINT        MaxInputStreams;
  [out] UINT        MaxStreamStates;
} DXVAHDDDI_VPDEVCAPS;

成员

[in] Reserved

保留。 必须为零。

[out] DeviceCaps

DXVAHDDDI_DEVICE_CAPS枚举中的以下值的按位 OR,用于指示特定于设备的功能。

DXVAHDDDI_DEVICE_CAPS_LINEAR_SPACE (0x1)

驱动程序可以在线性空间中混合视频内容。 由于视频内容传统上位于非线性空间中,并且 gamma 2.2 已更正 (sRGB) ,因此驱动程序可以在执行混合操作之前将视频内容转换为线性空间,以获得更好的结果。

DXVAHDDDI_DEVICE_CAPS_xvYCC (0x2)

当驱动程序从 YCbCr 格式类型输入和输出时,驱动程序可以执行视频处理,同时保留扩展的色域颜色。

DXVAHDDDI_DEVICE_CAPS_RGB_RANGE_CONVERSION (0x4)

当输入和输出均为 RGB 颜色空间,但范围不同时,驱动程序可以执行范围转换 (例如,输入为全范围 RGB,输出为有限范围的 RGB) 。 如果未设置此值,驱动程序将忽略 RGB 范围,并将 RGB 输入流组成到 RGB 输出,而不更改范围。

DXVAHDDDI_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION (0x8)

当输入和输出均为 YCbCr 颜色空间,但矩阵 (不同时,驱动程序可以执行矩阵转换,例如,输入为 BT.601,输出为 BT.709) 。 如果未设置此值,驱动程序将忽略 YCbCr 矩阵,并将 YCbCr 输入流组成到 YCbCr 输出,而无需更改矩阵。

DXVAHDDDI_DEVICE_CAPS_NOMINAL_RANGE (0x10)

当输入和输出使用不同的亮度范围时,视频处理器可以在亮度范围之间进行转换。

有关亮度范围的详细信息,请参阅 Windows 8.1 中的 YUV 格式范围

从 Windows 8.1 开始支持。

驱动程序确定XR_BIAS、FP16 和 FP32 格式 (宽色域格式) 都在线性空间中,因此无论是否设置了上述功能值,都可以保留扩展的色域颜色。

[out] FeatureCaps

DXVAHDDDI_FEATURE_CAPS枚举中的以下值的按位 OR,用于指示特定于功能的功能。

DXVAHDDDI_FEATURE_CAPS_ALPHA_FILL (0x1)

驱动程序可以在输出图面上的目标矩形内设置 alpha 值,如为 alpha 填充模式指定的那样。 有关此操作的详细信息,请参阅 DXVAHDDDI_BLT_STATE_ALPHA_FILL_DATA

DXVAHDDDI_FEATURE_CAPS_CONSTRICTION (0x2)

驱动程序可以向下采样组合的目标矩形。 有关此操作的详细信息,请参阅 DXVAHDDDI_BLT_STATE_CONSTRICTION_DATA

DXVAHDDDI_FEATURE_CAPS_LUMA_KEY (0x4)

驱动程序可将 luma 键范围内的像素设为透明。 有关此操作的详细信息,请参阅 DXVAHDDDI_STREAM_STATE_LUMA_KEY_DATA

DXVAHDDDI_FEATURE_CAPS_ALPHA_PALETTE (0x8)

驱动程序可以应用调色板项的 alpha 值。 有关 alpha 混合的详细信息,请参阅 DXVAHDDDI_STREAM_STATE_ALPHA_DATA

DXVAHDDDI_FEATURE_CAPS_ROTATION (0x10)

驱动程序可以将离散的显示旋转值应用于显示输出图面。 有关此操作的详细信息,请参阅 DXVAHDDDI_STREAM_STATE_ROTATION_DATA

从 Windows 8 开始支持。

[out] FilterCaps

DXVAHDDDI_FILTER_CAPS枚举中以下值的按位 OR,以指示特定于筛选器的功能。

DXVAHDDDI_FILTER_CAPS_BRIGHTNESS (0x1)

驱动程序支持亮度 ProcAmp。

DXVAHDDDI_FILTER_CAPS_CONTRAST (0x2)

驱动程序支持对比度 ProcAmp。

DXVAHDDDI_FILTER_CAPS_HUE (0x4)

驱动程序支持 hue ProcAmp。

DXVAHDDDI_FILTER_CAPS_SATURATION (0x8)

驱动程序支持饱和 ProcAmp。

DXVAHDDDI_FILTER_CAPS_NOISE_REDUCTION (0x10)

驱动程序支持降噪筛选器。

DXVAHDDDI_FILTER_CAPS_EDGE_ENHANCEMENT (0x20)

驱动程序支持边缘增强筛选器。

DXVAHDDDI_FILTER_CAPS_ANAMORPHIC_SCALING (0x40)

驱动程序可以线性或非线性地从源矩形缩放到目标矩形。 如果驱动程序具有此功能,它可以将 4:3 标准视频内容拉伸到 16:9 宽屏。

[out] InputFormatCaps

DXVAHDDDI_INPUT_FORMAT_CAPS枚举中以下值的按位 OR,以指示特定于输入格式的功能。

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_INTERLACED (0x1)

驱动程序可以使用 RGB 格式类型取消交错输入流。

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_PROCAMP (0x2)

驱动程序可以将 ProcAmp 筛选器应用于 RGB 格式类型的输入流。

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_LUMA_KEY (0x4)

驱动程序可以使用 RGB 格式类型对输入流进行 luma 键。

DXVAHDDDI_INPUT_FORMAT_CAPS_PALETTE_INTERLACED (0x8)

驱动程序可以使用 palettized 格式类型取消对输入流的隔行。

驱动程序可以支持上述功能,而不是支持对输入帧进行很少使用的视频处理。 由于支持这些功能需要在视频处理器管道中执行额外的步骤,因此驱动程序可能不支持这些功能。

如果驱动程序支持这些功能,则驱动程序可能需要特定的颜色空间才能对输入流执行处理。 例如,ProcAmp 和 luma 键控制在 YCbCr 颜色空间中执行。 驱动程序引用流状态的颜色空间来执行中间颜色转换。

例如,当驱动程序将 DXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA 的RGB_RangeYCbCr_Matrix 成员 分别设置为 0 和 1 时,驱动程序将在驱动程序应用 ProcAmp 之前从全范围 RGB 转换为 BT.709 YCbCr,然后将输入流转换回全范围 RGB。

[out] InputPool

一个D3DDDI_POOL类型的值,指示应从中分配输入图面的内存池。

[out] OutputFormatCount

支持的输出格式数。 当调用驱动程序的 GetCaps 函数并设置D3DDDICAPS_DXVAHD_GETVPOUTPUTFORMATS值时,驱动程序返回解码设备支持的输出格式的D3DDDIFORMAT枚举类型的数组。

[out] InputFormatCount

支持的输入格式数。 当调用驱动程序的 GetCaps 函数并设置D3DDDICAPS_DXVAHD_GETVPINPUTFORMATS值时,驱动程序返回D3DDDIFORMAT枚举类型的数组,该数组用于解码设备支持的输入格式。

[out] VideoProcessorCount

支持的视频处理器数。 当调用驱动程序的 GetCaps 函数并设置D3DDDICAPS_DXVAHD_GETVPCAPS值时,驱动程序返回解码设备支持的每个视频处理器功能的DXVAHDDDI_VPCAPS结构数组。

[out] MaxInputStreams

驱动程序一次可以启用最大数量的输入流。

[out] MaxStreamStates

最大流状态数。

注解

当用户模式显示驱动程序返回指向D3DDDIARG_GETCAPS结构的 pData 成员中填充的DXVAHDDDI_VPDEVCAPS结构的指针时,使用在 D3DDDIARG_GETCAPS 的 Type 成员中设置D3DDDICAPS_DXVAHD_GETVPDEVCAPS值调用其 GetCaps 函数。

要求

要求
最低受支持的客户端 从 Windows 7 开始支持DXVAHDDDI_VPDEVCAPS。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_GETCAPS

D3DDDIFORMAT

D3DDDI_POOL

DXVAHDDDI_VPCAPS

GetCaps