Microsoft Windows CE 3.0  

DDVIDEOPORTCAPS

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The DDVIDEOPORTCAPSstructure describes the capabilities and alignment restrictions of a video port. This structure is used with the IDDVideoPortContainer::EnumVideoPortsmethod.

typedef struct _DDVIDEOPORTCAPS {
DWORD
dwSize
;
DWORD
dwFlags
;
DWORD
dwMaxWidth
;
DWORD
dwMaxVBIWidth
;
DWORD
dwMaxHeight
;
DWORD
dwVideoPortID
;
DWORD
dwCaps
;
DWORD
dwFX
;
DWORD
dwNumAutoFlipSurfaces
;
DWORD
dwAlignVideoPortBoundary
;
DWORD
dwAlignVideoPortPrescaleWidth
;
DWORD
dwAlignVideoPortCropBoundary
;
DWORD
dwAlignVideoPortCropWidth
;
DWORD
dwPreshrinkXStep
;
DWORD
dwPreshrinkYStep
;
DWORD
dwNumVBIAutoFlipSurfaces
;
DWORD
dwNumPreferredAutoflip
;
WORD
wNumFilterTapsX
;
WORD
wNumFilterTapsY
;
} DDVIDEOPORTCAPS, *LPDDVIDEOPORTCAPS;

Members

