[Speex-dev] speex RAM optimising

Jim Crichton jim.crichton at comcast.net
Wed Aug 27 13:51:58 PDT 2008


This post has some patches to the TI build to reduce memory usage for the 
8000bps case.

http://lists.xiph.org/pipermail/speex-dev/2007-July/005943.html

For some reason, the text of this message was deleted.  It was:

"
I did this a year ago on C55 (svn build 11463), and have attached my patches 
to nb_celp.c, modes.c, and the project file, to remove all modes but 8kbps. 
I have also attached a debug version of stack_alloc.h, which tracks the 
maximum depth of the scratch stack, so that you can tweak the sizes in 
config.h.  You just have to declare the variable and add this init before 
the call to speex_encoder_init, and go back and look at the variable after 
you run some data through.

#ifdef STACKDBG
    spxGlobalScratchFree = spxGlobalScratchPtr;
#endif

"

If you run the sample TI build in the Code Composer simulator, you can look 
at the debug memory allocation messages, and reduce the size constants at 
the end of config.h to minimize the Speex stack sizes.

These are some easy steps that will save a good chunk of memory.  Using an 
optimized FFT will help also.  Beyond this you will need to do a lot of work 
for small improvements.

- Jim

----- Original Message ----- 
From: "Jean-Marc Valin" <jean-marc.valin at usherbrooke.ca>
To: "Василий Троцкий" <altersoft at mail.ru>
Cc: <speex-dev at xiph.org>
Sent: Sunday, August 24, 2008 8:56 AM
Subject: Re: [Speex-dev] speex RAM optimising


> How much memory reduction are you after? There's lots of stuff you can
> delete, starting with defining DISABLE_VBR, DISABLE_WIDEBAND and
> DISABLE_FLOAT_API. From there, you can delete all the *table.c files
> except for exc_10_32_table.c, gain_table_lbr.c and lsp_tables_nb.c. In
> libspeexdsp, you can pretty much delete everything (preprocessor, jitter
> buffer, resampler, ...) but mdf.c
>
> Jean-Marc
>
>
> Василий Троцкий a écrit :
>> Greetings to All!
>>
>> Now I am trying to run speex on TI DSP...
>> I need only coder+decoder+AEC.
>> Bitrate 8000bps.
>> Building with floating point support.
>>
>> What can i do, to reduce RAM consumption?
>> I mean very serious RAM optimisations. Deleting not used structure 
>> fields, etc...
>> May be I can do something with alloc...
>>
>> Help me to determine that it is possible to throw out.
>>
>> What is best result(in RAM optimisation)?
>>
>> Also i am going to use TI optimised FFT.
>> _______________________________________________
>> Speex-dev mailing list
>> Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev
>>
>>
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
> 



More information about the Speex-dev mailing list