Community
cancel
Showing results for 
Search instead for 
Did you mean: 
alex78
New Contributor I
74 Views

H264 UMC decoder memory usage

Dear all,

we are using the H264 decoder (based on the sample code - IPP 6.1.2) and we can observe that for long running sessions (many hours) the memory usage of the H264 decoder is still increasing. Within the first hour the memory usage is increasing fast, which we thought is normal, but after many hours of running the same decoder instance we can still observer the memory consumtion increases, but with much lower speed.

Is it normal? Does the H264 decoder reach some maximum value even after a some hours ? Using other UMC based decoders (like MPEG4, we cannot see this behaviour).

I hope it does not have anything to do with DPD200149498 corrected in 6.1.4, because we areusing the same resolution during the video session. Am I right?

Thanks for your kind help

Alex
0 Kudos
7 Replies
alex78
New Contributor I
74 Views

Ok, let me reply to my own post. After some tests we are (quite) sure, that the H264 decoder (based on IPP 6.1.2) leaks some memory during operation. We decode and view H264 frames from a live source and the memory usage is still increasing. We can post a short sequence of H264 frames to the list. Butdecoding just a few frames will leak a minimum amount of memory. And (this is interesting) passing the same frames to the decoder repeatedly does not seem to increase the memory leak, only new frame do.

Can anybody help us with the UMC H264 decoder memory leak?
Should I post some frames from our H264 live source? Well, we could observe the memory leak on more than one live source.

Thanks in advance for *any* help

Best regards
Alex
Vladimir_Dudnik
Employee
74 Views

Hi Alex,

are you sure it is H.264 loose memory? We do not have an live decoder sample application in IPP, so I assume you develop your own one. That might be related to how do you structure that application? Can you check that with Parallel Inspector (if you have Intel Parallel Studio installed)? This great tool can help you detect memory leaks and threading issues in application and locate them up to source code line.

Regards,
Vladimir
alex78
New Contributor I
74 Views

Hi Vladimir and thanks for your reply,

well, there is no live sample, butwe have taken the UMC H264 decoder without any code modifications and we are passing frames to it. Thats all. Commenting out the GetFrame call to the decoder produces a black screen and stops the memory usage to increase. So, yes, we think that the decoder must be leaking memory somewhere. Unfortunately, we are not familiar with Parallel Studio, I thought that anybody could give us some hints. According to our most recents tests it seem that the memory gets lost on IDR frames.

Maybe I could send a couple of them so that you can see it. But in every case, the memory leak will be minimal for a small amount of frames.

Thanks
Alex

Chao_Y_Intel
Employee
74 Views

Alex,

The fix in the DPD200149498 is

from line 207:

change:

if (m_paddedParsedFrameDataSize.width != desiredPaddedSize.width ||

m_paddedParsedFrameDataSize.height != desiredPaddedSize.height || m_bpp != bpp)

{

// allocate new MB structure(s)

size_t nMBCount = (desiredPaddedSize.width>>4) * (desiredPaddedSize.height>>4);

....

to the following:

if (m_paddedParsedFrameDataSize.width != desiredPaddedSize.width ||

m_paddedParsedFrameDataSize.height != desiredPaddedSize.height || m_bpp != bpp)

{

// dellocate the previously allocated data

deallocateParsedFrameData();

// allocate new MB structure(s)

size_t nMBCount = (desiredPaddedSize.width>>4) * (desiredPaddedSize.height>>4);

....

will it work for you?

Thanks,

Chao

alex78
New Contributor I
74 Views

Dear Chao,

thanks for your reply. According to the description of DPD200149498, only a memory leak can occur if the resolution of the video changes, right? Or can this memory leak occur even when there is no change in the video resolution during a video session?

Alex

Chao_Y_Intel
Employee
74 Views

Hi Alex,

The engineer owner commented that the problem only happens with the resolution changes in the video. Does the fix apply for your problem there?

Thanks,

Chao

Chao_Y_Intel
Employee
74 Views

Hi Alex,

The engineer owner commented that the problem only happens with the resolution changes in the video. Does the fix apply for your problem there?

Thanks,

Chao

Reply