[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [iiwusynth-devel] Changes on CVS
From: |
Peter Hanappe |
Subject: |
Re: [iiwusynth-devel] Changes on CVS |
Date: |
Tue, 26 Nov 2002 16:48:10 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020623 Debian/1.0.0-0.woody.1 |
Markus Nentwig wrote:
Some changes now on CVS:
--enable-longlong ./configure option: Uses long long for phase
calculation, slightly faster.
Good job! We have to test on big endian machines, though. I think
that for those machines 'index' should come before 'fract' in the
definition of iiwu_phase_t.
typedef union {
struct{
/* Note, that the two 32-bit ints form a 64-bit int! */
u_int32_t fract;
int32_t index;
} b32;
#ifdef USE_LONGLONG
long long b64;
#endif
} iiwu_phase_t;
--enable-SSE option: Use Pentium SSE extensions for some buffer copying.
Interpolation is also coded in SSE, but currently disabled. It's still
slower than the original. Somebody, who knows some assembler, might make
a big difference here.
All over all, the improvements gained through using SSE were quite
disappointing. Peter's original code is too fast, that takes all the fun
out of optimizing...
- Filter: The filter will now smoothly interpolate between two settings
over the length of one buffer.
- Reverb: Fixed a problem with denormal numbers causing floating point
exceptions. The reverb is quite a bit faster now.
More great stuff! And I hardly recognize anything from the original
iiwu_run_dsp code! I'll need some time to catch up, here.
Nice changes, Markus!
Peter
The 'loop point modulation SEGV' is still unfixed. Next week...
Cheers
Markus
_______________________________________________
iiwusynth-devel mailing list
address@hidden
http://mail.nongnu.org/mailman/listinfo/iiwusynth-devel