## DDVIDEOPORTINFO

The DDVIDEOPORTINFO structure describes the transfer of video data to a surface. This structure is used with the IDirectDrawVideoPort::StartVideo method.

typedef struct _DDVIDEOPORTINFO{

DWORD dwSize; // Size of the structure.

DWORD dwOriginX; // Placement of the video data within the surface.

DWORD dwOriginY; // Placement of the video data within the surface.

DWORD dwVPFlags; // Video port options.

RECT rCrop; // Cropping rectangle (optional).

DWORD dwPrescaleWidth; // Pre-scaling/zooming in the X direction (optional).

DWORD dwPrescaleHeight; // Pre-scaling/zooming in the Y direction (optional).

LPDDPIXELFORMAT lpddpfInputFormat; // Video format written to the video port.

LPDDPIXELFORMAT lpddpfVBIInputFormat; // Input format of the VBI data.

LPDDPIXELFORMAT lpddpfVBIOutputFormat; // Output format of the data.

DWORD dwVBIHeight; // Lines of data within the vertical blanking interval.

DWORD dwReserved1; // Reserved for future use - set to zero.

DWORD dwReserved2; // Reserved for future use - set to zero.

} DDVIDEOPORTINFO,*LPDDVIDEOPORTINFO;

##### Members

dwSize
  Size of this structure, in bytes. This member must be initialized before use.
dwOriginX and dwOriginY
  X and y coordinates for the origin of the video data in the surface.
dwVPFlags
  Video port options.

  DDVP_AUTOFLIP | Perform automatic flipping. For more information, see Auto-flipping.
  DDVP_CONVERT | Perform conversion using the information in the ddpfOutputFormat member.
  DDVP_CROP | Perform cropping using the rectangle specified by the rCrop member.
  DDVP_INTERLEAVE | Interlaced fields should be interleaved in memory.
  DDVP_MIRRORLEFTRIGHT | Mirror image data from left to right as it is written into the frame buffer.
  DDVP_MIRRORUPDOWN | Mirror image data from top to bottom as it is written into the frame buffer.
  DDVP_PRESCALE | Perform pre-scaling or pre-zooming based on the values in the dwPrescaleHeight and dwPrescaleWidth members.
  DDVP_SKIPEVENFIELDS | Ignore input of even fields.
  DDVP_SKIPODDFIELDS | Ignore input of odd fields.
  DDVP_SYNCMASTER | Indicates that the video port VREF should drive the graphics VREF, locking the refresh rate to the video port.
  DDVP_VBICONVERT | The ddpfVBIOutputFormat member contains data that should be used to convert VBI data.
  DDVP_VBINOSCALE | VBI data should not be scaled.
  DDVPCONNECT_OVERRIDEBOBWEAVE | Override automatic display method chosen by the driver, using only the display method set by the caller when creating the overlay surface.
  DDVPFX_IGNOREVBIXCROP | Indicates that the video port should ignore left and right cropping coordinates when cropping oversampled VBI data.

rCrop
  Cropping rectangle. This member is optional.
dwPrescaleWidth
  Pre-scaling or zooming in the x direction. This member is optional.
dwPrescaleHeight
  Pre-scaling or zooming in the y direction. This member is optional.
ddpfInputFormat
  A DDPIXELFORMAT structure describing the pixel format to be written to the video port. This will often be identical to the surface’s pixel format, but can differ if the video port is to perform conversion.
ddpfVBIInputFormat and ddpfVBIOutputFormat
  DDPIXELFORMAT structures describing the input and output pixel formats of the data within the vertical blanking interval.
dwVBIHeight
  The amount of data within the vertical blanking interval, in scan lines.
dwReserved1 and dwReserved2
  Reserved; set to zero.