DDVIDEOPORTCAPS-Struktur (dvp.h)
Die DDVIDEOPORTCAPS-Struktur beschreibt die Funktionen und Ausrichtungseinschränkungen eines Hardwarevideoports.
Syntax
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;
} *LPDDVIDEOPORTCAPS, DDVIDEOPORTCAPS;
Member
dwSize
Gibt die Größe der -Struktur in Byte an.
dwFlags
Geben Sie an, welche Member in dieser Struktur gültige Daten enthalten. Dieser Member kann ein bitweises OR mit einem der folgenden Werte sein:
Flag | Bedeutung |
---|---|
DDVPD_ALIGN |
|
DDVPD_AUTOFLIP | DwNumAutoFlipSurfaces ist gültig. |
DDVPD_CAPS | Das dwCaps-Element ist gültig. |
DDVPD_FX | Das dwFX-Element ist gültig. |
DDVPD_HEIGHT | Das dwMaxHeight-Element ist gültig. |
DDVPD_ID | Das dwVideoPortID-Element ist gültig. |
DDVPD_WIDTH | Die Elemente dwMaxWidth und dwMaxVBIWidth sind gültig. |
dwMaxWidth
Gibt die maximale Feldbreite in Pixel an, die vom Hardwarevideoport unterstützt wird. Dieser Wert wird in der Regel durch die Anzahl der Bits im Breitenregister vorgegeben.
dwMaxVBIWidth
Gibt die maximale Breite in Anzahl von Beispielen in einer Zeile von VBI-Daten an, die vom Hardwarevideoport unterstützt werden. Dieser Wert kann größer als die normale Feldbreite sein, wenn der Hardwarevideoport überstempelte VBI-Daten unterstützt.
dwMaxHeight
Gibt die maximale Feldhöhe in Pixeln an, die vom Hardwarevideoport unterstützt wird. Dieser Wert wird in der Regel durch die Anzahl der Bits im Höhenregister bestimmt.
dwVideoPortID
Gibt die Hardwarevideoport-ID für diesen Eintrag an. Dieser Member sollte die Indexnummer dieser DDVIDEOPORTCAPS-Struktur innerhalb des Arrays sein, auf das der lpDDVideoPortCaps-Member der DD_DIRECTDRAW_GLOBAL-Struktur verweist. Dieser Wert reicht von 0 bis (dwMaxVideoPorts - 1). (dwMaxVideoPorts ist ein Mitglied der DDCORECAPS-Struktur .) Wenn das Gerät nur einen Hardwarevideoport unterstützt, sollte dieser Member 0 (null) sein.
dwCaps
Gibt eine Reihe von Flags an, die die funktionen angeben, die von diesem Hardwarevideoport unterstützt werden. Dieser Member kann ein bitweises OR mit einem der folgenden Werte sein:
Flag | Bedeutung |
---|---|
DDVPCAPS_AUTOFLIP | Ein Flip kann automatisch ausgeführt werden, um ein Reißen zu vermeiden. |
DDVPCAPS_COLORCONTROL | Der Hardwarevideoport kann Farboperationen für die eingehenden Daten ausführen, bevor sie in den Framepuffer geschrieben werden. |
DDVPCAPS_INTERLACED | Der Hardwarevideoport unterstützt Interlaced-Video. |
DDVPCAPS_NONINTERLACED | Der Hardwarevideoport unterstützt Nicht-Interlaced-Video. |
DDVPCAPS_OVERSAMPLEDVBI | Der Hardwarevideoport kann VBI-Daten in einer anderen Breite oder einem anderen Format als die normalen Videodaten akzeptieren. |
DDVPCAPS_READBACKFIELD | Das Gerät kann einen Wert zurückgeben, der angibt, ob das aktuelle Feld eines Interlaced-Signals gerade oder ungerade ist. |
DDVPCAPS_READBACKLINE | Das Gerät kann die Nummer der aktuellen Videozeile zurückgeben, die in den Framepuffer geschrieben wird. |
DDVPCAPS_SHAREABLE | Wird von Microsoft DirectDraw ignoriert. |
DDVPCAPS_SKIPEVENFIELDS | Der Hardwarevideoport kann automatisch gerade Videofelder verwerfen. |
DDVPCAPS_SKIPODDFIELDS | Der Hardwarevideoport kann ungerade Videofelder automatisch verwerfen. |
DDVPCAPS_SYNCMASTER | Das Gerät kann die Grafik-V-Synchronisierung mit der V-Synchronisierung des Hardwarevideoporttreibers steuern. |
DDVPCAPS_SYSTEMMEMORY | Der Hardwarevideoport kann Daten direkt in den Systemspeicher schreiben. |
DDVPCAPS_VBISURFACE | Die Daten innerhalb des vertikalen Leerungsintervalls können auf eine andere Oberfläche geschrieben werden. |
dwFX
Gibt eine Reihe von Flags an, die die von diesem Hardwarevideoport unterstützten Effekte angeben. Dieser Member ist ein bitweises OR mit einem der folgenden Werte:
Flag | Bedeutung |
---|---|
DDVPFX_CROPTOPDATA | Der Hardwarevideoport unterstützt das eingeschränkte Zuschneiden, um die vertikalen Intervalldaten zuzuschneiden. |
DDVPFX_CROPX | Der Hardwarevideoport kann eingehende Daten in x-Richtung zuschneiden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_CROPY | Der Hardwarevideoport kann eingehende Daten in y-Richtung zuschneiden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_IGNOREVBIXCROP | Der Hardwarevideoport kann die linken und rechten Zuschneidekoordinaten für Videodaten ignorieren, wenn übersampelte VBI-Daten zuschneiden. |
DDVPFX_INTERLEAVE | Der Hardwarevideoport unterstützt das Überlappen von Feldern im Speicher. |
DDVPFX_MIRRORLEFTRIGHT | Der Hardwarevideoport unterstützt die Spiegelung von links nach rechts, da die Videodaten in den Framepuffer geschrieben werden. |
DDVPFX_MIRRORUPDOWN | Der Hardwarevideoport unterstützt die Spiegelung von oben nach unten, während die Videodaten in den Framepuffer geschrieben werden. |
DDVPFX_PRESHRINKX | Daten können willkürlich in x-Richtung verkleinert werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESHRINKXB | Daten können durch negative Potenzen von 2 (1/2, 1/4, 1/8 usw.) in x-Richtung verkleinert werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESHRINKXS | Daten können in Schritten von 1/dwPreshrinkXStep in x-Richtung verkleinern, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESHRINKY | Daten können willkürlich in y-Richtung verkleinert werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESHRINKYB | Daten können durch negative Potenzen von 2 (1/2, 1/4, 1/8 usw.) in y-Richtung verkleinert werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESHRINKYS | Daten können in Schritten von 1/dwPreshrinkYStep in y-Richtung verkleinern, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESTRETCHX | Daten können beliebig in x-Richtung gestreckt werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESTRETCHXN | Daten können durch ganzzahlige Faktoren in x-Richtung gestreckt werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESTRETCHY | Daten können beliebig in y-Richtung gestreckt werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_PRESTRETCHYN | Daten können durch ganzzahlige Faktoren in y-Richtung gestreckt werden, bevor sie auf die Oberfläche geschrieben werden. |
DDVPFX_VBICONVERT | Daten innerhalb des vertikalen Leerungsintervalls können unabhängig von den verbleibenden Videodaten konvertiert werden. |
DDVPFX_VBINOSCALE | Die Skalierung kann für Daten innerhalb des vertikalen Leerungsintervalls deaktiviert werden. |
dwNumAutoFlipSurfaces
Gibt die maximale Anzahl von Oberflächen an, die in der Autoflip-Kette unterstützt werden, wenn der Hardwarevideoport das automatische Flipping unterstützt. Wenn der Hardwarevideoport das automatische Flippen nicht unterstützt, sollte der Treiber diesen Member auf 0 (null) festlegen.
dwAlignVideoPortBoundary
Gibt die Byteausrichtungseinschränkung in Byte an, bei der der Hardwarevideoport relativ zum Ursprung der Oberfläche in x-Richtung ausgerichtet werden kann.
dwAlignVideoPortPrescaleWidth
Gibt die Byteausrichtungseinschränkung in Byte an, die bestimmt, wie breit die Hardwarevideoportdaten sein können, wenn die Vorskalierung ausgeführt wird.
dwAlignVideoPortCropBoundary
Gibt die Byteausrichtungseinschränkung in Bytes für die linke Zuschneidekoordinate an.
dwAlignVideoPortCropWidth
Gibt die Byteausrichtungseinschränkung in Bytes für die Breite des Zuschneiderechtecks an.
dwPreshrinkXStep
Gibt an, dass der Hardwarevideoport die Breite der Videodaten in Schritten von 1/dwPreshrinkXStep verkleinern kann. Dieser Member ist nur gültig, wenn die DDVPFX_PRESHRINKXS-Funktion angegeben ist.
dwPreshrinkYStep
Gibt an, dass der Hardwarevideoport die Höhe der Videodaten in Schritten von 1/dwPreshrinkYStep verkleinern kann. Dieser Member ist nur gültig, wenn die DDVPFX_PRESHRINKYS-Funktion angegeben ist.
dwNumVBIAutoFlipSurfaces
Gibt die maximale Anzahl von Oberflächen an, die in der Autoflip-Kette unterstützt werden, wenn der Hardwarevideoport das automatische Flipping unterstützt. Wenn der Hardwarevideoport das automatische Flippen nicht unterstützt, sollte der Treiber diesen Member auf 0 (null) festlegen. Dieser Member funktioniert auf die gleiche Weise wie dwNumAutoFlipSurfaces , mit der Ausnahme, dass es sich nur auf Geräte bezieht, die die VBI-Daten an eine andere Oberfläche senden können, als auf die das normale Video geschrieben wird.
dwNumPreferredAutoflip
Gibt die optimale Anzahl von automatisch flippierbaren Oberflächen an, die von der Hardware unterstützt werden.
wNumFilterTapsX
Gibt die Anzahl der Tippen an, die die Präskalierung in x-Richtung verwendet. Der Wert 0 gibt keine Vorskalierung an, der Wert 1 die Replikation usw.
wNumFilterTapsY
Gibt die Anzahl der Tippen an, die die Präskalierung in y-Richtung verwendet. Der Wert 0 gibt keine Vorskalierung an, der Wert 1 die Replikation usw.
Hinweise
Der Treiber meldet die von der DDVIDEOPORTCAPS-Struktur beschriebenen Funktionen, wenn seine DdGetDriverInfo-Funktion mit der GUID_VideoPortCaps GUID aufgerufen wird.
Anforderungen
Kopfzeile | dvp.h (dvp.h einschließen) |