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 基于 dwPrescaleWidthdwPrescaleHeight 成员执行预缩放/缩放。 如果设置了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)

另请参阅

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL