Share via


CS_VIDEO_STREAM_CONFIG_CAPS (Windows Embedded CE 6.0)

1/6/2010

This structure describes the configuration and capabilities of a video stream, including analog video standard, scaling and cropping capabilities, minimum and maximum frame rates and minimum and maximum data rates.

Syntax

typedef struct _CS_VIDEO_STREAM_CONFIG_CAPS {
  GUID guid;
  ULONG VideoStandard;
  SIZE InputSize;
  SIZE MinCroppingSize;
  SIZE MaxCroppingSize;
  int CropGranularityX;
  int CropGranularityY;
  int CropAlignX;
  int CropAlignY;
  SIZE MinOutputSize;
  SIZE MaxOutputSize;
  int OutputGranularityX;
  int OutputGranularityY;
  int StretchTapsX;
  int StretchTapsY;
  int ShrinkTapsX;
  int ShrinkTapsY;
  LONGLONG MinFrameInterval;
  LONGLONG MaxFrameInterval;
  LONG MinBitsPerSecond;
  LONG MaxBitsPerSecond;
} CS_VIDEO_STREAM_CONFIG_CAPS, *PCS_VIDEO_STREAM_CONFIG_CAPS;

Members

  • guid
    A GUID value that specifies the CSDATAFORMAT_SPECIFIER_VIDEOINFO value (see CSDATAFORMAT_SPECIFIER Values). This GUID is identical to the DirectShow MEDIATYPE_Video value. For more information see Media Types.
  • VideoStandard
    A ULONG value that specifies the analog video standards supported by the stream. This member must be set to CS_AnalogVideo_None to indicate that the video stream carries digital video. Analog video format are not supported.
  • InputSize
    A SIZE value that specifies the size of the incoming signal. InputSize indicates the image rectangle's width and height in pixels. This is the largest signal the filter can digitize with each pixel remaining unique.
  • MinCroppingSize
    A SIZE value that specifies the smallest cropping rectangle allowed, as specified in the rcSource member of the CS_VIDEOINFOHEADER structure associated with the DataRange.
  • MaxCroppingSize
    A SIZE value that specifies the largest cropping rectangle allowed, as specified in the rcSource member of the CS_VIDEOINFOHEADER structure associated with the DataRange.
  • CropGranularityX
    An int value that specifies the horizontal granularity of the cropping size. For example, valid widths could be specified as even multiples of four.
  • CropGranularityY
    An int value that specifies the vertical granularity of cropping size. For example, valid heights could be specified as even multiples of four.
  • CropAlignX
    An int value that specifies the horizontal alignment of the cropping rectangle inside InputSize. For example, the minidriver could specify that valid rectangles must start on a boundary that is a multiple of four.
  • CropAlignY
    An int value that specifies the vertical alignment of the cropping rectangle inside InputSize. For example, the minidriver could specify that valid rectangles must start on a boundary that is a multiple of four.
  • MinOutputSize
    A SIZE value that specifies the smallest bitmap this pin can produce.
  • MaxOutputSize
    A SIZE value that specifies the largest bitmap this pin can produce.
  • OutputGranularityX
    An int value that specifies the granularity of the output bitmap width.
  • OutputGranularityY
    An int value that specifies the granularity of the output bitmap height.
  • StretchTapsX
    An int value that indicates how well the filter can stretch the image's width.

    Value Meaning

    0

    The filter cannot stretch.

    1

    The filter uses pixel doubling.

    2

    The filter uses interpolation (2 taps).

    3 or higher

    The filter implements a higher-order (smoother) form of interpolation.

  • StretchTapsY
    An int value that indicates how well the filter can stretch the image's height. See the StretchTapsX for specific values.
  • ShrinkTapsX
    An int value that indicates how well the filter can shrink the image's width. See the StretchTapsX for specific values.
  • ShrinkTapsY
    An int value that specifies a value indicating how well the filter can shrink the image's height. See the StretchTapsX for specific values.
  • MinFrameInterval
    A LONGLONG value that specifies the minimum frame rate allowed. This value applies to capture filters only.
  • MaxFrameInterval
    A LONGLONG value that specifies the maximum frame rate allowed. This value applies to capture filters only.
  • MinBitsPerSecond
    A LONG value that specifies the minimum data rate this pin can produce.
  • MaxBitsPerSecond
    A LONGLONG value that specifies the maximum data rate this pin can produce.

Remarks

The CS_VIDEO_STREAM_CONFIG_CAPS structure is identical to the DirectShow VIDEO_STREAM_CONFIG_CAPS structure.

It is important to understand the relationships between the members of this structure. For example, assume the following values for some of the structure members:

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

These values indicate that valid cropping sizes begin at MinCroppingSize and increase in steps in the x-direction by CropGranularityX and in the y-direction by CropGranularityY. In this case the x-value can be anywhere from 160 to 320 pixels in steps of 4 and the y-value can be anywhere from 120 to 240 pixels in steps of 8.

In this scenario a few of the valid sizes are:

  • 160 x 120, 164 x 120, 168 x 120, 172 x 120, and so on.
  • 160 x 128, 164 x 128, 168 x 128, 172 x 128, and so on.
  • 160 x 136, 164 x 136, 168 x 136, 172 x 136, and so on.

CropAlignX and CropAlignY indicate where the cropping rectangle can be inside the input size rectangle. Given a 160 x 120 cropping rectangle and the following:

CropAlignX = 2

CropAlignY = 4

Some of the valid values for the rcSource member of the CS_VIDEOINFOHEADER structure would be: (0, 0, 160, 120)

  • (2, 0, 162, 120)
  • (2, 4, 162, 124)
  • (2, 8, 162, 128)

For a 320 x 240 cropping rectangle and the same cropping alignment values, the rectangle (2, 4, 322, 244) is one example of the many valid rectangles.

The structure members discussed above work together to specify which values of rcSource are valid for the CS_VIDEOINFOHEADER structure that describes the output pin's media type. The remaining structure members (MinOutputSize, MaxOutputSize, OutputGranularityX, and OutputGranularityY) describe the biWidth and biHeight members of the CS_VIDEOINFOHEADER structure contained in the pin's media type CS_VIDEOINFOHEADER structure.

Requirements

Header csmedia.h
Windows Embedded CE Windows Embedded CE 6.0 and later

See Also

Reference

Camera Driver Structures
CSDATAFORMAT_SPECIFIER Values
CS_VIDEOINFOHEADER

Other Resources

Media Types and Sub Types
VIDEO_STREAM_CONFIG_CAPS