[Speex-dev] NB encoder with multiple channels

Jerry Trantow
Mon, 13 Feb 2006 21:01:54 -0000

I am trying to implement a relatively high number of encoders (24/32) on a
single DSP and would like to minimize the memory requirements.  Has anyone
optimized the persistent EncState memory allocation for multiple channels.
The default C64x fixed point implementation allocates 5280 bytes of
persistent memory per encoder.

I'm willing to restrict my settings to complexity 1, quality 3.
It looks like I can share the st->window, lagWindow, bw_lpc1, bw_lpc2,
variables which would save 562 bytes per encoder.  Are there more variables
that can be shared or eliminated if I stick to narrow band?

The biggest variables are the inBuf, excBuf, swBuf, innov and I think these
have to stay.

Jerry J. Trantow
Applied Signal Processing, Inc.
jtrantow@ieee.org