CS_VIDEOINFOHEADER2 (Compact 2013)
3/26/2014
This structure is used to specify details of a video stream including bob or weave settings.
Syntax
typedef struct tagCS_VIDEOINFOHEADER2 {
RECT rcSource;
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
DWORD dwInterlaceFlags;
DWORD dwCopyProtectFlags;
DWORD dwPictAspectRatioX;
DWORD dwPictAspectRatioY;
DWORD dwReserved1;
DWORD dwReserved2;
CS_BITMAPINFOHEADER bmiHeader;
union {
DWORD dwBitMasks[CS_iMASK_COLORS];
CS_TRUECOLORINFO TrueColorInfo;
};
} CS_VIDEOINFOHEADER2, *PCS_VIDEOINFOHEADER2;
Members
- rcSource
A RECT structure that specifies a rectangle to select the portion of the active video signal to use. Specifying valid values for this member effectively defines a clipping rectangle.
- rcTarget
A RECT structure that specifies a rectangle that indicates what part of the target buffer should be used.
- dwBitRate
A DWORD value that specifies a value that indicates the video stream's appropriate 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 DWORD value that specifies the average time per frame in 100-nanosecond units.
- dwInterlaceFlags
A DWORD value that specifies interlace information. Undefined flags must be set to zero, or the connection may be rejected
- dwCopyProtectFlags
A DWORD value that specifies a AMCOPYPROTECT_RestrictDuplication value to indicate if duplication of a stream should be restricted. If undefined, specify zero or the connection will be rejected.
- dwPictAspectRatioX
A DWORD value that specifies the x dimension of the picture-aspect ratio (for example, 16 for a 16x9 display). The value is expressed in inches by inches, not pixels by pixels.
- dwPictAspectRatioY
A DWORD value that specifies the y dimension of the picture aspect ratio (for example, 9 for 16x9 display). The value is expressed in inches by inches, not pixels by pixels.
- dwReserved1
Reserved for system use. Must be set to zero or the connection is rejected.
- dwReserved2
Reserved for system use. Must be set to zero or the connection is rejected.
- bmiHeader
A CS_BITMAPINFOHEADER structure that contains color and dimension information for the video image bitmap.
- dwBitMasks
An array of DWORD values that represent true color masks.
- TrueColorInfo
A CS_TRUECOLORINFO structure that defines a color.
Remarks
To describe a video stream without bob or weave settings, use CS_VIDEOINFOHEADER. The CS_VIDEOINFOHEADER2 structure is identical to the DirectShow VIDEOINFOHEADER2 structure.
Capture minidrivers that produce video fields (instead of frames) must use the CS_DATARANGE_VIDEO2 structure, which contains the CS_VIDEOINFOHEADER2 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. In this case, it calls the IPin::QueryAccept method with a nonempty target.
Requirements
Header |
csmedia.h |
See Also
Reference
Camera Driver Structures
CS_BITMAPINFOHEADER
CS_TRUECOLORINFO
CS_VIDEOINFOHEADER
CS_DATARANGE_VIDEO2