So i created CLSID_CColorConvertDMO using:
IMediaObject pMediaObject;
pMediaObject.CoCreateInstance(CLSID_CColorConvertDMO);
Now I want to check if it will do that using Hardware (GPU) or not. If it will not do that using GPU then i do not want to use it. I read about MF_SA_D3D11_AWARE and on MFT_ENUM_HARDWARE_URL_Attribute They should tell if it is Hardware accelerated supported. But to check that I need access to IMFAttributes. So I tried this:
IMFTransform* oIMFTransform = NULL;
IMFAttributes* pAttributes = NULL;
HRESULT hr = pMediaObject->QueryInterface(IID_IMFTransform, (void**)&oIMFTransform);
hr = oIMFTransform->GetAttributes(0, &pAttributes);
if (SUCCEEDED(hr))
{
UINT32 bD3DAware = MFGetAttributeUINT32(pAttributes, MF_SA_D3D_AWARE, FALSE);
bD3DAware++;
pAttributes->Release();
}
But hr that came from hr = oIMFTransform->GetAttributes(&pAttributes); is always E_NOTIMPL So how i can tell if on this PC it will do the color conversion using Hardware or not?
Thanks!