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