Partager via


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)

Voir aussi

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS