diff options
author | Andy Hung <hunga@google.com> | 2015-02-06 15:05:37 -0800 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2015-03-03 15:23:19 -0800 |
commit | 6b667dde03a5707285a2ff76ada525075d4c60ef (patch) | |
tree | 1034167044ecb2bb9551020bd19441da40748904 /services/audioflinger/test-resample.cpp | |
parent | bf31b3301676ad86151f632e9ca186fd02445d86 (diff) | |
download | frameworks_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.cpp | 8 |
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); |