DDVIDEOPORTINFO structure (dvp.h)
The DDVIDEOPORTINFO structure describes how the driver should transfer video data to a surface (or to surfaces); DDVIDEOPORTINFO is a member of the DD_VIDEOPORT_LOCAL structure.
Syntax
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;
Members
dwSize
Specifies the size in bytes of the structure. This member must be initialized before the structure is used.
dwOriginX
Indicates the x placement of the video data within the surface, in pixels. This offset applies to all surfaces when autoflipping is requested.
dwOriginY
Indicates the y placement of the video data within the surface, in pixels. This offset applies to all surfaces when autoflipping is requested.
dwVPFlags
Indicates a set of flags that specify how the driver should transfer the video data. This member can be a bitwise OR of the following values:
Flag | Meaning |
---|---|
DDVP_AUTOFLIP | Perform automatic flipping. Auto-flipping is performed between the overlay surface that was attached to the hardware video port and the overlay surfaces that are attached to the surface. The flip order is the order in which the overlay surfaces were attached. |
DDVP_CONVERT | The video data and target surface have different formats. The driver should convert the video data to the format of the target surface format. |
DDVP_CROP | The driver should crop both the video and VBI data using the rectangle in the rCrop member. |
DDVP_IGNOREVBIXCROP | The driver should ignore the left and right cropping coordinates when cropping the VBI data. |
DDVP_INTERLEAVE | Interlaced fields of both video and VBI data should be interleaved in memory. |
DDVP_MIRRORLEFTRIGHT | Video data should be mirrored left to right as it is written into the frame buffer. |
DDVP_MIRRORUPDOWN | Video data should be mirrored top to bottom as it is written into the frame buffer. |
DDVP_NOINTERLEAVE | If the DDVP_INTERLEAVE flag is set, the driver should interleave the video data only; that is, the driver should not interleave the VBI data. |
DDVP_OVERRIDEBOBWEAVE | The bob and weave decisions should not be overridden by other interfaces. If this flag is set, Microsoft DirectDraw does not allow a kernel-mode driver to use the kernel-mode video transport functionality to switch the hardware between bob and weave modes. |
DDVP_PRESCALE | Perform prescaling/zooming based on the dwPrescaleWidth and dwPrescaleHeight members. The driver should prescale only the video data if DDVP_VBINOSCALE is set; otherwise, it should prescale both the video and VBI data. |
DDVP_SKIPEVENFIELDS | Ignore input of even fields for both video and VBI data. |
DDVP_SKIPODDFIELDS | Ignore input of odd fields for both video and VBI data. |
DDVP_SYNCMASTER | Drive the graphics VSYNCs using the hardware video port VSYNCs. |
DDVP_VBICONVERT | The DDPIXELFORMAT structure to which the lpddpfVBIOutputFormat member points contains data that should be used to convert the data within the vertical blanking interval. |
DDVP_VBINOSCALE | Data within the vertical blanking interval should not be scaled. |
rCrop
Specifies a RECT structure that specifies a cropping rectangle in pixels. This member contains a valid rectangle when the DDVP_CROP flag is set in the dwVPFlags member.
dwPrescaleWidth
Specifies the width in pixels to which the video and VBI data should be prescaled or zoomed. For example, if the video data is 720 pixels wide and the client requests the width cut in half, the client specifies 360 in dwPrescaleWidth. This member contains a valid width when the DDVP_PRESCALE flag is set in the dwVPFlags member.
dwPrescaleHeight
Specifies the height in pixels to which the video and VBI data should be prescaled or zoomed. For example, if the video data is 240 pixels wide and the client requests the width cut in half, the client specifies 120 in dwPrescaleHeight. This member contains a valid width when the DDVP_PRESCALE flag is set in the dwVPFlags member.
lpddpfInputFormat
Points to a DDPIXELFORMAT structure that specifies the format of the video data to be written to the video port extensions (VPE) object. This format can be different from the target surface format if the VPE object performs a conversion.
lpddpfVBIInputFormat
Points to a DDPIXELFORMAT structure that specifies the input format of the data within the vertical blanking interval.
lpddpfVBIOutputFormat
Points to a DDPIXELFORMAT structure that specifies the output format of the data within the vertical blanking interval.
dwVBIHeight
Specifies the number of lines of data within the vertical blanking interval.
dwReserved1
Reserved for system use and should be ignored by the driver.
dwReserved2
Reserved for system use and should be ignored by the driver.
Remarks
All members of this structure are set by the client and the driver should never change them. The client is typically the overlay mixer.
Requirements
Requirement | Value |
---|---|
Header | dvp.h (include Dvp.h) |