dwSize
Size of the structure, in bytes. This must be initialized before use.
dwFlags
Flag values indicating the fields that contain valid data. The following flags are defined:
DDVPD_AUTOFLIP The dwNumAutoFlipSurfacesmember is valid.
DDVPD_ALIGN The dwAlignVideoPortBoundary, dwAlignVideoPortPrescaleWidth, dwAlignVideoPortCropBoundary, and dwAlignVideoPortCropWidthare valid.
DDVPD_CAPS The dwCapsmember is valid.
DDVPD_FILTERQUALITY The wNumFilterTapsXand wNumFilterTapsYmembers are valid.
DDVPD_FX The dwFXmember is valid.
DDVPD_HEIGHT The dwMaxHeightmember is valid.
DDVPD_ID The dwVideoPortIDmember is valid.
DDVPD_PREFERREDAUTOFLIP The dwNumPreferredAutoflipmember is valid.
DDVPD_WIDTH The dwMaxWidthmember is valid.
dwMaxWidth
Maximum width of the video port field.
dwMaxVBIWidth
Maximum width of the VBI data.
dwMaxHeight
Maximum height of the video port field.
dwVideoPortID
Zero-based index identifying the video port.
dwCaps
Video port capabilities.
DDVPCAPS_AUTOFLIP Flip can be performed automatically to avoid tearing when a VREF occurs. If the data is being interleaved in memory, it will flip on every other VREF.
DDVPCAPS_COLORCONTROL Can perform color control operations on incoming data before writing to the frame buffer.
DDVPCAPS_INTERLACED Supports interlaced video.
DDVPCAPS_NONINTERLACED Supports non-interlaced video.
DDVPCAPS_OVERSAMPLEDVBI Can accept VBI data in a different format or width than the regular video data.
DDVPCAPS_READBACKFIELD Supports the IDirectDrawVideoPort::GetFieldPolaritymethod.
DDVPCAPS_READBACKLINE Supports the IDirectDrawVideoPort::GetVideoLinemethod.
DDVPCAPS_SHAREABLE Supports two genlocked video streams that share the video port, where one stream uses the even fields and the other uses the odd fields. Separate parameters,including address, scaling, and cropping, are maintained for both fields.
DDVPCAPS_SKIPEVENFIELDS Even fields of video can be automatically discarded.
DDVPCAPS_SKIPODDFIELDS Odd fields of video can be automatically discarded.
DDVPCAPS_SYNCMASTER Can drive the graphics sync (refresh rate) based on the video port sync.
DDVPCAPS_SYSTEMMEMORY Capable of writing to surfaces created in system memory.
DDVPCAPS_VBIANDVIDEOINDEPENDENT Indicates that the VBI and video portions of the video stream can be controlled by independent processes.
DDVPCAPS_VBISURFACE Data within the VBI can be written to a different surface.
dwFX
Additional video port capabilities.
DDVPFX_CROPTOPDATA Limited cropping is available to crop VBI data.
DDVPFX_CROPX Incoming data can be cropped in the x-direction before it is written to the surface.
DDVPFX_CROPY Incoming data can be cropped in the y-direction before it is written to the surface.
DDVPFX_IGNOREVBIXCROP The video port can ignore the left and right cropping coordinates when cropping oversampled VBI data.
DDVPFX_INTERLEAVE Supports interleaving interlaced fields in memory.
DDVPFX_MIRRORLEFTRIGHT Supports mirroring left to right as the video data is written into the frame buffer.
DDVPFX_MIRRORUPDOWN Supports mirroring top to bottom as the video data is written into the frame buffer.
DDVPFX_PRESHRINKX Data can be arbitrarily shrunk in the x-direction before it is written to the surface.
DDVPFX_PRESHRINKY Data can be arbitrarily shrunk in the y-direction before it is written to the surface.
DDVPFX_PRESHRINKXB Data can be binary shrunk (1/2, 1/4, 1/8, �) in the x-direction before it is written to the surface.
DDVPFX_PRESHRINKYB Data can be binary shrunk (1/2, 1/4, 1/8, �) in the y-direction before it is written to the surface.
DDVPFX_PRESHRINKXS Data can be shrunk in the x-direction by increments of 1 /x, where xis specified in the dwPreshrinkXStepmember.
DDVPFX_PRESHRINKYS Data can be shrunk in the y-direction by increments of 1 /y, where yis specified in the dwPreshrinkYStep.
DDVPFX_PRESTRETCHX Data can be arbitrarily stretched in the x-direction before it is written to the surface.
DDVPFX_PRESTRETCHY Data can be arbitrarily stretched in the y-direction before it is written to the surface.
DDVPFX_PRESTRETCHXN Data can be integer stretched in the x-direction before it is written to the surface (1x, 2x, 3x, �).
DDVPFX_PRESTRETCHYN Data can be integer stretched in the y-direction before it is written to the surface (1x, 2x, 3x, �).
DDVPFX_VBICONVERT Data within the VBI can be converted independently of the remaining video data.
DDVPFX_VBINOINTERLEAVE Interleaving can be disabled for data within the VBI.
DDVPFX_VBINOSCALE Scaling can be disabled for data within the VBI.
dwNumAutoFlipSurfaces
Maximum number of auto-flippable surfaces supported by the video port.
dwAlignVideoPortBoundary
Byte restriction of placement within the surface.
dwAlignVideoPortPrescaleWidth
Byte restriction of width after prescaling.
dwAlignVideoPortCropBoundary
Byte restriction of left cropping.
dwAlignVideoPortCropWidth
Byte restriction of cropping width.
dwPreshrinkXStep
Width can be shrunk in the x-direction in steps of 1/ dwPreshrinkXStep .
dwPreshrinkYStep
Height can be shrunk in the y-direction in steps of 1 / dwPreshrinkYStep .
dwNumVBIAutoFlipSurfaces
Maximum number of auto-flipping surfaces capable of receiving data transmitted during the vertical blanking interval (VBI) independent from the remainder of the video stream. When constructing the auto-flip chain, the number of VBI surfaces must equal the number of surfaces receiving the remainder of the video data.
dwNumPreferredAutoflip
Optimal number of auto-flippable surfaces supported by the hardware.
wNumFilterTapsXand wNumFilterTapsY
Number of taps the prescaler filter uses in the x- and y-directions. The value of zero indicates that no prescaling is performed in that direction, 1 indicates that the prescaler performs replication, 2 indicates that the prescaler uses two taps, and so on.

Requirements

Runs on Versions Declared in
Windows CE OS 2.12 or later. Version 2.12 requires DXPAK 1.0 or later. dvp.h