Share via


DDVIDEOPORTINFO-Struktur (dvp.h)

Die DDVIDEOPORTINFO-Struktur beschreibt, wie der Treiber Videodaten auf eine Oberfläche (oder auf Oberflächen) übertragen soll. DDVIDEOPORTINFO ist ein Mitglied der DD_VIDEOPORT_LOCAL-Struktur .

Syntax

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;

Member

dwSize

Gibt die Größe der Struktur in Bytes an. Dieses Element muss initialisiert werden, bevor die Struktur verwendet wird.

dwOriginX

Gibt die x-Platzierung der Videodaten innerhalb der Oberfläche in Pixel an. Dieser Offset gilt für alle Oberflächen, wenn autoflipping angefordert wird.

dwOriginY

Gibt die y-Platzierung der Videodaten innerhalb der Oberfläche in Pixel an. Dieser Offset gilt für alle Oberflächen, wenn autoflipping angefordert wird.

dwVPFlags

Gibt eine Reihe von Flags an, die angeben, wie der Treiber die Videodaten übertragen soll. Dieser Member kann ein bitweiser OR der folgenden Werte sein:

Flag Bedeutung
DDVP_AUTOFLIP Führen Sie ein automatisches Umdrehen aus. Das automatische Flipping erfolgt zwischen der Überlagerungsoberfläche, die am Hardwarevideoport angebracht wurde, und den Überlagerungsflächen, die an der Oberfläche angebracht sind. Die Drehreihenfolge ist die Reihenfolge, in der die Überlagerungsflächen angebracht wurden.
DDVP_CONVERT Die Videodaten und die Zieloberfläche haben unterschiedliche Formate. Der Treiber sollte die Videodaten in das Format des Zieloberflächenformats konvertieren.
DDVP_CROP Der Treiber sollte sowohl die Video- als auch die VBI-Daten mithilfe des Rechtecks im rCrop-Element zuschneiden.
DDVP_IGNOREVBIXCROP Der Treiber sollte beim Zuschneiden der VBI-Daten die Koordinaten für links und rechts ignorieren.
DDVP_INTERLEAVE Ineinander verschachtelte Felder von Video- und VBI-Daten sollten im Arbeitsspeicher verschachtelt werden.
DDVP_MIRRORLEFTRIGHT Videodaten sollten von links nach rechts gespiegelt werden, während sie in den Framepuffer geschrieben werden.
DDVP_MIRRORUPDOWN Videodaten sollten beim Schreiben in den Framepuffer von oben nach unten gespiegelt werden.
DDVP_NOINTERLEAVE Wenn das DDVP_INTERLEAVE-Flag festgelegt ist, sollte der Treiber nur die Videodaten ineinandergreifen. Das heißt, der Treiber sollte die VBI-Daten nicht ineinandergreifen.
DDVP_OVERRIDEBOBWEAVE Die Bob- und Webwebentscheidungen sollten nicht von anderen Schnittstellen überschrieben werden. Wenn dieses Flag festgelegt ist, lässt Microsoft DirectDraw nicht zu, dass ein Kernelmodustreiber die Kernelmodus-Videotransportfunktion verwendet, um die Hardware zwischen bob- und weave-Modi zu wechseln.
DDVP_PRESCALE Führen Sie das Vorskalieren/Zoomen basierend auf den Elementen dwPrescaleWidth und dwPrescaleHeight aus. Der Treiber sollte nur die Videodaten vorskaliert, wenn DDVP_VBINOSCALE festgelegt ist. Andernfalls sollten sowohl die Video- als auch die VBI-Daten vorskaliert werden.
DDVP_SKIPEVENFIELDS Ignorieren Sie die Eingabe gerader Felder für Video- und VBI-Daten.
DDVP_SKIPODDFIELDS Ignorieren Sie die Eingabe ungerader Felder für Video- und VBI-Daten.
DDVP_SYNCMASTER Steuern Sie die Grafik-VSYNCs mithilfe des Hardwarevideoports VSYNCs.
DDVP_VBICONVERT Die DDPIXELFORMAT-Struktur , in die die lpddpfVBIOutputFormat-Memberpunkte Daten enthält, die zum Konvertieren der Daten innerhalb des vertikalen Leerungsintervalls verwendet werden sollen.
DDVP_VBINOSCALE Daten innerhalb des vertikalen Leerungsintervalls sollten nicht skaliert werden.

rCrop

Gibt eine RECT-Struktur an, die ein zuschneidende Rechteck in Pixel angibt. Dieses Element enthält ein gültiges Rechteck, wenn das DDVP_CROP-Flag im dwVPFlags-Element festgelegt ist.

dwPrescaleWidth

Gibt die Breite in Pixel an, auf die die Video- und VBI-Daten vorskaliert oder verkleinert werden sollen. Wenn die Videodaten beispielsweise 720 Pixel breit sind und der Client die Halbierung der Breite anfordert, gibt der Client 360 in dwPrescaleWidth an. Dieses Element enthält eine gültige Breite, wenn das DDVP_PRESCALE-Flag im dwVPFlags-Element festgelegt ist.

dwPrescaleHeight

Gibt die Höhe in Pixel an, auf die die Video- und VBI-Daten vorskaliert oder verkleinert werden sollen. Wenn die Videodaten beispielsweise 240 Pixel breit sind und der Client die Halbierung der Breite anfordert, gibt der Client 120 in dwPrescaleHeight an. Dieses Element enthält eine gültige Breite, wenn das DDVP_PRESCALE-Flag im dwVPFlags-Element festgelegt ist.

lpddpfInputFormat

Verweist auf eine DDPIXELFORMAT-Struktur , die das Format der Videodaten angibt, die in das VPE-Objekt (VideoPort Extensions) geschrieben werden sollen. Dieses Format kann sich vom Zieloberflächenformat unterscheiden, wenn das VPE-Objekt eine Konvertierung durchführt.

lpddpfVBIInputFormat

Zeigt auf eine DDPIXELFORMAT-Struktur, die das Eingabeformat der Daten innerhalb des vertikalen Leerungsintervalls angibt.

lpddpfVBIOutputFormat

Zeigt auf eine DDPIXELFORMAT-Struktur, die das Ausgabeformat der Daten innerhalb des vertikalen Leerungsintervalls angibt.

dwVBIHeight

Gibt die Anzahl der Datenzeilen innerhalb des vertikalen Leerungsintervalls an.

dwReserved1

Für die Systemverwendung reserviert und sollte vom Treiber ignoriert werden.

dwReserved2

Für die Systemverwendung reserviert und sollte vom Treiber ignoriert werden.

Hinweise

Alle Elemente dieser Struktur werden vom Client festgelegt, und der Treiber sollte sie nie ändern. Der Client ist in der Regel der Überlagerungsmischer.

Anforderungen

Anforderung Wert
Header dvp.h (einschließlich Dvp.h)

Weitere Informationen

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL