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 和 line 混合,此值为零,可以是 (的其他值,例如 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 反交错算法通过重复缺失行上方或下方的行来创建缺失行。 此方法看起来是交错的,不建议使用。
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH 一种去交错算法,该算法通过将每个视频字段垂直拉伸 2 乘以两行平均值来创建缺失行。 进行轻微的垂直调整,以确保生成的图像不会上下移动。
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 一种去交错算法,可以撤消用于在 60Hz 显示器上显示 24Hz 内容、在 50Hz 显示器上显示 25Hz 内容等的 3:2 下拉过程。

[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 结构的 ConstrictionSize 成员指定的大小。
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