DDVIDEOPORTCAPS
DDVIDEOPORTCAPS 構造体は、ビデオ ポートの能力とアライメント制限を記述する。この構造体は、IDDVideoPortContainer::EnumVideoPorts メソッドと共に使用される。
typedef struct _DDVIDEOPORTCAPS {
DWORD dwSize;
DWORD dwFlags;
DWORD dwMaxWidth;
DWORD dwMaxVBIWidth;
DWORD dwMaxHeight;
DWORD dwVideoPortID;
DWORD dwCaps;
DWORD dwFX;
DWORD dwNumAutoFlipSurfaces;
DWORD dwAlignVideoPortBoundary;
DWORD dwAlignVideoPortPrescaleWidth;
DWORD dwAlignVideoPortCropBoundary;
DWORD dwAlignVideoPortCropWidth;
DWORD dwPreshrinkXStep;
DWORD dwPreshrinkYStep;
DWORD dwNumVBIAutoFlipSurfaces;
DWORD dwNumPreferredAutoflip;
WORD wNumFilterTapsX;
WORD wNumFilterTapsY;
} DDVIDEOPORTCAPS, *LPDDVIDEOPORTCAPS;
メンバ
- dwSize
- バイト単位の構造体のサイズ。このメンバは、構造体を使用する前に初期化しなければならない。
- dwFlags
- 有効なデータを含むフィールドを示すフラグ値。以下のフラグが定義されている。
- DDVPD_AUTOFLIP
- dwNumAutoFlipSurfaces メンバは有効である。
- DDVPD_ALIGN
- dwAlignVideoPortBoundary、dwAlignVideoPortPrescaleWidth、dwAlignVideoPortCropBoundary、および dwAlignVideoPortCropWidth メンバは有効である。
- DDVPD_CAPS
- dwCaps メンバは有効である。
- DDVPD_FILTERQUALITY
- wNumFilterTapsX および wNumFilterTapsY メンバは有効である。
- DDVPD_FX
- dwFX メンバは有効である。
- DDVPD_HEIGHT
- dwMaxHeight メンバは有効である。
- DDVPD_ID
- dwVideoPortID メンバは有効である。
- DDVPD_PREFERREDAUTOFLIP
- dwNumPreferredAutoflip メンバは有効である。
- DDVPD_WIDTH
- dwMaxWidth メンバは有効である。
- dwMaxWidth
- ビデオポート フィールドの最大幅。
- dwMaxVBIWidth
- VBI データの最大幅。
- dwMaxHeight
- ビデオ ポート フィールドの最大高さ。
- dwVideoPortID
- ビデオ ポートを識別するゼロベースのインデックス。
- dwCaps
- 以下に、ビデオポート能力を示す。
- DDVPCAPS_AUTOFLIP
- VREF の際、テアリングを防止するためにフリップを自動的に実行する。データがメモリ内でインターリーブされている場合、VREF の 1 回おきにフリップする。
- DDVPCAPS_COLORCONTROL
- フレーム バッファに書き込む前に、到着データにカラー コントロール処理を行える。
- DDVPCAPS_INTERLACED
- インターレイス方式ビデオをサポートする。
- DDVPCAPS_NONINTERLACED
- 非インターレイス方式ビデオをサポートする。
- DDVPCAPS_OVERSAMPLEDVBI
- 一般のビデオ データとは異なるフォーマットまたは幅の VBI データを受け取る。
- DDVPCAPS_READBACKFIELD
- IDirectDrawVideoPort::GetFieldPolarity メソッドをサポートする。
- DDVPCAPS_READBACKLINE
- IDirectDrawVideoPort::GetVideoLine メソッドをサポートする。
- DDVPCAPS_SHAREABLE
- ビデオ ポートを共有する 2 つのゲンロッキング ビデオ ストリームをサポートする。一方のストリームは偶数フィールドを使用し、もう一方のストリームは奇数フィールドを使用する。各パラメータ (アドレス、スケーリング、クロッピングなど) はそれぞれのフィールドに対して維持される。
- DDVPCAPS_SKIPEVENFIELDS
- ビデオの偶数フィールドを自動的に破棄できる。
- DDVPCAPS_SKIPODDFIELDS
- ビデオの奇数フィールドを自動的に破棄できる。
- DDVPCAPS_SYNCMASTER
- ビデオ ポート同期に基づいてグラフィックス同期 (リフレッシュ レート) を実行できる。
- DDVPCAPS_SYSTEMMEMORY
- システム メモリに作成されたサーフェスに書き込みを実行できる。
- DDVPCAPS_VBIANDVIDEOINDEPENDENT
- ビデオ ストリームの VBI およびビデオ部分は、独立したプロセスで制御できる。
- DDVPCAPS_VBISURFACE
- VBI 内のデータを別のサーフェスに書き込むことができる。
- dwFX
- 以下に、追加ビデオポート能力を示す。
- DDVPFX_CROPTOPDATA
- VBI データをくり抜くために、制限付きクロッピングが利用できる。
- DDVPFX_CROPX
- サーフェスに書き込まれる前に、到着データを x 方向にくり抜ける。
- DDVPFX_CROPY
- サーフェスに書き込まれる前に、到着データを y 方向にくり抜ける。
- DDVPFX_IGNOREVBIXCROP
- オーバーサンプルされる VBI データをくり抜く場合、ビデオ ポートは左右のクロッピング座標を無視できる。
- DDVPFX_INTERLEAVE
- メモリのインターレイス フィールドのインターリーブをサポートする。
- DDVPFX_MIRRORLEFTRIGHT
- ビデオ データをフレーム バッファに書き込む際に、左右のミラーリングをサポートする。
- DDVPFX_MIRRORUPDOWN
- ビデオ データをフレーム バッファに書き込む際に、上下のミラーリングをサポートする。
- DDVPFX_PRESHRINKX
- サーフェスに記述される前に、データは x 方向に任意に収縮できる。
- DDVPFX_PRESHRINKY
- サーフェスに記述される前に、データは y 方向に任意に収縮できる。
- DDVPFX_PRESHRINKXB
- サーフェスに記述される前に、データは x 方向にバイナリ収縮 (1/2、1/4、1/8 など) できる。
- DDVPFX_PRESHRINKYB
- サーフェスに記述される前に、データは y 方向にバイナリ収縮 (1/2、1/4、1/8 など) できる。
- DDVPCAPS_PRESHRINKXS
- データは x 方向に 1/x のインクリメントで収縮できる。ここで、x は dwShrinkXStep メンバで指定される。
- DDVPCAPS_PRESHRINKYS
- データは y 方向に 1/y のインクリメントで収縮できる。ここで、y は dwShrinkYStep メンバで指定される。
- DDVPFX_PRESTRETCHX
- サーフェスに記述される前に、データは x 方向に任意に伸縮できる。
- DDVPFX_PRESTRETCHY
- サーフェスに記述される前に、データは y 方向に任意に伸縮できる。
- DDVPFX_PRESTRETCHXN
- サーフェスに書き込む前に、データは x 方向に整数伸縮できる (1 ×、2 ×、3 ×など)。
- DDVPFX_PRESTRETCHYN
- サーフェスに書き込む前に、データは y 方向に整数伸縮できる (1 ×、2 ×、3 ×など)。
- DDVPFX_VBICONVERT
- VBI 内のデータを残りのビデオ データとは無関係に変換できる。
- DDVPFX_VBINOINTERLEAVE
- インターリーブは、VBI のデータに対して無効にされる。
- DDVPFX_VBINOSCALE
- スケーリングは、VBI 内のデータに対して無効にされる。
- dwNumAutoFlipSurfaces
- ビデオ ポートがサポートする自動フリップ可能なサーフェスの最大数。
- dwAlignVideoPortBoundary
- サーフェス内の配置のバイト制限。
- dwAlignVideoPortPrescaleWidth
- プリスケーリング後の幅のバイト制限。
- dwAlignVideoPortCropBoundary
- 左クロッピングのバイト制限。
- dwAlignVideoPortCropWidth
- クロッピング幅のバイト制限。
- dwPreshrinkXStep
- 1/dwPreshrinkXStep のステップで、幅を x 方向に収縮できる。
- dwPreshrinkYStep
- 1/dwPreshrinkYSte のステップで、高さを y 方向に収縮できる。
- dwNumVBIAutoFlipSurfaces
- 残りのビデオ ストリームに依存せずに、垂直帰線消去間隔 (VBI) の間に転送されたデータの受け取りが可能な自動フリッピング サーフェスの数。自動フリッピング チェーンを構築する場合、VBI サーフェスの数は、残りのビデオ データを受け取るサーフェスの数と等しくする必要がある。
- dwNumPreferredAutoflip
- ハードウェアがサポートする自動フリップ可能サーフェスの最適な数。
- wNumFilterTapsX、wNumFilterTapsY
- プレスケール フィルタが x および y 方向で使用するタップ数。たとえば、値が 0 だと、プレスケーリングはその方向で実行されない。値が 1 だと、プレスケールは対応する数で実行する。値が 2 だと、プレスケールは 2 つのタップを使用する。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dvp.h で宣言。