[Speex-dev] speex resampler

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu May 7 20:44:59 PDT 2009

Greger Burman a écrit :
> I'm trying to understand a bit more about the inner workings of the
> speex resampler. 
> I want to do resampling on a voip stream. High quality and low latency
> is important.
> 1) What does speex_resampler_magic() do?

The "magic samples" deal with the case where you change the filter
length on the fly. It's really messy logic (that I can't understand
anymore unless I spend a few hours reading the code again) that nobody
should ever have to look at.

> 2) I find that resampling has quite an impact on performance and I'm
> trying to figure out where the cpu cycles are going and see what can be
> done to reduce the cost. I ran a profile a while ago. From what I
> remember there appeared to be dynamic memory allocation going on. Any
> comments on that? Sorry that I can't be more specific, I need to run the
> profile again to get the details.

There's no dynamic allocation as long as you don't change parameters on
the fly. Otherwise, there's a few source code tweaks you could do that
can lower complexity at the expense of increased memory use.


More information about the Speex-dev mailing list