struttura DXVADDI_VIDEOPROCESSORCAPS (d3dumddi.h)
La struttura DXVADDI_VIDEOPROCESSORCAPS descrive le funzionalità di elaborazione video di una modalità di deinterlace specifica.
Sintassi
typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
[out] D3DDDI_POOL InputPool;
[out] UINT NumForwardRefSamples;
[out] UINT NumBackwardRefSamples;
[out] D3DDDIFORMAT OutputFormat;
[out] UINT DeinterlaceTechnology;
[out] UINT ProcAmpControlCaps;
[out] UINT VideoProcessorOperations;
[out] UINT NoiseFilterTechnology;
[out] UINT DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;
Membri
[out] InputPool
Valore D3DDDI_POOLtipizzato che indica il pool di memoria da cui devono essere allocate le superfici di origine interlacciate.
[out] NumForwardRefSamples
Numero obbligatorio di esempi di riferimenti in avanti per la modalità deinterlace definita. Gli esempi sono inclusi nei campi successivi. Questo valore è zero per bob e fusione di linee e può essere altri valori (ad esempio 1, 2 o 3) per la conversione adattiva deilacing e frequenza dei fotogrammi.
[out] NumBackwardRefSamples
Esempi di riferimento all'indietro necessari per la modalità deinterlace definita. Gli esempi si trovano in campi precedenti. Questo valore è zero per bob, 1 per la fusione di linee e può essere altri valori (ad esempio 1, 2 o 3) per la conversione adattiva deilacing e frequenza di fotogrammi.
[out] OutputFormat
Valore D3DDDIFORMATtipizzato che indica il formato pixel dei fotogrammi di output non compressi. In genere, un algoritmo deinterlace restituisce fotogrammi in un formato pixel che corrisponde al formato di esempio di input. Questo membro garantisce che il renderer di missaggio video (VMR) o un altro renderer video sia in grado di fornire le superfici corrette dei fotogrammi di output all'hardware di denterlacing.
Si noti che se il valore DXVADDI_VIDEOPROCESS_YUV2RGB viene restituito nel membro VideoProcessorOperations, VMR determina che i formati di output validi vengono specificati da questo membro e un formato D3DFMT_X8R8G8B8.
[out] DeinterlaceTechnology
OR bit per bit dei valori seguenti per indicare la tecnologia di deinterlacing sottostante usata per implementare l'algoritmo di denterlacing. I valori possono essere combinati in base alle esigenze per corrispondere maggiormente all'implementazione dell'algoritmo.
valore | significato |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | La tecnologia di deinterlacing è sconosciuta. |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | L'algoritmo deinterlace crea righe mancanti ripetendo la riga sopra o sotto una riga mancante. Questo metodo sembra irregolare e non è consigliato. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | Algoritmo deinterlace che crea linee mancanti estendendo verticalmente ogni campo video in base a un fattore di due per mediare due righe. Vengono apportate lievi regolazioni verticali per garantire che l'immagine risultante non si sposti verso l'alto e verso il basso. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | Algoritmo deinterlace che crea linee mancanti estendendo verticalmente ogni campo video di un fattore di due usando un filtro [-1, 9, 9, -1] / 16 su quattro righe. Vengono apportate lievi regolazioni verticali per garantire che l'immagine risultante non si sposti verso l'alto e verso il basso. |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | I pixel nella riga mancante vengono ricreati da un'operazione di filtro mediano. |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | I pixel nella riga mancante vengono ricreati da un filtro di arco. In questo processo, i filtri direzionali spaziali vengono applicati per determinare l'orientamento dei bordi nel contenuto dell'immagine e i pixel mancanti vengono creati filtrando (anziché attraverso) i bordi rilevati. |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | I pixel nella riga mancante vengono ricreati spostandosi su base campo per campo tra l'interpolazione spaziale o temporale, a seconda della quantità di movimento. |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | I pixel nella linea mancante vengono ricreati attivando un cambio di pixel per pixel tra l'interpolazione spaziale o temporale, a seconda della quantità di movimento. |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | Oggetti all'interno di una sequenza di campi video. I pixel mancanti vengono ricreati dopo la prima allineamento dell'asse di spostamento dei singoli oggetti nella scena per renderli paralleli con l'asse temporale. |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | Algoritmo deinterlace che può annullare il processo di trascinamento a 3:2 utilizzato per visualizzare contenuti a 24Hz su schermi a 60Hz, contenuti a 25Hz su schermi a 50Hz o così via. |
[out] ProcAmpControlCaps
Or bit per bit dei valori seguenti per indicare le operazioni ProcAmp supportate dall'hardware.
valore | significato |
---|---|
DXVADDI_PROCAMP_NONE | L'hardware non supporta alcuna operazione ProcAmp. |
DXVADDI_PROCAMP_BRIGHTNESS | Sono consentite regolazioni della luminosità per l'immagine video. |
DXVADDI_PROCAMP_CONTRAST | Sono consentite regolazioni del contrasto per l'immagine video. |
DXVADDI_PROCAMP_HUE | Sono consentite le regolazioni delle tonalità per l'immagine video. |
DXVADDI_PROCAMP_SATURATION | Sono consentite le regolazioni della saturazione per l'immagine video. |
[out] VideoProcessorOperations
Or bit per bit dei valori seguenti per indicare quali operazioni aggiuntive di elaborazione video l'hardware può eseguire simultaneamente con l'operazione richiesta VideoProcessBlt.
valore | significato |
---|---|
DXVADDI_VIDEOPROCESS_NONE | L'hardware non può eseguire altre operazioni di elaborazione video. |
DXVADDI_VIDEOPROCESS_YUV2RGB | La conversione video dallo spazio di colore YUV allo spazio colori RGB è consentita. Il formato RGB utilizzato ha almeno 8 bit di precisione per ogni componente colore. Se questa operazione è possibile, è possibile evitare una copia del buffer all'interno di VMR. Si noti che la conversione dallo spazio dei colori RGB allo spazio dei colori YUV non è necessaria. |
DXVADDI_VIDEOPROCESS_STRETCHX | La correzione delle proporzioni può essere eseguita nello stesso momento in cui il video viene regolato da ProcAmp se l'hardware è in grado di estendere o ridurre orizzontalmente. |
DXVADDI_VIDEOPROCESS_STRETCHY | La regolazione delle proporzioni viene combinata con un'operazione di ridimensionamento generale dell'immagine per ridimensionare l'immagine video all'interno di uno spazio di composizione definito dall'applicazione. Questa operazione è rara e non è una funzionalità essenziale. È preferibile se la scalabilità necessaria per ridimensionare il video per adattarsi alla finestra dell'applicazione può essere eseguita contemporaneamente al ridimensionamento richiesto per la regolazione ProcAmp. Questo tipo di operazione evita gli artefatti cumulativi. |
DXVADDI_VIDEOPROCESS_ALPHABLEND | VmR non esegue una copia del buffer quando viene modificato un valore alfa. Le applicazioni raramente modificano il valore alfa costante associato al flusso video, quindi questa operazione è una funzionalità con priorità bassa. |
DXVADDI_VIDEOPROCESS_SUBRECTS | Il dispositivo di elaborazione video può operare su un'area subrectangle dell'immagine video. Questa operazione è utile se l'immagine video deve essere ritagliata prima di essere elaborata ulteriormente man mano che le dimensioni del fotogramma di output vengono ridotte. |
DXVADDI_VIDEOPROCESS_SUBSTREAMS | Il dispositivo di elaborazione video può combinare sottostream video con il flusso video. |
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED | È possibile apportare modifiche al colore necessarie ai flussi video di origine e ai sottostream. Queste regolazioni sono indicate nei dati di colore estesi, poiché il video è dinterlaced, composito con i sottostream e scritto nella superficie di destinazione. |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | Un'operazione di conversione dello spazio dei colori può essere eseguita quando i pixel denterlaced e compositi vengono scritti nella superficie di destinazione usando le informazioni sul colore estese specificate per le superfici di origine e di destinazione. |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | È possibile eseguire un'operazione di fusione alfa con la superficie di destinazione quando i pixel denterlaced e compositi vengono scritti nella superficie di destinazione. Il driver deve gestire il colore di sfondo in base al valore alfa del membro Alpha della struttura D3DDDIARG_VIDEOPROCESSBLT. Quando il valore alfa è 1,0, il colore di sfondo viene disegnato opaco (senza trasparenza). Quando il valore alfa è 0,0, lo sfondo non deve essere disegnato (trasparente). |
DXVADDI_VIDEOPROCESS_CONSTRICTION | Il dispositivo di elaborazione video può ridurre temporaneamente il fotogramma di output a una dimensione specificata dal membro ConstrictionSize della struttura D3DDDIARG_VIDEOPROCESSBLT. |
DXVADDI_VIDEOPROCESS_NOISEFILTER | Il dispositivo di elaborazione video può eseguire operazioni di filtro del rumore nel flusso video. |
DXVADDI_VIDEOPROCESS_DETAILFILTER | Il dispositivo di elaborazione video può eseguire operazioni di filtro dettagliate sul flusso video. |
DXVADDI_VIDEOPROCESS_PLANARALPHA | Il dispositivo di elaborazione video può applicare una fusione alfa costante all'intero flusso video (piano) mentre combina il flusso video e i sottostream. Il membro Alfa di D3DDDIARG_VIDEOPROCESSBLT specifica il valore alfa. |
DXVADDI_VIDEOPROCESS_LINEARSCALING | Il dispositivo di elaborazione video può ridimensionare in modo lineare il flusso video. |
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED | Il dispositivo di elaborazione video può eseguire la conversione gamma nel flusso video. |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | Il dispositivo di elaborazione video può gestire i dati dei campi originali. |
[out] NoiseFilterTechnology
Or bit per bit dei valori seguenti per indicare la tecnologia sottostante usata per implementare il filtro del rumore. I valori possono essere combinati in base alle esigenze per corrispondere più strettamente all'implementazione del filtro non significative.
valore | significato |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | Non è supportata alcuna tecnologia di filtro per il rumore. |
DXVADDI_NOISEFILTERTECH_UNKNOWN | La tecnologia di filtro del rumore è sconosciuta. |
DXVADDI_NOISEFILTERTECH_MEDIAN | Il dispositivo di elaborazione video usa il filtro del rumore mediano. |
DXVADDI_NOISEFILTERTECH_TEMPORAL | Il dispositivo di elaborazione video usa il filtro del rumore temporale. |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | Il dispositivo di elaborazione video usa il filtro del rumore in blocchi. |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | Il dispositivo di elaborazione video usa il filtro del rumore delle zanzare. |
[out] DetailFilterTechnology
OR bit per bit dei valori seguenti per indicare la tecnologia sottostante usata per implementare il filtro dei dettagli. I valori possono essere combinati in base alle esigenze per corrispondere più strettamente all'implementazione del filtro dei dettagli.
valore | significato |
---|---|
DXVADDI_DETAILFILTERTECH_UNSUPPORTED | Non è supportata alcuna tecnologia di filtro dettaglio. |
DXVADDI_DETAILFILTERTECH_UNKNOWN | La tecnologia di filtro dei dettagli è sconosciuta. |
DXVADDI_DETAILFILTERTECH_EDGE | Il dispositivo di elaborazione video usa il filtro dettagli edge. |
DXVADDI_DETAILFILTERTECH_SHARPENING | Il dispositivo di elaborazione video usa il filtro dei dettagli di nitidezza. |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
intestazione | d3dumddi.h (include D3dumddi.h) |