tagVIDEOINFO 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.


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



Portion of the input video to use.


Where the video should be displayed.


Approximate data rate in bits per second.


Bit error rate for this stream.


The desired average time per frame, in 100-nanosecond units. For more information, see the Remarks section for the VIDEOINFOHEADER structure.


BITMAPINFOHEADER structure that contains color and dimension information for a device-independent bitmap.






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.


Header amvideo.h (include Dshow.h)

See Also

DirectShow Structures