213 Commits

Author SHA1 Message Date
fgalligan@google.com
a19b930b5b Update webrtc to fix unpack_lib expansion.
Add on fix for:https://webrtc-codereview.appspot.com/12789004/

*NOTE* This CL will break the Android bots as they are built in a
Chromium checkout, which will pull in old libvpx DEPS. They will
cycle to green when we roll libvpx into Chromium. We must do the
rolls in this order because we have to land webrtc and libvpx at
the same time into Chromium.

BUG=377062
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6482 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 19:20:45 +00:00
fgalligan@google.com
8f06a8aeb0 Update generated asm offsets scripts.
Libvpx updated the unpack scripts to fix building dependencies.

Roll libvpx 269083:278063
See https://codereview.chromium.org/295313002/
https://codereview.chromium.org/298063002/
https://codereview.chromium.org/305533008/
https://codereview.chromium.org/305703002/
https://codereview.chromium.org/298383003/
https://codereview.chromium.org/302863004/
https://codereview.chromium.org/320923003/
https://codereview.chromium.org/325313007/
https://codereview.chromium.org/346563002/
for the libvpx changes.

See https://codereview.chromium.org/313243004/
for the WebView changes.

*NOTE* This CL will break the Android bots as they are built in a
Chromium checkout, which will pull in old libvpx DEPS. They will
cycle to green when we roll libvpx into Chromium. We must do the
rolls in this order because we have to land webrtc and libvpx at
the same time into Chromium.

BUG=377062
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6481 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 17:38:08 +00:00
bjornv@webrtc.org
b947d954a5 Neon version of FilterAdaptation()
The performance gain on a Nexus 7 reported by audioproc is ~5.2%.

The output is bit exact.

Measured total of 15% speed gain on N7 compared to C.

R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6480 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-18 14:55:49 +00:00
turaj@webrtc.org
ec869bf781 Revert 6473 "Update generated asm offsets scripts."
The roll has not been successful. Reverted based on the request of the committer.

> Update generated asm offsets scripts.
> 
> Libvpx updated the unpack scripts to fix building dependencies.
> 
> Roll libvpx 269083:277778
> See https://codereview.chromium.org/295313002/
> https://codereview.chromium.org/298063002/
> https://codereview.chromium.org/305533008/
> https://codereview.chromium.org/305703002/
> https://codereview.chromium.org/298383003/
> https://codereview.chromium.org/302863004/
> https://codereview.chromium.org/320923003/
> https://codereview.chromium.org/325313007/
> for the libvpx changes.
> 
> See https://codereview.chromium.org/313243004/
> for the WebView changes.
> 
> *NOTE* This CL will break the Android bots as they are built in a
> Chromium checkout, which will pull in old libvpx DEPS. They will
> cycle to green when we roll libvpx into Chromium. We must do the
> rolls in this order because we have to land webrtc and libvpx at
> the same time into Chromium.
> 
> BUG=377062
> TBR=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/15809004

TBR=fgalligan@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6475 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 19:07:56 +00:00
fgalligan@google.com
32196decd6 Update generated asm offsets scripts.
Libvpx updated the unpack scripts to fix building dependencies.

Roll libvpx 269083:277778
See https://codereview.chromium.org/295313002/
https://codereview.chromium.org/298063002/
https://codereview.chromium.org/305533008/
https://codereview.chromium.org/305703002/
https://codereview.chromium.org/298383003/
https://codereview.chromium.org/302863004/
https://codereview.chromium.org/320923003/
https://codereview.chromium.org/325313007/
for the libvpx changes.

See https://codereview.chromium.org/313243004/
for the WebView changes.

*NOTE* This CL will break the Android bots as they are built in a
Chromium checkout, which will pull in old libvpx DEPS. They will
cycle to green when we roll libvpx into Chromium. We must do the
rolls in this order because we have to land webrtc and libvpx at
the same time into Chromium.

BUG=377062
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6473 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 17:55:23 +00:00
bjornv@webrtc.org
b099a6f9ab Adds aluebs@webrtc.org as owner to audio_processing
BUG=N/A
TESTED=trybots
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6445 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 10:30:58 +00:00
bjornv@webrtc.org
721f970cba common_audio: Removes macro WEBRTC_SPL_LSHIFT_U16
We should avoid macros in general (see style guide) and the shift ones are particular dangerous since they assume that the user apply a non-negative shift.

Related CL: https://webrtc-codereview.appspot.com/16669004

BUG=3348,3353
TESTED=trybots and manually on linux
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6444 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 10:30:14 +00:00
bjornv@webrtc.org
af6f02f7bd Neon version of OverdriveAndSuppress()
audioproc reports the average frame time going from 279us to 255us with the test data used.

the output does not match the c version, but the difference seen is +-1.

Performance gain on Nexus7: 8.8%

BUG=3131
TESTED=trybots and manually
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6433 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 14:50:23 +00:00
wu@webrtc.org
8e256eec4f Revert 6415 "Update generated asm offsets scripts."
> Update generated asm offsets scripts.
> 
> This is the same CL as https://webrtc-codereview.appspot.com/16629004/
> Relanding and TBR from previous lgtm.
> 
> Libvpx updated the unpack scripts to fix building dependencies.
> 
> Roll libvpx 269083:275816
> See https://codereview.chromium.org/295313002/
> https://codereview.chromium.org/298063002/
> https://codereview.chromium.org/305533008/
> https://codereview.chromium.org/305703002/
> https://codereview.chromium.org/298383003/
> https://codereview.chromium.org/302863004/
> https://codereview.chromium.org/320923003/
> for the libvpx changes.
> 
> See https://codereview.chromium.org/313243004/
> for the WebView changes.
> 
> *NOTE* This CL will break the Android bots as they are built in a
> Chromium checkout, which will pull in old libvpx DEPS. They will
> cycle to green when we roll libvpx into Chromium. We must do the
> rolls in this order becuase we have to land webrtc and libvpx at
> the same time into Chromium.
> 
> BUG=377062
> TBR=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/17689004

TBR=fgalligan@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6423 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 23:03:17 +00:00
fgalligan@google.com
27f062ae6f Update generated asm offsets scripts.
This is the same CL as https://webrtc-codereview.appspot.com/16629004/
Relanding and TBR from previous lgtm.

Libvpx updated the unpack scripts to fix building dependencies.

Roll libvpx 269083:275816
See https://codereview.chromium.org/295313002/
https://codereview.chromium.org/298063002/
https://codereview.chromium.org/305533008/
https://codereview.chromium.org/305703002/
https://codereview.chromium.org/298383003/
https://codereview.chromium.org/302863004/
https://codereview.chromium.org/320923003/
for the libvpx changes.

See https://codereview.chromium.org/313243004/
for the WebView changes.

*NOTE* This CL will break the Android bots as they are built in a
Chromium checkout, which will pull in old libvpx DEPS. They will
cycle to green when we roll libvpx into Chromium. We must do the
rolls in this order becuase we have to land webrtc and libvpx at
the same time into Chromium.

BUG=377062
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6415 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 14:59:28 +00:00
kjellander@webrtc.org
7e3d62d709 Revert 6411 "Revert 6407 "Revert 6405 "Update generated asm offs..."
Turns out the previous revert was based on invalid assumptions.
The libvpx in Chromium was reverted in 
http://chromegw.corp.google.com/viewvc/chrome?view=rev&revision=271259
which ends up with libvpx r269083. Therefore we should restore
that same libvpx revision for WebRTC, which this revert will do.

> Revert 6407 "Revert 6405 "Update generated asm offsets scripts.""
> 
> > Revert 6405 "Update generated asm offsets scripts."
> > 
> > TBR=fgalligan@google.com
> > BUG=N/A
> > 
> > Review URL: https://webrtc-codereview.appspot.com/20639004
> 
> TBR=henrike@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/15739004

TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6413 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 11:07:07 +00:00
minyue@webrtc.org
c01cc3d3a8 Revert 6407 "Revert 6405 "Update generated asm offsets scripts.""
> Revert 6405 "Update generated asm offsets scripts."
> 
> TBR=fgalligan@google.com
> BUG=N/A
> 
> Review URL: https://webrtc-codereview.appspot.com/20639004

TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6411 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 08:48:34 +00:00
henrike@webrtc.org
286cd7683c Revert 6405 "Update generated asm offsets scripts."
TBR=fgalligan@google.com
BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6407 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 00:38:32 +00:00
fgalligan@google.com
4aeb94186a Update generated asm offsets scripts.
Libvpx updated the unpack scripts to fix building dependencies.

Roll libvpx 269083:275816
See https://codereview.chromium.org/295313002/
https://codereview.chromium.org/298063002/
https://codereview.chromium.org/305533008/
https://codereview.chromium.org/305703002/
https://codereview.chromium.org/298383003/
https://codereview.chromium.org/302863004/
https://codereview.chromium.org/320923003/
for the libvpx changes.

