Partager via


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
Mftransform.h

Voir aussi

Liste alphabétique des attributs Media Foundation

MfTs prenant en compte Direct3D

Prise en charge de DXVA 2.0 dans Media Foundation

Transformations de Media Foundation

Transformer les attributs

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE