次の方法で共有


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 列挙体から 1 つ以上の (論理的に ORed) 値に設定できます。

InputSize

入力信号のサイズを指定します。 InputSize は、イメージの四角形の幅と高さをピクセル単位で示します。 これは、フィルターが一意の各ピクセルでデジタイズできる最大の信号です。

MinCroppingSize

DataRange メンバーに関連付けられている KS_VIDEOINFOHEADER 構造体の rcSource メンバーで指定されているように、使用できる最小のトリミング四角形を指定します。

MaxCroppingSize

DataRange メンバーに関連付けられている、KS_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

このピンで生成できる最小データ レートを 1 秒あたりのビット数で指定します。

MaxBitsPerSecond

このピンで生成できる最大データ レートを 1 秒あたりのビット数で指定します。

備考

KS_VIDEO_STREAM_CONFIG_CAPS構造体は、DirectShow VIDEO_STREAM_CONFIG_CAPS構造体と同じです。

この構造体のメンバー間の関係を理解することが重要です。 たとえば、一部の構造体メンバーに対して次の値を想定します。

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

これらの値は、有効なトリミング サイズが MinCroppingSize から始まり、CropGranularityX して x方向のステップが増加し、CropGranularityY によって y方向増加することを示します。 この場合、x-value は 160 ~ 320 ピクセルの任意の場所 (4 ステップ) にすることができ、y-value は 8 ステップで 120 ~ 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 など。

CropAlignX CropAlignY、トリミングする四角形を入力サイズの四角形内のどこに配置できるかを示します。 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) は、多くの有効な四角形の 1 つの例です。

MinCroppingSizeMaxCroppingSizeCropGranularityXCropGranularityYCropAlignXCropAlignY メンバーが連携して、出力ピンのメディアの種類を記述する KS_VIDEOINFOHEADER 構造に対して有効な rcSource の値を指定します。 残りの構造体メンバー (MinOutputSizeMaxOutputSizeOutputGranularityX、および OutputGranularityY) は、KS_BITMAPINFOHEADER 構造体の biWidth および biHeight メンバーについて説明します。 これは、ピンのメディアタイプKS_VIDEOINFOHEADER構造に含まれています。

必要条件

要件 価値
ヘッダー ksmedia.h (Ksmedia.h を含む)

関連項目

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER