Es geschah am Freitag 21 Januar 2005 18:17 als Neil Klepeis schrieb:
Hi all,
The denormal problem with freeverb/ardour on P-4's is killing me.
Since CMT plugin development seems to be a little stagnant, I decided
to take it into my own hands a bit, but I might need a little help from
a kind someone out there. Is there anyone who can give me a tip on
proper syntax for changing the denormals.h file in freeverb (assuming
this is where the problem lies)?
Details:
On this list and/or posts elsewhere I found that the denormals.h file
for freeverb doesn't work too well with some newer gcc compilers; one
recommendation was to exchange the first statement below with the second
definition:
#define undenormalise(sample) if(((*(unsigned
int*)&sample)&0x7f800000)==0) sample=0.0f
static inline float
undenormalise(volatile float s)
{
s += 9.8607615E-32f;
return s - 9.8607615E-32f;
}
I have to admit that I have not yet looked on the freeverb code, but seeing
that, I assume it's a pure C implementation.
I think for such an important piece like freeverb it might be worth to add
architecture dependant assembly optimizations. E.g. with SSE(1) you simply
have to change the SSE control register to get rid of the denormal problem.
With that no denormal fixes for individual sample points are necessary
anymore which definitely pays off in performance.
Es geschah am Samstag 22 Januar 2005 02:36 als Erik de Castro Lopo schrieb:
There's never a good time to read up on C++
Erik
lol
CU
Christian