[Speex-dev] How to create a compact Speex library

ndno72-speex at yahoo.com ndno72-speex at yahoo.com
Thu Apr 13 21:18:00 PDT 2006

--- Jean-Marc Valin <jean-marc.valin at usherbrooke.ca>

> > Sorry if this a repost but I want to create the
> > smallest Speex library possible to be put in TI's
> > TMS320 DSP.  I'm only interested in one
> configuration:
> > 5.97 Kbps narrowband.  What part of source code
> can I
> > remove?  Currently, when I compiled the version
> 1.1.12
> > libspeex.a library with the TI TMS320 and
> > Fixed-Integer options, I get around 522Kb. 
> You mean kilo-bit or kilo-byte? The former is what
> I'd expect, so if
> you're getting the latter, something's already
> wrong.
> >  I would
> > like to reduce it to as small as possible given my
> > above 5.97 Kbps operating constraints (I don't
> need
> > all the other extra features from Speex: jitter
> > buffer, echo cancellation, etc).
> First, try --disable-wideband (or define
> DISABLE_WIDEBAND). Then you can
> start removing other stuff you don't need. To get
> rid of the echo
> canceller, simply remove mdf.c. Then you can get rid
> of jitter.c,
> preprocess.c, pcm_wrapper.c, smallft.c, ...
> Basically, if you remove the
> file and it still works, then it wasn't needed. In
> addition to all the
> files you can remove without the need to touch
> anything else, the
> following can be disabled as long as you disable a
> bit of code:
> - VBR (vbr.c and references to VBR in nb_celp.c)
> - codebooks for other bit-rates: 
>    * all exc_*.c files except exc_10_16_table.c
>    * gain_table.c
> There might be a few bits more that can be removed,
> but I think this
> summarizes it well.
> 	Jean-Marc

Thanks, that help a lot.  I was able to reduced the
library from 522Kb to 296Kb per your suggestions.  I
want to reduce it more but don't know what other files
to remove; you wrote "..., smallft.c, etc.", would you
mind specifying the "etc" files; I know I'm too lazy
to figure it out myself and since you are the expert,
I will trush you more.  Thanks.


More information about the Speex-dev mailing list