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) |