DDVIDEOPORTINFO 構造体 (dvp.h)
DDVIDEOPORTINFO 構造体では、ドライバーがビデオ データをサーフェス (またはサーフェス) に転送する方法について説明します。DDVIDEOPORTINFO は、 DD_VIDEOPORT_LOCAL 構造体のメンバーです。
構文
typedef struct _DDVIDEOPORTINFO {
DWORD dwSize;
DWORD dwOriginX;
DWORD dwOriginY;
DWORD dwVPFlags;
RECT rCrop;
DWORD dwPrescaleWidth;
DWORD dwPrescaleHeight;
LPDDPIXELFORMAT lpddpfInputFormat;
LPDDPIXELFORMAT lpddpfVBIInputFormat;
LPDDPIXELFORMAT lpddpfVBIOutputFormat;
DWORD dwVBIHeight;
ULONG_PTR dwReserved1;
ULONG_PTR dwReserved2;
} *LPDDVIDEOPORTINFO, DDVIDEOPORTINFO;
メンバー
dwSize
構造体のサイズをバイト単位で指定します。 構造体を使用する前に、このメンバーを初期化する必要があります。
dwOriginX
サーフェス内のビデオ データの x 個の配置をピクセル単位で示します。 このオフセットは、自動フラグが要求されたときにすべてのサーフェスに適用されます。
dwOriginY
サーフェス内のビデオ データの y 位置をピクセル単位で示します。 このオフセットは、自動フラグが要求されたときにすべてのサーフェスに適用されます。
dwVPFlags
ドライバーがビデオ データを転送する方法を指定するフラグのセットを示します。 このメンバーには、次の値のビットごとの OR を指定できます。
フラグ | 説明 |
---|---|
DDVP_AUTOFLIP | 自動反転を実行します。 自動反転は、ハードウェア ビデオ ポートにアタッチされたオーバーレイ サーフェスと、サーフェスにアタッチされているオーバーレイ サーフェスの間で実行されます。 反転順序は、オーバーレイ サーフェスがアタッチされた順序です。 |
DDVP_CONVERT | ビデオ データとターゲット サーフェスの形式は異なります。 ドライバーは、ビデオ データをターゲット サーフェス形式の形式に変換する必要があります。 |
DDVP_CROP | ドライバーは、rCrop メンバーの四角形を使用して、ビデオと VBI の両方のデータをトリミングする必要があります。 |
DDVP_IGNOREVBIXCROP | ドライバーは、VBI データをトリミングするときに、左右のトリミング座標を無視する必要があります。 |
DDVP_INTERLEAVE | ビデオと VBI の両方のデータのインターレースフィールドは、メモリ内でインターリーブする必要があります。 |
DDVP_MIRRORLEFTRIGHT | ビデオ データは、フレーム バッファーに書き込まれるように左から右にミラーリングする必要があります。 |
DDVP_MIRRORUPDOWN | ビデオ データは、フレーム バッファーに書き込まれるので、上から下にミラーリングする必要があります。 |
DDVP_NOINTERLEAVE | DDVP_INTERLEAVE フラグが設定されている場合、ドライバーはビデオ データのみをインターリーブする必要があります。つまり、ドライバーは VBI データをインターリーブしないでください。 |
DDVP_OVERRIDEBOBWEAVE | bob と weave の決定は、他のインターフェイスによってオーバーライドされるべきではありません。 このフラグが設定されている場合、Microsoft DirectDraw では、カーネル モード ドライバーがカーネル モード のビデオ トランスポート機能を使用して、ハードウェアを bob モードと織りモードに切り替えられません。 |
DDVP_PRESCALE | dwPrescaleWidth メンバーと dwPrescaleHeight メンバーに基づいて、事前スケーリング/ズームを実行します。 DDVP_VBINOSCALEが設定されている場合、ドライバーはビデオ データのみを事前スケーリングする必要があります。それ以外の場合は、ビデオと VBI の両方のデータを事前にスケーリングする必要があります。 |
DDVP_SKIPEVENFIELDS | ビデオデータとVBIデータの両方の偶数フィールドの入力を無視します。 |
DDVP_SKIPODDFIELDS | ビデオデータとVBIデータの両方の奇数フィールドの入力を無視します。 |
DDVP_SYNCMASTER | ハードウェア ビデオ ポート VSYNC を使用してグラフィックス VSYNC を駆動します。 |
DDVP_VBICONVERT | lpddpfVBIOutputFormat メンバー ポイントの DDPIXELFORMAT 構造体には、垂直方向の空白間隔内のデータの変換に使用する必要があるデータが含まれています。 |
DDVP_VBINOSCALE | 垂直方向の空白間隔内のデータはスケーリングしないでください。 |
rCrop
トリミングする四角形をピクセル単位で指定する RECT 構造体を指定します。 このメンバーには、 dwVPFlags メンバーでDDVP_CROP フラグが設定されている場合に有効な四角形が含まれます。
dwPrescaleWidth
ビデオと VBI データを事前スケーリングまたはズームする幅をピクセル単位で指定します。 たとえば、ビデオ データの幅が 720 ピクセルで、クライアントが半分の幅の切り取りを要求する場合、クライアントは dwPrescaleWidth で 360 を指定します。 このメンバーには、 dwVPFlags メンバーでDDVP_PRESCALE フラグが設定されている場合に有効な幅が含まれます。
dwPrescaleHeight
ビデオと VBI データを事前スケーリングまたはズームする高さをピクセル単位で指定します。 たとえば、ビデオ データの幅が 240 ピクセルで、クライアントが半分の幅の切り取りを要求する場合、クライアントは dwPrescaleHeight で 120 を指定します。 このメンバーには、 dwVPFlags メンバーでDDVP_PRESCALE フラグが設定されている場合に有効な幅が含まれます。
lpddpfInputFormat
ビデオ ポート拡張 (VPE) オブジェクトに書き込まれるビデオ データの形式を指定する DDPIXELFORMAT 構造体を指します。 VPE オブジェクトが変換を実行する場合、この形式はターゲット サーフェス形式とは異なる場合があります。
lpddpfVBIInputFormat
垂直ブランキング間隔内のデータの入力形式を指定する DDPIXELFORMAT 構造体を指します。
lpddpfVBIOutputFormat
垂直ブランキング間隔内のデータの出力形式を指定する DDPIXELFORMAT 構造体を指します。
dwVBIHeight
垂直ブランキング間隔内のデータ行数を指定します。
dwReserved1
システム使用のために予約されており、ドライバーでは無視する必要があります。
dwReserved2
システム使用のために予約されており、ドライバーでは無視する必要があります。
注釈
この構造体のすべてのメンバーはクライアントによって設定され、ドライバーは変更しないでください。 通常、クライアントはオーバーレイ ミキサーです。
要件
要件 | 値 |
---|---|
Header | dvp.h (Dvp.h を含む) |