Bagikan melalui


atribut MF_SA_D3D_AWARE

Menentukan apakah transformasi Media Foundation (MFT) mendukung DirectX Video Acceleration (DXVA). Atribut ini hanya berlaku untuk MFTs video.

Jenis Data

BOOL disimpan sebagai UINT32

Keterangan

Untuk mengkueri atribut ini, panggil IMFTransform::GetAttributes untuk mendapatkan penyimpanan atribut global MFT. Jika GetAttributes berhasil, hubungi IMFAttributes::GetUINT32.

Atribut ini memberi tahu klien apakah MFT dapat menggunakan video Direct3D 9:

  • Jika atribut bukan nol, klien dapat memberi MFT penunjuk ke antarmuka IDirect3DDeviceManager9 sebelum streaming dimulai. Untuk melakukannya, klien mengirim pesan MFT_MESSAGE_SET_D3D_MANAGER ke MFT. Klien tidak diharuskan untuk mengirim pesan ini.
  • Jika atribut ini nol (FALSE), MFT tidak mendukung video Direct3D 9, dan klien tidak boleh mengirim pesan MFT_MESSAGE_SET_D3D_MANAGER ke MFT.

Nilai default atribut ini adalah FALSE. Perlakukan atribut ini sebagai baca-saja. Jangan ubah nilai; MFT akan mengabaikan perubahan apa pun pada nilai.

Untuk informasi selengkapnya tentang menerapkan atribut ini dalam MFT kustom, lihat MFTs Direct3D-Aware.

Konstanta GUID untuk atribut ini diekspor dari mfuuid.lib.

Contoh

Kode berikut menguji apakah MFT mendukung 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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung
Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Header
Mftransform.h

Lihat juga

Daftar Alfabet Atribut Media Foundation

MFT Direct3D-Aware

Mendukung DXVA 2.0 di Media Foundation

Transformasi Media Foundation

Mengubah Atribut

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE