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: Fri, 19 Aug 2011 12:19:54 -0700
On Aug 19, 2011, at 06:21, Robert Bielik wrote:
Paul Davis skrev 2011-08-19 15:16:
On Fri, Aug 19, 2011 at 2:53 AM, Brian
Willoughby<email@hidden> wrote:
Also, you cannot take advantage of SIMD unless your data is
interleaved,
I have no idea what you mean here. Its perfectly possible to use SIMD
on a single channel of data. We use it in ardour to do peak metering,
for example, and any plugin could do the same. I think you must mean
something more subtle.
+1. I do FIRs/Biquads on non-interleaved data with SIMD. Blazing!
My comments were all in the context of the mistaken claim that AU
kernels are designed to distribute multiple channels across multiple
cores. Putting aside the issue that a SIMD instruction runs on a
single core, I was trying to make the point that you cannot process
multiple channels with SIMD unless those channels are interleaved.
Edit that to: "you cannot take advantage of SIMD to process multiple
kernels unless your channel data is interleaved."
Yes, SIMD is perfectly suited to processing a single channel of audio
in a kernel, especially where multiple channels are not interleaved.
In fact, I suspect that the biggest reason Apple deprecated
interleaved channels is that SIMD does not work well (or at all) on
interleaved data. By splitting out each channel into its own data
stream, AudioUnits become much better suited for the kinds of SIMD
processing that you two are giving as successful examples.
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