Tue, 24 Jan 2017 00:17:40 -0500audio: Streams now resample in-place. Removed second allocated buffer.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 Jan 2017 00:17:40 -0500] rev 10843
audio: Streams now resample in-place. Removed second allocated buffer.

Tue, 24 Jan 2017 00:08:24 -0500audio: allow stereo Sint16 resampling fast path in SDL_AudioStream.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 Jan 2017 00:08:24 -0500] rev 10842
audio: allow stereo Sint16 resampling fast path in SDL_AudioStream.

This currently favors libsamplerate over the fast path (quality over speed),
but I'm not sure that's the correct approach, as there may be surprising
changes in performance metrics depending on what packages are available on
a user's system. That being said, currently, the only thing with access to
SDL_AudioStream is an SDL audio device's thread, and it might be mostly idle
otherwise, so maybe this is generally good.

Tue, 24 Jan 2017 00:03:36 -0500audio: Fixed off-by-one error in upsampling.
Ryan C. Gordon <icculus@icculus.org> [Tue, 24 Jan 2017 00:03:36 -0500] rev 10841
audio: Fixed off-by-one error in upsampling.

Mon, 23 Jan 2017 16:45:50 -0500audio: Resampler now special-cases stereo and mono processing.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 16:45:50 -0500] rev 10840
audio: Resampler now special-cases stereo and mono processing.

Turns out that iterating from 0 to channels-1 was a serious performance hit!

These cases now tend to match or beat the original audio resampler's speed!

Mon, 23 Jan 2017 16:42:47 -0500audio: Fixed incorrect pointer in SDL_ResampleCVT_si16_c2().
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 16:42:47 -0500] rev 10839
audio: Fixed incorrect pointer in SDL_ResampleCVT_si16_c2().

Forgot to update this when we changed this to process in-place. Whoops!

Mon, 23 Jan 2017 12:14:28 -0500audio: Fixed copy/paste bug in float32->sint16/SSE2 scalar leftover code.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 12:14:28 -0500] rev 10838
audio: Fixed copy/paste bug in float32->sint16/SSE2 scalar leftover code.

Mon, 23 Jan 2017 12:06:10 -0500audio: Fix same bug as last commit, but for _mm_bslli_si128 vs _mm_slli_si128.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 12:06:10 -0500] rev 10837
audio: Fix same bug as last commit, but for _mm_bslli_si128 vs _mm_slli_si128.

Mon, 23 Jan 2017 12:02:02 -0500audio: use _mm_srli_si128 instead of _mm_bsrli_si128.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 12:02:02 -0500] rev 10836
audio: use _mm_srli_si128 instead of _mm_bsrli_si128.

They're the same thing (one is generally a #define of the other), but some
toolchains don't offer the 'b' version.

Mon, 23 Jan 2017 01:05:44 -0500audio: Wired up new SSE code to build system.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Jan 2017 01:05:44 -0500] rev 10835
audio: Wired up new SSE code to build system.

Sun, 22 Jan 2017 20:27:48 -0500audio: Special case for resampling stereo AUDIO_S16SYS audio data.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 Jan 2017 20:27:48 -0500] rev 10834
audio: Special case for resampling stereo AUDIO_S16SYS audio data.

This is a fairly common case, so we avoid the conversion to/from float here.