attribut MF_SA_D3D_AWARE
Spécifie si une transformation Media Foundation (MFT) prend en charge l’accélération vidéo DirectX (DXVA). Cet attribut s’applique uniquement aux mft vidéo.
Type de données
BOOL stocké en tant que UINT32
Notes
Pour interroger cet attribut, appelez IMFTransform::GetAttributes pour obtenir le magasin d’attributs global du MFT. Si GetAttributes réussit, appelez IMFAttributes::GetUINT32.
Cet attribut indique au client si MFT peut utiliser la vidéo Direct3D 9 :
- Si l’attribut est différent de zéro, le client peut donner au MFT un pointeur vers l’interface IDirect3DDeviceManager9 avant le démarrage de la diffusion en continu. Pour ce faire, le client envoie le message MFT_MESSAGE_SET_D3D_MANAGER au MFT. Le client n’est pas obligé d’envoyer ce message.
- Si cet attribut est égal à zéro (FALSE), MFT ne prend pas en charge la vidéo Direct3D 9 et le client ne doit pas envoyer le message MFT_MESSAGE_SET_D3D_MANAGER au MFT.
La valeur par défaut de cet attribut est FALSE. Traitez cet attribut en lecture seule. Ne modifiez pas la valeur ; le MFT ignore toute modification apportée à la valeur.
Pour plus d’informations sur l’implémentation de cet attribut dans un MFT personnalisé, consultez MfTs prenant en charge Direct3D.
La constante GUID de cet attribut est exportée à partir de mfuuid.lib.
Exemples
Le code suivant teste si un MFT prend en charge DXVA.
// Returns TRUE is an MFT supports DirectX Video Acceleration.
BOOL IsTransformD3DAware(IMFTransform *pMFT)
{
BOOL bD3DAware = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bD3DAware = MFGetAttributeUINT32(pAttributes, MF_SA_D3D_AWARE, FALSE);
pAttributes->Release();
}
return bD3DAware;
}
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau | Applications UWP] |
En-tête |
|
Voir aussi