101 Commits

Author SHA1 Message Date
kma@webrtc.org
0221b78e2e Added run time ARM-Neon detection feature in SPL functions.
Review URL: https://webrtc-codereview.appspot.com/728010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2721 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-08 00:09:26 +00:00
kma@webrtc.org
3c1f96f279 Fixed several places for compiler warnings.
To reproduce, use compiler arm-linux-androideabi-gcc (GCC) 4.6.x-google 20120106 (prerelease).
Review URL: https://webrtc-codereview.appspot.com/762011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2712 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-06 16:20:03 +00:00
kma@webrtc.org
9b1cf54a4a Change the dependency of ARM code from on Android to on ARM.
Review URL: https://webrtc-codereview.appspot.com/759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2699 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-09-03 21:22:28 +00:00
kma@webrtc.org
94771cb6a0 Change preprocessor define WEBRTC_ANDROID into WEBRTC_ARCH_ARM, for ARM platform depended code.
Review URL: https://webrtc-codereview.appspot.com/735010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2674 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-28 04:09:50 +00:00
kma@webrtc.org
7611791ade Added unit tests for several SPL macros/functions, and detailed all factors
contributing to bit-not-exact between ARM assembly and generic C versions
in iSAC and SPL, by code comments.
Review URL: https://webrtc-codereview.appspot.com/741004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2673 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-28 00:43:55 +00:00
kma@webrtc.org
afdcc2c845 Added unit test for a filter bank function in iSAC-Fix, with some optimization
in the assembly code.
Review URL: https://webrtc-codereview.appspot.com/754004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2670 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-27 23:54:13 +00:00
kma@webrtc.org
d81d906adf Fixed a bug in the C code in a filterbank function in iSAC-fix, and further optimized ARM code.
The bug was introduced in the last CL during optimization.

With the new inine ARM assembly, the resulted assembly code of the loop is 28 instructions, compared to 47 lines by the original.

The optimized (with WEBRTC_ARCH_ARM_V7A defined in This file) and un-optimized code (with WEBRTC_ARCH_ARM_V7A not defined in This file) are bit-exact.
Review URL: https://webrtc-codereview.appspot.com/748004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2651 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-22 05:13:09 +00:00
tina.legrand@webrtc.org
ba46804417 Moving to use data files in resources, for ACM.
The files are removed in a separate CL.

BUG=issue737

Review URL: https://webrtc-codereview.appspot.com/737004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2625 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-17 10:38:28 +00:00
kma@webrtc.org
a15ea4965e Added isac WebRtcIsacfix_CalculateResidualEnergy() into dynamic Neon detection for
Android NDK platform.
Review URL: https://webrtc-codereview.appspot.com/722009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2621 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-16 15:43:57 +00:00
kma@webrtc.org
620a2563d0 Fixed a bug in Coverity (fileInstanceId=1323160).
Review URL: https://webrtc-codereview.appspot.com/724007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2616 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-15 16:49:16 +00:00
kma@webrtc.org
8e75e6092d Separated WebRtcIsacfix_PitchFilterCore() out from isac-fix pitch_filter.c into its
own files for generic C and ARMv6.
Also renamed file pitchfilter_armv6.S to pitch_filter_armv6.S, to be consistent with
others.
Review URL: https://webrtc-codereview.appspot.com/722008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2608 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-13 23:24:10 +00:00
kma@webrtc.org
de91bf7cdc Changed compiler assert code so that it can be used by both C and C++ source files.
Review URL: https://webrtc-codereview.appspot.com/733005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2597 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-11 00:13:25 +00:00
andrew@webrtc.org
6a16e74f9f Move iSAC -> isac.
BUG=none
TEST=trybots

