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