Re: advice to associate custom signal processing with a device
Re: advice to associate custom signal processing with a device
- Subject: Re: advice to associate custom signal processing with a device
- From: Iain McCowan <email@hidden>
- Date: Mon, 26 Jul 2010 10:50:17 +1000
Thanks all for the helpful responses.
Yes, math is eternally just math, which is why it is a bit frustrating that math.h or something similar isn't available somewhere in the Kernel framework. Surely I'm not the first or last to need it.
I'd searched the kernel mailing lists and read the docs, so I know floating point is not recommended in kernel mode, but it seems par for the course for the audio system, so would be nice to have some math ops available in the IOKit or AppleDSP bits within Kernel Framework. (Brian - I agree Accelerate would be nice, but isn't supported in kernel mode).
Reinventing the wheel on things like FFT, sin, cos, etc just makes me think I must be heading down the wrong path, which is why I was hoping some way would exist to associate user-land processing with a device.
But as this is a dead-end (I agree re-writing an entire class compliant USB driver is not a good approach), I will delve back into porting basic math functions into kernel mode and learning how to directly code SSE commands where they might help.
Tahome - thanks for the simple FFT pointer. I had looked into others like FFTW and KissFFT, which might be more efficient, but I will start with the smbFft you pointed as the code is shorter and it has minimal dependencies. But still for this I need sin and cos to get it to compile.
I note from GCC docs that rather than coding my own implementations of these I can perhaps get some things from GCC builtins, e.g.
#define sin(n) __builtin_sin((n))
(Anyone know if this will run ok in kernel mode?)
thanks,
Iain.
_______________________________________________
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