Commit Graph

46 Commits

Author SHA1 Message Date
db11fab49e Adding Opus unit test
This CL adds a unit test for Opus, as well as new APIs for true stereo decoding (skipping master/slave approach).

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3860 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-17 10:39:41 +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
ae4e2b352b WebRtc_Word -> stdint in audio_coding/g711/
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3699 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-21 13:38:29 +00:00
01b507a406 WebRtc_Word -> stdint in audio_coding/cng/
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3697 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-21 11:28:42 +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
46d90dcd74 Adding three frame sizes to Opus
Adding support for 10, 40 and 60 ms packet sizes for Opus.

BUG=issue1015

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3454 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:20:06 +00:00
c0ada864b2 fix for issue 281.
A reverse copy is removed. The index to src buffer could be -1, this happens very often. The reverse copy is not needed as the content of the destination is overwritten further down in "WebRtcIlbcfix_CbConstruct()" 


Bug=issue281
TEST=manual test over 1600 files TIMIT database, all outputs are bit-exact with the ones generated from head revision. Local run of asan does not generate any warning.
 
Review URL: https://webrtc-codereview.appspot.com/1063013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3447 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 18:21:06 +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
5dfb1f2cd3 Bug fix in WebRtcOpus_DurationEst
The function WebRtcOpus_DurationEst returned the number of samples
per packet in the native 48 kHz sample rate, while the decoder
function returns data in 32 kHz sample rate. This creates a discrepancy
that makes NetEQ's lip-sync functionality add too little delay.

BUG=1334
TEST=try bots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3403 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-23 11:57:03 +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
d0d41498a3 Adding AUDIO application as default for Opus stereo
The Opus audio codec targets applications for pure conversations as well as other types of audio (e.g. music), and there are two different settings to use for this (VoIP and AUDIO). In the current implementation of Opus in WebRTC we use VoIP only.

I this CL I have changed default setting to AUDIO in the case of stereo, and kept VoIP as default in case of mono.

Next step is to add an API to choose application mode.

BUG=issue1239

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3319 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-20 09:23:10 +00:00
ac77084583 Roll opus to 172355 and delete opus_demo from webrtc opus
opus_demo has been inlucded in opus in chromium.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3317 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-19 17:24:30 +00:00
4275ab1ca0 Implement NetEq duration estimation for Opus.
Review URL: https://webrtc-codereview.appspot.com/983004
Patch from Ralph Giles <giles@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3314 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-19 09:52:45 +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
c4590580e8 Opus mono/stereo on the same payloadtype, and fix of memory bug
During call setup Opus should always be signaled as a 48000 Hz stereo codec, not depending on what we plan to send, or how we plan to decode received packets.
The previous implementation had different payload types for mono and stereo, which breaks the proposed standard.

While working on this CL I ran in to the problem reported earlier, that we could get a crash related to deleting decoder memory. This should now be solved in Patch Set 3.

BUG=issue1013, issue1112

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3177 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 12:23: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
4b97793f91 Ensure opus_demo has a targets block.
TBR=leozwang@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/933023

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3147 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-21 20:16:53 +00:00
cfcadab8d4 Build opus_demo
BUG=1082
TEST=trybots

With this cl we can build opus_demo.
Review URL: https://webrtc-codereview.appspot.com/936029

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3144 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-21 18:13:46 +00:00
5ac387c4d1 Allow NetEQ to use real packet durations.
This is a copy of http://review.webrtc.org/864014/

This adds a FuncDurationEst to each codec instance which estimates
the duration of a packet given the packet contents and the duration
of the previous packet. By default, this simply returns the
duration of the previous packet (which is what is currently assumed
to be the duration of all future packets). This patch also provides
an initial implementation of this function for G.711 which returns
the actual number of samples in the packet.

BUG=issue1015

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3129 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-19 08:02:55 +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
0ad3c1af0a Adding Opus stereo support to WebRTC
This CL adds support for sending and receiving stereo using the Opus codec.

BUG=issue1013

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3050 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-07 08:07:29 +00:00
a3ae6dc846 Remove opus include path from opus.gypi.
It's now exported by opus.gyp.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2997 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 17:51:09 +00:00
1f8c02a4de Getting Opus from Chrome
This CL replaces http://review.webrtc.org/921006/

BUG=issue982

TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2993 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 12:37:08 +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