Struttura DDVIDEOPORTCAPS (dvp.h)
La struttura DDVIDEOPORTCAPS descrive le funzionalità e le restrizioni di allineamento di una porta video hardware.
Sintassi
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;
Members
dwSize
Specifica le dimensioni in byte della struttura.
dwFlags
Specificare i membri in questa struttura contenenti dati validi. Questo membro può essere un OR bit per bit di uno dei valori seguenti:
Flag | Significato |
---|---|
DDVPD_ALIGN |
|
DDVPD_AUTOFLIP | DwNumAutoFlipSurfaces è valido. |
DDVPD_CAPS | Il membro dwCaps è valido. |
DDVPD_FX | Il membro dwFX è valido. |
DDVPD_HEIGHT | Il membro dwMaxHeight è valido. |
DDVPD_ID | Il membro dwVideoPortID è valido. |
DDVPD_WIDTH | I membri dwMaxWidth e dwMaxVBIWidth sono validi. |
dwMaxWidth
Specifica la larghezza massima del campo in pixel supportata dalla porta video hardware. Questo valore è in genere determinato dal numero di bit nel registro di larghezza.
dwMaxVBIWidth
Specifica la larghezza massima, in numero di esempi, in una riga di dati VBI supportati dalla porta video hardware. Questo valore può essere maggiore della larghezza del campo normale se la porta video hardware supporta dati VBI oversampled.
dwMaxHeight
Specifica l'altezza massima del campo in pixel supportata dalla porta video hardware. Questo valore è in genere dettato dal numero di bit nel registro di altezza.
dwVideoPortID
Specifica l'ID della porta video hardware per questa voce. Questo membro deve essere il numero di indice di questa struttura DDVIDEOPORTCAPS all'interno della matrice a cui il membro lpDDVideoPortCapsdei punti struttura DD_DIRECTDRAW_GLOBAL. Questo valore varia da 0 a (dwMaxVideoPorts - 1). DwMaxVideoPorts è un membro della struttura DDCORECAPS. Se il dispositivo supporta una sola porta video hardware, questo membro deve essere zero.
dwCaps
Indica un set di flag che specificano le funzionalità supportate da questa porta video hardware. Questo membro può essere un OR bit per bit di uno dei valori seguenti:
Flag | Significato |
---|---|
DDVPCAPS_AUTOFLIP | Un capovolgimento può essere eseguito automaticamente per evitare la rottura. |
DDVPCAPS_COLORCONTROL | La porta video hardware può eseguire operazioni di colore sui dati in ingresso prima che venga scritta nel buffer dei fotogrammi. |
DDVPCAPS_INTERLACED | La porta video hardware supporta video interlacciati. |
DDVPCAPS_NONINTERLACED | La porta video hardware supporta video non interlaced. |
DDVPCAPS_OVERSAMPLEDVBI | La porta video hardware può accettare dati VBI in una larghezza o un formato diverso rispetto ai dati video regolari. |
DDVPCAPS_READBACKFIELD | Il dispositivo può restituire un valore che indica se il campo corrente di un segnale interlacciato è pari o strano. |
DDVPCAPS_READBACKLINE | Il dispositivo può restituire il numero della riga corrente del video scritto nel buffer dei fotogrammi. |
DDVPCAPS_SHAREABLE | Ignorato da Microsoft DirectDraw. |
DDVPCAPS_SKIPEVENFIELDS | La porta video hardware può eliminare automaticamente anche i campi del video. |
DDVPCAPS_SKIPODDFIELDS | La porta video hardware può eliminare automaticamente campi dispari del video. |
DDVPCAPS_SYNCMASTER | Il dispositivo è in grado di guidare la sincronizzazione grafica V-sync con il driver della porta video hardware V-sync. |
DDVPCAPS_SYSTEMMEMORY | La porta video hardware può scrivere dati direttamente nella memoria di sistema. |
DDVPCAPS_VBISURFACE | I dati all'interno dell'intervallo di vuoto verticale possono essere scritti in una superficie diversa. |
dwFX
Indica un set di flag che specificano gli effetti supportati da questa porta video hardware. Questo membro è un OR bit per bit di uno dei valori seguenti:
Flag | Significato |
---|---|
DDVPFX_CROPTOPDATA | La porta video hardware supporta il ritaglio limitato per ritagliare i dati di intervallo verticale. |
DDVPFX_CROPX | La porta video hardware può ritagliare i dati in ingresso nella direzione x prima di scriverlo nella superficie. |
DDVPFX_CROPY | La porta video hardware può ritagliare i dati in ingresso nella direzione y prima di scriverlo nella superficie. |
DDVPFX_IGNOREVBIXCROP | La porta video hardware può ignorare le coordinate di ritaglio a sinistra e destra per i dati video durante il ritaglio dei dati VBI oversamplati. |
DDVPFX_INTERLEAVE | La porta video hardware supporta l'interlacciamento dei campi interlacciati in memoria. |
DDVPFX_MIRRORLEFTRIGHT | La porta video hardware supporta il mirroring a sinistra a destra quando i dati video sono scritti nel buffer dei fotogrammi. |
DDVPFX_MIRRORUPDOWN | La porta video hardware supporta il mirroring superiore verso il basso perché i dati video sono scritti nel buffer dei fotogrammi. |
DDVPFX_PRESHRINKX | I dati possono essere arbitrariamente ridotti nella direzione x prima che venga scritto nella superficie. |
DDVPFX_PRESHRINKXB | I dati possono essere ridotti da poteri negativi di 2 (1/2, 1/4, 1/8 e così via) nella direzione x prima che venga scritto nella superficie. |
DDVPFX_PRESHRINKXS | I dati possono essere ridotti in incrementi di 1/dwPreshrinkXStep nella direzione x prima che venga scritto nella superficie. |
DDVPFX_PRESHRINKY | I dati possono essere arbitrariamente ridotti nella direzione y prima che venga scritto nella superficie. |
DDVPFX_PRESHRINKYB | I dati possono essere ridotti da poteri negativi di 2 (1/2, 1/4, 1/8 e così via) nella direzione y prima che venga scritta nella superficie. |
DDVPFX_PRESHRINKYS | I dati possono essere compattati in incrementi di 1/dwPreshrinkYStep nella direzione y prima che vengano scritti sulla superficie. |
DDVPFX_PRESTRETCHX | I dati possono essere estesi arbitrariamente nella direzione x prima che vengano scritti sulla superficie. |
DDVPFX_PRESTRETCHXN | I dati possono essere estesi da fattori integer nella direzione x prima che vengano scritti sulla superficie. |
DDVPFX_PRESTRETCHY | I dati possono essere estesi arbitrariamente nella direzione y prima che vengano scritti sulla superficie. |
DDVPFX_PRESTRETCHYN | I dati possono essere estesi da fattori integer nella direzione y prima che vengano scritti sulla superficie. |
DDVPFX_VBICONVERT | I dati all'interno dell'intervallo di spaziatura verticale possono essere convertiti indipendentemente dai dati video rimanenti. |
DDVPFX_VBINOSCALE | Il ridimensionamento può essere disabilitato per i dati entro l'intervallo di spaziatura verticale. |
dwNumAutoFlipSurfaces
Specifica il numero massimo di superfici supportate nella catena autoflip, se la porta video hardware supporta laflipping automatica. Se la porta video hardware non supporta laflipping automatica, il driver deve impostare questo membro su zero.
dwAlignVideoPortBoundary
Specifica la restrizione di allineamento dei byte, espressa in byte, della posizione in cui la porta video hardware può essere orientata rispetto all'origine della superficie nella direzione x.
dwAlignVideoPortPrescaleWidth
Specifica la restrizione di allineamento dei byte, in byte, della larghezza dei dati della porta video hardware quando viene eseguita la scalabilità preliminare.
dwAlignVideoPortCropBoundary
Specifica la restrizione di allineamento dei byte, in byte, per la coordinata di ritaglio a sinistra.
dwAlignVideoPortCropWidth
Specifica la restrizione di allineamento dei byte, espressa in byte, per la larghezza del rettangolo di ritaglio.
dwPreshrinkXStep
Indica che la porta video hardware può ridurre la larghezza dei dati video nei passaggi di 1/dwPreshrinkXStep. Questo membro è valido solo quando viene specificata la funzionalità di DDVPFX_PRESHRINKXS.
dwPreshrinkYStep
Indica che la porta video hardware può ridurre l'altezza dei dati video nei passaggi di 1/dwPreshrinkYStep. Questo membro è valido solo quando viene specificata la funzionalità di DDVPFX_PRESHRINKYS.
dwNumVBIAutoFlipSurfaces
Specifica il numero massimo di superfici supportate nella catena autoflip, se la porta video hardware supporta laflipping automatica. Se la porta video hardware non supporta laflipping automatica, il driver deve impostare questo membro su zero. Questo membro funziona allo stesso modo di dwNumAutoFlipSurfaces , ad eccezione del fatto che riguarda solo i dispositivi che possono inviare i dati VBI a una superficie diversa da quella in cui viene scritto il normale video.
dwNumPreferredAutoflip
Specifica il numero ottimale di superfici aflippabile supportate dall'hardware.
wNumFilterTapsX
Indica il numero di tap utilizzati dal prescaler nella direzione x. Il valore 0 indica che non è prevista alcuna scalabilità, un valore pari a 1 indica la replica e così via.
wNumFilterTapsY
Indica il numero di tap utilizzati dal prescaler nella direzione y. Il valore 0 indica che non è prevista alcuna scalabilità, un valore pari a 1 indica la replica e così via.
Commenti
Il driver segnala le funzionalità descritte dalla struttura DDVIDEOPORTCAPS quando viene chiamata la relativa funzione DdGetDriverInfo con il GUID GUID_VideoPortCaps.
Requisiti
Intestazione | dvp.h (include Dvp.h) |