DXVA_DeinterlaceBlt结构 (dxva.h)

DXVA_DEINTERLACEBLT结构由 VMR 发送到加速器,以指定位块传输的反交错或帧速率转换参数。

语法

typedef struct _DXVA_DeinterlaceBlt {
  DWORD            Size;
  DWORD            Reserved;
  REFERENCE_TIME   rtTarget;
  RECT             DstRect;
  RECT             SrcRect;
  DWORD            NumSourceSurfaces;
  FLOAT            Alpha;
  DXVA_VideoSample Source[MAX_DEINTERLACE_SURFACES];
} DXVA_DeinterlaceBlt;

成员

Size

指定此结构的大小(以字节为单位)。

Reserved

rtTarget

标识输入帧序列中输出帧的位置。 如果只执行反交错,则目标时间应与引用样本的起始显示时间(如 DXVA_VideoSample 结构中定义)或开始显示时间和结束显示时间之间的中点相吻合。 有关详细信息,请参阅“备注”。

如果请求帧速率转换,rtTarget 时间可以不同于引用示例的任何 rtStart 时间。

DstRect

指定一个 RECT 结构,该结构描述目标图面上矩形的左上角和右下角。 这些点定义位块传输应发生的区域及其在目标图面上的位置。

SrcRect

指定 RECT 结构,该结构描述源图面上矩形的左上角和右下角。 这些点定义位块传输的源数据区域及其在源图面上的位置。

NumSourceSurfaces

指定 数组中传递的有效图面数。

Alpha

指定写入目标图面时输出图像的透明度。 值为 0.0F 表示透明。 值为 1.0F 表示不透明。

Source[MAX_DEINTERLACE_SURFACES]

一个由 DXVA_VideoSample 结构构成的数组,用于指定此反交错或帧速率转换作所需的引用输入样本。

言论

从示例中的一个字段创建单个帧时(如 DXVA_VideoSample 结构中定义),rtTarget 应该是该字段的起始显示时间。 如果一个示例中有两个字段,并且想要取消交错两个字段,DeinterlaceBlt 将调用两次。 第一次调用 deinterlaceBlt 时,rtTarget 将是开始的显示时间。 第二 次调用 deinterlaceBlt 时,rtTarget 将是开始显示时间和结束显示时间之间的中点。 换句话说,对于第一次调用,rtTarget = rtStart。 对于第二次调用,rtTarget = (rtStart + rtEnd) / 2。

要求

要求 价值
标头 dxva.h (包括 Dxva.h)

另请参阅

DXVA_DeinterlaceCaps

DXVA_VideoSample

DeinterlaceBlt