none
DirectShow Editing Services and memory consumption

    Question

  • Hi.

     

    I’m working for a company that is developing a video editing application using DirectShow Editing services. The reason for DES is to get seamless transitions between source clips. The clips are made from series of bitmaps (of different sizes) and/or AVI movies. It’s all working great except that when using big images as source clips, the app consumes HUGE amount of virtual RAM memory, which sometimes leads to crashes.

     

    A movie made from 5-6 bitmaps of size 1280x1024 will use something like 400Mb of virtual RAM. Something tells me that DirectShow is using a lot of “unnecessary” buffers to render the still image video, because a single RGBA bitmap of that since is only about 5-6 Mb uncompressed. Is there someway to control these buffers to get the app to consume less memory? The bitmap source filter is a simple DirectShow filter that just pushes the preloaded image to the output pin.


    //Johan

    Wednesday, August 22, 2007 9:26 AM

All replies

  • Even I am facing the same problem. Anybody knows a workaround?
    Thanks, Amol Patki
    Wednesday, September 02, 2009 4:50 PM
  • To make sure DES does not crash the application, there is a little workaroud that can make your application handle more memory.  Therefore, helping the application to crash a lot less, because of cause, even with this workaround, it could end up crashing if using lots of memory.  The workaround is making your application LARGE ADDRESS AWARE.  For c++ applications, it is a setting under the main project settings: Linker->System->Enable Large Addresse, put it to yes.  For c# application, it is made using POST EVENT STEPS....  see this link for further informations.

    https://blogs.msdn.microsoft.com/calvin_hsia/2010/09/27/out-of-memory-easy-ways-to-increase-the-memory-available-to-your-program/

    Regards, Nick

    Thursday, December 01, 2016 4:20 PM