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 など。
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 つの例です。
上記で説明した MinCroppingSize、MaxCroppingSize、CropGranularityX、CropGranularityY、CropAlignX、CropAlignY の各メンバーは連携して、出力ピンのメディアの種類を記述するKS_VIDEOINFOHEADER構造体に対して有効な rcSource の値を指定します。 残りの構造体メンバー (MinOutputSize、MaxOutputSize、OutputGranularityX、および OutputGranularityY) は、KS_BITMAPINFOHEADER構造体の biWidth メンバーと biHeight メンバーを記述します。これは、ピンのメディア の種類KS_VIDEOINFOHEADER構造体に含まれています。
要件
要件 | 値 |
---|---|
Header | ksmedia.h (Ksmedia.h を含む) |