次の方法で共有


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 を含む)

こちらもご覧ください

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL