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) |