summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/test-resample.cpp
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2015-02-06 15:05:37 -0800
committerAndy Hung <hunga@google.com>2015-03-03 15:23:19 -0800
commit6b667dde03a5707285a2ff76ada525075d4c60ef (patch)
tree1034167044ecb2bb9551020bd19441da40748904 /services/audioflinger/test-resample.cpp
parentbf31b3301676ad86151f632e9ca186fd02445d86 (diff)
downloadframeworks_av-6b667dde03a5707285a2ff76ada525075d4c60ef.zip
frameworks_av-6b667dde03a5707285a2ff76ada525075d4c60ef.tar.gz
frameworks_av-6b667dde03a5707285a2ff76ada525075d4c60ef.tar.bz2
Improve resampler speed for floating point and arm64
Add floating point intrinsics for arm32 and arm64 devices. Add integer intrinsics for arm64 devices. Bug: 17366024 Change-Id: Id4240f549033deb262815c7145d69820e5fd7b92
Diffstat (limited to 'services/audioflinger/test-resample.cpp')
-rw-r--r--services/audioflinger/test-resample.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/audioflinger/test-resample.cpp b/services/audioflinger/test-resample.cpp
index 84a655a..7893778 100644
--- a/services/audioflinger/test-resample.cpp
+++ b/services/audioflinger/test-resample.cpp
@@ -427,6 +427,14 @@ int main(int argc, char* argv[]) {
printf("quality: %d channels: %d msec: %" PRId64 " Mfrms/s: %.2lf\n",
quality, channels, time/1000000, output_frames * looplimit / (time / 1e9) / 1e6);
resampler->reset();
+
+ // TODO fix legacy bug: reset does not clear buffers.
+ // delete and recreate resampler here.
+ delete resampler;
+ resampler = AudioResampler::create(format, channels,
+ output_freq, quality);
+ resampler->setSampleRate(input_freq);
+ resampler->setVolume(AudioResampler::UNITY_GAIN_FLOAT, AudioResampler::UNITY_GAIN_FLOAT);
}
memset(output_vaddr, 0, output_size);