|
From: <le...@rd...> - 2004-05-27 21:37:07
|
On 27 mai 04, at 23:08, be...@ga... wrote: > The offending code (probably due to a cut'n paste error) > is in line 199 of Voice.h > > pOutputLeft[i++] += this->FilterRight.Apply(&bq_base, &bq_main, > effective_volume * ((((a * pos_fract) + b) * pos_fract + c) * > pos_fract + x0)); > > It should be > pOutputRight[i++] += .... > > Stephane spotted this problem and told me about it on IRC, he said > tried a patch that speeds up things a bit > (reading pSrc[0]..pSrc[7] in one rush in variables and then > use these variable for the stereo cubic interpolator. > He said on PPC its faster. > > Perhaps it makes sense to commit it ? Christian ? > (I sent a copy of the diff to Christian). What really speedup is the use of float instead of double (3.0f instead of 3.0 and so on..) *if* computing in double is not required of course. But this must be tested on X86 before committing. I 'm not sure the other things really matter (reading in local variable ...) Stephane |