Méthode IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)
Crée un processeur vidéo DirectX Video Acceleration (DXVA) ou une cible de rendu de décodeur DXVA.
Syntaxe
HRESULT CreateSurface(
[in] UINT Width,
[in] UINT Height,
[in] UINT BackBuffers,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[in] DWORD Usage,
[in] DWORD DxvaType,
[out] IDirect3DSurface9 **ppSurface,
[in, out] HANDLE *pSharedHandle
);
Paramètres
[in] Width
Largeur de la surface, en pixels.
[in] Height
Hauteur de la surface, en pixels.
[in] BackBuffers
Nombre de mémoires tampons d’arrière-mémoire. La méthode crée BackBuffers + 1 surfaces.
[in] Format
Format de pixel, spécifié sous la forme d’une valeur D3DFORMAT ou d’un code FOURCC. Pour plus d’informations, consultez la documentation Direct3D.
[in] Pool
Pool de mémoires dans lequel créer la surface, spécifié en tant que valeur D3DPOOL . Pour plus d’informations, consultez la documentation Direct3D. Les décodeurs doivent généralement utiliser la valeur D3DPOOL_DEFAULT.
[in] Usage
Réservé. Définissez cette valeur sur zéro.
[in] DxvaType
Type de surface à créer. Utilisez l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Cible de rendu du décodeur vidéo. |
|
Cible de rendu du processeur vidéo. Utilisé pour les opérations IDirectXVideoProcessor::VideoProcessBlt . |
|
Cible de rendu logicielle. Ce type de surface est destiné à être utilisé avec des appareils DXVA logiciels. |
[out] ppSurface
Adresse d’un tableau de pointeurs IDirect3DSurface9 alloués par l’appelant. La taille du tableau doit être 1 + BackBuffers (suffisant pour les mémoires tampons d’arrière-plan plus une mémoire tampon avant). La méthode remplit le tableau avec des pointeurs IDirect3DSurface9 . L’appelant doit libérer tous les pointeurs d’interface. En outre, la mémoire tampon avant contient un nombre de références sur chacune des mémoires tampons d’arrière-plan. Par conséquent, les mémoires tampons d’arrière-plan ne sont jamais supprimées tant que la mémoire tampon avant n’est pas supprimée.
[in, out] pSharedHandle
Pointeur vers un handle utilisé pour partager les surfaces entre les appareils Direct3D. Définissez ce paramètre sur NULL.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Paramètre non valide |
|
Le Gestionnaire d’accélération vidéo DirectX n’est pas initialisé. |
|
Argument pointeur NULL . |
Notes
Si la méthode retourne E_FAIL, essayez d’appeler IDirect3DDeviceManager9::ResetDevice pour réinitialiser le Gestionnaire d’accélération vidéo DirectX.
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | dxva2api.h |