[LAD] Basic Audio Mixing Subroutines

Gabriel M. Beddingfield gabrbedd at gmail.com
Fri Aug 13 17:56:35 UTC 2010



On Fri, 13 Aug 2010, torbenh wrote:

> arch is already using gcc-4.5
> other distros will probably follow during this year.

True... though I keep seeing bug reports about, "doesn't 
work when I compile with gcc 4.5"  :-)

> the vectorizer can generate pretty much optimal code, if your a bit
> careful, and use the restrict keyword.
>
> since the most optimal thing is to weave the mixing code into the actual
> processing a library doesnt make sense imo.

Hmmm... makes sense... though we're not all Torben's.  :-)

I was also thinking that another benefit of a library like 
this would be:

   * efficient, optional clipping
   * block partitioned routines that efficiently utilize
     the cache[1]
   * dithering routines
   * routines to interleave and de-interleave audio streams
   * (maybe) format conversions (e.g. float<->int)

-gabriel

[1] OK, I'm just sort of talking out of my arse on this
     one.  I doubt that most DSP code is even threatening
     to bust out of the cache.  But, for instance, if you
     set a high buffer size (4096) and mix 16 chans,
     that maxes out the cache on my own CPU (2048k).



More information about the Linux-audio-dev mailing list