Création de surfaces vidéo DXVA-HD
L’application doit créer une ou plusieurs surfaces Direct3D à utiliser pour les images d’entrée. Ceux-ci doivent être alloués dans le pool de mémoire spécifié par le membre InputPool de la structure DXVAHD_VPDEVCAPS . Les types de surface suivants peuvent être utilisés :
- Surface vidéo créée en appelant IDXVAHD_Device::CreateVideoSurface et en spécifiant le type de surface DXVAHD_SURFACE_TYPE_VIDEO_INPUT ou DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE . Ce type de surface équivaut à une surface ordinaire hors écran.
- Surface de cible de rendu du décodeur, créée en appelant IDirectXVideoAccelerationService::CreateSurface et en spécifiant le type de surface DXVA2_VideoDecoderRenderTarget . Ce type de surface est utilisé pour le décodage DXVA.
- Surface ordinaire hors écran.
Le code suivant montre comment allouer une surface vidéo à l’aide de CreateVideoSurface :
// Create the video surface for the primary video stream.
hr = pDXVAHD->CreateVideoSurface(
VIDEO_WIDTH,
VIDEO_HEIGHT,
VIDEO_FORMAT,
caps.InputPool,
0, // Usage
DXVAHD_SURFACE_TYPE_VIDEO_INPUT,
1, // Number of surfaces to create
&pSurf, // Array of surface pointers
NULL
);
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour