Share via


CS_VIDEOINFOHEADER (Compact 2013)

3/26/2014

This structure describes the details of a video stream without bob or weave settings.

Syntax

typedef struct tagCS_VIDEOINFOHEADER {
  RECT                rcSource;
  RECT                rcTarget;
  DWORD               dwBitRate;
  DWORD               dwBitErrorRate;
  REFERENCE_TIME      AvgTimePerFrame;
  CS_BITMAPINFOHEADER bmiHeader;
  union {
    DWORD               dwBitMasks[CS_iMASK_COLORS];
    CS_TRUECOLORINFO    TrueColorInfo;
  };
} CS_VIDEOINFOHEADER, *PCS_VIDEOINFOHEADER;

Members

  • rcSource
    A RECT value that specifies a rectangle that selects the portion of the active video signal to use. Specifying valid values for this member effectively defines a clipping rectangle.
  • rcTarget
    A RECT value that specifies a rectangle to define the target destination video window.
  • dwBitRate
    A DWORD value that indicates the video stream's approximate data rate, in bits per second.
  • dwBitErrorRate
    A DWORD value that indicates the video stream's data error rate, in bit errors per second.
  • AvgTimePerFrame
    A REFERENCE_TIME value that specifies the average time per frame in 100-nanosecond units.
  • bmiHeader
    A CS_BITMAPINFOHEADER structure that contains color and dimension information about the video image bitmap.
  • dwBitMasks
    An array of DWORD values that represent true color masks.

Remarks

The CS_VIDEOINFOHEADER structure is identical to the DirectShow VIDEOINFOHEADER structure.

A source filter can request that the sink filter take only a section of the video by providing values that effectively define a clipping rectangle in the rcSource member. However, if the sink filter does not check for the clipping rectangle on connection, the sink filter simply renders all of the video, effectively ignoring any clipping information passed from the source filter to the sink filter.

Ideally, a sink filter checks rcSource and if the sink filter does not support image extraction and the rectangle is not empty, then it rejects the connection. A filter should use the function SetRectEmpty to reset a rectangle to all zeros (and IsRectEmpty to later check the rectangle).

The rcTarget member specifies the destination rectangle for the video. Most source filters set this member to all zeros. A downstream filter can request that the video be placed in a particular area of the buffers it supplies.

Requirements

Header

csmedia.h

See Also

Reference

Camera Driver Structures
CS_BITMAPINFOHEADER
CS_TRUECOLORINFO

Other Resources

RECT
VIDEOINFOHEADER
SetRectEmpty
IsRectEmpty