Platform SDK: DirectX

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
dwAlignVideoPortBoundarydwAlignVideoPortPrescaleWidthdwAlignVideoPortCropBoundary、および 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
ハードウェアがサポートする自動フリップ可能サーフェスの最適な数。
wNumFilterTapsXwNumFilterTapsY
プレスケール フィルタが x および y 方向で使用するタップ数。たとえば、値が 0 だと、プレスケーリングはその方向で実行されない。値が 1 だと、プレスケールは対応する数で実行する。値が 2 だと、プレスケールは 2 つのタップを使用する。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dvp.h で宣言。