PFND3DDDI_DECODEEXECUTE fonction de rappel (d3dumddi.h)
La fonction DecodeExecute effectue une opération de décodage à l’aide de l’appareil microsoft DirectX Video Accelerator (VA) donné.
Syntaxe
PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;
HRESULT Pfnd3dddiDecodeexecute(
HANDLE hDevice,
const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}
Paramètres
hDevice
Handle pour le périphérique d’affichage (contexte graphique).
unnamedParam2
pData [in]
Pointeur vers une structure de D3DDDIARG_DECODEEXECUTE qui décrit l’opération de décodage va DirectX à effectuer.
Valeur retournée
DecodeExecute retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
S_OK | L’opération de décodage de l’va DirectX est effectuée avec succès. |
E_OUTOFMEMORY | DecodeExecute n’a pas pu allouer la mémoire nécessaire pour qu’il se termine. |
Remarques
Le runtime Microsoft Direct3D appelle la fonction DecodeExecute pour toutes les opérations de décodage va DirectX standard. Lorsque DecodeExecute est appelé pour la première fois pour chaque image, la structure D3DDDIARG_DECODEEXECUTE spécifiée par pData doit contenir toutes les informations de mémoire tampon requises pour le décodage de la trame. DecodeExecute peut ensuite être appelé pour le même frame ; Toutefois, ces appels nécessitent uniquement des données incrémentielles. Si le GUID du type de décodage VA DirectX particulier n’utilise pas de mémoire tampon spécifiée dans D3DDDIARG_DECODEEXECUTE, le handle et la description de la mémoire tampon sont définis sur NULL. Par exemple, étant donné que le type de décodage MPEG2 nécessite des paramètres d’image, une mémoire tampon macrobloc et une mémoire tampon de différence résiduelle, tous ces éléments doivent être présents dans le premier appel pour chaque image. Toutefois, en fonction de la taille des données, le runtime Direct3D peut appeler de nouveau DecodeExecute pour fournir uniquement des données de différence résiduelle supplémentaires requises pour décoder la trame entière.
DirectX VA 1.0 a pris en charge un mécanisme de synchronisation externe via un appel à la fonction DdMoCompQueryStatus . Dans DirectX VA 2.0, le pilote d’affichage en mode utilisateur doit effectuer sa propre synchronisation, de la même façon qu’il synchronise le canal 3D. Pour plus d’informations sur cette synchronisation, consultez Synchronisation des opérations de décodage vidéo.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dumddi.h (inclure D3dumddi.h) |