[gmpi] Re: Topic 7: Audio packaging

  • From: Steve Harris <S.W.Harris@xxxxxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Thu, 22 May 2003 14:28:42 +0100

On Thu, May 22, 2003 at 09:17:40AM -0400, RonKuper@xxxxxxxxxxxx wrote:
> I second that point.  Especially when dealing with surround formats, there
> is great benefit to having an interleaved representation, since the any SIMD
> based code can pull the channel data directly in parallel, without
> "swizzling."

Any idea what the cost of "swizzling" is? I like that term BTW. I'd rath
hand wizzle into a order that suits the SIMD instructions of the current
machine that take whtaevers given and maybe have to reswizzle it.
 
> Furthermore, the choice of whether to intelreave or not should consider
> locality of reference.  Do separate mono streams keep the CPU cache warmer
> than interleaved?  (I did some dumb benchmarking with stereo and saw no
> discernable difference.  This may differ with higher channel counts.)

It wont matter enourmously, IIUC youre effectivly using 4 cache lines
instead of 2, but there are still a lot spare.
 
> Another potential complication with non-interleaved is how to handle plugins
> that take, say, a two 5.1 input stream, plus one mono side-chain stream.
> How can you effectively make heads or tails of this, even with a "hints"
> structure.  Some channels naturally come in groups and may need to processed
> that way.

Interleaving is orthogonal to the issue of grouping, or it should be
anyway.

- Steve

----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: