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