DXVADDI_VIDEOPROCESSORCAPS结构 (d3dumddi.h)

DXVADDI_VIDEOPROCESSORCAPS结构描述特定反交错模式的视频处理功能。

语法

typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
  [out] D3DDDI_POOL  InputPool;
  [out] UINT         NumForwardRefSamples;
  [out] UINT         NumBackwardRefSamples;
  [out] D3DDDIFORMAT OutputFormat;
  [out] UINT         DeinterlaceTechnology;
  [out] UINT         ProcAmpControlCaps;
  [out] UINT         VideoProcessorOperations;
  [out] UINT         NoiseFilterTechnology;
  [out] UINT         DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;

成员

[out] InputPool

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

[out] NumForwardRefSamples

定义的反交错模式所需的转发引用示例数。 这些示例位于后续字段中。 对于 bob 和行混合,此值为零,可以是自适应反交错和帧速率转换的其他值(例如 1、2 或 3)。

[out] NumBackwardRefSamples

定义的反交行模式所需的后向引用示例。 这些示例位于以前的字段中。 对于 bob,此值为零,1 表示行混合,可以是其他值(例如 1、2 或 3),用于自适应反交错和帧速率转换。

[out] OutputFormat

一个 D3DDDIFORMAT类型值,指示未压缩输出帧的像素格式。 通常,反交错算法以与输入样本格式匹配的像素格式输出帧。 此成员可确保视频混合呈现器(VMR)或其他视频呈现器能够向反交错硬件提供正确的输出帧图面。

请注意,如果在 VideoProcessorOperations 成员中返回DXVADDI_VIDEOPROCESS_YUV2RGB值,则 VMR 将确定此成员指定有效的输出格式以及D3DFMT_X8R8G8B8格式。

[out] DeinterlaceTechnology

以下值的按位 OR,指示用于实现反交错算法的基础反交错技术。 可以根据需要组合这些值,以最接近算法的实现。

含义
DXVADDI_DEINTERLACETECH_UNKNOWN 去交错技术未知。
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE deinterlace 算法通过重复缺失行上方或下方的行来创建缺失行。 此方法看起来很锯齿,不建议这样做。
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH 一种反交错算法,通过垂直拉伸每个视频字段以两个乘以平均两行的一个因子来创建缺失的行。 进行了轻微的垂直调整,以确保生成的图像不会上下移动。
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP 使用 [-1, 9, 9, -1] / 16 筛选器跨四行垂直拉伸每个视频字段,从而创建缺失行的反交错算法,将每个视频字段垂直拉伸为 2 倍。 进行了轻微的垂直调整,以确保生成的图像不会上下移动。
DXVADDI_DEINTERLACETECH_MEDIANFILTERING 缺失行中的像素由中值筛选作重新创建。
DXVADDI_DEINTERLACETECH_EDGEFILTERING 缺失行中的像素由边缘筛选器重新创建。 在此过程中,将应用空间方向筛选器来确定图片内容中边缘的方向,并且通过沿检测到的边缘(而不是跨)进行筛选来创建缺失像素。
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE 缺失行中的像素通过根据运动量在空间或时态内插之间逐字段切换来重新创建。
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE 缺失行中的像素通过根据运动量在空间或时态内插之间逐像素切换来重新创建。
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED 视频字段序列中的对象。 在首次对齐场景中各个对象的移动轴以使其与时间轴平行之后,将重新创建缺失的像素。
DXVADDI_DEINTERLACETECH_INVERSETELECINE 一种反交错算法,可以撤消 3:2 下拉过程,用于在 60Hz 显示器上显示 24Hz 内容、50Hz 显示器上的 25Hz 内容等。

[out] ProcAmpControlCaps

以下值的按位 OR,指示硬件支持的 ProcAmp作。

含义
DXVADDI_PROCAMP_NONE 硬件不支持任何 ProcAmp作。
DXVADDI_PROCAMP_BRIGHTNESS 允许对视频图像进行亮度调整。
DXVADDI_PROCAMP_CONTRAST 允许对视频图像进行对比度调整。
DXVADDI_PROCAMP_HUE 允许对视频图像进行色调调整。
DXVADDI_PROCAMP_SATURATION 允许对视频图像进行饱和度调整。

[out] VideoProcessorOperations

以下值的按位 OR,指示硬件可与请求 VideoProcessBlt作同时执行哪些其他视频处理作。

