D3DDDIARG_VIDEOPROCESSBLT 结构 (d3dumddi.h)

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

语法

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结构中的 Start 成员定义)或开始显示时间和结束显示时间之间的中点一致。

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

[in] hVideoProcess

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

[in] TargetRect

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

[in] ConstrictionSize

一个 SIZE 结构,指定要将输出图像减小到的受保护内容的大小。 ConstrictionSize 应从 (1,1) 到 targetRect 成员中指定的目标矩形的宽度、高度) (。 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

矩形

VideoProcessBlt