[Speex-dev] speex on embedded processor

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Fri Feb 1 00:44:12 PST 2008


Sounds like you did most of what you needed to do. Using a coverage
analysis tool might help you remove bits of code here and there (e.g.
unused _ctl() cases), but the main part is done. About the preprocessor,
there are some of the state variables that could instead be allocated on
the stack, but that's about as far as you can shrink things.

Cheers,

	Jean-Marc

Peter Ruckle a écrit :
> I need to shrink speex so it will fit on an embedded processor along
> with some other code.  The chip has only 20k of ram.  I have done
> some work with libspeex.dsp by removing references to all modes but
> narrow band 8000 hz (submode 3).  I used the defines: FIXED_POINT,
> DISABLE_FLOATING_POINT_API, DISABLE_VBR.  I also removed the
> structures for the other submodes and the functions that they called.
> I reduced the NB_DEC_STACK and NB_ENC_STACK to the smallest values
> and minimized the heap based on all calls to calloc.  I haven't
> optimized the call stack yet.  I reduced the ram usage to around 6k.
> The problem is when I added the preprocess functionality, the ram
> usage went to around 20k.  I need to know what can be removed or
> reduced from the S[eexPreprocessState structure.  The only
> functionality we want to use is the denoise option.  We don't want
> vbr or echo cancellation.  I only see about 1k that is directly
> related that can be removed from the structure.  Are there any other
> buffers in the structure that can be removed or a way to reduce the
> size of some buffers.
> 
> Peter Ruckle
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> _______________________________________________ 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