VIDEOINFO Structure
Microsoft DirectShow 9.0 |
VIDEOINFO Structure
The VIDEOINFO structure is equivalent to a VIDEOINFOHEADER structure, but it contains enough memory to hold three color masks plus a color table with 256 colors.
If you are writing a video filter, you can use this structure to guarantee that the format block always has enough memory to contain the largest possible VIDEOINFOHEADER structure.
Syntax
typedef struct tagVIDEOINFO { RECT rcSource, RECT rcTarget, DWORD dwBitRate, DWORD dwBitErrorRate, REFERENCE_TIME AvgTimePerFrame; BITMAPINFOHEADER bmiHeader; union { RGBQUAD bmiColors[256]; DWORD dwBitMasks[3]; TRUECOLORINFO TrueColorInfo; }; } VIDEOINFO;
Members
rcSource
Portion of the input video to use.
rcTarget
Where the video should be displayed.
dwBitRate
Approximate data rate in bits per second.
dwBitErrorRate
Bit error rate for this stream.
AvgTimePerFrame
The desired average time per frame, in 100-nanosecond units. For more information, see the Remarks section for the VIDEOINFOHEADER structure.
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.
Requirements
Header: Dshow.h.
See Also