673 Commits

Author SHA1 Message Date
peah
8d2ade65b1 Reland of Added a bitexactness test for the echo control mobile in the audio processing module
The reverted CL https://codereview.webrtc.org/1805373002/ was reverted due to an error in another CL.

BUG=webrtc:5663
TBR=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1822653005

Cr-Commit-Position: refs/heads/master@{#12090}
2016-03-22 18:05:17 +00:00
minyue
6a85d3450c Fixing UpdateLevel function in AEC.
From an earlier CL, we start to feed UpdateLevel() with power instead of energy. I found that UpdateLevel() is still taking the input as energy and normalize it. This CL fixes this.

The earlier CL is
https://codereview.webrtc.org/1542573002/

BUG=

Review URL: https://codereview.webrtc.org/1810773003

Cr-Commit-Position: refs/heads/master@{#12084}
2016-03-22 09:15:01 +00:00
peah
f26f98b29c Revert of Added a bitexactness test for the echo canceller in the audio processing module. (patchset #3 id:60001 of https://codereview.webrtc.org/1809613002/ )
Reason for revert:
The tests in the CL are failing on the bots in the Webrtc Waterfall (allthough they did not fail on the commit bots). I will therefore revise and reland the test.

Original issue's description:
> Added a bitexactness test for the echo canceller in the audio processing module.
>
> BUG=webrtc:5337
>
> Committed: https://crrev.com/7c448e1a384224aa16a21715e83574f3f553b730
> Cr-Commit-Position: refs/heads/master@{#12068}

TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1824583003

Cr-Commit-Position: refs/heads/master@{#12072}
2016-03-21 09:35:25 +00:00
peah
b60be20957 Revert of Added a bitexactness test for the echo control mobile in the audio processing module (patchset #3 id:60001 of https://codereview.webrtc.org/1805373002/ )
Reason for revert:
This needs to be reverted as a previous CL which needs to be reverted causes a merge clash with this CL.

Original issue's description:
> Added a bitexactness test for the echo control mobile in the audio processing module
>
> BUG=webrtc:5663
>
> Committed: https://crrev.com/105831ef4a38ac49e5e2c1ce207884da0a26c773
> Cr-Commit-Position: refs/heads/master@{#12069}

TBR=henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5663

Review URL: https://codereview.webrtc.org/1819803002

Cr-Commit-Position: refs/heads/master@{#12071}
2016-03-21 09:34:17 +00:00
peah
105831ef4a Added a bitexactness test for the echo control mobile in the audio processing module
BUG=webrtc:5663

Review URL: https://codereview.webrtc.org/1805373002

Cr-Commit-Position: refs/heads/master@{#12069}
2016-03-21 08:10:25 +00:00
peah
7c448e1a38 Added a bitexactness test for the echo canceller in the audio processing module.
BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1809613002

Cr-Commit-Position: refs/heads/master@{#12068}
2016-03-21 00:22:27 +00:00
peah
bdbceeffe8 Added a bitexactness test for the voice activity detector in the audio processing module.
BUG=webrtc:5340

Review URL: https://codereview.webrtc.org/1804373002

Cr-Commit-Position: refs/heads/master@{#12066}
2016-03-20 16:53:39 +00:00
peah
19b7b665cc Added a bitexactness test for the level estimator in the audio
processing module.

BUG=webrtc:5338

Review URL: https://codereview.webrtc.org/1811443002

Cr-Commit-Position: refs/heads/master@{#12064}
2016-03-20 15:36:36 +00:00
peah
5585001e5d Added a bitexactness test for the noise suppressor.
This CL also extracts part of the functionality used
in the bitexactness test for the high-pass filter into
a separate file in order to be able to reuse that
functionality in bitexactness tests for the other
submodules in APM (including the bitexactness test for
the noise suppressor).

BUG=wertc:5336

Review URL: https://codereview.webrtc.org/1783203002

Cr-Commit-Position: refs/heads/master@{#12061}
2016-03-20 01:01:17 +00:00
aluebs
b031955770 Deprecate AudioProcessing::AnalyzeReverseStream(AudioFrame) API
Review URL: https://codereview.webrtc.org/1783693005

Cr-Commit-Position: refs/heads/master@{#12045}
2016-03-18 03:39:57 +00:00
aluebs
da116c4c37 Use ProcessReverseStream in VoiceEngines OutputMixer
Review URL: https://codereview.webrtc.org/1776363002

Cr-Commit-Position: refs/heads/master@{#12044}
2016-03-17 23:43:35 +00:00
kjellander@webrtc.org
94a23f04af Reland "Add check_deps rules in DEPS files."
Relanding https://codereview.webrtc.org/1796413002/
without the change to the openmax_dl include path
(which broke downstream code).

TBR=tommi@webrtc.org
BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

Review URL: https://codereview.webrtc.org/1804333002 .

Cr-Commit-Position: refs/heads/master@{#12031}
2016-03-17 11:05:50 +00:00
minyue
0de1c1374c Adding DebugDumpReplayer.
It would be good to have a dedicated DebugDumpReplayer. There is one but it hides itself in DebugDumpTest.

This CL is to separate it out.

BUG=

Review URL: https://codereview.webrtc.org/1810463002

Cr-Commit-Position: refs/heads/master@{#12029}
2016-03-17 09:39:37 +00:00
aluebs
df6416aa50 Dont always downsample to 16kHz in the reverse stream in APM
TBR=tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/1773173002

Cr-Commit-Position: refs/heads/master@{#12024}
2016-03-17 01:26:42 +00:00
kjellander
56cf60e717 Revert of Add check_deps rules in DEPS files. (patchset #2 id:60001 of https://codereview.webrtc.org/1796413002/ )
Reason for revert:
The openmax_dl include change breaks downstream projects.

Original issue's description:
> Add check_deps rules in DEPS files.
>
> Add fine-grained check_deps rules for all of WebRTC.
> This will help both maintaining sane dependencies and provides a way
> to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.
>
> Example:
> buildtools/checkdeps/graphdeps.py --root=. --format=png \
> --out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
> --excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'
>
> will produce a neat webrtc.png image showcasing the dependencies
> (according to the DEPS file) for the bitrate_controller module.
> Some dependencies are filtered out for readability.
>
> BUG=webrtc:5623
> TESTED=Passing runs using:
> buildtools/checkdeps/checkdeps.py --root=. talk
> buildtools/checkdeps/checkdeps.py --root=. webrtc
>
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/086f851b7b9b4bcbd4fe507c3bf83b760bd7f4d9
> Cr-Commit-Position: refs/heads/master@{#12008}

TBR=tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5623

Review URL: https://codereview.webrtc.org/1808573002

Cr-Commit-Position: refs/heads/master@{#12009}
2016-03-16 00:41:04 +00:00
kjellander@webrtc.org
086f851b7b Add check_deps rules in DEPS files.
Add fine-grained check_deps rules for all of WebRTC.
This will help both maintaining sane dependencies and provides a way
to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.

Example:
buildtools/checkdeps/graphdeps.py --root=. --format=png \
--out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
--excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'

will produce a neat webrtc.png image showcasing the dependencies
(according to the DEPS file) for the bitrate_controller module.
Some dependencies are filtered out for readability.

BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1796413002 .

Cr-Commit-Position: refs/heads/master@{#12008}
2016-03-16 00:22:53 +00:00
aluebs
776593b139 Reland: Drop the 16kHz sample rate restriction on AECM and zero out higher bands
Landed originally here: https://codereview.webrtc.org/1774553002/
Revertede here: https://codereview.webrtc.org/1781893002/

TBR=solenberg@webrtc.org, tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/1777093004

Cr-Commit-Position: refs/heads/master@{#12005}
2016-03-15 21:05:05 +00:00
peah
b58a158fce Removed the AudioProcessing dependency in EchoCancellerImpl.
This CL removes the dependency of AudioProcessing in
EchoCancellerImpl. It is breaking the public APM API by
having a different error code behavior so please review it
carefully. I made a comment about the API breaking change
in the code section of this CL.

BUG=webrtc:5337

Review URL: https://codereview.webrtc.org/1770823002

Cr-Commit-Position: refs/heads/master@{#11998}
2016-03-15 16:34:28 +00:00
peah
253534d1bd Removed the dependency on AudioProcessingImpl in EchoControlMobileImpl
BUG=webrtc:5351

Review URL: https://codereview.webrtc.org/1803433003

Cr-Commit-Position: refs/heads/master@{#11995}
2016-03-15 11:32:37 +00:00
peah
b8fbb54291 Removed the dependency on AudioProcessingImpl in GainControlImpl
BUG=webrtc:5353

Review URL: https://codereview.webrtc.org/1801003002

Cr-Commit-Position: refs/heads/master@{#11994}
2016-03-15 09:28:12 +00:00
Tommi
d44c077dce Revert of Safe numeric library: base/numerics (copied from Chromium) (patchset #11 id:250001 of https://codereview.webrtc.org/1753293002/ )
Reason for revert:
Looks like the Chrome iOS build is broken because of these two changes.  So I'm going to have to revert.  Here's the error:

https://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/185624/steps/compile/logs/stdio

FAILED: rm -f arch/libsafe_numerics.arm64.a && ./gyp-mac-tool filter-libtool libtool  -static -o arch/libsafe_numerics.arm64.a
error: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: no files specified
Usage: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] [-no_warning_for_no_symbols]
Usage: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]
FAILED: rm -f arch/libsafe_numerics.armv7.a && ./gyp-mac-tool filter-libtool libtool  -static -o arch/libsafe_numerics.armv7.a
error: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: no files specified
Usage: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] [-no_warning_for_no_symbols]
Usage: /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]
ninja: build stopped: subcommand failed.

Original issue's description:
> Safe numeric library added: base/numerics (copied from Chromium)
>
> This copies the contents (unittest excluded) of base/numerics in
> chromium to base/numerics in webrtc. Files added:
> - safe_conversions.h
> - safe_conversions_impl.h
> - safe_math.h
> - safe_math_impl.h
>
> A really old version of safe_conversions[_impl].h previously existed in
> base/, this has been deleted and sources using it have been updated
> to include the new base/numerics/safe_converions.h.
>
> This CL also adds a DEPS file to webrtc/base.
>
> NOPRESUBMIT=True
> BUG=webrtc:5548, webrtc:5623
>
> Committed: https://crrev.com/de1c81b2d2196be611674aa6019b9db3a9329042
> Cr-Commit-Position: refs/heads/master@{#11907}

TBR=kjellander@webrtc.org,kwiberg@webrtc.org,tina.legrand@webrtc.org,hbos@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5548, webrtc:5623

Review URL: https://codereview.webrtc.org/1792613002 .

Cr-Commit-Position: refs/heads/master@{#11965}
2016-03-12 01:12:40 +00:00
peah
737f4b8d12 Removed the ProcessingComponent class
BUG=

Review URL: https://codereview.webrtc.org/1772553002

Cr-Commit-Position: refs/heads/master@{#11950}
2016-03-11 07:05:37 +00:00
peah
bfa971198d Removed the dependency in GainControlImpl on the ProcessingComponent class
BUG=webrtc:5353

Review URL: https://codereview.webrtc.org/1768943002

Cr-Commit-Position: refs/heads/master@{#11949}
2016-03-11 05:09:11 +00:00
peah
bb9edbd048 Removing dependency of the EchoControlMobileImpl class on ProcessingComponent.
BUG=webrtc:5351

Review URL: https://codereview.webrtc.org/1772453002

Cr-Commit-Position: refs/heads/master@{#11945}
2016-03-10 20:56:50 +00:00
perkj
dfc2870380 Revert of Drop the 16kHz sample rate restriction on AECM and zero out higher bands (patchset #3 id:40001 of https://codereview.webrtc.org/1774553002/ )
Reason for revert:
Breaks Android it looks like.
See your own try jobs and
https://build.chromium.org/p/client.webrtc/builders/Android32%20Tests%20%28L%...

Original issue's description:
> Drop the 16kHz sample rate restriction on AECM and zero out higher bands
>
> The restriction has been removed completely and AECM now supports any
> number of higher bands. But this has been achieved by always zeroing out the
> higher bands, instead of applying a constant gain which is the average over half
> of the lower band (like it is done for the AEC), because that would be
> non-trivial to implement and we don't want to spend too much time on AECM, since
> we want to get rid of it in the long term anyway.
>
> R=peah@webrtc.org, solenberg@webrtc.org, tina.legrand@webrtc.org
>
> Committed: https://crrev.com/f687d53aabee0523ce6e9e0636163af8df120e41
> Cr-Commit-Position: refs/heads/master@{#11931}

TBR=peah@webrtc.org,turaj@webrtc.org,tina.legrand@webrtc.org,solenberg@webrtc.org,aluebs@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.webrtc.org/1781893002

Cr-Commit-Position: refs/heads/master@{#11932}
2016-03-10 00:23:32 +00:00
Alex Luebs
f687d53aab Drop the 16kHz sample rate restriction on AECM and zero out higher bands
The restriction has been removed completely and AECM now supports any
number of higher bands. But this has been achieved by always zeroing out the
higher bands, instead of applying a constant gain which is the average over half
of the lower band (like it is done for the AEC), because that would be
non-trivial to implement and we don't want to spend too much time on AECM, since
we want to get rid of it in the long term anyway.

R=peah@webrtc.org, solenberg@webrtc.org, tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/1774553002 .

Cr-Commit-Position: refs/heads/master@{#11931}
2016-03-09 15:38:09 +00:00
Alex Luebs
57ae82929a Convert IntelligibilityEnhancer to multi-threaded mode
BUG=581029
R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org

Review URL: https://codereview.webrtc.org/1766383002 .

Cr-Commit-Position: refs/heads/master@{#11929}
2016-03-09 15:24:41 +00:00
Alex Luebs
5b830fed07 Drop the restriction on same forward and reverse sample rate on the AudioFrame interface of the APM
R=peah@webrtc.org

Review URL: https://codereview.webrtc.org/1766233003 .

Cr-Commit-Position: refs/heads/master@{#11913}
2016-03-08 17:00:08 +00:00
hbos
de1c81b2d2 Safe numeric library added: base/numerics (copied from Chromium)
This copies the contents (unittest excluded) of base/numerics in
chromium to base/numerics in webrtc. Files added:
- safe_conversions.h
- safe_conversions_impl.h
- safe_math.h
- safe_math_impl.h

A really old version of safe_conversions[_impl].h previously existed in
base/, this has been deleted and sources using it have been updated
to include the new base/numerics/safe_converions.h.

This CL also adds a DEPS file to webrtc/base.

NOPRESUBMIT=True
BUG=webrtc:5548, webrtc:5623

Review URL: https://codereview.webrtc.org/1753293002

Cr-Commit-Position: refs/heads/master@{#11907}
2016-03-08 12:46:07 +00:00
aluebs
4c279b852c Drop 48kHz sample rate support in the APM for ARM architecture
The 3-band splitting filter is highly complex on this architecture. Today this is not a problem, because on those platforms we mostly use AECM which forces us to downsample to 16kHz anyway, but this is a way of guarding against it. In the long term we want to optimize the 3-band splitting filter for ARM architectures, but for now we can just disable it.

Review URL: https://codereview.webrtc.org/1766103002

Cr-Commit-Position: refs/heads/master@{#11900}
2016-03-08 09:48:25 +00:00
peah
4510bbd5fc Minor cleaning up of the EchoCancellationImpl code
BUG=

Review URL: https://codereview.webrtc.org/1767043002

Cr-Commit-Position: refs/heads/master@{#11899}
2016-03-08 06:50:21 +00:00
peah
6ebc4d3f7d Changed name for the upcoming AEC from NextGenerationAec to AEC3.
BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1763703002

Cr-Commit-Position: refs/heads/master@{#11895}
2016-03-08 00:59:43 +00:00
asapersson
a2c58e2198 Switch to use new implementation in metrics.h for gathering statistics.
Sparse macro replaced for all audio histograms that have a constant name.

BUG=webrtc:5283

Review URL: https://codereview.webrtc.org/1762863003

Cr-Commit-Position: refs/heads/master@{#11885}
2016-03-07 09:53:08 +00:00
peah
50e21bd40b This CL introduces namespaces in the aec c++ files
(the ones that were recently moved from c)

There are many files changed but most changes just
consist of adding namespaces.

In aec_common.h an C++-specific #ifdef needed to be added as
that file is both included from C and C++. I could see no
way around that but please let me know if there is a better
way around that.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1766663002

Cr-Commit-Position: refs/heads/master@{#11883}
2016-03-05 16:39:30 +00:00
peah
b624d8c852 Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
BUG=webrtc:5352

Committed: https://crrev.com/3af0a009f8a7f2dfb630a4f4730044cbbd95bee8
Cr-Commit-Position: refs/heads/master@{#11876}

Review URL: https://codereview.webrtc.org/1761813002

Cr-Commit-Position: refs/heads/master@{#11881}
2016-03-05 11:01:22 +00:00
solenberg
92586f08e5 Revert of Removed the inheritance from ProcessingComponent for EchoCancellerImpl. (patchset #4 id:60001 of https://codereview.webrtc.org/1761813002/ )
Reason for revert:
Breaks all bots, e.g. https://uberchromegw.corp.google.com/i/client.webrtc/builders/Android32%20Builder/builds/6356/steps/compile/logs/stdio

Looks like a missing rebase before landing. Resolve and try again.

Original issue's description:
> Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
>
> BUG=webrtc:5352
>
> Committed: https://crrev.com/3af0a009f8a7f2dfb630a4f4730044cbbd95bee8
> Cr-Commit-Position: refs/heads/master@{#11876}

TBR=solenberg@webrtc.org,peah@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5352

Review URL: https://codereview.webrtc.org/1764293002

Cr-Commit-Position: refs/heads/master@{#11877}
2016-03-04 20:29:08 +00:00
peah
3af0a009f8 Removed the inheritance from ProcessingComponent for EchoCancellerImpl.
BUG=webrtc:5352

Review URL: https://codereview.webrtc.org/1761813002

Cr-Commit-Position: refs/heads/master@{#11876}
2016-03-04 20:13:38 +00:00
peah
20028c49c9 Removing the use of the soon-to-be-removed echo_cancellation_impl
api function that directly returns aec_core.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1695743004

Cr-Commit-Position: refs/heads/master@{#11875}
2016-03-04 19:51:03 +00:00
peah
88950cfbf9 Moved the file aec_resampler.c to be built using C++.
The steps involved were:
1) Change file name to .cc from .c.
2) Update the build files accordingly.
3) Remove the extern header file inclusion.
4) Change the casts in aec_resampler.cc to static_cast
   and reinterpret_cast.

The changes are bitexact.

The CL will be followed with another CL where a proper (webrtc) namespace is introduced. The reason for not having it in this CL is that this was missed in the corresponding
CL that did the above for aec_core.c, ..., and if the
namespaces in all the aec_core -related files can be changed
at the same time that will simplify things.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1754223004

Cr-Commit-Position: refs/heads/master@{#11867}
2016-03-04 08:12:43 +00:00
peah
0197363d18 A bitexactness test for the highpass filter in the
audio processing module.

The test also adds a new helper class called
VectorBasedAudioFrame that is intended to be
reused for the bitexactness tests for the other
submodules.

BUG=webrtc:1091

Review URL: https://codereview.webrtc.org/1510493004

Cr-Commit-Position: refs/heads/master@{#11864}
2016-03-03 19:21:55 +00:00
peah
fc4ff2d92c Fixed Aec handle index in EchoCancellationImpl
that was not updated as it should.

The bug caused no negative impact at all apart
from a missed check that the Aec handles above
index 0 were not null. That check is, however,
done elsewhere so there was no negative impact
of this bug.

BUG=

Review URL: https://codereview.webrtc.org/1716203002

Cr-Commit-Position: refs/heads/master@{#11863}
2016-03-03 19:20:32 +00:00
aluebs
a2abdf2fbe Remove usage of fmaf in IntelligibilityEnhancer
This produces bit-exact output and doesn't have the performance sensitivity to vectorisation, giving a complexity decrease of the IntelligibilityEnhancer of about 30x in my local machine.
This performance issue was put in evidence by this CL: https://codereview.webrtc.org/1693823004/

BUG=590998

Review URL: https://codereview.webrtc.org/1755943002

Cr-Commit-Position: refs/heads/master@{#11851}
2016-03-03 02:36:55 +00:00
minyue
7b19b08c18 Reland "Calculating ERLE in AEC more properly."
The original CL (https://codereview.webrtc.org/1644133002/) had an error in the unittest and did not get landed. This CL is to reland it,

BUG=

Review URL: https://codereview.webrtc.org/1743223002

Cr-Commit-Position: refs/heads/master@{#11844}
2016-03-02 14:56:56 +00:00
minyuel
c9bbbe454f Revert "Calculating ERLE in AEC more properly."
This reverts commit 944744b25c76810e576516d2f676b1d9105e302f.

NOTRY=True
TBR=peah@webrtc.org,kjellander@webrtc.org

Review URL: https://codereview.webrtc.org/1747883002 .

Cr-Commit-Position: refs/heads/master@{#11817}
2016-02-29 14:20:54 +00:00
minyuel
944744b25c Calculating ERLE in AEC more properly.
The audio level of the AEC's output level was calculated before overlapping add, and therefore, a compensation was needed. The compensation is multiplying the level by 2 since, before overlapping add, the level is roughly halved due to windowing.

This had to be that way because the level was calculated in frequency domain and the signal after overlapping add has only its time domain representation.

The level calculation has been updated to work on time domain signal and therefore the problem is not there any longer.

This CL is to put the calculation of the AEC output level after overlapping add and remove the compensation.

BUG=
R=peah@webrtc.org

Review URL: https://codereview.webrtc.org/1644133002 .

Cr-Commit-Position: refs/heads/master@{#11810}
2016-02-29 12:09:07 +00:00
aluebs
0a00759780 Fix the stereo support in IntelligibilityEnhancer
Review URL: https://codereview.webrtc.org/1729753003

Cr-Commit-Position: refs/heads/master@{#11795}
2016-02-27 01:17:44 +00:00
Peter Boström
0e40f7cf87 Remove incorrect reinterpret_cast from const.
Code still compiles in Chromium with a proper const float* variable so
it is expected to address the issue.

BUG=chromium:589951
TBR=peah@webrtc.org

Review URL: https://codereview.webrtc.org/1739893004 .

Cr-Commit-Position: refs/heads/master@{#11772}
2016-02-25 21:37:00 +00:00
aluebs
f99af6b885 Fix the gain calculation in IntelligibilityEnhancer
Review URL: https://codereview.webrtc.org/1718793002

Cr-Commit-Position: refs/heads/master@{#11755}
2016-02-25 01:25:50 +00:00
kwiberg
c2b785df5d Replace scoped_ptr with unique_ptr in webrtc/common_audio/
(This is a re-land---without the real_fourier.h changes---of 11716, which was reverted in 11726.)

BUG=webrtc:5520

Review URL: https://codereview.webrtc.org/1731153002

Cr-Commit-Position: refs/heads/master@{#11742}
2016-02-24 13:22:40 +00:00
peah
8df5d4f15b Moved the AEC C code to be built using C++.
In order for the change to be reviewable, the
move was made into two steps consisting of the
first two patches in this CL.

Step 1 (patch set 1):
-Changed file types to use .cc
-Changed buildfiles to use the new files
-Changed C code inclusion to properly match the changed
 file formats (removed and added extern "C" declarations).
-Changed implicit void-> nonvoid casts that are
 illegal in C++ to be explicit.

Step 2 (patch set 2):
-Changed all the warnings reported when uploading the CL.
-The warnings about formatting of the assembly optimized
 code were not addressed though.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1713923002

Cr-Commit-Position: refs/heads/master@{#11727}
2016-02-23 22:35:03 +00:00