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 値は 4 ステップで 160 ~ 320 ピクセル、 y 値は 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 など。

CropAlignXCropAlignY は、トリミングする四角形を入力サイズの四角形内のどこに配置できるかを示します。 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構造体に含まれています。

要件

要件
Header ksmedia.h (Ksmedia.h を含む)

こちらもご覧ください

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER