http://bugs.winehq.org/show_bug.cgi?id=14717
Alexander E. Patrakov patrakov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #37313|0 |1 is obsolete| |
--- Comment #208 from Alexander E. Patrakov patrakov@gmail.com 2011-11-05 09:08:40 CDT --- Created attachment 37320 --> http://bugs.winehq.org/attachment.cgi?id=37320 A split patchset with an alternative resampler implementation
This time, I attach a patchset with a seemingly working (for me) resampler, with the FIR modelled after the waveform produced by Windows XP at the default (best) quality setting. It is definitely better than the zero-order-hold, but sounds a bit different than mplayer. Maybe my code contains a bug.
This resampler is different from the one produced by Krzysztof Nikiel and Andrew Eikum. The main point is that it is bisectable and non-intrusive (i.e. not a complete rewrite), but the old implementation obviously has received more work and might still be better suited for inclusion. Unlike the old implementation, the new one is fixed-point.
OTOH, the old resampler is faster even though it uses a longer FIR. This is mainly due to the use of cubic interpolation (instead of linear) in the new resampler and repeated calculation of the same interpolating points for different channels. TODO if someone goes to submit my version: fix this.
Ideally, we should review each other's code and possibly make a combined version.