Microsoft DirectX 8.1 (C++)

VIDEOINFO Structure

The VIDEOINFO structure 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

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 TRUECOLOR, 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.

See Also