Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3056 Discussions

identifier 'D3D11AllocatorParams' in sample_multi_transcode app

z_k_
Beginner
274 Views

When I build sample_multi_transcode app I get the following error ?

Any reason for this ?

>InitializeBuildStatus:

3> Touching "..\_build\x64\Release\obj\sample_multi_transcode\sample_multi_transcode.unsuccessfulbuild".

3>ClCompile:

3> sample_multi_transcode.cpp

3>src\sample_multi_transcode.cpp(75): error C2061: syntax error : identifier 'D3D11AllocatorParams'

3>src\sample_multi_transcode.cpp(76): error C2061: syntax error : identifier 'CD3D11Device'

3>src\sample_multi_transcode.cpp(82): error C2065: 'D3D11AllocatorParams' : undeclared identifier

3>src\sample_multi_transcode.cpp(82): error C2065: 'pD3D11Params' : undeclared identifier

3>src\sample_multi_transcode.cpp(82): error C2061: syntax error : identifier 'D3D11AllocatorParams'

3>src\sample_multi_transcode.cpp(83): error C2065: 'pD3D11Params' : undeclared identifier

3>src\sample_multi_transcode.cpp(83): error C2227: left of '->pDevice' must point to class/struct/union/generic type

3> type is ''unknown-type''

3>src\sample_multi_transcode.cpp(83): error C2065: 'ID3D11Device' : undeclared identifier

3>src\sample_multi_transcode.cpp(83): error C2059: syntax error : ')'

3> transcode_utils.cpp

3>src\transcode_utils.cpp(764): error C2065: 'D3D11AllocatorParams' : undeclared identifier

3>src\transcode_utils.cpp(764): error C2065: 'd3d11AllocParams' : undeclared identifier

3>src\transcode_utils.cpp(764): error C2061: syntax error : identifier 'D3D11AllocatorParams'

3>src\transcode_utils.cpp(765): error C2065: 'd3d11AllocParams' : undeclared identifier

3>src\transcode_utils.cpp(767): error C2512: 'D3D11FrameAllocator' : no appropriate default constructor available

3>

3>Build FAILED.

3>

3>Time Elapsed 00:00:02.85

========== Build: 2 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

0 Kudos
1 Reply
Nina_K_Intel
Employee
274 Views

Hi,

This is a known issue - some pieces of D3D11 code weren't put under defines for proper compilation with Windows SDK 7.0/7.1. You have two options to solve this:

1) install Windows SDK 8.0 and point the variable INTELMEDIASDK_WINSDK_PATH to that location

2)  Add #if MFX_D3D11_SUPPORT in the following pieces of code:

transcode_utils.cpp, line 764:

#if MFX_D3D11_SUPPORT

    D3D11AllocatorParams *d3d11AllocParams = dynamic_cast<D3D11AllocatorParams*>(pParams);

    if (d3d11AllocParams)   

        m_D3DAllocator.reset(new D3D11FrameAllocator);   

    else

#endif

        m_D3DAllocator.reset(new D3DFrameAllocator);

sample_multi_transcode.cpp, line 73:

    else if (m_bUseD3D11)

    {   

#if MFX_D3D11_SUPPORT

        m_pAllocParam.reset(new D3D11AllocatorParams); 

        m_hwdev.reset(new CD3D11Device());

        sts = m_hwdev->Init(NULL, 1, GetMSDKAdapterNumber() );

        MSDK_CHECK_RESULT(sts, MFX_ERR_NONE, sts);

        sts = m_hwdev->GetHandle(MFX_HANDLE_D3D11_DEVICE, &hdl);

        MSDK_CHECK_RESULT(sts, MFX_ERR_NONE, sts);

        // set Device to external dx11 allocator

        D3D11AllocatorParams *pD3D11Params = dynamic_cast<D3D11AllocatorParams*>(m_pAllocParam.get());

        pD3D11Params->pDevice =(ID3D11Device*)hdl;

#endif

    }

Regards,

Nina

0 Kudos
Reply