Поделиться через


атрибут MF_SA_D3D_AWARE

Указывает, поддерживает ли преобразование Media Foundation (MFT) ускорение видео DirectX (DXVA). Этот атрибут применяется только к MFT видео.

Тип данных

BOOL хранится как UINT32

Комментарии

Чтобы запросить этот атрибут, вызовите IMFTransform::GetAttributes , чтобы получить глобальное хранилище атрибутов MFT. Если getAttributes завершается успешно, вызовите IMFAttributes::GetUINT32.

Этот атрибут сообщает клиенту, может ли MFT использовать видео Direct3D 9:

  • Если атрибут не является нулевым, клиент может навести MFT указатель на интерфейс IDirect3DeviceManager9 перед запуском потоковой передачи. Для этого клиент отправляет сообщение MFT_MESSAGE_SET_D3D_MANAGER в MFT. Клиенту не требуется отправлять это сообщение.
  • Если этот атрибут равен нулю (FALSE), MFT не поддерживает видео Direct3D 9 и клиент не должен отправлять сообщение MFT_MESSAGE_SET_D3D_MANAGER в MFT.

Значение этого атрибута по умолчанию — FALSE. Рассматривайте этот атрибут как доступный только для чтения. Не изменяйте значение; MFT игнорирует любые изменения значения.

Дополнительные сведения о реализации этого атрибута в пользовательском MFT см. в разделе MFT с поддержкой Direct3D.

Константу GUID для этого атрибута экспортируют из mfuuid.lib.

Примеры

Следующий код проверяет, поддерживает ли MFT 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;
}

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера
Windows Server 2008 [классические приложения | Приложения UWP]
Заголовок
Mftransform.h

См. также раздел

Алфавитный список атрибутов Media Foundation

MFT с поддержкой Direct3D

Поддержка DXVA 2.0 в Media Foundation

Преобразования Media Foundation

Атрибуты преобразования

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE