Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Intel_C_
Novice
58 Views

HEVC image hardware decoding has memory problems.

Hi all,
 
My HEVC image hardware decoding code is as follows:
 
void CDecodingPipeline::SetHEVCGuid(mfxPluginUID & mfxGuid)
{
//33 a6 1c 0b 4c 27 45 4c a8 d8 5d de 75 7c 6f 8e h265 hw decoder guid
mfxGuid.Data[0] = (mfxU8)0x33;
mfxGuid.Data[1] = (mfxU8)0xa6;
mfxGuid.Data[2] = (mfxU8)0x1c;
mfxGuid.Data[3] = (mfxU8)0x0b;
mfxGuid.Data[4] = (mfxU8)0x4c;
mfxGuid.Data[5] = (mfxU8)0x27;
mfxGuid.Data[6] = (mfxU8)0x45;
mfxGuid.Data[7] = (mfxU8)0x4c;
mfxGuid.Data[8] = (mfxU8)0xa8;
mfxGuid.Data[9] = (mfxU8)0xd8;
mfxGuid.Data[10] = (mfxU8)0x5d;
mfxGuid.Data[11] = (mfxU8)0xde;
mfxGuid.Data[12] = (mfxU8)0x75;
mfxGuid.Data[13] = (mfxU8)0x7c;
mfxGuid.Data[14] = (mfxU8)0x6f;
mfxGuid.Data[15] = (mfxU8)0x8e;
}
 
mfxStatus CDecodingPipeline::Init(sInputParams *pParams, HWND Renderhwnd)
{
    ..................
    if (m_CodecType == E_H265_CODEC_TYPE) {
        pParams->videoType = MFX_CODEC_HEVC;
        SetHEVCGuid(pParams->pluginParams.pluginGuid);
    }
    ................
    m_pPlugin.reset(LoadPlugin(MFX_PLUGINTYPE_VIDEO_DECODE, m_mfxSession, pParams->pluginParams.pluginGuid, 1));
    ................
}
 
Image can be decoded correctly,But it takes up too much system memory.
Three 720p resolution images take up more than 600 Mb of system memory.
Is there any other setting I did not do?
Or is this normal?
Please help me.
 
OS: Windows10
SDK: Intel(R)_Media_SDK_2016.0.2
Intel Graphic: Intel(R) HD Graphics 4600
Driver: 20.19.15.4549
 
 
David.Liu
0 Kudos
1 Reply
Artem_S_Intel
Employee
58 Views

For Intel(R) HD Graphics 4*** series it most likely expected as it doesn't have native hardware HEVC support, but has hybrid implementation(GPGPU+CPU).

Reply