From 83be2560d9396b3bd32919123bd67a783e6aaf7c Mon Sep 17 00:00:00 2001 From: Andy Hung Date: Mon, 3 Feb 2014 14:11:09 -0800 Subject: Fix dynamic resampling for non-NEON devices The stride by 16 code template automatically falls back to stride by 2 (as the NEON code template override does not occur). As such the stride by 2 (in the switch) was removed as it was unnecessary. Removing the if() causes the fall back to happen properly for non-NEON compilation. Change-Id: Ia7aec6ae1d88eb54377e56e2fb57f2ae5b74cf1b Signed-off-by: Andy Hung --- services/audioflinger/AudioResamplerDyn.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'services/audioflinger/AudioResamplerDyn.cpp') diff --git a/services/audioflinger/AudioResamplerDyn.cpp b/services/audioflinger/AudioResamplerDyn.cpp index 984548d..cd67df5 100644 --- a/services/audioflinger/AudioResamplerDyn.cpp +++ b/services/audioflinger/AudioResamplerDyn.cpp @@ -372,11 +372,7 @@ void AudioResamplerDyn::setSampleRate(int32_t inSampleRate) { if (locked) { mPhaseFraction = mPhaseFraction >> c.mShift << c.mShift; // remove fractional phase } - if (!USE_NEON) { - stride = 2; // C version only - } - // TODO: Remove this for testing - //stride = 2; + mResampleType = RESAMPLETYPE(mChannelCount, locked, stride, !!useS32); #ifdef DEBUG_RESAMPLER printf("channels:%d %s stride:%d %s coef:%d shift:%d\n", @@ -392,7 +388,7 @@ void AudioResamplerDyn::resample(int32_t* out, size_t outFrameCount, // 24 cases - this perhaps can be reduced later, as testing might take too long switch (mResampleType) { - // stride 16 (stride 2 for machines that do not support NEON) + // stride 16 (falls back to stride 2 for machines that do not support NEON) case RESAMPLETYPE(1, true, 16, 0): return resample<1, true, 16>(out, outFrameCount, mConstants.mFirCoefsS16, provider); case RESAMPLETYPE(2, true, 16, 0): -- cgit v1.1