reenable the cubic resampler
cubic resampler was disabled because it hadn't been qualified,
however after I did some tests, it does improve significantly
the sound quality over the order-1 resampler, even if it is
still quite bad.
also HIGH_QUALITY resampler was partially disabled, it's now
fully enabled. It's a big improvement over the cubic resampler
in terms of aliasing noise (it's not as good in the pass-band).
Change-Id: I70e3658c255896588642697be9eb594ff4ec0f8b
diff --git a/services/audioflinger/Android.mk b/services/audioflinger/Android.mk
index bd9421c..60f231e 100644
--- a/services/audioflinger/Android.mk
+++ b/services/audioflinger/Android.mk
@@ -19,11 +19,9 @@
AudioResampler.cpp.arm \
AudioPolicyService.cpp \
ServiceUtilities.cpp \
+ AudioResamplerCubic.cpp.arm \
AudioResamplerSinc.cpp.arm
-# uncomment to enable AudioResampler::MED_QUALITY
-# LOCAL_SRC_FILES += AudioResamplerCubic.cpp.arm
-
LOCAL_SRC_FILES += StateQueue.cpp
# uncomment for debugging timing problems related to StateQueue::push()
diff --git a/services/audioflinger/AudioResampler.cpp b/services/audioflinger/AudioResampler.cpp
index ffea9b9..2c3c719 100644
--- a/services/audioflinger/AudioResampler.cpp
+++ b/services/audioflinger/AudioResampler.cpp
@@ -82,10 +82,8 @@
switch (quality) {
case DEFAULT_QUALITY:
case LOW_QUALITY:
-#if 0 // these have not been qualified recently so are not supported unless explicitly requested
case MED_QUALITY:
case HIGH_QUALITY:
-#endif
case VERY_HIGH_QUALITY:
return true;
default:
@@ -190,12 +188,10 @@
ALOGV("Create linear Resampler");
resampler = new AudioResamplerOrder1(bitDepth, inChannelCount, sampleRate);
break;
-#if 0 // disabled because it has not been qualified recently, if requested will use default:
case MED_QUALITY:
ALOGV("Create cubic Resampler");
resampler = new AudioResamplerCubic(bitDepth, inChannelCount, sampleRate);
break;
-#endif
case HIGH_QUALITY:
ALOGV("Create HIGH_QUALITY sinc Resampler");
resampler = new AudioResamplerSinc(bitDepth, inChannelCount, sampleRate);