Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This structure contains information about possible connections.

Syntax

typedef struct  _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;
}  VIDEO_STREAM_CONFIG_CAPS;

Members

guid

Will set MEDIATYPE_Video to indicate a video sample.

VideoStandard

The analog video standard supported.

This member is set in the AnalogVideoStandardenumeration type

This value is set to 0 if not supported.

InputSize

Size of the incoming signal, expressed through the Win32 SIZEstructure as the image rectangle's width and height in pixels.

For a compressor, the size is taken from the widthand heightmembers of the Win32 BITMAPINFOHEADERstructure in the input pin's AM_MEDIA_TYPEstructure.

For a capture filter, the size is the largest signal the filter can digitize with every pixel remaining unique.

MinCroppingSize

Smallest cropping rectangle allowed, as specified in the VIDEOINFOHEADERstructure's rcSourcemember.

MaxCroppingSize

Largest cropping rectangle allowed, as specified in the VIDEOINFOHEADERstructure's rcSourcemember.

CropGranularityX

Granularity of the cropping size.

For example, you could specify that the only valid widths are an even multiple of four.

CropGranularityY

Granularity of the cropping size.

For example, you could specify that the only valid heights are an even multiple of four.

CropAlignX

Alignment of the cropping rectangle inside InputSize.

For example, you could specify that rectangles must start on a boundary that is a multiple of four.

CropAlignY

Alignment of the cropping rectangle inside InputSize.

For example, you could specify that rectangles must start on a boundary that is a multiple of four.

MinOutputSize

Smallest bitmap this pin can produce.

MaxOutputSize

Largest bitmap this pin can produce.

OutputGranularityX

Granularity of output bitmap width.

OutputGranularityY

Granularity of output bitmap height.

StretchTapsX

Value indicating how well the filter can stretch the image's width.

0 means the filter cannot stretch.

1 means it uses pixel doubling.

2 means it uses interpolation (2 taps).

3 and higher indicate it implements better interpolation.

StretchTapsY

Value indicating how well the filter can stretch the image's height.

0 means the filter cannot stretch.

1 means it uses pixel doubling.

2 means it uses interpolation (2 taps).

3 and higher indicate it implements better interpolation.

ShrinkTapsX

Value indicating how well the filter can shrink the image's width.

0 means the filter cannot shrink.

1 means it just eliminates some rows of pixels.

2 means it uses interpolation (2 taps).

3 and higher indicate it implements better interpolation.

ShrinkTapsY

Value indicating how well the filter can shrink the image's height.

0 means the filter cannot shrink.

1 means it just eliminates some rows of pixels.

2 means it uses interpolation (2 taps).

3 and higher indicate it implements better interpolation.

MinFrameInterval

Minimum frame rate allowed.

This applies to the capture filter only.

MaxFrameInterval

Maximum frame rate allowed.

This applies to the capture filter only.

MinBitsPerSecond

Minimum data rate this pin can produce.

MaxBitsPerSecond

Maximum data rate this pin can produce.

Remarks

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 MinCroppingSizeand increase in steps in the x-direction by CropGranularityXand 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 as follows:

  • 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

CropAlignXand CropAlignYindicate where the cropping rectangle can be inside the input size rectangle.

Given a 160 × 120 sized cropping rectangle and the following:

  • CropAlignX = 2

  • CropAlignY = 4

Some valid values for the VIDEOINFOHEADERstructure's rcSourcemember are as follows:

  • (0, 0, 160, 120)

  • (2, 0, 162, 120)

  • (2, 4, 162, 124)

  • (2, 8, 162, 128)

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

The structure members discussed in this section work together to specify what values of rcSourceare valid for the VIDEOINFOHEADERstructure that describes the output pin's media type.

Of the remaining structure members, MinOutputSize, MaxOutputSize, OutputGranularityX, and OutputGranularityYdescribe the biWidthand biHeightmembers of the BITMAPINFOHEADERstructure contained in the output pin's media type VIDEOINFOHEADERstructure.

Requirements

Header dshow.h
Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment,
Version 2.12 requires DXPAK 1.0 or later

See Also