Review URL: https://webrtc-codereview.appspot.com/722007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2584 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-09 18:35:39 +00:00
kma@webrtc.org
ccb7cc6175 Added unittest for iSAC-Fix.
Only one function in this version.
Review URL: https://webrtc-codereview.appspot.com/713006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2575 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-08 18:26:19 +00:00
kma@webrtc.org
f388fcc67e Added dynamic Neon detect in isac-fix for Android NDK build, and thus fixed a build error in the last version.
Review URL: https://webrtc-codereview.appspot.com/726004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2567 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-07 01:20:51 +00:00
kma@webrtc.org
715509890c Added run time detection of Neon architecture in iSAC-fix.
Review URL: https://webrtc-codereview.appspot.com/715004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2563 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-06 21:04:34 +00:00
kma@webrtc.org
2d4c4ae553 Optimization of function CalculateResidualEnergy() for iSAC-fix in ARM Neon platforms.
Bit not exact with the previous version, but result quality is not worse.
Review URL: https://webrtc-codereview.appspot.com/687005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2559 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-03 21:46:05 +00:00
turaj@webrtc.org
837bc7b44c ilbc: Make the decode input array const
Review URL: https://webrtc-codereview.appspot.com/667009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2518 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-14 00:34:54 +00:00
kma@webrtc.org
ff2f861c71 Corrected one error for Android build.
Also added iSAC in the default build in Android, to test any build errors in iSAC in platform build in buildbot.
Review URL: https://webrtc-codereview.appspot.com/684004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2505 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-10 21:37:49 +00:00
kma@webrtc.org
adf8ddf4aa Assembly coding for pitch filter in iSAC for ARMv6.
Review URL: https://webrtc-codereview.appspot.com/631004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2501 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-10 19:30:57 +00:00
kma@webrtc.org
e2c16a83bc Optimized a filter bank function in iSAC/fix for ARM.
Review URL: https://webrtc-codereview.appspot.com/631008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2500 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-10 17:59:44 +00:00
kma@webrtc.org
d2f71003af correct one build error in linux.
Review URL: https://webrtc-codereview.appspot.com/681005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2498 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-09 23:34:58 +00:00
kma@webrtc.org
72f8a6d77b Optimized PCorr2Q32() in iSAC with intrinsics in ARM Neon platform.
Review URL: https://webrtc-codereview.appspot.com/634004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2497 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-09 23:27:02 +00:00
turaj@webrtc.org
01ad75888a ilbc: Mark untouched input arrays as const
Review URL: https://webrtc-codereview.appspot.com/662004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2490 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-03 21:35:46 +00:00
turaj@webrtc.org
8d59e70434 In this CL four pitch-filters are integrated into a single function. I have kept the interfaces unchanged so there was no need to modify any other file. A test is uploaded to show how this CL is tested. The test engages all the functions affected by this CL and compares their output with the version of iSAC before this change. This CL is bit-exact. Furthermore, I ran iSAC release test and diff results with previous version. The test file will not be commited, as running it requires a hack in old iSAC to. Hence you don't need to code-review it.
test = bit-exact with previous version of iSAC verified by iSAC Release test and the test written specifically to test functions affected by this CL.
Review URL: https://webrtc-codereview.appspot.com/611004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2470 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-29 18:17:53 +00:00
andrew@webrtc.org
81cf5e4752 Move test to src/test.
- Refer to top-level directories by <(DEPTH), e.g. <(DEPTH)/testing.
- Remove now unneeded third_party_root.

TBR=henrike@webrtc.org
BUG=none
TEST=trybots

Review URL: https://webrtc-codereview.appspot.com/669007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2446 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-27 01:41:54 +00:00
henrike@webrtc.org
643be71700 Adds variable for third party directory.
BUG=348
TEST=Manual testing in Chrome and WebRTC workspace.

Review URL: https://webrtc-codereview.appspot.com/674005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2439 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-25 10:48:58 +00:00
kma@webrtc.org
173538faa3 Refactored function WebRtcIsacfix_GetLpcCoef() in iSAC-fix.
One reason behind it is for further optimization of it in ARM.
Review URL: https://webrtc-codereview.appspot.com/646012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2429 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-20 17:17:15 +00:00
turaj@webrtc.org
ba108aee21 This CL contains some refactoring. Spectrum coding is main place that is affected. Therefore, I have bit-exactness test, test_spectrum_
coding.c, to be sure about the changelist. You can go through the test to be sure the changes are tested. However, I don't intend to commi
t the test, as it would be a source of confusion and requires hack to iSAC to be able to run the test. It is basically a one-time test. 

The part which not covered in this test is where we limit payload for super-wideband bit-stream. I'll add a test for that as well. 

I kept format changes at minimum in all files except isac.c, which was in bad shape, and coding changes were minimum. I'm planning to uplo
ad following patches to this CL where I try to address formatting issues. But I don't intend to change variable names, for the moment. 

The refactoring is not yet finished, so you would find part of the code which could be cleaned up, especially KLT transforms in entropy_co
ding.c
Review URL: https://webrtc-codereview.appspot.com/580004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2359 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-04 20:04:58 +00:00
leozwang@webrtc.org
354b0ed015 Check return result of fwrite [Audio Module]
Description:
On ChromeOS/ARM, compiler enforces to check return result of a function.
Currently, we don't check return result of fwrite, it causes building errors.

The following files need to patch. The patch should be similar, before I patch all
of them, I will start with 2 files, please take a quick look, if the patch is OK,
I will continue and upload a new patch that covers all of them.
it to all of them.
Review URL: https://webrtc-codereview.appspot.com/566016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2345 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-01 17:46:21 +00:00
kma@webrtc.org
c3b2683bf4 Refactored the pitch filter function in iSAC-fix. One important purpose is to prepare the function for assembly optimization in ARM platforms.
Note that,
(1) The main change is a new function PitchFilter() replacing a couple of common code blocks. Next step will be the assembly coding of this function in ARM.
(2) Resulted code is not bit exact with the original. The only reason is replacing two saturation blocks (lines 197 and 208) for the case of "type == 2" with the general case (line 147 and 159). The change makes the code more consistent, and I think the original code might just be a bug. I raised the issue in an email to Turaj and Bjorn last week.
Listening test might be needed. I will send the resulted files to Turaj for this purpose.
(3) I used Astyle to make the code more stylish, but didn't try extra effort to correct all the code style details.  Local code style consistency was considered for new code. So this is not a full and final refactor project (will leave that to future refactoring).
Review URL: https://webrtc-codereview.appspot.com/573009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2344 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-06-01 17:00:07 +00:00
andrew@webrtc.org
36ccce4f58 Remove documentation folders.
Review URL: https://webrtc-codereview.appspot.com/606007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2329 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-30 17:28:24 +00:00
turaj@webrtc.org
10d3b5239b I haven't done any refactoring here.
Resolve coverity warnings.

14305.

The warning is not really valid. The 'decode' function should be called with a 'mode' variable, where inside the function it is assumed that mode is either zero or one. If mode is taking other values some varibles are used uninitialized. However, this is an internal function and it is always called with either ZERO or ONE. Therefore, the code operates correctly. I made small changes as I beleive it is a bit nicer way. 

In ACM:
- Conditions on 'mode' is changed.


Tested with trybots.

BUG=None
TEST=None
Review URL: https://webrtc-codereview.appspot.com/564014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2297 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-24 21:20:25 +00:00
mflodman@webrtc.org
6af9594d71 Added gyp variable to include/exclude all tests.
BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/597004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2292 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-24 13:23:35 +00:00
turaj@webrtc.org
ea0aa13aa8 I haven't done any refactoring here.
Resolve coverity warnings.

14240, 14241.

In ACM:
- NULL pointer sanity checks corrected.

Tested with trybots.

BUG=None
TEST=None
Review URL: https://webrtc-codereview.appspot.com/571012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2281 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-23 15:43:51 +00:00
andrew@webrtc.org
9dc45dad1b Move trunk/test/data -> trunk/data
BUG=
TEST=all trybot test failures passed locally

Review URL: https://webrtc-codereview.appspot.com/583007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2280 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-23 15:39:01 +00:00
turaj@webrtc.org
fe4cfa7e5e Hi Tina,
I have uploaded this patch for your review. I have done an extensive test to be sure that removing of tables does not create any problem. 

The test file, is called test_lpc.c which requires a hack to standard iSAC. The test computes LPC coefficients, then encodes and decodes with old and new (size-reduced) tables. It compares the results is all steps. I have ran the test over large set of files, more then 51 hours of audio, and there was no error. 

I tried to do no formatting so the review to be easier, but I know it can be a tricky CL. Hopefully, the test file helps you to be more confident on the CL. 

Thanks,... Turaj  

In this change list the LPC tables associated with mode 1 & 2 are remoded, and necessary cahnges are made to other files. 

The only model allowed is model number 0. Therefore, this CL breaks compatibility with iSAC released prior to 2.4.3. To avoid changing the bit-stream, we still keep the model number in the bit-stream. 

entropy_coding.c is cleaned up, especially encoding of LAR had KLT transform of LPC gains which are removed now. 
Review URL: https://webrtc-codereview.appspot.com/548004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2186 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-07 20:36:22 +00:00
asapersson@webrtc.org
92591adc67 Fixes link issues in google3 (change by tomasl).
Review URL: https://webrtc-codereview.appspot.com/509001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2090 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-23 13:10:55 +00:00
leozwang@webrtc.org
91b359ea9b Change WebRtc_Word8 to char
Review URL: https://webrtc-codereview.appspot.com/407003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1787 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-28 17:26:14 +00:00
wu@webrtc.org
13e0345b35 Fix uninitialized variable error in Relase mode.
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/377007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1611 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-06 16:19:15 +00:00
mflodman@webrtc.org
c80d9d9361 Removed default cases causing clang errors, -Wcovered-switch-default.
BUG=
TEST=Bulid with clang version 3.1 (trunk 148911)

Review URL: https://webrtc-codereview.appspot.com/379008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1604 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-02-06 10:11:25 +00:00
phoglund@webrtc.org
2f7740973d Fixed C errors from GCC 4.6.
Fixed errors in .c files.

BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/373014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1563 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-27 13:44:26 +00:00
phoglund@webrtc.org
d1a860b415 Fixed GCC 4.6 errors (mostly 'unused variable' errors and incorrect usage of EXPECT_EQ with booleans.
Fixed remaining compilation errors in release, etc.

Fixed errors from GCC 4.6 compilation.

BUG=
TEST=

Review URL: https://webrtc-codereview.appspot.com/366008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1554 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-26 14:49:28 +00:00
kjellander@webrtc.org
7f3c724e12 Renaming 47 files from .cpp to .cc
In addition to our naming guidelines, this will cause these files to get parsed by Sonar, and to make searching/grepping the source using file extensions easier in the future.

BUG=
TEST=Compiling on Linux.

Review URL: http://webrtc-codereview.appspot.com/348005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1405 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-12 10:23:41 +00:00
andrew@webrtc.org
83c7f6db0e Add missing file to iSAC gyp.
TBR=kma@webrtc.org
TEST=Linux build

Review URL: http://webrtc-codereview.appspot.com/344008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1394 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 20:16:32 +00:00
andrew@webrtc.org
921321ff62 Fix unused-variable warning in iSAC.
TBR=kma@webrtc.org
TEST=build on Linux

Review URL: http://webrtc-codereview.appspot.com/348006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1393 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 19:50:20 +00:00
kma@webrtc.org
badf2b8044 Optimized an AR function in iSAC fix for ARMv7 (not Neon) platforms.
Bit exact. Speed doubled.
Review URL: http://webrtc-codereview.appspot.com/327001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1392 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-11 18:01:39 +00:00
kma@webrtc.org
746f9e31c0 Changed build settings for ARMv5 in Android.
I found some issues in building ARMv5 with ICM. This CL includes fixes,
and a design change which now will exclude any NEON libraries unless 
the build is for dynamic detection or for Neon specifically.
Review URL: http://webrtc-codereview.appspot.com/330021

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1335 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 17:47:57 +00:00
turaj@webrtc.org
a574b1c617 The inline implementation of WebRtcIsac_lrint(), which was implemented in several files, is now os_specific_inline.h. Define guards are modified according to WebRtc OS macros.
This resolves BUG=issue137.
Review URL: http://webrtc-codereview.appspot.com/269014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1323 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 02:26:23 +00:00
pwestin@webrtc.org
ebcb6421b1 Cleaned up leaky symbols in G722.
Review URL: http://webrtc-codereview.appspot.com/333017

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1287 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 12:20:06 +00:00