D3DDDIARG_VIDEOPROCESSBLT结构 (d3dumddi.h)

D3DDDIARG_VIDEOPROCESSBLT结构描述要执行的 Microsoft DirectX 视频加速(VA)视频处理作。

语法

typedef struct _D3DDDIARG_VIDEOPROCESSBLT {
  [in] REFERENCE_TIME               TargetFrame;
  [in] HANDLE                       hVideoProcess;
  [in] RECT                         TargetRect;
  [in] SIZE                         ConstrictionSize;
  [in] UINT                         StreamingFlags;
  [in] DXVADDI_AYUVSAMPLE16         BackgroundColor;
  [in] DXVADDI_EXTENDEDFORMAT       DestFormat;
  [in] DXVADDI_VIDEOPROCESSBLTFLAGS DestFlags;
  [in] DXVADDI_PROCAMPVALUES        ProcAmpValues;
  [in] DXVADDI_FIXED32              Alpha;
  [in] DXVADDI_FILTERVALUES         NoiseFilterLuma;
  [in] DXVADDI_FILTERVALUES         NoiseFilterChroma;
  [in] DXVADDI_FILTERVALUES         DetailFilterLuma;
  [in] DXVADDI_FILTERVALUES         DetailFilterChroma;
  [in] DXVADDI_VIDEOSAMPLE          *pSrcSurfaces;
  [in] UINT                         NumSrcSurfaces;
} D3DDDIARG_VIDEOPROCESSBLT;

成员

[in] TargetFrame

一个REFERENCE_TIME值,该值标识输出帧在输入帧序列中的位置。 如果只执行反交错,则目标时间应与示例的开始显示时间(由 DXVADDI_VIDEOSAMPLE 结构中的 开始 成员定义)或开始显示时间和结束显示时间之间的中点相吻合。

如果请求帧速率转换,则 TargetFrame 中的时间可能不同于 开始 示例成员中的任何时间。

[in] hVideoProcess

DirectX VA 视频处理设备的句柄。 用户模式显示驱动程序在调用其 CreateVideoProcessDevice 函数时返回此句柄。

[in] TargetRect

指向 RECT 结构的指针,该结构描述输出图像写入的目标图面中的位置。 请注意,输出图像仅限于 TargetRect指向的矩形中的像素。 也就是说,必须写入此矩形中的每个像素;不得修改此矩形之外的像素。

[in] ConstrictionSize

SIZE 结构,该结构指定受保护内容要减小输出图像的大小。 ConstrictionSize 应从 TargetRect 成员中指定的目标矩形的(1、1)到(宽度、高度)。 constrictionSize 应为 (0, 0) 表示无收缩。

例如,请考虑本机具有 1920 x 1080 像素的视频,并且该视频在不支持输出保护的 1920 x 1080 分辨率监视器上全屏显示。 如果视频内容指定只能显示 854 x 480 像素的原始信息的规则,驱动程序必须将原始图像从 1920 x 1080 减少到 854 x 480,然后将图像再次拉伸到 1920 x 1080。 在此示例中,ConstrictionSize 成员中的 SIZE 结构将指定大小为 854 x 480 像素。

[in] StreamingFlags

用于标识流式处理标志的 UINT 值。 目前,未定义流式处理标志。

[in] BackgroundColor

标识背景色的 DXVADDI_AYUVSAMPLE16 结构。

[in] DestFormat

一个 DXVADDI_EXTENDEDFORMAT 结构,用于标识目标图面的扩展格式信息。

[in] DestFlags

一个 DXVADDI_VIDEOPROCESSBLTFLAGS 结构,用于标识上一目标图面中当前目标图面中的更改。

[in] ProcAmpValues

一个 DXVADDI_PROCAMPVALUES 结构,指定输出到目标图面的 ProcAmp 调整数据。

[in] Alpha

一个 DXVADDI_FIXED32 结构,它指定输出图像的平面透明度值,因为它写入目标图面。 如果 alpha 值为 1.0,则绘制背景色不透明(没有透明度和 alpha 混合)。 当 alpha 值为 0.0 时,不应绘制背景(透明)。

[in] NoiseFilterLuma

指定 luma 噪声筛选器的 DXVADDI_FILTERVALUES 结构。

[in] NoiseFilterChroma

指定色度噪声筛选器的 DXVADDI_FILTERVALUES 结构。

[in] DetailFilterLuma

指定 luma 详细信息筛选器的 DXVADDI_FILTERVALUES 结构。

[in] DetailFilterChroma

指定色度详细信息筛选器的 DXVADDI_FILTERVALUES 结构。

[in] pSrcSurfaces

一个由 DXVADDI_VIDEOSAMPLE 结构构成的数组,用于描述反交错、帧速率转换和子流组合作所需的输入样本。 有关如何在此数组中排列输入样本的详细信息,请参阅 输入缓冲区顺序

[in] NumSrcSurfaces

pSrcSurfaces数组中的输入样本数。

要求

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

另请参阅

CreateVideoProcessDevice

DXVADDI_AYUVSAMPLE8

DXVADDI_EXTENDEDFORMAT

DXVADDI_PROCAMPVALUES

DXVADDI_VIDEOPROCESSBLTFLAGS

DXVADDI_VIDEOSAMPLE

RECT

VideoProcessBlt