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.
3075 Discussions

Increase in Private Bytes consumption in Sample_Decode

KK
Beginner
369 Views

Hello,

We are using i7-4770K CPU. Our screen resolution is 1600x1200.

While using Intel Media SDK's 'Sample_Decode' example,

[1]. We observed an increase of 30-35 MB of system private bytes in perf monitor tool for the following API:

[cpp]

hr = m_pD3D9->CreateDeviceEx(

        nAdapterNum,

        D3DDEVTYPE_HAL,

        (HWND)hWindow,

        D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE,

        &m_D3DPP,

        NULL,

        &m_pD3DD9);

[/cpp]

Is this memory usage expected or are we doing something wrong?

                             

[2]. There is also an increase of ~88 MB of system private bytes in perf monitor tool for the following API:

  [cpp]              m_pmfxDEC->Init(&m_mfxVideoParams); [/cpp]

Decode parameters are initialized for 1080p H.264.

Is this memory usage expected or are we doing something wrong?

 

[3]. We need to decode multiple 1080p H.264 streams. We are creating 1 D3D9 device  per window. Due to the memory consumption of the above two APIs we are not able to scale more.

Please suggest if creating 1 D3D9 device  per window is the optimal approach.

regards,

KK

0 Kudos
1 Reply
Petter_L_Intel
Employee
369 Views

Hi,

The amount of memory allocated by CreateDeviceEx depends on OS version, configuration option and partly the graphics driver. There is little you can to limit the amount memory consumed by this call. The amount of memory you see allocated is expected.

Media SDK decode does consume a substantial amount of memory. This is the expected behavior.  That said, you can minimize the amount of memory allocated by configuring your pipeline for low latency (AsyncDepth = 1 etc.).

If you are pursuing a multichannel decode scenario, you can safely reuse the DirectX device for all the channels so save memory.

Regards,
Petter

0 Kudos
Reply