- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all. In my application I have a number N of MPEG4 decoders to decode N video stream. Sometime the decoder are destroyed and reconstructed due to stream changes. I found that sometime, after this operation, I have the value of "Virtual Bytes", of the performance counter, increase without reason.
I can reproduce this behavior if in a test application I use a VirtualAlloc to reserve memory without release it.
Does some IPP or UMC function use the function VirtualAlloc to reserve memory?
I already have the MemoryAllocator used externally to the decoder, so the allocator is not deleted when the decoder is re-created.
I can't understand why but it seams that this wast of Virtual Memory is due to the Init of the decoder, or to the GetFrame.
Someone has found this behavior?
I can reproduce this behavior if in a test application I use a VirtualAlloc to reserve memory without release it.
Does some IPP or UMC function use the function VirtualAlloc to reserve memory?
I already have the MemoryAllocator used externally to the decoder, so the allocator is not deleted when the decoder is re-created.
I can't understand why but it seams that this wast of Virtual Memory is due to the Init of the decoder, or to the GetFrame.
Someone has found this behavior?
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
no, no one from IPP or UMC functions don't use VirtualAlloc functions.
The problem that you describe is very similar to the problem of memory leak.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Found the problem, was not a memory leak, but a wasted memory caused by frammentation. In my code, as I told you I have to allocate and deallocate decoders (for example MPEG4 decoders). This decoders allocate and deallocate all the times the memory that they need to decode the images.
I solved by using a external MemoryAllocator, so I can use take MemoryAllocator always allocated and give it to the decoder: this work fine. There's only few allocation in the MPEG4 decoder that do not use the MemoryAllocator is in InitVol() function: do you think that in the future version of decoder this allocation will use MemoryAllocator?
regards
ps.Remember to FIX the IF code that let me to give an external MemoryAllocator to the decoder, I have to chenge the IF in the Init of the decoder, otherwise I could not use External MemoryAllocator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I need to check our plan but as far as I know, we have no such plans to Use Memory Allocater in the future into these examples.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The most part of the allocations (the 3 raster images needed by decoder) are already under MemoryAllocator: onlymp4_InitVOL is not under MemoryAllocator

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page