VIDEO_STREAM_CONFIG_CAPS結構 (strmif.h)
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
VIDEO_STREAM_CONFIG_CAPS結構描述一系列視訊格式。 視訊壓縮和視訊擷取篩選準則會使用此結構來描述其可產生的格式。
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
語法
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_VideoInfo 或 FORMAT_VideoInfo2。 如需詳細資訊,請參閱AM_MEDIA_TYPE結構的formattype成員。
VideoStandard
支援的類比視訊標準。 此值是 來自 AnalogVideoStandard 列舉類型或零之旗標的位元組合。
InputSize
傳入視訊訊訊的原生大小。 針對壓壓,大小取自輸入針腳。 針對擷取篩選器,大小是篩選可以數位化且每個圖元剩餘唯一的最大訊號。
MinCroppingSize
允許的最小來源矩形。 來源矩形定義于VIDEOINFOHEADER或VIDEOINFOHEADER2結構的rcSource成員中。
MaxCroppingSize
允許的最大來源矩形。
CropGranularityX
來源矩形的水準細微性。 這個值會指定 MinCroppingSize 和 MaxCroppingSize之間有效的遞增。
CropGranularityY
來源矩形的垂直細微性。 這個值會指定 MinCroppingSize 和 MaxCroppingSize之間有效的遞增。
CropAlignX
來源矩形的必要水準對齊方式。
CropAlignY
來源矩形的必要垂直對齊方式。
MinOutputSize
輸出大小下限。
MaxOutputSize
輸出大小上限。
OutputGranularityX
輸出寬度的細微性。 這個值會指定 MinOutputSize 和 MaxOutputSize之間有效的遞增。
OutputGranularityY
輸出高度的細微性。 這個值會指定 MinOutputSize 和 MaxOutputSize之間有效的遞增。
StretchTapsX
指出篩選準則可以水準縮放影像的方式。
StretchTapsY
指出篩選準則可以垂直縮放影像的方式。
ShrinkTapsX
指出篩選準則可以水準壓縮影像的方式。
ShrinkTapsY
指出篩選準則可以垂直壓縮影像的方式。
值 | 意義 |
---|---|
|
不支援延展/壓縮。 |
|
使用圖元加倍 (延展) 或消除圖元 (縮小) |
|
使用插補 (2 點選) |
|
使用插補 (> 2 點選) |
MinFrameInterval
最小畫面持續時間,以 100 奈秒為單位。 此值僅適用于擷取篩選。
MaxFrameInterval
最大畫面持續時間,以 100 奈秒為單位。 此值僅適用于擷取篩選。
MinBitsPerSecond
此針腳所產生的資料速率下限。
MaxBitsPerSecond
此針腳可以產生的資料速率上限。
備註
IAMStreamConfig::GetStreamCaps方法會傳回這個結構。 應用程式可以使用這項資訊來修改視訊壓縮篩選或視訊擷取篩選器上的輸出格式。
例如,假設篩選會傳回來源矩形的下列值:
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAlignY = 4
CropAlignX和CropAlignY成員會定義來源矩形左上角可以放置的位置。 例如,下列矩形在先前的值下有效:
- (0, 0, 160, 120)
- (2、0、162、120)
- (2、8、162、128)
針對擷取篩選準則,MinFrameInterval 和 MaxFrameInterval成員會定義每個畫面的最小和最大持續時間,如VIDEOINFOHEADER 或 VIDEOINFOHEADER2結構的AvgTimePerFrame成員所指定。 篩選準則可能不支援介於這兩個值之間的每個畫面播放速率。 IAMStreamConfig::SetFormat方法會將畫面播放速率設定為篩選支援的最接近值。 如果 SetFormat 成功,請呼叫 IAMStreamConfig::GetFormat 來判斷實際的畫面播放速率。
規格需求
標頭 | strmif.h (包含 Dshow.h) |