MF_SA_D3D_AWARE 属性

指定媒体基础转换 (MFT) 是否支持 DirectX 视频加速 (DXVA) 。 此属性仅适用于视频 MRT。

数据类型

BOOL 存储为 UINT32

备注

若要查询此属性,请调用 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 感知 MRT

在媒体基础中支持 DXVA 2.0

媒体基础转换

转换属性

IMFAttributes::GetUINT32

IMFAttributes::SetUINT32

MF_TOPOLOGY_DXVA_MODE