DXVADDI_CONFIGPICTUREDECODE struttura (d3dumddi.h)

La struttura DXVADDI_CONFIGPICTUREDECODE descrive la configurazione per la decodifica dell'immagine compressa.

Sintassi

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;

Members

[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 rimanente.

[in] ConfigBitstreamRaw

Indicatore di elaborazione bitstream. Un valore pari a 1 in questo membro indica che i dati dell'immagine vengono inviati nei buffer bitstream come contenuto bitstream non elaborato. Un valore pari a zero indica che i dati dell'immagine vengono inviati usando i buffer dei comandi del controllo macroblock.

Impostare questo membro su zero se il membro ConfigResidDiffHost o ConfigResidDiffAccelerator è 1. Un valore pari a zero in ConfigBitstreamRaw è il livello di base del supporto. Il valore 1 è preferito.

[in] ConfigMBcontrolRasterOrder

Valore UINT che specifica se i comandi di controllo macroblock sono in ordine di analisi raster o in ordine arbitrario. Un valore pari a 1 in questo membro specifica che i comandi del controllo macroblock all'interno di ogni buffer dei comandi del controllo macroblock sono in ordine di analisi raster. Un valore pari a zero indica l'ordine arbitrario. Un driver può limitare il supporto per l'ordine di analisi raster; tuttavia, un driver deve supportare l'ordine di analisi arbitrario e raster.

[in] ConfigResidDiffHost

Configurazione della differenza rimanente 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 rimanente per le immagini stimate (nontra) quando si usa la decodifica della differenza rimanente 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 rimanenti per blocchi di macro nontra che usano campioni firmati a 8 bit e per i macroblock intra in immagini stimate (nontra) in un formato che dipende dal membro ConfigIntraResidUnsigned come segue:

  • Se ConfigIntraResidUnsigned è zero, i blocchi di dominio spaziale per i macroblock vengono inviati come valori integer con segno a 8 bit relativi a un valore di riferimento costante pari a 128.

  • Se ConfigIntraResidUnsigned è 1, i blocchi di dominio spaziale per i macroblock vengono inviati come valori integer 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 dominio spaziale di differenza residua per macroblock nonintra che usano campioni firmati a 16 bit e per i macroblock intra in immagini stimate (nontra) in un formato che dipende da ConfigIntraResidUnsigned come indicato di seguito:

  • Se ConfigIntraResidUnsigned è zero, i blocchi di dominio spaziale per i macroblock vengono inviati come valori integer con segno a 16 bit relativi a un valore di riferimento costante pari a 2^(BPP-1), dove BPP è il numero di bit per ogni esempio per il video non compresso (in genere un valore pari a 8).

  • Se ConfigIntraResidUnsigned è 1, i blocchi di dominio spaziale per i macroblock vengono inviati come valori integer 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 esempi a 8 bit. Per le immagini intra con BPP maggiore di 8, i blocchi di dominio spaziale devono essere inviati usando esempi a 16 bit. Se ConfigIntraResidUnsigned è zero, questi esempi vengono inviati come valori integer firmati 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 a 8 bit vengono sottratti o aggiunti. Se questo membro è impostato su 1, i blocchi di overflow a 8 bit vengono sottratti anziché aggiunti. Questo membro deve essere zero a meno che ConfigSpatialResid8 non 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 necessari nelle specifiche del decodificatore video. Questa capacità consente la conformità completa perché +255 non può essere rappresentato come l'aggiunta di due numeri a 8 bit firmati, ma qualsiasi numero 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 i macroblock vengono ritagliati in un intervallo a 8 bit nei blocchi host e di dominio spaziale per i blocchi di macro nontra vengono ritagliati in un intervallo a 9 bit nell'host. Un valore pari a zero indica che nessun ritaglio 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 della differenza di differenza del dominio spaziale vengono inviati in un formato interleaved chrominance-interleaved. Se questo membro è impostato su 1, i dati di differenza del dominio spaziale rimanenti vengono inviati in un modulo interleaved che corrisponde al modello di interdominio di formato YUV. Questo membro deve essere zero a meno che ConfigResidDiffHost sia 1 e il formato YUV sia NV12 o NV21. Il valore preferito per ConfigSpatialResidInterleaved è zero.

[in] ConfigIntraResidUnsigned

Metodo di rappresentazione dei blocchi di dominio spaziale dei dati di differenza rimanente per i blocchi intrablocco 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 di differenza del dominio spaziale per i macroblock vengono inviati come segue:

  • In un'immagine nontra se il membro ConfigSpatialResid8 è zero, i blocchi di dati di differenza del dominio spaziale per i macroblock intra macroblock vengono inviati come valori integer con segno a 16 bit relativi a un valore di riferimento costante pari a 2^( BPP-1), dove BPP è il numero di bit per ogni campione per il video non compresso (in genere un valore 8).

  • In un'immagine nontra se ConfigSpatialResid8 è 1 e in un'immagine intra se BPP è uguale a 8 (indipendentemente dal valore di ConfigSpatialResid8), i blocchi di dati di differenza del dominio spaziale per i 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 del dominio spaziale per i macroblock intra vengono inviati come segue:

  • In un'immagine nontra se ConfigSpatialResid8 è zero, i blocchi di dati di differenza del dominio spaziale per i macroblock 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 nontra se ConfigSpatialResid8 è 1 e in un'immagine intra se BPP è uguale a 8 (indipendentemente dal valore di ConfigSpatialResid8), i blocchi di dati di differenza del dominio spaziale per i macroblock vengono inviati come valori integer senza segno a 8 bit relativi a un valore di riferimento costante pari a zero.

ConfigIntraResidUnsigned deve essere zero a meno che ConfigResidDiffHost non sia 1. Il valore preferito per ConfigIntraResidUnsigned è zero.

[in] ConfigResidDiffAccelerator

Configurazione della differenza rimanente dell'acceleratore. Un valore di 1 in questo membro indica che i blocchi di dominio di trasformazione dei dati di coefficiente possono essere inviati dall'host per IDCT basato su acceleratore. Un valore pari a zero indica che l'IDCT basato sull'acceleratore non viene usato.

Se sia il membro ConfigResidDiffHost che ConfigResidDiffAccelerator sono 1, alcune differenze rimanenti vengono eseguite nell'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 della differenza rimanente può essere condivisa tra l'host e l'acceleratore su base macroblock. Questa condivisione è un livello di funzionalità di acceleratore ancora superiore rispetto a quando ConfigResidDiffAccelerator è impostato su 1 e ConfigResidDiffHost è impostato su zero.

[in] ConfigHostInverseScan

Valore UINT che specifica se l'analisi inversa per l'elaborazione del blocco di dominio di trasformazione viene eseguita nell'host o nell'acceleratore. Un valore di 1 in questo membro indica che l'analisi inversa per l'elaborazione del blocco di dominio di trasformazione viene eseguita nell'host e gli indici assoluti vengono inviati invece per eventuali coefficienti di trasformazione. Un valore pari a 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 off-host. Un valore pari a 1 in questo membro indica l'uso dell'IDCT specificato nell'allegato W della raccomandazione ITU-T H.263, che è possibile apprendere dal sito Web Dell'Unione internazionale delle telecomunicazioni . Un valore pari a zero indica che qualsiasi IDCT conforme può essere usato per l'IDCT off-host. I valori diversi da zero e 1 sono riservati.

ConfigSpecificIDCT deve essere zero se ConfigResidDiffAccelerator è zero, che indica la decodifica della differenza rimanente basata su host.

Nota

ConfigSpecificIDCT non deve essere impostato su 1 per l'uso con video MPEG-2.

[in] Config4GroupedCoefs

Valore UINT che specifica come vengono inviati i coefficienti di trasformazione per IDCT off-host. Un valore pari a 1 in questo membro indica che i coefficienti di trasformazione per IDCT off-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 tale decodificatore. Per un elenco di decodificatori, vedere Fornire funzionalità per la decodifica video.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

GetCaps