73 Commits

Author SHA1 Message Date
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
pwestin@webrtc.org
d8f8b32521 Cleaned up leaky symbols in iSAC.
Review URL: http://webrtc-codereview.appspot.com/329014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1286 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 12:19:43 +00:00
tina.legrand@webrtc.org
398af2337b Solving issue 178, errorbuild warnings on Mac.
This CL continues the work of solving issue 178. A small change in one file.
Review URL: http://webrtc-codereview.appspot.com/330006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1227 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-19 07:36:07 +00:00
kma@webrtc.org
ee36b9587d corrected android makefile for isac build.
Review URL: http://webrtc-codereview.appspot.com/321013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1200 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-15 00:18:45 +00:00
kma@webrtc.org
6a17340db5 Review URL: http://webrtc-codereview.appspot.com/318014
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1197 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 22:16:57 +00:00
kma@webrtc.org
a30093bb85 Added one file associated with check in in r1192.
Review URL: http://webrtc-codereview.appspot.com/320012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1194 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 19:57:23 +00:00
kma@webrtc.org
f0a964dc0a Optimized WebRtcIsacfix_NormLatticeFilterMa() function for iSAC fix for ARM Neon
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
2011-12-14 18:59:43 +00:00
kma@webrtc.org
6601902504 Introduced WebRtcSpl_SatW32ToW16 to iSAC fix, for Android platforms.
Review URL: http://webrtc-codereview.appspot.com/315005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1190 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 18:41:07 +00:00
leozwang@webrtc.org
f147bbc878 Change codec test app lib dependency from webrtc lib to codec library
Review URL: http://webrtc-codereview.appspot.com/317009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1189 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-14 18:22:41 +00:00
tina.legrand@webrtc.org
f64162c335 Adding const to a number of constant tables. Setting some tables to static.
Patch set 2: Renaming static const tables. They no longer need the prefix WebRtc_Isac...
Review URL: http://webrtc-codereview.appspot.com/301001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1073 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 13:01:39 +00:00
kjellander@webrtc.org
543c3eaa46 Fixing Release compilation errors
Review URL: http://webrtc-codereview.appspot.com/267026

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1000 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 12:20:35 +00:00
kma@webrtc.org
a249f35203 Correct several makefile errors for Android build.
Review URL: http://webrtc-codereview.appspot.com/267024

git-svn-id: http://webrtc.googlecode.com/svn/trunk@986 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-21 22:16:10 +00:00
kjellander@webrtc.org
274c2efbc1 Adding empty test method required to get code coverage
Review URL: http://webrtc-codereview.appspot.com/279008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@983 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-21 09:36:28 +00:00
kma@webrtc.org
ced118636d Changed keyword __restrict__ to __restrict.
Review URL: http://webrtc-codereview.appspot.com/279011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@978 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-18 17:51:19 +00:00
kjellander@webrtc.org
543611a77a Reverting r972 due to compilation error on Windows Release build.
TBR=kma
Review URL: http://webrtc-codereview.appspot.com/282003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@976 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-18 13:25:13 +00:00
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
kjellander@webrtc.org
3f1cb8e546 Restructuring and adding dummy unit test target.
Empty test added to get code coverage recorded.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@967 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 13:56:54 +00:00
kjellander@webrtc.org
cc2ecb3c2e Restructuring and adding dummy unit test target.
Empty test added to get code coverage recorded.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@966 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 13:48:36 +00:00
kjellander@webrtc.org
b72268e147 Restructuring and adding dummy unit test target.
Empty test added to get code coverage recorded.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@965 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 13:39:15 +00:00
kjellander@webrtc.org
64a897a772 Restructuring and adding dummy unit test target.
Empty test added to get code coverage recorded.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@964 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 13:33:11 +00:00
kjellander@webrtc.org
0403ef419f Restructuring and adding unit test targets on project level instead of in common_audio.
Review URL: http://webrtc-codereview.appspot.com/280001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@959 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 08:35:47 +00:00
kma@webrtc.org
13318ef422 (1) Corrected the makefile for testing iLBC in Android, and changed the location of the test makefile to make it consistent with audio_processing.
(2) Added a makefile for testing fiexed point iSAC in Android.
Review URL: http://webrtc-codereview.appspot.com/266005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@927 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-10 18:00:22 +00:00
kjellander@webrtc.org
488ed92c3b Removing exceptions since not used
Review URL: http://webrtc-codereview.appspot.com/267003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@912 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-09 16:12:40 +00:00
kjellander@webrtc.org
9dcab8fb14 Restoring Android.mk
This is the last file left from 256006 that I forgot to restore according to your comments.
The other Android.mk you fixed in 266004.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@905 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-09 08:59:13 +00:00
kma@webrtc.org
9b813510eb Changes for building audio coding in anroid. Only makefiles are touched.
Review URL: http://webrtc-codereview.appspot.com/266004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@899 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-07 23:30:01 +00:00
kjellander@webrtc.org
36e1ad9b5d Restructuring and removing ilbc_test.gypi.
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
2011-11-07 15:27:11 +00:00
turaj@webrtc.org
7395d3d8e9 Addressing issue 115 http://code.google.com/p/webrtc/issues/detail?id=115
Review URL: http://webrtc-codereview.appspot.com/261002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@864 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 17:33:06 +00:00
turaj@webrtc.org
fac5316856 Address the problem that iSAC could not go 16 kHz. It was addressed in P4 but not moved to svn.
Review URL: http://webrtc-codereview.appspot.com/261001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@863 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 17:32:46 +00:00
turaj@webrtc.org
9116cf7c9b Have a guard on computing nrg to avoid wrap-around. This is discovered in a release test. During entropy coding of spectrum the value of "nrg" was too large and after shifting it became negative, resulting in decoder error.
Review URL: http://webrtc-codereview.appspot.com/239016

git-svn-id: http://webrtc.googlecode.com/svn/trunk@862 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 17:29:34 +00:00