Microsoft DirectX 8.0 |
可能な接続に関する情報が格納される。
構文
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
- ビデオ サンプルを示す MEDIATYPE_Video に設定される。
- VideoStandard
- サポートされるアナログ ビデオ規格。AnalogVideoStandard 列挙型が設定される (サポートされない場合は 0)。
- InputSize
- 受け取る信号のサイズ。Win32 SIZE 構造体を通じて、イメージ矩形の幅および高さ (ピクセル単位) で表現される。コンプレッサ フィルタの場合、このサイズは入力ピンの AM_MEDIA_TYPE 構造体内にある Win32 BITMAPINFOHEADER 構造体の幅および高さのメンバから取得される。キャプチャ フィルタの場合、このサイズはフィルタが全ピクセルが一意なままデジタル化することができる最大の信号サイズである。
- MinCroppingSize
- VIDEOINFOHEADER 構造体の rcSource メンバに指定された、使用できる最小のクロッピング矩形。
- MaxCroppingSize
- VIDEOINFOHEADER 構造体の rcSource メンバに指定された、使用できる最大のクロッピング矩形。
- CropGranularityX
- クロッピング サイズの細分度。たとえば、有効な幅を 4 の整数倍に限定する。
- CropGranularityY
- クロッピング サイズの細分度。たとえば、有効な高さを 4 の整数倍に限定する。
- CropAlignX
- InputSize 内におけるクロッピング矩形のアラインメント。たとえば、矩形が 4 の倍数の境界から始まるように指定する。
- CropAlignY
- InputSize 内におけるクロッピング矩形のアラインメント。たとえば、矩形が 4 の倍数の境界から始まるように指定する。
- 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
- このピンが生成できる最大のデータ レート。
注意
たとえば、構造体の一部のメンバとして以下の値を想定する。
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
これらの値は、有効なクロッピング サイズが、MinCroppingSize から始まり、x 方向に CropGranularityX 間隔、y 方向に CropGranularityY 間隔で増加することを示す。この場合、x は 160 〜 320 ピクセルの範囲で 4 間隔の値を取り、y は 120 〜 240 ピクセルの範囲で 8 間隔の値を取る。
たとえば次のようなサイズが有効である。
- 160 × 120、164 × 120、168 × 120、172 × 120 など
- 160 × 128、164 × 128、168 × 128、172 × 128 など
- 160 × 136、164 × 136、168 × 136、172 × 136 など
CropAlignX および CropAlignY は、入力サイズ矩形内におけるクロッピング矩形の位置を示す。クロッピング矩形のサイズを 160 × 120 とし、これらの値を次のように想定する。
- CropAlignX = 2
- CropAlignY = 4
この場合、VIDEOINFOHEADER 構造体の rcSource メンバとしては、たとえば次のような値が有効である。
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 4, 162, 124)
- (2, 8, 162, 128)
同じアラインメントでクロッピング矩形を 320 × 240 とした場合、有効な矩形は (2, 4, 322, 244) などとなる。
この項で説明する構造体メンバは、セットで機能し、出力ピンのメディア タイプを記述する VIDEOINFOHEADER 構造体として有効な rcSource の値を指定する。構造体の残りのメンバのうち、MinOutputSize、MaxOutputSize、OutputGranularityX、および OutputGranularityY は、出力ピンのメディア タイプ VIDEOINFOHEADER 構造体に格納された BITMAPINFOHEADER 構造体の biWidth メンバおよび biHeight メンバを記述する。