struttura DXVADDI_DECODEBUFFERDESC (d3dumddi.h)
La struttura DXVADDI_DECODEBUFFERDESC descrive un buffer attualmente passato dal decodificatore host all'acceleratore.
Sintassi
typedef struct _DXVADDI_DECODEBUFFERDESC {
[in] HANDLE hBuffer;
[in] D3DDDIFORMAT CompressedBufferType;
[in] UINT BufferIndex;
[in] UINT DataOffset;
[in] UINT DataSize;
[in] UINT FirstMBaddress;
[in] UINT NumMBsInBuffer;
[in] UINT Width;
[in] UINT Height;
[in] UINT Stride;
[in] UINT ReservedBits;
[in] DXVADDI_PVP_HW_IV *pCipherCounter;
} DXVADDI_DECODEBUFFERDESC;
Members
[in] hBuffer
Handle per il buffer.
[in] CompressedBufferType
Valore tipizzato D3DDDIFORMAT che indica il formato pixel del buffer.
[in] BufferIndex
Riservato. Non utilizzare questo membro. Per altre informazioni, vedere la sezione Osservazioni.
[in] DataOffset
Offset dei dati pertinenti dall'inizio del buffer, in byte. L'uso di questo membro è attualmente limitato al valore zero.
[in] DataSize
Quantità di dati pertinenti nel buffer, in byte. Il percorso dell'ultimo byte del contenuto nel buffer è il valore di DataOffset più il valore di DataSize meno 1.
[in] FirstMBaddress
Indirizzo macroblock del primo blocco macro nel buffer passato all'acceleratore. L'indirizzo macroblock viene specificato nell'ordine di analisi raster. L'indirizzo è determinato dai membri della struttura DXVA_PictureParameters . La tabella seguente illustra esempi di indirizzi macroblock.
Macroblocco | Indirizzo |
---|---|
In alto a sinistra | Zero |
In alto a destra | wPicWidthInMBminus1 di DXVA_PictureParameters. |
In basso a sinistra | wPicHeightInMBminus1 x (wPicWidthInMBminus1+1). Membri di DXVA_PictureParameters. |
In basso a destra | (wPicHeightInMBminus1+1) x (wPicWidthInMBminus1+1)-1. Membri di DXVA_PictureParame |
Il membro FirstMBaddress deve essere zero se il buffer di dati è uno dei tipi seguenti: parametri di decodifica dell'immagine, matrice di quantizzazione inversa, controllo sezione, dati bitstream, AYUV, IA44/AI44, DPXD, Highlight e DCCMD.
Se il buffer di dati è un buffer di dati dei blocchi di differenza residua, FirstMBaddress deve avere lo stesso valore del buffer dei comandi del controllo macroblock corrispondente.
[in] NumMBsInBuffer
Numero di macroblock di dati nel buffer, inclusi i macroblock ignorati. Questo membro deve essere zero se il buffer di dati è uno dei tipi seguenti: parametri di decodifica immagine, matrice di quantizzazione inversa, AYUV, IA44/AI44, DPXD, Highlight o DCCMD.
Il valore di NumMBsInBuffer dipende dal tipo di buffer di dati in uso, come illustrato nella tabella seguente.
Tipo di buffer | Valore di NumMBsInBuffer |
---|---|
Comando di controllo Macroblock | Somma di tutti i valori per MBskipsFollowing, aggiunta al numero di comandi di controllo macroblock nel buffer dei comandi del controllo macroblock. |
Blocco di differenza residua | Stesso valore del buffer dei comandi del controllo macroblock corrispondente. |
Comando Slice-control | Valore del membro wNumberMBsInSlice della struttura DXVA_SliceInfo nel buffer del controllo sezione. |
Bitstream | Stesso valore del buffer del comando slice-control corrispondente. |
[in] Width
Riservato. Non utilizzare questo membro. Per altre informazioni, vedere la sezione Osservazioni.
[in] Height
Riservato. Non utilizzare questo membro. Per altre informazioni, vedere la sezione Osservazioni.
[in] Stride
Riservato. Non utilizzare questo membro. Per altre informazioni, vedere la sezione Osservazioni.
[in] ReservedBits
Bit riservati utilizzati per la compressione e l'allineamento. Questo membro deve essere zero.
[in] pCipherCounter
Puntatore a una struttura DXVADDI_PVP_HW_IV che contiene un valore pvP (Protected Video Path) a 128 bit.
Commenti
Una matrice di strutture DXVADDI_DECODEBUFFERDESC viene definita elenco di descrizioni del buffer. Quando un set di buffer viene inviato dal decodificatore host all'acceleratore hardware, viene inviato un elenco di descrizioni del buffer per descrivere i buffer. L'elenco di descrizione del buffer contiene una struttura DXVADDI_DECODEBUFFERDESC per ogni buffer in questo set. L'elenco di descrizione del buffer inizia con una struttura DXVADDI_DECODEBUFFERDESC per il primo buffer del primo tipo, seguita da una struttura DXVADDI_DECODEBUFFERDESC per il buffer successivo dello stesso tipo e così via. L'elenco di descrizione del buffer continua quindi con una struttura DXVADDI_DECODEBUFFERDESC per il primo buffer del tipo successivo e così via. L'intero elenco è contenuto in una struttura D3DDDIARG_DECODEEXECUTE .
Poiché Microsoft DirectX Video Acceleration (VA) versione 2.0 usa superfici Microsoft Direct3D anziché le superfici private usate da DirectX VA 1.0, il driver di visualizzazione in modalità utente ottiene i valori per l'indice, la larghezza, l'altezza e lo stride dal tipo di buffer compresso specificato anziché dai valori nei membri BufferIndex, Width, Height e Stride . In realtà, il runtime di Microsoft Direct3D imposta questi membri su zero.
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per