struttura DXVADDI_CONFIGPICTUREDECODE (d3dumddi.h)
La struttura DXVADDI_CONFIGPICTUREDECODE descrive la configurazione per la decodifica immagine compressa.
typedef struct _DXVADDI_CONFIGPICTUREDECODE {
[in] GUID guidConfigBitstreamEncryption;
[in] GUID guidConfigMBcontrolEncryption;
[in] GUID guidConfigResidDiffEncryption;
[in] UINT ConfigBitstreamRaw;
[in] UINT ConfigMBcontrolRasterOrder;
[in] UINT ConfigResidDiffHost;
[in] UINT ConfigSpatialResid8;
[in] UINT ConfigResid8Subtraction;
[in] UINT ConfigSpatialHost8or9Clipping;
[in] UINT ConfigSpatialResidInterleaved;
[in] UINT ConfigIntraResidUnsigned;
[in] UINT ConfigResidDiffAccelerator;
[in] UINT ConfigHostInverseScan;
[in] UINT ConfigSpecificIDCT;
[in] UINT Config4GroupedCoefs;
[in] USHORT ConfigMinRenderTargetBuffCount;
[in] USHORT ConfigDecoderSpecific;
} DXVADDI_CONFIGPICTUREDECODE;
[in] guidConfigBitstreamEncryption
GUID di crittografia per la configurazione di un bitstream.
[in] guidConfigMBcontrolEncryption
GUID di crittografia per la configurazione del controllo macroblock.
[in] guidConfigResidDiffEncryption
GUID di crittografia per la configurazione della decodifica della differenza residua.
[in] ConfigBitstreamRaw
Indicatore di elaborazione bitstream. Un valore pari a 1 in questo membro indica che i dati immagine vengono inviati in buffer bitstream come contenuto bitstream non elaborato. Un valore pari a zero indica che i dati immagine vengono inviati tramite buffer dei comandi di controllo macroblock.
Impostare questo membro su zero se il ConfigResidDiffHost o ConfigResidDiffAccelerator membro è 1. Il valore zero in ConfigBitstreamRaw è il livello di supporto di base. Il valore 1 è preferibile.
[in] ConfigMBcontrolRasterOrder
Valore UINT che specifica se i comandi di controllo macroblock sono in ordine di analisi raster o in ordine arbitrario. Il valore 1 in questo membro specifica che i comandi di controllo macroblock all'interno di ogni buffer dei comandi di controllo macroblock sono in ordine di analisi raster. Un valore pari a zero indica un ordine arbitrario. Un driver può limitare il supporto all'ordine di analisi raster; Tuttavia, un driver deve supportare sia l'ordine arbitrario che l'analisi raster.
[in] ConfigResidDiffHost
Configurazione della differenza residua dell'host. Un valore pari a 1 in questo membro specifica che alcuni dati di decodifica delle differenze residui possono essere inviati come blocchi nel dominio spaziale dall'host. Un valore pari a zero specifica che i dati del dominio spaziale non vengono inviati. Impostare questo membro su zero se il membro ConfigBitstreamRaw è 1. Un acceleratore deve supportare sia zero che 1.
[in] ConfigSpatialResid8
Le dimensioni delle parole usate per rappresentare blocchi di dominio spaziale di differenza residua per le immagini stimate (nontra) quando si usa la decodifica della differenza residua basata su host, ovvero quando il membro ConfigResidDiffHost è impostato su 1.
Se configSpatialResid8 è 1 e ConfigResidDiffHost è 1, L'host invia blocchi di dominio spaziale di differenza residua per i macroblock nontra che usano campioni con segno a 8 bit e per i macroblock nelle immagini stimate (non intra) in un formato che dipende dal membro ConfigIntraResidUnsigned come indicato di seguito:
Se ConfigIntraResidUnsigned è zero, i blocchi di dominio spaziale per gli intra macroblock vengono inviati come valori interi con segno a 8 bit relativi a un valore di riferimento costante pari a 128.
Se ConfigIntraResidUnsigned è 1, i blocchi di dominio spaziale per gli intra macroblock vengono inviati come valori interi senza segno a 8 bit relativi a un valore di riferimento costante pari a zero.
Se ConfigSpatialResid8 è zero e ConfigResidDiffHost è 1, l'host invia blocchi di dati di domini spaziali di differenza residua per macroblock nontra che usano campioni con segno a 16 bit e per gli intrablock nelle immagini stimate (nonintra) in un formato che dipende da ConfigIntraResidUnsigned come indicato di seguito:
Se configIntraResidUnsigned è zero, i blocchi di dominio spaziale per gli interblock vengono inviati come valori interi con segno a 16 bit relativi a un valore di riferimento costante pari a 2^(BPP-1), dove BPP è il numero di bit per campione per il video non compresso (in genere un valore pari a 8).
Se ConfigIntraResidUnsigned è 1, i blocchi di dominio spaziale per gli intra macroblock vengono inviati come valori interi senza segno a 16 bit relativi a un valore di riferimento costante pari a zero.
ConfigSpatialResid8 deve essere zero se ConfigResidDiffHost è zero. Se ConfigResidDiffHost è 1, ConfigSpatialResid8 può essere qualsiasi valore.
Nota
Per le immagini intra con BPP uguale a 8, i blocchi di dominio spaziale devono essere inviati usando campioni a 8 bit. Per le immagini intra con BPP maggiore di 8, i blocchi di dominio spaziale devono essere inviati usando campioni a 16 bit. Se ConfigIntraResidUnsigned è zero, questi esempi vengono inviati come valori integer con segno relativi a un valore di riferimento costante pari a 2^(BPP-1). Se ConfigIntraResidUnsigned è 1, questi esempi vengono inviati come valori interi senza segno relativi a un valore di riferimento costante pari a zero.
[in] ConfigResid8Subtraction
Valore UINT che specifica se i blocchi di overflow della differenza a 8 bit vengono sottratti o aggiunti. Se questo membro è impostato su 1, i blocchi di overflow della differenza a 8 bit vengono sottratti anziché aggiunti. Questo membro deve essere zero a meno che ConfigSpatialResid8 sia 1. Se ConfigSpatialResid8 è 1, il valore preferito per ConfigResid8Subtraction è 1. La possibilità di sottrarre le differenze anziché aggiungerle consente la decodifica a 8 bit per essere completamente conforme all'intervallo compreso tra -255 e +255 di valori richiesti nelle specifiche del decodificatore video. Questa possibilità consente la conformità completa perché +255 non può essere rappresentato come l'aggiunta di due numeri a 8 bit firmati, ma qualsiasi numero compreso nell'intervallo compreso tra -255 e +255 può essere rappresentato come la differenza tra due numeri a 8 bit firmati (+255 è uguale a +127 meno -128).
[in] ConfigSpatialHost8or9Clipping
Valore UINT che specifica se il ritaglio viene eseguito dall'host. Se questo membro è impostato su 1, i blocchi di dominio spaziale per gli intra macroblock vengono ritagliati in un intervallo a 8 bit nei blocchi host e di dominio spaziale per i macroblock nontra vengono ritagliati in un intervallo a 9 bit nell'host. Un valore pari a zero indica che tale ritaglio non viene eseguito dall'host. Questo membro deve essere zero a meno che ConfigSpatialResid8 sia impostato su zero e ConfigResidDiffHost sia impostato su 1. Il valore preferito per ConfigSpatialHost8or9Clipping è zero.
[in] ConfigSpatialResidInterleaved
Valore UINT che specifica se i dati di differenza residua del dominio spaziale vengono inviati in un formato interleaved chrominance-interleaved. Se questo membro è impostato su 1, tutti i dati di differenza residua del dominio spaziale vengono inviati in un formato interleaved di dominanza chrominance che corrisponde al modello di interleaving in formato YUV. Questo membro deve essere zero a meno che ConfigResidDiffHost sia 1 e che il formato YUV sia NV12 o NV21. Il valore preferito per ConfigSpatialResidInterleaved è zero.
[in] ConfigIntraResidUnsigned
Il metodo di rappresentazione dei blocchi di dominio spaziale dei dati di differenza residua per i blocchi intra blocchi quando si usa la decodifica della differenza basata su host, ovvero quando il membro ConfigResidDiffHost è uguale a 1.
Se ConfigIntraResidUnsigned è impostato su zero e ConfigResidDiffHost è impostato su 1, i blocchi di dati residui del dominio spaziale per i macroblock vengono inviati come segue:
In un'immagine non intra se il membro ConfigSpatialResid8 è zero, i blocchi di dati di differenza residua del dominio spaziale per gli elementi macroblock vengono inviati come valori interi con segno a 16 bit relativi a un valore di riferimento costante pari a 2^(BPP-1), dove BPP è il numero di bit per campione per il video non compresso (in genere un valore pari a 8).
In un'immagine non intra se ConfigSpatialResid8 è 1 e in un'immagine interna se BPP è uguale a 8 (indipendentemente dal valore di ConfigSpatialResid8), i blocchi di dati di differenza del dominio spaziale per gli intra macroblock vengono inviati come valori interi con segno a 8 bit relativi a un valore di riferimento costante pari a 128.
Se ConfigIntraResidUnsigned è impostato su 1 e ConfigResidDiffHost è impostato su 1, i blocchi di dati di differenza residua del dominio spaziale per i macroblock vengono inviati come segue:
In un'immagine non intra se configSpatialResid8 è zero, i blocchi di dati di differenza residua del dominio spaziale per gli intra macroblock vengono inviati come valori interi senza segno a 16 bit relativi a un valore di riferimento costante pari a zero.
In un'immagine non intra se ConfigSpatialResid8 è 1 e in un'immagine interna se BPP è uguale a 8 (indipendentemente dal valore di ConfigSpatialResid8), i blocchi di dati di differenza residua del dominio spaziale per gli intra macroblock vengono inviati come valori interi senza segno a 8 bit relativi a un valore di riferimento costante pari a zero.
ConfigIntraResidUnsigned deve essere zero a meno che ConfigResidDiffHost sia 1. Il valore preferito per ConfigIntraResidUnsigned è zero.
[in] ConfigResidDiffAccelerator
Configurazione della differenza residua dell'acceleratore. Un valore pari a 1 in questo membro indica che i blocchi transform-domain dei dati del coefficiente possono essere inviati dall'host per IDCT basato sull'acceleratore. Un valore zero indica che IDCT basato sull'acceleratore non viene usato.
Se entrambe le ConfigResidDiffHost membro e ConfigResidDiffAccelerator sono 1, viene eseguita una differenza residua decodifica sull'host e alcune sull'acceleratore, come indicato dai comandi di controllo a livello di macroblock. ConfigResidDiffAccelerator deve essere zero se il membro bConfigBitstreamRaw è 1.
Il valore preferito per ConfigResidDiffAccelerator è 1.
Se ConfigResidDiffAccelerator e ConfigResidDiffHost sono impostati su 1, la decodifica delle differenze residui può essere condivisa tra l'host e l'acceleratore in base a un blocco macro. Questa condivisione è un livello ancora più elevato di funzionalità di acceleratore rispetto a quando ConfigResidDiffAccelerator è impostato su 1 e ConfigResidDiffHost è impostato su zero.
[in] ConfigHostInverseScan
Valore UINT che specifica se l'analisi inversa dell'elaborazione del blocco di dominio transform-domain viene eseguita sull'host o sull'acceleratore. Un valore pari a 1 in questo membro indica che l'analisi inversa dell'elaborazione del blocco di dominio di trasformazione viene eseguita nell'host e gli indici assoluti vengono inviati invece per qualsiasi coefficiente di trasformazione. Il valore zero indica che l'analisi inversa viene eseguita sull'acceleratore. ConfigHostInverseScan deve essere zero se ConfigResidDiffAccelerator è zero o se il membro config4GroupedCoefs è 1.
Il valore preferito per ConfigHostInverseScan è 1 se ConfigResidDiffAccelerator è 1.
[in] ConfigSpecificIDCT
Valore UINT che specifica l'uso di un metodo IDCT specifico per IDCT fuori host. Un valore pari a 1 in questo membro indica l'uso dell'IDCT specificato nell'allegato W ITU-T della raccomandazione H.263, che è possibile ottenere informazioni dal sito Web international telecomunicazioni. Un valore pari a zero indica che qualsiasi IDCT conforme può essere usato per IDCT fuori host. I valori diversi da zero e 1 sono riservati.
ConfigSpecificIDCT deve essere zero se ConfigResidDiffAccelerator è zero, che indica la decodifica della differenza residua basata su host.
Nota
ConfigSpecificIDCT non deve essere impostato su 1 per l'uso con il video MPEG-2.
[in] Config4GroupedCoefs
Valore UINT che specifica come vengono inviati i coefficienti di trasformazione per IDCT fuori host. Un valore pari a 1 in questo membro indica che i coefficienti di trasformazione per IDCT fuori host vengono inviati usando la struttura DXVA_TCoef4Group anziché la struttura DXVA_TCoefSingle. Config4GroupedCoefs è zero se ConfigResidDiffAccelerator è zero o se ConfigHostInverseScan è 1.
Il valore preferito per Config4GroupedCoefs è zero se ConfigResidDiffAccelerator è 1.
[in] ConfigMinRenderTargetBuffCount
Valore USHORT che specifica il numero minimo di buffer di destinazione di rendering.
[in] ConfigDecoderSpecific
Valore USHORT che specifica le funzionalità specifiche del decodificatore da configurare. Per informazioni sulle funzionalità di un decodificatore, vedere la specifica per il decodificatore. Per un elenco dei decodificatori, vedere Providing Capabilities for Video Decoding.For a list of decoders, see Providing Capabilities for Video Decoding.
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
intestazione | d3dumddi.h (include D3dumddi.h) |