Jean Marc, et al. Attached is a patch adding the Win32 Assembly needed for the SSE optimizations. It is against speex-1.0.2. We have implemented the patch as two new files, filters_sse_win32.h and ltp_sse_win32.h. In addition, there are modifications in filters.c and ltp.c adding a new ifdef called _USE_SSE_WIN32. The patch is fully functional and sees marked improvement in CPU usage with Pentium III or IV based systems. However, don't just apply the patch, there are a couple of architecture changes that we think should be made with respect to using SSE. 1. Since there is no run time check for SSE support can you add a new CTL call which will enable/disable the use of the sse functions at run time instead of compile time. 2. If you do (1), you should either combine all the filter calls or rename the functions like filter_mem2_msvc_win32 and filter_mem2_gcc_x86 We are in favor of both 1 and 2 since it is easier to read and understand than giant functions with ifdefs around them. Aron Rosenberg SightSpeed -------------- next part -------------- A non-text attachment was scrubbed... Name: win32_asm.diff.gz Type: application/octet-stream Size: 2595 bytes Desc: win32_asm.diff.gz Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20031022/e4c0ccb2/win32_asm.diff-0001.obj