次の方法で共有


MF_SA_D3D_AWARE属性

Media Foundation 変換 (MFT) が DirectX ビデオ アクセラレーション (DXVA) をサポートするかどうかを指定します。 この属性は、ビデオ MFT にのみ適用されます。

データ型

UINT32 として格納されている BOOL

注釈

この属性を照会するには、 IMFTransform::GetAttributes を呼び出して、MFT のグローバル属性ストアを取得します。 GetAttributes が成功した場合は、IMFAttributes::GetUINT32 を呼び出します。

この属性は、MFT が Direct3D 9 ビデオを使用できるかどうかをクライアントに通知します。

  • 属性が 0 以外の場合、クライアントはストリーミングを開始する前に MFT に IDirect3DDeviceManager9 インターフェイスへのポインターを与えることができます。 これを行うには、クライアントは MFT にMFT_MESSAGE_SET_D3D_MANAGER メッセージを送信します。 クライアントは、このメッセージを送信する必要はありません。
  • この属性が 0 (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 アプリ]
Header
Mftransform.h

こちらもご覧ください

Media Foundation 属性のアルファベット順の一覧

Direct3D 対応の MFT

Media Foundation での DXVA 2.0 のサポート

Media Foundation の変換

属性の変換

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE