Share via


MF_SA_D3D_AWARE屬性

指定媒體基礎轉換 (MFT) 是否支援 DirectX 影片加速 (DXVA) 。 此屬性僅適用于視訊 MFT。

資料類型

儲存為UINT32BOOL

備註

若要查詢此屬性,請呼叫 IMFTransform::GetAttributes 以取得 MFT 的全域屬性存放區。 如果 GetAttributes 成功,請呼叫 IMFAttributes::GetUINT32

此屬性會告知用戶端 MFT 是否可以使用 Direct3D 9 影片:

  • 如果屬性為非零,則用戶端可以在串流啟動之前,為 MFT 提供 IDirect3DDeviceManager9 介面的指標。 若要這樣做,用戶端會將 MFT_MESSAGE_SET_D3D_MANAGER 訊息傳送至 MFT。 用戶端不需要傳送此訊息。
  • 如果此屬性為零 (FALSE) ,MFT 不支援 Direct3D 9 視訊,而且用戶端不應該將 MFT_MESSAGE_SET_D3D_MANAGER 訊息傳送至 MFT。

此屬性的預設值為 FALSE。 將此屬性視為唯讀。 請勿變更值;MFT 會忽略值的任何變更。

如需在自訂 MFT 中實作此屬性的詳細資訊,請參閱 Direct3D 感知 MFT

此屬性的 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

另請參閱

依字母順序排列的媒體基礎屬性清單

Direct3D 感知 MFT

在媒體基礎中支援 DXVA 2.0

媒體基礎轉換

轉換屬性

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE