Commit Graph

59 Commits

Author SHA1 Message Date
aaad6134b9 Implementing stereo support for G.722
This CL implements stereo support for G.722 through a new class
AudioDecoderG722Stereo derived from AudioDecoderG722.

Also implementing tests for G.722 stereo.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3452 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 11:49:28 +00:00
763faeab4e Removing a codec from NetEq database has a bug. |funcDurationEst| is not updated.
This is discovered during a test for controlling delay. It is not simple to reproduce it. 

Bug=
test=manual test verified that |functionDurationEst| is correctly updated.
Review URL: https://webrtc-codereview.appspot.com/1074013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3448 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 18:21:58 +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
6e3968f62a Fix NetEq4 unit tests for VS2012
This merges the changes from r3199.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3443 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 15:07:30 +00:00
73deaadd0e Removing a hack for CNG
However, two other "hacks" had to be added to maintain bit-exactness
with legacy.

Note that this change requires a new version of the universal.rtp test
input, although the output reference stays the same.

Moving reference files, and using a new input vector for NetEq4.
The new input vector neteq_universal_new.rtp is identical to the old
neteq_universal.rtp, except that the payload type for CNG packets that
follows a wideband codec is changed to 98.

Update to resources revision 15 where the new reference files are.

Also changing a faulty log error.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3442 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 13:32:51 +00:00
ac59dba3f7 Adding iSAC-fb support
Adding tests, too.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3440 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 09:55:24 +00:00
51f11eb5ae Fixing problems in audio_decoder_unittests
The tests did not work in Release mode because of the asserts.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3435 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 13:00:33 +00:00
ddf981c789 Disable iSAC fix test in audio_decoder_unittests
The test AudioDecoderIsacFixTest.EncodeDecode was disabled since it
triggers a valgrind warning. The issue is tracked in
https://code.google.com/p/webrtc/issues/detail?id=1353

BUG=1353

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3434 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 12:29:48 +00:00
4892448c74 Re-enabling NetEqDecodingTest.TestBitExactness and .TestNetworkStatistics
This will fail on the asan bots, but that will be handled separately.

TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3433 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 09:57:33 +00:00
63464a9354 Enabling unit tests for NetEq4 in the bots
The unit tests for NetEq4 are made a part of audio_coding_unittests.

The bit-exactness tests are disabled due to problems in iLBC. See
https://code.google.com/p/webrtc/issues/detail?id=281.

A few smaller fixes for valgrind errors and bot failures are included.
Some of the fixes are adpted from
http://webrtc-codereview.appspot.com/1072008/.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3432 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 09:41:56 +00:00
e1d468c019 Fix a few small nits in NetEq4
TEST=try bots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3431 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 07:37:20 +00:00
c21988f423 Remove codereview.settings
This file was included by mistake.

TBR=turajs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3430 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 21:37:25 +00:00
d94659dc27 Initial upload of NetEq4
This is the first public upload of the new NetEq, version 4.

It has been through extensive internal review during the course of
the project.

TEST=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3425 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 12:09:21 +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
cd2f1356ee Revert 3405
TBR=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1074004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3407 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 22:05:30 +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
05e7bfeeea Mainly hlundin's patch.
Review URL: https://webrtc-codereview.appspot.com/1052004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3405 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-24 18:53:43 +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
b8ba4d8109 Add number of inserted samples to NetEq statistics.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3289 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-14 00:06:18 +00:00
c454fab03b Reformatting ACM. All changes are bit-exact in this CL.
TEST=VoE auto-test, audio_coding_module_test; 

only 15 ms of teststereo_out_1.pcm is not bit-exact with output file of the head revision
Review URL: https://webrtc-codereview.appspot.com/937035

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3287 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-13 22:46:43 +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
b718619f0a Expose NetEq playout mode off through VoiceEngine.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3272 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-12 21:59:14 +00:00
36965b1803 Bug fix for iSAC fixed-point. The bug was the result of changes in iSAC floating-point to add 48 kHz extension.
TBR=tlegrand@google.com

TEST=voe_cmd_test, ACM unittest.
Review URL: https://webrtc-codereview.appspot.com/974011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3256 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-10 23:52:43 +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
75f8c78d08 Fixing path to ptypes.txt in NetEqRTPplay
The default path to the file ptypes.txt needed by NetEqRTPplay
had gone old. Updating to new repo layout.

Also purging old payload types from the file itself.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3243 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-06 15:22:00 +00:00
226db898f7 Dual-stream implementation, not including VoE APIs.
Review URL: https://webrtc-codereview.appspot.com/933015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3230 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 22:13:31 +00:00
277ec8e3f5 Fix a bug when iSAC-48kHz was added.
I discovered this by running extended VoE test on "Codecs."

TBR=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/973010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3229 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 21:16:23 +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
5b4fe494e7 Changing default bitrate to 64000 bps for Opus.
Default settings for Opus in WebRtc is stereo, but we had default rate to 32 kbps. This is too low for stereo, where we need to encode using 64 kbps to get the quality we like.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3223 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-03 12:08:53 +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
8552c71290 Fixing neteq_unittests for VS 2012
For Visual Studio versions older than 2012, we are using a
separate reference output file for windows. (All other platforms
share the same generic reference file.) In VS 2012, the output
matches the generic reference, and not the platform-specific one.

Since, the ResourcePath() method cannot change behavior depending
on compiler version, this fix will short-cut ResourcePath() for
VS 2012 or newer (_MSC_VER >= 1700).

Also made NetEqDecodingTest.TestBitExactnes stop on the first diff.
Once there is a difference, the output is no longer bit-exact, and
the test should be declared a failure.

BUG=
TEST=neteq_unittests on VS2012, try bots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3199 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 12:03:18 +00:00
f826bb6fb2 Fixing a bug related to RCU in NetEQ
RCU was disabled due to that the RCU flag was overwritten with zero
in the packet buffer.

BUG=1156
TEST=trybots, neteq_unittests, audio_coding_module_test, audio_coding_unittests

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3193 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 07:32:38 +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
5ba3decc94 Ensures that we can build using VS 2012 on Windows.
See more details at https://code.google.com/p/webrtc/issues/detail?id=1146&

TBR=Niklas
BUG=1146

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3162 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 09:12:02 +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