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 应用] |
标头 |
|
另请参阅