DDVIDEOPORTINFO 结构 (dvp.h)
DDVIDEOPORTINFO 结构描述驱动程序应如何将视频数据传输到图面 (或图面) ;DDVIDEOPORTINFO 是 DD_VIDEOPORT_LOCAL 结构的成员。
语法
typedef struct _DDVIDEOPORTINFO {
DWORD dwSize;
DWORD dwOriginX;
DWORD dwOriginY;
DWORD dwVPFlags;
RECT rCrop;
DWORD dwPrescaleWidth;
DWORD dwPrescaleHeight;
LPDDPIXELFORMAT lpddpfInputFormat;
LPDDPIXELFORMAT lpddpfVBIInputFormat;
LPDDPIXELFORMAT lpddpfVBIOutputFormat;
DWORD dwVBIHeight;
ULONG_PTR dwReserved1;
ULONG_PTR dwReserved2;
} *LPDDVIDEOPORTINFO, DDVIDEOPORTINFO;
成员
dwSize
指定结构的大小(以字节为单位)。 必须先初始化此成员,然后才能使用结构。
dwOriginX
指示视频数据在图面中的 x 位置(以像素为单位)。 请求自动滑动时,此偏移量适用于所有图面。
dwOriginY
指示视频数据在图面中的 y 位置(以像素为单位)。 请求自动滑动时,此偏移量适用于所有图面。
dwVPFlags
指示一组标志,这些标志指定驱动程序应如何传输视频数据。 此成员可以是以下值的按位 OR:
标志 | 含义 |
---|---|
DDVP_AUTOFLIP | 执行自动翻转。 自动翻转是在附加到硬件视频端口的覆盖图面和附加到图面的覆盖图面之间执行的。 翻转顺序是覆盖图面的附加顺序。 |
DDVP_CONVERT | 视频数据和目标图面具有不同的格式。 驱动程序应将视频数据转换为目标图面格式的格式。 |
DDVP_CROP | 驱动程序应使用 rCrop 成员中的矩形裁剪视频和 VBI 数据。 |
DDVP_IGNOREVBIXCROP | 在裁剪 VBI 数据时,驱动程序应忽略左右裁剪坐标。 |
DDVP_INTERLEAVE | 视频和 VBI 数据的交错字段应在内存中交错。 |
DDVP_MIRRORLEFTRIGHT | 视频数据在写入帧缓冲区时应从左到右镜像。 |
DDVP_MIRRORUPDOWN | 视频数据在写入帧缓冲区时应从上到下镜像。 |
DDVP_NOINTERLEAVE | 如果设置了DDVP_INTERLEAVE标志,驱动程序应仅交错视频数据;也就是说,驱动程序不应交错 VBI 数据。 |
DDVP_OVERRIDEBOBWEAVE | bob 和 weave 决策不应被其他接口覆盖。 如果设置了此标志,则 Microsoft DirectDraw 不允许内核模式驱动程序使用内核模式视频传输功能在 bob 和 weave 模式之间切换硬件。 |
DDVP_PRESCALE | 基于 dwPrescaleWidth 和 dwPrescaleHeight 成员执行预缩放/缩放。 如果设置了DDVP_VBINOSCALE,驱动程序应仅预缩放视频数据;否则,它应预缩放视频和 VBI 数据。 |
DDVP_SKIPEVENFIELDS | 忽略视频和 VBI 数据的偶数字段输入。 |
DDVP_SKIPODDFIELDS | 忽略视频和 VBI 数据的奇数字段输入。 |
DDVP_SYNCMASTER | 使用硬件视频端口 VSYNCs 驱动图形 VSYNC。 |
DDVP_VBICONVERT | lpddpfVBIOutputFormat 成员点所在的 DDPIXELFORMAT 结构包含用于在垂直空白间隔内转换数据的数据。 |
DDVP_VBINOSCALE | 不应缩放垂直空白间隔内的数据。 |
rCrop
指定一个 RECT 结构,该结构指定以像素为单位的裁剪矩形。 在 dwVPFlags 成员中设置DDVP_CROP标志时,此成员包含有效的矩形。
dwPrescaleWidth
指定视频和 VBI 数据应预先缩放或缩放的宽度(以像素为单位)。 例如,如果视频数据宽度为 720 像素,并且客户端请求将宽度切成两半,则客户端指定 360 以 dwPrescaleWidth 为单位。 在 dwVPFlags 成员中设置DDVP_PRESCALE标志时,此成员包含有效的宽度。
dwPrescaleHeight
指定视频和 VBI 数据应预先缩放或缩放到的高度(以像素为单位)。 例如,如果视频数据为 240 像素宽,并且客户端请求将宽度切入一半,则客户端指定 120,以 dwPrescaleHeight 为单位。 在 dwVPFlags 成员中设置DDVP_PRESCALE标志时,此成员包含有效的宽度。
lpddpfInputFormat
指向 DDPIXELFORMAT 结构,该结构指定要写入视频 端口扩展 (VPE) 对象的视频 数据的格式。 如果 VPE 对象执行转换,则此格式可能不同于目标图面格式。
lpddpfVBIInputFormat
指向 DDPIXELFORMAT 结构,该结构指定垂直空白间隔内数据的输入格式。
lpddpfVBIOutputFormat
指向 DDPIXELFORMAT 结构,该结构指定垂直空白间隔内数据的输出格式。
dwVBIHeight
指定垂直空白间隔内的数据行数。
dwReserved1
保留供系统使用,驱动程序应忽略。
dwReserved2
保留供系统使用,驱动程序应忽略。
注解
此结构的所有成员都由客户端设置,驱动程序不应更改它们。 客户端通常是覆盖混合器。
要求
要求 | 值 |
---|---|
Header | dvp.h (包括 Dvp.h) |