共用方式為


KS_VIDEO_STREAM_CONFIG_CAPS 結構 (ksmedia.h)

KS_VIDEO_STREAM_CONFIG_CAPS 結構描述視訊數據流的組態和功能,包括類比視訊標準 (例如 NTSC、PAL 或 SECAM) 、縮放和裁剪功能;最小和最大幀速率;和最小和最大數據速率。

語法

typedef struct _KS_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;
} KS_VIDEO_STREAM_CONFIG_CAPS, *PKS_VIDEO_STREAM_CONFIG_CAPS;

成員

guid

指定視訊格式類型的 GUID。 可能的值包括:

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO2

  • KSDATAFORMAT_SPECIFIER_ANALOGVIDEO

  • KSDATAFORMAT_SPECIFIER_VBI

  • KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO

  • KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO

此 GUID 與 DirectShow AM_MEDIA_TYPE 列舉相同。 如需AM_MEDIA_TYPE的詳細資訊,請參閱 DirectX SDK 檔。

VideoStandard

指定數據流所支援的模擬視訊標準。 這個成員可以設定為一或多個 (邏輯上來自 KS_AnalogVideoStandard列舉的 ORed) 值。

InputSize

指定傳入訊號的大小。 InputSize 會以圖元表示影像矩形的寬度和高度。 這是篩選條件可以使用每個剩餘唯一像素來數位化的最大訊號。

MinCroppingSize

指定允許的最小裁剪矩形,如與 DataRange 成員相關聯的 KS_VIDEOINFOHEADER 結構的 rcSource 成員所指定。

MaxCroppingSize

指定允許的最大裁剪矩形,如與 DataRange 成員相關聯的 KS_VIDEOINFOHEADER 結構的 rcSource 成員所指定。

CropGranularityX

指定裁剪大小的水平粒度。 例如,有效的寬度可以指定為四倍的倍數。

CropGranularityY

指定裁剪大小的垂直粒度。 例如,有效的高度可以指定為四倍的倍數。

CropAlignX

指定 InputSize 內裁剪矩形的水平對齊方式。 例如,minidriver 可以指定有效的矩形必須在四個界限上啟動。

CropAlignY

指定 InputSize 內裁剪矩形的垂直對齊方式。 例如,minidriver 可以指定有效的矩形必須在四個界限上啟動。

MinOutputSize

指定這個釘選可以產生的最小位圖。

MaxOutputSize

指定這個釘選可產生的最大位圖。

OutputGranularityX

指定輸出點陣圖寬度的粒度。

OutputGranularityY

指定輸出點陣圖高度的粒度。

StretchTapsX

指定下列其中一個值,指出篩選條件可以延展影像的寬度。

意義
0 篩選無法延展。
1 篩選會使用圖元加倍來達成延展。
2 篩選條件會使用插補 (2 個點選) 。
3 篩選條件會使用更順暢的 () 插補形式。

StretchTapsY

指定下列其中一個值,指出篩選條件可以延展影像的高度。

意義
0 篩選無法延展。
1 篩選會使用圖元加倍來達成延展。
2 篩選條件會使用插補 (2 個點選) 。
3 篩選條件會使用更順暢的 () 插補形式。

ShrinkTapsX

指定下列其中一個值,以指出篩選條件可以壓縮影像的寬度。

意義
0 篩選無法壓縮。
1 篩選條件會排除一些像素數據列,以達到壓縮。
2 篩選條件會使用插補 (2 個點選) 。
3 篩選條件會使用更順暢的 () 插補形式。

ShrinkTapsY

指定下列其中一個值,指出篩選條件可以壓縮影像的高度。

意義
0 篩選無法壓縮。
1 篩選條件會排除一些像素數據行,以達到壓縮。
2 篩選條件會使用插補 (2 個點選) 。
3 篩選條件會使用更順暢的 () 插補形式。

MinFrameInterval

指定允許的最小幀速率。 此值僅適用於擷取篩選。

MaxFrameInterval

指定允許的最大幀速率。 此值僅適用於擷取篩選。

MinBitsPerSecond

指定此針腳可以產生的每秒位數據速率下限。

MaxBitsPerSecond

指定此針腳可以產生的每秒位數據速率上限。

備註

KS_VIDEO_STREAM_CONFIG_CAPS 結構與 DirectShow VIDEO_STREAM_CONFIG_CAPS 結構相同。

請務必瞭解這個結構的成員之間的關聯性。 例如,假設某些結構成員的下列值:

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

這些值表示有效的裁剪大小從 MinCroppingSize 開始,並依 CropGranularityX 和 y 方向的 CropGranularityY 增加 x 方向的步驟。 在此情況下, x 值可以位於 160 到 320 像素的任何位置,步驟為 4,而 y 值可以在步驟 8 到 240 像素的任何位置。

在範例案例中,有一些有效的大小如下:

  • 160 × 120、164 × 120、168 × 120、172 × 120 等等。

  • 160 × 128、164 × 128、168 × 128、172 × 128 等等。

  • 160 × 136、164 × 136、168 × 136、172 × 136 等等。

CropAlignXCropAlignY 指出裁剪矩形可以在輸入大小矩形內的位置。 假設 160 × 120 裁剪矩形,且 CropAlignX 的值為 2,而 CropAlignY 的值為 4,KS_VIDEOINFOHEADER 結構的 rcSource 成員的一些有效值會是:

  • (0, 0, 160, 120)

  • (2、0、162、120)

  • (2、4、162、124)

  • (2、8、162、128)

針對 320 × 240 裁剪矩形和相同的裁剪對齊值, (2、4、322、244) 是許多有效矩形的其中一個範例。

MinCroppingSizeMaxCroppingSizeCropGranularityX、CropGranularityYCropAlignX 和 CropAlignY 成員會共同合作,以指定 rcSource 對描述輸出針腳媒體類型的KS_VIDEOINFOHEADER結構有效。 其餘結構成員 (MinOutputSizeMaxOutputSizeOutputGranularityX 和 OutputGranularityY) 描述KS_BITMAPINFOHEADER結構的 biWidthbiHeight 成員,該成員包含在針腳的媒體類型KS_VIDEOINFOHEADER結構中。

規格需求

需求
標頭 ksmedia.h (包含 Ksmedia.h)

另請參閱

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER