architecture with intrinsics and assembly code. The total iSAC codec speech improved
about 3~5%.
Notes
(1) The Neon version after this optimization is not bit-exact with the generic
C version. The out quality, however, is not worse as verified by test vectors ouput,
and undertandably in theory (32bit x 32bit in Neon is more accurate than the approximation
C code in the generic version).
(2) In Android, a isac neon library will be built. Along with some new function structures,
it is partly for preparation of introducing a run time detection of Neon architecture soon.
Review URL: http://webrtc-codereview.appspot.com/268016
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1192 4adac7df-926f-26a2-2b94-8c16560cd09d
With some compiler settings, a warning was issued for NetEQ,
saying that pw16_randVec was accessed out of bounds.
This did never happen in practice, but this change makes the
compiler understand this.
Review URL: http://webrtc-codereview.appspot.com/309001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1121 4adac7df-926f-26a2-2b94-8c16560cd09d
Implementing helper function for new unit test
NetEqDecodingTest::TestNetworkStatistics. The test itself
remains to be defined. (Will be added in a coming CL.)
This change required some refactoring of the test code
to avoid excessive code duplication.
Review URL: http://webrtc-codereview.appspot.com/295009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1049 4adac7df-926f-26a2-2b94-8c16560cd09d
The special cases for packet sizes <= 10 ms (one case for each
sample rate) resulted in reading outside of the pw16_decoded
vector. This is now fixed by making sure that WebRtcSpl_DownsampleFast
gets correct input and output vector lengths.
Review URL: http://webrtc-codereview.appspot.com/295008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1027 4adac7df-926f-26a2-2b94-8c16560cd09d
Fixing a bug when creating new NetEQ slave instances in ACM.
The old code called WebRtcNetEQ_GetCurrentDelay() for the
master instance to get a delay value for WebRtcNetEQ_SetExtraDelay().
This is wrong, since WebRtcNetEQ_GetCurrentDelay() reports on the
current total buffer length, while WebRtcNetEQ_SetExtraDelay() is
the extra delay that is desired to in order to sync with video.
The fix includes keeping the extra delay value in a member variable
in the ACMNetEQ class.
Review URL: http://webrtc-codereview.appspot.com/295001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1001 4adac7df-926f-26a2-2b94-8c16560cd09d
Removing WebRtcNetEQ_GetJitterStatistics(),
WebRtcNetEQ_ResetJitterStatistics(), and the associated
struct WebRtcNetEQ_JitterStatistics. The change ripples
through all the way to the VoiceEngine API.
Review URL: http://webrtc-codereview.appspot.com/285002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@998 4adac7df-926f-26a2-2b94-8c16560cd09d
(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
Removed TODO from webrtc.gyp since it is done.
Tabs -> spaces.
Tabs -> spaces.
Tabs -> spaces.
Fixed compilation on Windows.
Added missing file.
Merge branch 'master' into fix_mac_modules
Fixed compilation errors for the modules.gyp on Mac. This included some pretty large refactorings.
Please enter the commit message for your changes. Lines starting
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/269005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@957 4adac7df-926f-26a2-2b94-8c16560cd09d
I also fixed compilation on Mac (by enabling exceptions for the NetEqTestTools target). Executing the test fails on Mac, but I assume this is because it checks bit exactness, similar to the issue we had with audio_coding_module (see issue 114)
Review URL: http://webrtc-codereview.appspot.com/255004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@895 4adac7df-926f-26a2-2b94-8c16560cd09d
According to project structure discussed with Andrew. We want to flatten out the hierarchy and minimize the number of GYP files.
No changes at all are being made in the source files; they are just moved.
The only modified files are the GYP file and Android.mk
Kevin: I updated relative paths in Android.mk so please verify it is correct, since I don't know how to build that.
Review URL: http://webrtc-codereview.appspot.com/256006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@894 4adac7df-926f-26a2-2b94-8c16560cd09d
Patch Set 1: Removing blanks at end of lines.
Patch Set 2: Removing tabs.
Patch Set 3: Fixing include-guards.
Patch Set 4-7: Formatting files in the list.
Patch Set 8: Formatting CNG.
Patch Set 9:
* Fixing comments from code review
* Fixing formating in acm_dtmf_playout.cc
* Started fixing formating of acm_g7221.cc. More work needed, so don't spend too much time reviewing.
* Refactored constructor of ACMGenericCodec. Rest of file still to be fixed.
* Fixing break; after return ...; in several files.
Patch Set 10:
* Chaning from reintepret_cast to static_cast in three files, acm_amr.cc, acm_cng.cc and acm_g722.cc
NOTE! Not all files have the right format. That work will continue in separate CLs.
Review URL: http://webrtc-codereview.appspot.com/175002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@881 4adac7df-926f-26a2-2b94-8c16560cd09d