Microsoft DirectX 8.0

VIDEOINFO Structure

Structures

Describes the bitmap and color information for a video image.

Syntax

typedef struct tagVIDEOINFO {
    RECT              rcSource,
    RECT              rcTarget,
    DWORD             dwBitRate,
    DWORD             dwBitErrorRate,
    REFERENCE_TIME    AvgTimePerFrame;
    BITMAPINFOHEADER  bmiHeader;
    union {
        RGBQUAD         bmiColors[iPALETTE_COLORS];
        DWORD           dwBitMasks[iMASK_COLORS];
        TRUECOLORINFO   TrueColorInfo;
    };
} VIDEOINFO;

Members

rcSource
Portion of the input video to use.
rcTarget
Where the video should be displayed.
dwBitRate
Approximate bit data rate.
dwBitErrorRate
Bit error rate for this stream.
AvgTimePerFrame
Average time per frame, in 100-nanosecond units.
bmiHeader
Win32 BITMAPINFOHEADER structure that contains color and dimension information for a device-independent bitmap.
bmiColors
Array of Win32 RGBQUAD structures that specifies the video's color palette. Each structure represents a single color, which is a combination of red, green, and blue intensities.
dwBitMasks
Array of DWORD values that specify true color bitmasks.
TrueColorInfo
TRUECOLORINFO structure that contains both a color palette and an array of color bitmasks.

Remarks

Never use this structure unless you are sure that you will use it only to store standard RGB formats. If you store anything other than standard RGB, the variable size of the bmiHeader structure will almost certainly cause problems, and you should use the VIDEOINFOHEADER structure instead. If you find it absolutely necessary to use the VIDEOINFO structure, do not access the TrueColorInfo, dwBitMasks, or bmiColors members directly. Instead, use the TRUECOLORINFO, COLORS, and BITMASKS macros to return the pointers to the color information. Which of these members is valid depends on the contents of the BITMAPINFOHEADER structure.

The first five data members are equivalent to a VIDEOINFOHEADER structure. They are expanded in full simply to reduce the amount of dereferencing needed when dealing with a pointer to a VIDEOINFO structure.

For information about using the rcSource and rcTarget members, see Source and Target Rectangles in Video Renderers.