[Bug 14717] resampled sound is horrible
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Nov 27 04:38:48 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=14717
Alexander E. Patrakov <patrakov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #37381|0 |1
is obsolete| |
--- Comment #243 from Alexander E. Patrakov <patrakov at gmail.com> 2011-11-27 04:38:48 CST ---
Created attachment 37659
--> http://bugs.winehq.org/attachment.cgi?id=37659
Third version of my patchset
The third version of the patchset removes some dead code. It does not address
the performance concerns.
In order to address them, I need to add a buffer so that dsb->get is not called
more than once for the same sample. However, in order to add such buffer, I
must understand the existing buffering scheme. It just takes time.
What I want to do next (in order to simplify buffering) is to clean up the
volume logic. Currently, it is an example of yo-yo code that attempts to handle
all bit depths in a "switch" statement. I will try to put this into
resampled_copy() so that the code only has to deal with 32-bit samples.
One more thing concerning performance: the code does a lot of fixed-point
arithmetics, but fixed-point arithmetics is exactly what prevents me from using
SSE2 optimizations. So, may I refactor the code in such a way that get()
returns and put() accepts a floating-point number instead of a 32-bit integer?
May I convert freqAcc from a 20-bit fixed-point number to a floating-point
number? The only implication is that the code will no longer be bit-exact with
32-bit primary buffers (if such thing exists at all).
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list