DXVA_DeinterlaceBltEx 结构 (dxva.h)
DXVA_DeinterlaceBltEx结构描述了反隔行或帧速率转换的参数,用于将无隔行或帧速率转换的视频与任何提供的视频子流组合在一起,以及用于将组合输出写入目标图面的参数。
语法
typedef struct _DXVA_DeinterlaceBltEx {
DWORD Size;
DXVA_AYUVsample2 BackgroundColor;
RECT rcTarget;
REFERENCE_TIME rtTarget;
DWORD NumSourceSurfaces;
FLOAT Alpha;
DXVA_VideoSample2 Source[MAX_DEINTERLACE_SURFACES];
DWORD DestinationFormat;
DWORD DestinationFlags;
} DXVA_DeinterlaceBltEx;
成员
Size
指定结构的大小(以字节为单位)。
BackgroundColor
指定标识背景色和不透明度级别的 DXVA_AYUVsample2 结构。 对于具有 SP1 的 Windows Server 2003 和 SP2 的 Windows XP,不使用不透明度级别,驱动程序应忽略该级别。
rcTarget
指定指向 RECT 结构的指针,该结构描述输出图像要写入的目标图面中的位置。 请注意,输出图像仅限于 rcTarget 矩形中的像素,也就是说,必须写入此矩形中的每个像素;不得修改此矩形外的像素。
rtTarget
标识输出帧在输入帧序列中的位置。 如果仅执行去隔行扫描,则目标时间应与样本的开始显示时间(如 DXVA_VideoSample2 结构中定义)或开始显示时间和结束显示时间之间的中间点一致。 有关详细信息,请参阅“备注”。
如果请求帧速率转换, 则 rtTarget 时间可能不同于示例的任何 rtStart 时间。
NumSourceSurfaces
指定在 Source 数组中传递的有效图面数。
Alpha
指定输出图像写入目标图面时其平面透明度值。 对于具有 SP1 的 Windows Server 2003 和 SP2 的 Windows XP,此值始终为 1.0F,表示整体图像不透明,并且不需要对整体图像进行 alpha 混合。
Source[MAX_DEINTERLACE_SURFACES]
指定DXVA_VideoSample2结构的数组,这些结构描述反隔行、帧速率转换和子流合成操作所需的输入样本。 有关如何在此数组中排列输入样本的信息,请参阅 输入缓冲区顺序。
DestinationFormat
指定目标图面的格式信息。 对于具有 SP1 的 Windows Server 2003 和 SP2 的 Windows XP,此成员设置为 0。
DestinationFlags
指定标志的集合,这些标志指示当前目标图面中与上一个目标图面的更改。 此成员是 DXVA_DestinationFlags 枚举类型中的一个或多个标志的按位或。
注解
呈现器将DXVA_DeinterlaceBltEx结构发送到加速器,以指定位块传输的去隔行或帧速率转换参数。
从示例中的一个字段创建单个帧时(如 DXVA_VideoSample2 结构中定义), rtTarget 应为该字段的开始显示时间。 如果一个示例中有两个字段,并且想要对两个字段进行反交错,则 DeinterlaceBltEx 将调用两次。 首次调用 DeinterlaceBltEx 时, rtTarget 将是开始显示时间。 第二次调用 DeinterlaceBltEx 时, rtTarget 将是开始显示时间和结束显示时间之间的中点。 换句话说,对于第一次调用, rtTarget = rtStart。 对于第二次调用, rtTarget = (rtStart + rtEnd) / 2。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 此结构仅适用于 SP1 及更高版本的 Windows Server 2003 以及 SP2 及更高版本的 Windows XP。 |
标头 | dxva.h (包括 Dxva.h) |