次の方法で共有


VIDEO_STREAM_CONFIG_CAPS 構造体 (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 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 列挙型のフラグのビットごとの組み合わせ、または 0 です。

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

フィルターが画像を垂直方向に縮小できる程度を示します。

メモ 廃止。
 
前の 4 つの構造体メンバーは、次の値を使用します。
説明
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.

CropAlignX メンバーと CropAlignY メンバーは、ソース四角形の左上隅を配置できる場所を定義します。 たとえば、次の四角形は、前の値を指定すると有効です。

  • (0, 0, 160, 120)
  • (2, 0, 162, 120)
  • (2, 8, 162, 128)
同様に、MinOutputSizeMaxOutputSizeOutputGranularityX、および OutputGranularityY メンバーは、BITMAPINFOHEADER 構造体の biWidth メンバーと biHeight メンバーでサポートされる値を定義します。

キャプチャ フィルターの場合、MinFrameInterval メンバーと MaxFrameInterval メンバーは、VIDEOINFOHEADER または VIDEOINFOHEADER2 構造体の AvgTimePerFrame メンバーで指定されているように、各フレームの最小および最大期間を定義します。 フィルターは、これら 2 つの値の間にあるすべてのフレーム レートをサポートしていない場合があります。 IAMStreamConfig::SetFormat メソッドは、フレーム レートをフィルターがサポートする最も近い値に設定します。 SetFormat が成功した場合は、IAMStreamConfig::GetFormat を呼び出して実際のフレーム レートを決定します。

要件

   
Header strmif.h (Dshow.h を含む)

関連項目

DirectShow 構造体