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
2011-11-18 02:50:55 +00:00
2011-11-16 02:08:52 +00:00
2011-11-10 02:13:38 +00:00
2011-11-02 12:19:22 +00:00
2011-09-06 10:12:28 +00:00
Description
No description provided
108 MiB
Languages
C++ 76%
C 16%
Python 2.3%
Java 2.1%
Objective-C++ 1.5%
Other 1.9%