diff options
author | Glenn Kasten <gkasten@google.com> | 2011-11-17 13:27:22 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2011-11-17 13:27:22 -0800 |
commit | c23e2f2464eb3748599d47af7d8986b856f3c179 (patch) | |
tree | e1d10d95ab838f97307feaf5a3a0f7f99526a80b /services/audioflinger/AudioResampler.cpp | |
parent | 1de4e2e1d7c22a31238e448200cbbe667cd5fa4c (diff) | |
download | frameworks_av-c23e2f2464eb3748599d47af7d8986b856f3c179.zip frameworks_av-c23e2f2464eb3748599d47af7d8986b856f3c179.tar.gz frameworks_av-c23e2f2464eb3748599d47af7d8986b856f3c179.tar.bz2 |
Bug 5522189 re-enable ARM opts but disable inline
PIE did not work together with inlining. This change combines (almost
all of) the performance benefits of ARM optimizations together with PIE.
Change-Id: I4594d33ae5a0a7bac327ae08e30fb35343a06256
Diffstat (limited to 'services/audioflinger/AudioResampler.cpp')
-rw-r--r-- | services/audioflinger/AudioResampler.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/audioflinger/AudioResampler.cpp b/services/audioflinger/AudioResampler.cpp index 906794b..e945ce0 100644 --- a/services/audioflinger/AudioResampler.cpp +++ b/services/audioflinger/AudioResampler.cpp @@ -33,7 +33,7 @@ namespace android { #ifdef __ARM_HAVE_HALFWORD_MULTIPLY // optimized asm option - //#define ASM_ARM_RESAMP1 // enable asm optimisation for ResamplerOrder1 + #define ASM_ARM_RESAMP1 // enable asm optimisation for ResamplerOrder1 #endif // __ARM_HAVE_HALFWORD_MULTIPLY // ---------------------------------------------------------------------------- @@ -390,6 +390,7 @@ resampleMono16_exit: * phaseFraction : phase fraction for next interpolation * *******************************************************************/ +__attribute__((noinline)) void AudioResamplerOrder1::AsmMono16Loop(int16_t *in, int32_t* maxOutPt, int32_t maxInIdx, size_t &outputIndex, int32_t* out, size_t &inputIndex, int32_t vl, int32_t vr, uint32_t &phaseFraction, uint32_t phaseIncrement) @@ -500,6 +501,7 @@ void AudioResamplerOrder1::AsmMono16Loop(int16_t *in, int32_t* maxOutPt, int32_t * phaseFraction : phase fraction for next interpolation * *******************************************************************/ +__attribute__((noinline)) void AudioResamplerOrder1::AsmStereo16Loop(int16_t *in, int32_t* maxOutPt, int32_t maxInIdx, size_t &outputIndex, int32_t* out, size_t &inputIndex, int32_t vl, int32_t vr, uint32_t &phaseFraction, uint32_t phaseIncrement) @@ -600,6 +602,5 @@ void AudioResamplerOrder1::AsmStereo16Loop(int16_t *in, int32_t* maxOutPt, int32 // ---------------------------------------------------------------------------- -} -; // namespace android +} // namespace android |