Condividi tramite


Struttura DDVIDEOPORTINFO (dvp.h)

La struttura DDVIDEOPORTINFO descrive come il driver deve trasferire i dati video a una superficie (o a superfici); DDVIDEOPORTINFO è membro della struttura DD_VIDEOPORT_LOCAL .

Sintassi

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;

Members

dwSize

Specifica le dimensioni in byte della struttura. Questo membro deve essere inizializzato prima dell'uso della struttura.

dwOriginX

Indica la posizione x dei dati video all'interno della superficie, in pixel. Questo offset si applica a tutte le superfici quando viene richiesta la scalabilità automatica.

dwOriginY

Indica la posizione y dei dati video all'interno della superficie, in pixel. Questo offset si applica a tutte le superfici quando viene richiesta la scalabilità automatica.

dwVPFlags

Indica un set di flag che specificano come il driver deve trasferire i dati video. Questo membro può essere un OR bit per bit dei valori seguenti:

Contrassegno Significato
DDVP_AUTOFLIP Eseguire il capovolgimento automatico. Il capovolgimento automatico viene eseguito tra la superficie di sovrapposizione collegata alla porta video hardware e le superfici sovrapposte associate alla superficie. L'ordine di capovolgimento è l'ordine in cui sono state associate le superfici sovrapposte.
DDVP_CONVERT I dati video e la superficie di destinazione hanno formati diversi. Il driver deve convertire i dati video nel formato della superficie di destinazione.
DDVP_CROP Il driver deve ritagliare sia i dati video che VBI usando il rettangolo nel membro rCrop .
DDVP_IGNOREVBIXCROP Il driver deve ignorare le coordinate di ritaglio a sinistra e destra durante il ritaglio dei dati VBI.
DDVP_INTERLEAVE I campi interlacciati di dati video e VBI devono essere interleavedi in memoria.
DDVP_MIRRORLEFTRIGHT I dati video devono essere mirrorati da sinistra a destra mentre vengono scritti nel buffer dei fotogrammi.
DDVP_MIRRORUPDOWN I dati video devono essere mirrorati in alto verso il basso mentre vengono scritti nel buffer dei fotogrammi.
DDVP_NOINTERLEAVE Se il flag di DDVP_INTERLEAVE è impostato, il driver deve interlezzare solo i dati video; ovvero, il driver non deve interlezzare i dati VBI.
DDVP_OVERRIDEBOBWEAVE Le decisioni bob e weave non devono essere sostituite da altre interfacce. Se questo flag è impostato, Microsoft DirectDraw non consente a un driver in modalità kernel di usare la funzionalità di trasporto video in modalità kernel per cambiare l'hardware tra le modalità bob e weave.
DDVP_PRESCALE Eseguire la scalabilità preliminare/zoom in base ai membri dwPrescaleWidth e dwPrescaleHeight . Il driver deve prescalare solo i dati video se DDVP_VBINOSCALE è impostato; in caso contrario, deve prescalare sia i dati video che VBI.
DDVP_SKIPEVENFIELDS Ignorare l'input dei campi pari per i dati video e VBI.
DDVP_SKIPODDFIELDS Ignorare l'input di campi dispari per i dati video e VBI.
DDVP_SYNCMASTER Eseguire l'unità grafica VSYNCs usando la porta video hardware VSYNCs.
DDVP_VBICONVERT La struttura DDPIXELFORMAT in cui i punti membro lpddpfVBIOutputFormat contengono dati che devono essere usati per convertire i dati all'interno dell'intervallo di spaziatura verticale.
DDVP_VBINOSCALE I dati all'interno dell'intervallo di spaziatura verticale non devono essere ridimensionati.

rCrop

Specifica una struttura RECT che specifica un rettangolo di ritaglio in pixel. Questo membro contiene un rettangolo valido quando il flag di DDVP_CROP è impostato nel membro dwVPFlags .

dwPrescaleWidth

Specifica la larghezza in pixel a cui devono essere prescalati o zoomati i dati video e VBI. Ad esempio, se i dati video sono a 720 pixel e il client richiede la larghezza in metà, il client specifica 360 in dwPrescaleWidth. Questo membro contiene una larghezza valida quando il flag di DDVP_PRESCALE è impostato nel membro dwVPFlags .

dwPrescaleHeight

Specifica l'altezza in pixel in cui i dati video e VBI devono essere prescalati o zoomati. Ad esempio, se i dati video sono di 240 pixel e il client richiede la larghezza in metà, il client specifica 120 in dwPrescaleHeight. Questo membro contiene una larghezza valida quando il flag di DDVP_PRESCALE è impostato nel membro dwVPFlags .

lpddpfInputFormat

Punta a una struttura DDPIXELFORMAT che specifica il formato dei dati video da scrivere nell'oggetto VPE (Video Port Extensions). Questo formato può essere diverso dal formato della superficie di destinazione se l'oggetto VPE esegue una conversione.

lpddpfVBIInputFormat

Punta a una struttura DDPIXELFORMAT che specifica il formato di input dei dati all'interno dell'intervallo di spaziatura verticale.

lpddpfVBIOutputFormat

Punta a una struttura DDPIXELFORMAT che specifica il formato di output dei dati all'interno dell'intervallo di vuoto verticale.

dwVBIHeight

Specifica il numero di righe di dati all'interno dell'intervallo di spaziatura verticale.

dwReserved1

Riservato per l'uso del sistema e deve essere ignorato dal driver.

dwReserved2

Riservato per l'uso del sistema e deve essere ignorato dal driver.

Commenti

Tutti i membri di questa struttura vengono impostati dal client e il driver non deve mai modificarli. Il client è in genere il mixer di sovrapposizione.

Requisiti

Requisito Valore
Intestazione dvp.h (includere Dvp.h)

Vedi anche

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL