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)

驱动程序可以取消将输入流与分化格式类型相隔开。

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

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

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

[out] InputPool

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

[out] OutputFormatCount

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

[out] InputFormatCount

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

[out] VideoProcessorCount

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

[out] MaxInputStreams

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

[out] MaxStreamStates

最大流状态数。

备注

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

要求

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

另请参阅

D3DDDIARG_GETCAPS

D3DDDIFORMAT

D3DDDI_POOL

DXVAHDDDI_VPCAPS

GetCaps