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