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
DXVA2_VideoDecoderRenderTarget
Cible de rendu du décodeur vidéo.
DXVA2_VideoProcessorRenderTarget
Cible de rendu du processeur vidéo. Utilisé pour les opérations IDirectXVideoProcessor::VideoProcessBlt .
DXVA2_VideoSoftwareRenderTarget
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
S_OK
D3DERR_INVALIDCALL
Paramètre non valide
E_FAIL
Le Gestionnaire d’accélération vidéo DirectX n’est pas initialisé.
E_POINTER
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

Voir aussi

Accélération vidéo DirectX 2.0

IDirectXVideoAccelerationService