See https://codereview.chromium.org/313243004/
for the WebView changes.

BUG=377062
R=andrew@webrtc.org, michaelbai@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6405 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 17:12:51 +00:00
bjornv@webrtc.org
18026abd82 common_audio/signal_processing: Removes macro WEBRTC_SPL_RSHIFT_U16
This macro is only used at a few places and implies a cast to uint16_t before right shifting. All places already use uint16_t. Further, the amount of shifts applied in the macro has no sanity check for negativity, makes the macro dangerous to use.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6393 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:53:20 +00:00
bjornv@webrtc.org
3f83072c26 modules/audio_processing: Adds a config for reported delays
There are platforms and devices where the reported delays are untrusted and we currently solve that with an extended filter length and a slightly more conservative delay handling.
With this change we give the user the possibility to turn off reported system delay values completely.

- Includes new unit tests.

TESTED=trybots and manual testing
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6391 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 04:48:11 +00:00
kwiberg@webrtc.org
12cd443752 Noise suppression: Change signature to work on floats instead of ints
Internally, it already worked on floats. This patch just changes the
signature of a bunch of functions so that floats can be passed
directly from the new and improved AudioBuffer without converting the
data to int and back again first.

(The reference data to the ApmTest.Process test had to be modified
slightly; this is because the noise suppressor comes immediately after
the echo canceller, which also works on floats. If I truncate to
integers between the two steps, ApmTest.Process doesn't complain, but
of course that's exactly the sort of thing the float conversion is
supposed to let us avoid...)

BUG=
R=aluebs@webrtc.org, bjornv@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6385 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 11:13:09 +00:00
bjornv@webrtc.org
ed7edb8e89 Enables DelayCorrection tests
The fix has been done elsewhere and the test pass.

BUG=3445
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6371 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 10:02:05 +00:00
bjornv@webrtc.org
cb0ea43e57 audio_processing: Forces extended filter to be used in splitting filter test.
The behavior differ between "normal" and "extended" modes when using AEC. In the extended filter mode nothing is processed until we have received a farend frame. This is exactly what is needed in this part of the splitting filter test.
On Android, we do not use the normal mode, which made the test to fail.

BUG=3445
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6368 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-09 08:21:52 +00:00
bjornv@webrtc.org
b51d3ea593 Revert 6341 "Fixes and enables SystemDelayTests."
> Fixes and enables SystemDelayTests.
> 
> The root cause for failure was that the delay handling of reported delays was bypassed on Android, whereas the tests assumes that part of AEC to be run.
> This CL checks if it is in use.
> 
> BUG=3445
> R=kwiberg@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/12689005

TBR=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6343 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 13:41:33 +00:00
bjornv@webrtc.org
1f971b5788 Fixes and enables SystemDelayTests.
The root cause for failure was that the delay handling of reported delays was bypassed on Android, whereas the tests assumes that part of AEC to be run.
This CL checks if it is in use.

BUG=3445
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6341 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 10:58:55 +00:00
bjornv@webrtc.org
aafd7a88c5 The correct fix of workaround in r6261.
The CL also includes same changes to filterbanks.c in iSAC fix and aecm_core_c.c

BUG=3370,3395,3439
TESTED=trybots
R=fdegans@chromium.org, glaznev@webrtc.org, kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6337 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 08:53:51 +00:00
bjornv@webrtc.org
147f4fe3c0 Disables SystemDelayTest.CorrectDelayDuringDrift on Android
Should have been part of https://webrtc-codereview.appspot.com/19629004/

BUG=3445
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6326 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 13:17:58 +00:00
bjornv@webrtc.org
b616e1211f Disables some modules_unittests on Android.
BUG=3445
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6325 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 12:12:58 +00:00
kwiberg@webrtc.org
8e4401b5a0 Reformat integer accessors to look like their float counterparts
The new format is at least as easy to read, and takes less space.

BUG=
R=aluebs@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6311 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 10:04:13 +00:00
kwiberg@webrtc.org
c0035a67a1 Remove an optimization that's no longer worth the extra complexity it causes
The data_ optimization was a way to operate on the data directly
instead of copying it, applicable in the mono, non-float case. Since a
few audio_processing steps are already using floats (with more
hopefully to come), we don't end up benefiting from the optimization
anyway, so we might as well remove it.

BUG=
R=aluebs@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6307 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 09:10:06 +00:00
bjornv@webrtc.org
2812b59acd Re-enables CommonFormats test for Android.
It seems like this was a one time only and not a flaky test.

BUG=3376
TESTED=trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6298 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 11:27:29 +00:00
sprang@webrtc.org
6e732c6765 Revert 6272 "Update generated asm offsets scripts."
Revert since it fails webrtc-in-chromium Android bots.

> Update generated asm offsets scripts.
>
> Libvpx updated the unpack scripts to fix building dependencies.
>
> Roll libvpx 269083:273304
> See https://codereview.chromium.org/295313002/
> https://codereview.chromium.org/298063002/
> https://codereview.chromium.org/305533008/
> https://codereview.chromium.org/305703002/
> https://codereview.chromium.org/298383003/
> https://codereview.chromium.org/302863004/
> for the libvpx changes.
>
> BUG=377062
> R=andrew@webrtc.org, michaelbai@chromium.org
>
> Review URL: https://webrtc-codereview.appspot.com/12579008

TBR=fgalligan@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6282 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 09:19:03 +00:00
fgalligan@google.com
2a8efa8971 Update generated asm offsets scripts.
Libvpx updated the unpack scripts to fix building dependencies.

Roll libvpx 269083:273304
See https://codereview.chromium.org/295313002/
https://codereview.chromium.org/298063002/
https://codereview.chromium.org/305533008/
https://codereview.chromium.org/305703002/
https://codereview.chromium.org/298383003/
https://codereview.chromium.org/302863004/
for the libvpx changes.

BUG=377062
R=andrew@webrtc.org, michaelbai@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6272 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 17:08:34 +00:00
kwiberg@webrtc.org
f15c14be22 Echo canceler: Saturate output to guarantee it'll be in the allowed range
r6138 (https://webrtc-codereview.appspot.com/18399005/) somewhat
ill-advisedly removed the saturation step at the end of
aec_core.c:NonLinearProcessing(); this patch restores it.

BUG=
R=andrew@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6263 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 11:47:08 +00:00
stefan@webrtc.org
be4ab99a53 Disabling RealFFTTest.RealAndComplexMatch and AudioProcessingTest.Formats as they currently are broken with gcc 4.8.
BUG=3370
R=bjornv@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6197 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 12:42:01 +00:00
michaelbai@google.com
725e582461 Use the new gyp_var_prefix local variable set by gyp instead of the
global GYP_VAR_PREFIX set by the makefiles, since the latter is not
guaranteed to still be the same value at the time the command is
executed. Also, use abspath instead of realpath to convert paths to
absolute, since realpath expands to the empty string if the target file
doesn't exist, complicating build debugging.

BUG=
R=andrew@webrtc.org, torne@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6186 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 17:56:10 +00:00
mflodman@webrtc.org
d5da25063c Revert "Revert "Audio processing: Feed each processing step its choice
of int or float data"

This reverts commit 6142.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6172 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 11:17:21 +00:00
andrew@webrtc.org
21299d4e00 Remove the use of AudioFrame::energy_ from AudioProcessing and VoE.
We want to remove energy_ entirely as we've seen that carrying around
this potentially invalid value is dangerous.

Results in the removal of AudioBuffer::is_muted(). This wasn't used in
practice any longer, after the level calculation moved directly to
channel.cc

Instead, now use ProcessMuted() in channel.cc, to shortcut the level
computation when the signal is muted.

BUG=3315
TESTED=Muting the channel in voe_cmd_test results in rms=127.
R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6159 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 19:00:59 +00:00
mflodman@webrtc.org
b1a66d166c Revert "Audio processing: Feed each processing step its choice of int or float data"
This reverts r6138.

tbr=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6142 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 09:39:56 +00:00
kwiberg@webrtc.org
934a265a47 Audio processing: Feed each processing step its choice of int or float data
Each audio processing step is given a pointer to an AudioBuffer, where
it can read and write int data. This patch adds corresponding
AudioBuffer methods to read and write float data; the buffer will
automatically convert the stored data between int and float as
necessary.

This patch also modifies the echo cancellation step to make use of the
new methods (it was already using floats internally; now it doesn't
have to convert from and to ints anymore).

(The reference data to the ApmTest.Process test had to be modified
slightly; this is because the echo canceller no longer unnecessarily
converts float data to int and then immediately back to float for each
iteration in the loop in EchoCancellationImpl::ProcessCaptureAudio.)

BUG=
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6138 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 09:01:35 +00:00
kwiberg@webrtc.org
924e81f797 Echo cancellation functions docs: Follow style guide w.r.t. placement of *
The style guide says to use "void* x", not void *x", and the code in
these files already do so, but the comments do not. Fix that.

Also, in the interest of reducing eye strain, I fixed the vertical
alignment in a small number of cases.

BUG=
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6101 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 09:55:19 +00:00
kwiberg@webrtc.org
4cc763621e AudioBuffer: Eliminate data_was_mixed_, and document what's left of data_
data_was_mixed_ was always false, so it can be removed. That makes the
role of data_ simpler, but not so simple that it doesn't merit an
explanation.

BUG=
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6076 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-08 07:10:11 +00:00
andrew@webrtc.org
382c0c209d Allow the RTP level indicator computation to work at any sample rate.
Break out the computation to a separate class, and call directly into
this from channel.cc rather than going through AudioProcessing. This
circumvents AudioProcessing's sample rate limitations.

We now compute the RMS over all samples rather than downmixing to a
single channel. This makes the call point in channel.cc easier, is
more "correct" and should have similar (negligible) complexity.

This caused slight changes in the RMS output, so the ApmTest.Process
reference has been updated. Snippet of the failing output:

[ RUN      ] ApmTest.Process
Running test 4 of 12...
Value of: rms_level
  Actual: 27
Expected: test->rms_level()
Which is: 28
Running test 5 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 6 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 10 of 12...
Value of: rms_level
  Actual: 27
Expected: test->rms_level()
Which is: 28
Running test 11 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27
Running test 12 of 12...
Value of: rms_level
  Actual: 26
Expected: test->rms_level()
Which is: 27

BUG=3290
TESTED=Chrome assert is avoided and both voe_cmd_test and apprtc
produce reasonable printed out results from RMS().

R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6056 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 18:22:21 +00:00
andrew@webrtc.org
e44a84d851 Only clamp to 16 kHz when AECM is enabled.
Otherwise we could needlessly downsample to 16 kHz (rather than 32 kHz)
when HW AEC is used.

BUG=3259
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6033 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-30 18:58:23 +00:00
andrew@webrtc.org
65f933899b Fix constness of AudioBuffer accessors.
Don't return non-const pointers from const accessors and deal with the
spillover. Provide overloaded versions as needed.

Inspired by kwiberg:
https://webrtc-codereview.appspot.com/12379005/

R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6030 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-30 16:44:13 +00:00
henrike@webrtc.org
f2aafe4355 Added include of assert.h for files calling assert but missing the include.
BUG=N/A
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6022 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 17:54:17 +00:00
bjornv@webrtc.org
059488f2ea AEC: Startup phase only runs if reported_delay_enabled
TESTED=trybots, modules_unittests
R=aluebs@webrtc.org, andrew@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6005 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 08:09:26 +00:00
fischman@webrtc.org
82a045aae0 APM: limit native sample rate to 16kHz on mobile.
Required by AECM which assert-fails on higher sample rates.

BUG=3259
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6002 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 17:26:32 +00:00
michaelbai@google.com
497ff21fad Using realpath instead of android_src in Android webview
BUG=367235
R=andrew@webrtc.org, torne@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6000 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 15:46:46 +00:00
bjornv@webrtc.org
494aa0e93d AEC: Moved delay buffer size enums from aec_core.h to aec_core_internal.h
These enums are noly used internally in aec_core.c and it makes more sense to put them in aec_core_internal.h

TESTED=trybots
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5995 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 11:42:27 +00:00
andrew@webrtc.org
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
andrew@webrtc.org
103657b484 Add keyboard channel support to AudioBuffer.
Also use local aliases for AudioBuffers for brevity.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5973 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 18:28:56 +00:00
andrew@webrtc.org
f26c9e8369 Use unique filenames in AudioProcessingTests for parallelization.
TBR=bjornv
TESTED="gtest-parallel -w 32 --gtest_filter=*AudioProcessingTests*
out/Debug/modules_unittests" passes.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5968 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 03:46:46 +00:00
bjornv@webrtc.org
e9d3760d5c AEC: Adds a reported_delay_enabled_ flag
Adds a feature to completely turn on or off buffer handling based on reported delay values. During startup, reported delays are controlled differently through, e.g., WEBRTC_UNTRUSTED_DELAY. By default, the feature is enabled giving the same output as before this change.

TESTED=trybots, modules_unittest
R=aluebs@webrtc.org, andrew@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5965 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-23 13:20:07 +00:00