Commit Graph

47 Commits

Author SHA1 Message Date
04546884bf This CL is to add Opus complexity knob and to test it.
As a by-product, a generic tool for testing and comparing the complexity of codecs is added, and new audio files are added to the resources.

Three complexity tests are included
1. Default Opus complexity
2. Opus complexity knob
3. Default iSAC complexity (to compare with Opus)

The complexity tests are only meant for development reasons
and not to be run at bots.

The .isolate file is only needed for the APK packaging and test execution on Android.

TEST=passes all trybots

BUG=
R=kjellander@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5655 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 08:55:48 +00:00
e2fc13e42f Refactoring common_audio/signal_processing: Removed two macros used by isac only.
Removed a macro for malloc() and one for free().  They are only used by the audio codec isac, where I replaced the macro with its implementation.
Further, the includes were updated with full paths and put in alphabetical order.

BUG=N/A
TESTED=trybots,module_tests,module_unittests
R=turaj@webrtc.org, turajs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5554 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-14 23:12:34 +00:00
a80be4b23c Add boundary checking to supress gcc 4.8.3 warning.
BUG=2888
Test=try, voe_cmd_test

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5526 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-11 16:38:45 +00:00
4ffd9c7423 Add full path to headers
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5395 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-16 09:01:39 +00:00
60730cfe3c Remove the requirement to call set_sample_rate_hz and friends.
Instead have ProcessStream transparently handle changes to the stream
audio parameters (sample rate and channels). This removes two locks
per 10 ms ProcessStream call taken by VoiceEngine (four total with the
audio level indicator.)

Also, prepare future improvements by having the splitting filter take
a length parameter. This will allow it to work at different sample
rates. Remove the useless splitting_filter wrapper.

TESTED=voe_cmd_test with audio processing enabled and switching between
codecs; unit tests.

R=aluebs@webrtc.org, bjornv@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:45:09 +00:00
917306d3fd Change uses of the obsolete armv7 setting to arm_version==7.
BUG=http://crbug.com/234135
R=andrew@webrtc.org, fischman@webrtc.org, kjellander@webrtc.org

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-10 09:26:07 +00:00
57eb858698 Remove ".." from include_dirs in build/common.
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
31628aae7e Upgrade scoped_ptr to Chromium's latest version.
Analogous to the recent libjingle change: http://cl/54929753-p10.
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.

- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.

TESTED=trybots
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
621df678c8 WEBRTC_{BIG, LITTLE}_ENDIAN -> WEBRTC_ARCH_{BIG, LITTLE}_ENDIAN.
Mostly to remove a long-standing TODO...

TESTED=trybots
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5013 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 10:27:23 +00:00
137b3793d9 Only use -lm on Linux in ISAC.
Remove unneeded WEBRTC_LINUX define.

BUG=crbug.com/298656
TESTED=Passed trybots.
R=wjia@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4865 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-27 18:16:28 +00:00
3e7703640f Remove unused constants, so chrome can enable a warning for that. Patch from thakis@
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4844 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:05:05 +00:00
76fe9309b9 Use link_settings instead of all_dependent_settings to pacify xcode gyp generator
Should unbreak e.g. http://chromegw/i/chromium.webrtc.fyi/builders/Mac%20%5Blatest%20WebRTC%20trunk%5D/builds/2396

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4796 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-19 21:11:08 +00:00
ccddd0a941 Roll webrtc's chromium_revision 217707:224141
Also adds -lm for executables depending on isac since the newer clang in the
newer chromium revision requires it, and -lstdc++ for dependencies of the objc lib because newer gyp links with gcc instead of g++ for non-C++-containing libs.

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4795 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-19 20:27:32 +00:00
31b4a5ac82 Recognize armv7 target_arch for ios support in webrtc common.gyp
BUG=2343
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4684 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:46:36 +00:00
a3b7406219 Remove unused unreferenced code in webrtc/
The code removed here are .c, .cc and .h files that are not referenced
from anywhere else. E.g. if git-grep showed no occurrence of the file
it's removed. This process was repeated until no more unreferenced
files were present.

BUG=
R=andrew@webrtc.org, henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, turaj@webrtc.org, wu@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4511 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:47:51 +00:00
4ce838934c Address sanitizer out of bounds read in iSAC
BUG=issue1770
TBR=tlegrand@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4030 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 17:42:22 +00:00
342353780d Consolidate common_audio into a single target.
In principle should reduce gyp processing time, but the difference was not measurable. In any case, it's a good simplification that aligns with having a single common_video target.

R=bjornv@webrtc.org, kma@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 23:43:26 +00:00
6e788df19e Remove vim/emacs modelines from .gypi files
BUG=1655

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3857 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-16 12:40:34 +00:00
e4b6064f8e Replace legacy G_CONST with const.
BUG=1608

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3814 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 18:06:57 +00:00
0946a56023 WebRtc_Word32 => int32_t etc. in audio_coding/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3789 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-09 00:28:06 +00:00
cf8e108158 Fixed a bug in isac-fix's entropy coding function: out of bounds acces to array.
BUG=227286
Review URL: https://webrtc-codereview.appspot.com/1293005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3781 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-08 16:37:53 +00:00
d6cd64ac6a Change intrinsic code in isac fix to let it pass chrome clang compiler.
Compiler complains about variables not initialized in instructions veor_s32() and vset_lane_s32().
Review URL: https://webrtc-codereview.appspot.com/1187006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3660 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 17:45:41 +00:00
e5a81ed793 Fixed issue 1497 in iSAC fixed point.
Bit exact.
Review URL: https://webrtc-codereview.appspot.com/1177005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3653 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-12 00:23:21 +00:00
23da8622c0 Optimized EstCodeLpcCoef() for iSAC with intrinsics in Android-Neon platform.
Cycles of the whole iSAC codec was reduced by 7.9%, measured by offline file test, with time() function.

Bit exact.

** Code style cleanup is not considered in this CL. **
Review URL: https://webrtc-codereview.appspot.com/1069004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3643 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-09 00:38:14 +00:00
00ab7cf4fd Fix perf output for audioproc and iSAC fixed-point tests
The measurement and trace entries had been mixed up in the calls to webrtc::test::PrintResult, resulting in the plotted graphs were named after the metric. The parameter names are quite confusing which probably led to this.

BUG=none
TEST=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3496 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-11 12:33:03 +00:00
d83b9fdf45 Fixed a bug in iSAC transform functions on ARM-Neon platform. Performance unchanged.
Bugs=none
Test=trybots, and file bit-exact tests; passed.

Description of the bug: Neon registers q4-q7 not saved before calling the outside FFT routines in the assembly functions.
Review URL: https://webrtc-codereview.appspot.com/1097006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3480 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-06 23:53:13 +00:00
959da8d286 Added labels in transform_neon.S in iSAC-fix, so the tables be shared with other files in iOS build. Also, moved several code lines in the same file, in case register values cannot be preserved after a function call which could cause a crash in some platforms (e.g. iOS etc.).
Bugs: none
Review URL: https://webrtc-codereview.appspot.com/1072007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3473 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-05 20:46:55 +00:00
fa53d8717c Fixing/disabling Windows x64 warnings
Disabled MSVC #4267 warnings in common.gypi to enable x64 builds
for Windows.
Fixed MSVC #4267 warnings in test/testsupport.
Added third_party/directxsdk to .gitignore.

With http://review.webrtc.org/1070008 landed, this should make it possible
to build for x64 on Windows.

BUG=1348
TEST=Compiling with http://review.webrtc.org/1070008 applied:
set GYP_DEFINES="target_arch=x64"
set GYP_GENERATORS=ninja
gclient sync
ninja -C out\Debug_x64

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3464 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-04 10:07:17 +00:00
c4373bc737 Moved several function pointer declarations in iSAC to isac initialization file.
Fixed clang linker problem of not being able to find symbols.
Review URL: https://webrtc-codereview.appspot.com/1061006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3410 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 04:55:21 +00:00
16d540eff1 Fixed text relocation code related to ARM assembly code.
Refer to WebRTC issue 1300.
Review URL: https://webrtc-codereview.appspot.com/1055004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3409 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 03:18:05 +00:00
e8482f0e9f Revert 3406
> Moved all function pointer declarations in iSAC to a single place.
> Review URL: https://webrtc-codereview.appspot.com/1057006

TBR=kma@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1074005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3408 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 23:57:56 +00:00
ebef7e4ac1 Moved all function pointer declarations in iSAC to a single place.
Review URL: https://webrtc-codereview.appspot.com/1057006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3406 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 21:19:24 +00:00
4782911572 Optimized WebRtcIsacfix_Time2Spec() for iSAC-Fix in ARM Neon processor.
Review URL: https://webrtc-codereview.appspot.com/1005004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3404 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 01:37:33 +00:00
09738616de Fixes payload spelling error.
BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3398 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 16:43:45 +00:00
a3c82bf667 Remove '<(library)' in gyp files.
This will remove all usage of '<(library)' in all webrtc gyp files. 
Review URL: https://webrtc-codereview.appspot.com/1049005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3392 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 23:42:21 +00:00
3c37354b70 Initialize 3 variables which are preventing VS2012 from building.
BUG=1211
TESTED=ninja -C out\Release
Review URL: https://webrtc-codereview.appspot.com/992005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3301 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-15 01:09:18 +00:00
86464eacb6 ISAC_main_inst initialized to NULL to avoid potentially garbage pointer passed to WebRtcIsacfix_EncoderInit
BUG=1211
TESTED=local build on Windows.  Failed previously with vs2012.  With this change kenny.cc builds.
Review URL: https://webrtc-codereview.appspot.com/984004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3277 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 07:47:54 +00:00
fa5b6bf4f4 Optimized WebRtcIsacfix_Spec2Time() for iSAC-Fix in ARM Neon processor. Speed doubled.
Review URL: https://webrtc-codereview.appspot.com/930033

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3274 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 23:00:52 +00:00
0e739508e0 Added buildbot benchmarking in iSAC and APM into Android platform build.
Review URL: https://webrtc-codereview.appspot.com/964022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3247 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 15:26:28 +00:00
b0dff12d2b 48 kHz extension to iSAC.
Test:
-manual test with voe_cmd_test.
-manual test with RTPEncode & NetEqRTPPlay.
-manual test with simpleKenny.
-Bit-exact test of iSAC-swb and iSAC-wb with head revision of trunk. The bit-exactness is confirmed on all files generated by running webrtc/modules/audio_coding/codecs/isac/main/test/QA/runiSACLongtest.txt
Review URL: https://webrtc-codereview.appspot.com/937025

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3226 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 17:43:52 +00:00
ad0f3baf90 Removing redundant codec unittest targets.
The following targets have been merged into audio_coding_unittests:
* cng_unittests
* g711_unittests
* g722_unittests
* isacfix_unittests
* pcm16b_unittests

Some of them were empty and were created with the assumption they were
needed in order to get code coverage (which was actually not needed).

The following test has been removed since it was empty:
* audio_conference_mixer_unittests

BUG=none
TEST=trybots passing (well, except for the unittests that are removed, they're failing until the try server configuration is updated)

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3222 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 10:52:29 +00:00
b43502e388 Revert 3170 - Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

TBR=kma@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/969009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3172 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 23:57:38 +00:00
4cd8f1f182 Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3170 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 22:02:47 +00:00
55cd78cfc2 Porting ARM optimization from Android to ios.
Tested APM and iSAC in Android. Bit-exact with original versions.
Changes include removing or changing some GCC derivatives (e.g. .fnstart, .hword), instruction syntax, etc.
Review URL: https://webrtc-codereview.appspot.com/934009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3124 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-17 00:22:46 +00:00
1786436eb2 Pure Neon assembly coding for WebRtcIsacfix_AutocorrNeon() in iSAC-Fix.
Review URL: https://webrtc-codereview.appspot.com/939018

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3098 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-14 18:44:24 +00:00
fa65c851fe Optimized function AllpassFilter2FixDec16() in isac fix for Android Neon platforms.
With an offline test, codec cycles were reduced by 4%.
Review URL: https://webrtc-codereview.appspot.com/936007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3066 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-09 00:39:45 +00:00
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00