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
Tutti i membri di allineamento sono validi. Queste includono:
dwAlignVideoPortBoundary,
dwAlignVideoPortPrescaleWidth,
dwAlignVideoPortCropBoundary e
dwAlignVideoPortCropWidth.
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)

Vedi anche

DDCORECAPS

DD_DIRECTDRAW_GLOBAL

DdGetDriverInfo