http://bugs.winehq.org/show_bug.cgi?id=14717
--- Comment #223 from Alexander E. Patrakov patrakov@gmail.com 2011-11-08 10:20:10 CST --- Created attachment 37381 --> http://bugs.winehq.org/attachment.cgi?id=37381 My patchset, after some more cleanups
I have split the channel handling and added comments to all fixed-point math. If you want even less bitshifting, I can convert the added code to floating-point math, as in your old patch.
The patch about freqAccNext -> freqAcc change is also incorporated. With this change, freqAccNext becomes almost unused, and it would be a good cleanup to kill it.
The patchset works for me and matches the default Windows XP resampling quality, but eats ~18% CPU for 44100 -> 48000 Hz resampling. This is the price to pay for the quality that is better than provided by the resamplers on linux desktops at the default settings, and for the lack of any MMX/SSE optimizations found in other resampling libraries.