含义
DXVADDI_VIDEOPROCESS_NONE 硬件无法再执行任何视频处理作。
DXVADDI_VIDEOPROCESS_YUV2RGB 允许从 YUV 颜色空间到 RGB 颜色空间的视频转换。 使用的 RGB 格式对于每个颜色组件至少有 8 位精度。 如果可以执行此作,则可以避免在 VMR 中复制缓冲区。 请注意,不需要从 RGB 颜色空间转换为 YUV 颜色空间。
DXVADDI_VIDEOPROCESS_STRETCHX 如果硬件能够水平拉伸或收缩,则可以在视频调整 ProcAmp 的同时执行纵横比更正。
DXVADDI_VIDEOPROCESS_STRETCHY 纵横比调整与常规图片大小调整作相结合,以缩放应用程序定义的合成空间中的视频图像。 此作很少见,不是一项基本功能。 最好是调整视频大小以适应应用程序窗口所需的缩放,同时执行 ProcAmp 调整所需的缩放。 这种类型的作可避免累积项目。
DXVADDI_VIDEOPROCESS_ALPHABLEND 更改 alpha 值时,VMR 不会执行缓冲区复制。 应用程序很少更改与视频流关联的常量 alpha 值,因此此作是低优先级功能。
DXVADDI_VIDEOPROCESS_SUBRECTS 视频处理设备可以在视频图像的子区域上运行。 如果在进一步处理视频图像之前必须裁剪视频图像,因为输出帧的大小会减少,则此作非常有用。
DXVADDI_VIDEOPROCESS_SUBSTREAMS 视频处理设备可以将视频子流与视频流相结合。
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED 可以对源视频流和子流进行必要的颜色调整。 这些调整在扩展的颜色数据中指示,因为视频已取消交错、与子流组合,并写入目标图面。
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED 可以使用为源图面和目标图面指定的扩展颜色信息,执行颜色空间转换作,因为反交错像素和复合像素将写入目标图面。
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED 当反交错像素和复合像素写入目标图面时,可以与目标图面一起执行 alpha 混合作。 驱动程序必须基于 D3DDDIARG_VIDEOPROCESSBLT 结构的 Alpha 成员的 alpha 值处理背景色。 当 alpha 值为 1.0 时,背景色不透明(不透明)。 当 alpha 值为 0.0 时,不应绘制背景(透明)。
DXVADDI_VIDEOPROCESS_CONSTRICTION 视频处理设备可以暂时将输出帧减小为 D3DDDIARG_VIDEOPROCESSBLT 结构的成员所指定的大小。
DXVADDI_VIDEOPROCESS_NOISEFILTER 视频处理设备可以在视频流上执行噪音筛选作。
DXVADDI_VIDEOPROCESS_DETAILFILTER 视频处理设备可以对视频流执行详细筛选作。
DXVADDI_VIDEOPROCESS_PLANARALPHA 视频处理设备可以将恒定的 alpha 混合应用到整个视频流(平面),同时将视频流和子流混合在一起。 D3DDDIARG_VIDEOPROCESSBLT的 Alpha 成员指定 alpha 值。
DXVADDI_VIDEOPROCESS_LINEARSCALING 视频处理设备可以线性缩放视频流。
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED 视频处理设备可以在视频流上执行伽玛转换。
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA 视频处理设备可以维护原始字段数据。

[out] NoiseFilterTechnology

以下值的按位 OR,指示用于实现干扰筛选的基础技术。 可以根据需要组合这些值,以最接近干扰筛选器实现。

含义
DXVADDI_NOISEFILTERTECH_UNSUPPORTED 不支持干扰筛选器技术。
DXVADDI_NOISEFILTERTECH_UNKNOWN 干扰筛选器技术未知。
DXVADDI_NOISEFILTERTECH_MEDIAN 视频处理设备使用中间噪音筛选。
DXVADDI_NOISEFILTERTECH_TEMPORAL 视频处理设备使用时态噪音筛选。
DXVADDI_NOISEFILTERTECH_BLOCKNOISE 视频处理设备使用块噪音筛选。
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE 视频处理设备使用蚊子噪音筛选。

[out] DetailFilterTechnology

以下值的按位 OR,指示用于实现详细信息筛选的基础技术。 可以根据需要组合这些值,以最接近细节筛选器实现。

含义
DXVADDI_DETAILFILTERTECH_UNSUPPORTED 不支持细节筛选器技术。
DXVADDI_DETAILFILTERTECH_UNKNOWN 细节筛选器技术未知。
DXVADDI_DETAILFILTERTECH_EDGE 视频处理设备使用边缘详细信息筛选。
DXVADDI_DETAILFILTERTECH_SHARPENING 视频处理设备使用锐化的详细信息筛选。

要求

要求 价值
最低支持的客户端 在 Windows Vista 和更高版本的 Windows作系统中可用。
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_GETCAPS

D3DDDIARG_VIDEOPROCESSBLT

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_POOL

DXVADDI_VIDEOPROCESSORINPUT

GetCaps