共用方式為


VIDEO_STREAM_CONFIG_CAPS結構 (strmif.h)

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

VIDEO_STREAM_CONFIG_CAPS結構描述一系列視訊格式。 視訊壓縮和視訊擷取篩選準則會使用此結構來描述其可產生的格式。

注意 此結構大部分已被取代,但下列結構成員除外:
  • guid
  • VideoStandard
  • MinFrameInterval
  • MaxFrameInterval
應用程式可以使用 MinFrameIntervalMaxFrameInterval ,從視訊擷取裝置取得支援的畫面播放速率範圍。 應用程式應該避免使用此結構的任何其他成員。 請改用IAMStreamConfig::GetFormat方法所傳回的AM_MEDIA_TYPE結構。
 

語法

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;

成員

guid

識別格式類型的GUID。 例如, FORMAT_VideoInfoFORMAT_VideoInfo2。 如需詳細資訊,請參閱AM_MEDIA_TYPE結構的formattype成員。

VideoStandard

支援的類比視訊標準。 此值是 來自 AnalogVideoStandard 列舉類型或零之旗標的位元組合。

InputSize

傳入視訊訊訊的原生大小。 針對壓壓,大小取自輸入針腳。 針對擷取篩選器,大小是篩選可以數位化且每個圖元剩餘唯一的最大訊號。

注意 廢棄。
 

MinCroppingSize

允許的最小來源矩形。 來源矩形定義于VIDEOINFOHEADERVIDEOINFOHEADER2結構的rcSource成員中。

注意 廢棄。
 

MaxCroppingSize

允許的最大來源矩形。

注意 廢棄。
 

CropGranularityX

來源矩形的水準細微性。 這個值會指定 MinCroppingSizeMaxCroppingSize之間有效的遞增。

注意 廢棄。
 

CropGranularityY

來源矩形的垂直細微性。 這個值會指定 MinCroppingSizeMaxCroppingSize之間有效的遞增。

注意 廢棄。
 

CropAlignX

來源矩形的必要水準對齊方式。

注意 廢棄。
 

CropAlignY

來源矩形的必要垂直對齊方式。

注意 廢棄。
 

MinOutputSize

輸出大小下限。

注意 廢棄。
 

MaxOutputSize

輸出大小上限。

注意 廢棄。
 

OutputGranularityX

輸出寬度的細微性。 這個值會指定 MinOutputSizeMaxOutputSize之間有效的遞增。

注意 廢棄。
 

OutputGranularityY

輸出高度的細微性。 這個值會指定 MinOutputSizeMaxOutputSize之間有效的遞增。

注意 廢棄。
 

StretchTapsX

指出篩選準則可以水準縮放影像的方式。

注意 廢棄。
 

StretchTapsY

指出篩選準則可以垂直縮放影像的方式。

注意 廢棄。
 

ShrinkTapsX

指出篩選準則可以水準壓縮影像的方式。

注意 廢棄。
 

ShrinkTapsY

指出篩選準則可以垂直壓縮影像的方式。

注意 廢棄。
 
前四個結構成員會使用下列值:
意義
0
不支援延展/壓縮。
1
使用圖元加倍 (延展) 或消除圖元 (縮小)
2
使用插補 (2 點選)
3 和更新版本
使用插補 (> 2 點選)

MinFrameInterval

最小畫面持續時間,以 100 奈秒為單位。 此值僅適用于擷取篩選。

MaxFrameInterval

最大畫面持續時間,以 100 奈秒為單位。 此值僅適用于擷取篩選。

MinBitsPerSecond

此針腳所產生的資料速率下限。

注意 廢棄。
 

MaxBitsPerSecond

此針腳可以產生的資料速率上限。

注意 廢棄。
 

備註

IAMStreamConfig::GetStreamCaps方法會傳回這個結構。 應用程式可以使用這項資訊來修改視訊壓縮篩選或視訊擷取篩選器上的輸出格式。

例如,假設篩選會傳回來源矩形的下列值:

  • MinCroppingSize = (160, 120)
  • MaxCroppingSize = (320, 240)
  • CropGranularityX = 4
  • CropGranularityY = 8
  • CropAlignX = 2
  • CropAlignY = 4
這些數位會定義一組適用于VIDEOINFOHEADER 或 VIDEOINFOHEADER2結構的rcSource成員的矩形。 在此範例中,來源矩形的最小寬度為 160 圖元 x 120 圖元高。 寬度可以以 4 圖元的步驟增加至最多 320 個圖元。 高度可以以 8 圖元的步驟增加至最多 240 個圖元。 換句話說,有效寬度為 160、164、168 ...320;有效高度為 120、128、136 ...240.

CropAlignXCropAlignY成員會定義來源矩形左上角可以放置的位置。 例如,下列矩形在先前的值下有效:

  • (0, 0, 160, 120)
  • (2、0、162、120)
  • (2、8、162、128)
以類似的方式,MinOutputSize、MaxOutputSizeOutputGranularityX 和 OutputGranularityY成員會定義BITMAPINFOHEADER結構的biWidthbiHeight成員支援哪些值。

針對擷取篩選準則,MinFrameInterval 和 MaxFrameInterval成員會定義每個畫面的最小和最大持續時間,如VIDEOINFOHEADER 或 VIDEOINFOHEADER2結構的AvgTimePerFrame成員所指定。 篩選準則可能不支援介於這兩個值之間的每個畫面播放速率。 IAMStreamConfig::SetFormat方法會將畫面播放速率設定為篩選支援的最接近值。 如果 SetFormat 成功,請呼叫 IAMStreamConfig::GetFormat 來判斷實際的畫面播放速率。

規格需求

   
標頭 strmif.h (包含 Dshow.h)

另請參閱

DirectShow 結構