Re: How long do render callbacks have to execute?
Re: How long do render callbacks have to execute?
- Subject: Re: How long do render callbacks have to execute?
- From: Brian Willoughby <email@hidden>
- Date: Sun, 21 Aug 2011 16:13:55 -0700
On Aug 21, 2011, at 15:25, Paul Davis wrote:
On Sun, Aug 21, 2011 at 6:07 PM, Stephen Blinkhorn
<email@hidden> wrote:
For future reference
and since its relevant to this discussion I'd like to ask what are
the
potential problems with interleaved data and SIMD?
suppose you want to apply a particular SIMD instruction to a channel's
data. each successive sample needs to be directly adjacent the
previous one - SIMD has no concept of "skipping" data values.
with interleaved data, this just will not work, so you cannot use SIMD
instructions nor get the speed benefits they provide.
Exactly.
The only exceptions to this rule are incredibly simple audio
processing which involves no state. e.g. if you wanted to apply the
same gain to multiple channels, then you could use SIMD to scale all
the samples by the same value - you'd effectively be treating the
interleaved samples as if they were all one channel. You could
possibly also mix two bus inputs to a single bus output, provided the
channel counts on all three busses matched, but that's a rather
convoluted example that might not be very useful even if it were
possible.
The problem is that most interesting audio effects have some form of
state. Even the simplest first order filter will need to keep each
channel separate. Thus, SIMD cannot accelerate filtering of
interleaved channels.
Brian Willoughby
Sound Consulting
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden