kma@webrtc.org
fa9b016fb5
Optimized WebRtcIsacfix_AutocorrFix() function for iSAC fix.
(1) For generic platforms, code was changed to remove the shifting within loops. Basically, it's just change a loop from for() { sum += (a*b) >> scale; } to: for() { sum += (a*b); } sum >> scale; Type int64_t is used for sum to make sure no information is not lost. Performance is about the same as before the change. Bits are not exact, although in theory the change should have preserved more information. The purpose of this change is to make the generic code and ARM code bit exact, simpify the code, while keep the speech quality at least not lower. (Some speech tests might be good.) (2) For ARM platform, used assembly to optimize the performance. iSAC runs faster with this change. (Reduced run time of an offline file test from 10.16ms to 8.81ms) Review URL: http://webrtc-codereview.appspot.com/267014 git-svn-id: http://webrtc.googlecode.com/svn/trunk@972 4adac7df-926f-26a2-2b94-8c16560cd09d
Description
No description provided
Languages
C++
76%
C
16%
Python
2.3%
Java
2.1%
Objective-C++
1.5%
Other
1.9%