atributo MF_SA_D3D_AWARE
Especifica se uma MFT (transformação do Media Foundation) dá suporte à DXVA (Aceleração de Vídeo) directx. Esse atributo se aplica somente a MFTs de vídeo.
Tipo de dados
BOOL armazenado como UINT32
Comentários
Para consultar esse atributo, chame IMFTransform::GetAttributes para obter o repositório de atributos global do MFT. Se GetAttributes for bem-sucedido, chame IMFAttributes::GetUINT32.
Esse atributo informa ao cliente se o MFT pode usar o vídeo do Direct3D 9:
- Se o atributo for diferente de zero, o cliente poderá dar ao MFT um ponteiro para a interface IDirect3DDeviceManager9 antes do início do streaming. Para fazer isso, o cliente envia a mensagem MFT_MESSAGE_SET_D3D_MANAGER para o MFT. O cliente não é necessário para enviar esta mensagem.
- Se esse atributo for zero (FALSE), o MFT não oferecerá suporte ao vídeo direct3D 9 e o cliente não deverá enviar a mensagem MFT_MESSAGE_SET_D3D_MANAGER para o MFT.
O valor padrão desse atributo é FALSE. Trate esse atributo como somente leitura. Não altere o valor; o MFT ignorará todas as alterações no valor.
Para obter mais informações sobre como implementar esse atributo em um MFT personalizado, consulte MFTs com reconhecimento de Direct3D.
A constante GUID para esse atributo é exportada de mfuuid.lib.
Exemplos
O código a seguir testa se um MFT dá suporte a 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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte |
Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho |
|
Confira também