Commit Graph

117 Commits

Author SHA1 Message Date
d335094852 Init to 16 kHz in the fixed-point profile.
Fixes modules_unittests for fixed-point builds (Android).

TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5349 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 18:57:10 +00:00
b6541ca3a1 Ensure capture_levels_ is sized correctly at init time.
Fixes failing voe_auto_test and audioproc_perf.

TBR=bjornv

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

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

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

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:45:09 +00:00
a89d17d5b7 Delay Estimator: robust_validation should be stored over a reset
BUG=None
TESTED=modules_unittests, trybots
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5337 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-02 07:07:04 +00:00
f8be8df33a audio_processing_unittest: unbreak clang compilation.
BUG=2735
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5313 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-17 23:46:39 +00:00
1e7d61270c Simplification of histogram normalization in delay estimator.
- Replaces a for loop with a single element update to save complexity. No regression in performance seen on set of recordings.
- Removes UpdatesMadeUponChange() and put code straight into ProcessBinarySpectrum().

BUG=None
TESTED=module_unittest, trybots, verified manually on set of recordings.
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5298 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 13:37:28 +00:00
5c64508b03 Adds robust validation functionality to the delay estimator
Evaluated over a 51 recordings:
False positives went from 4.4% to 0.7%
Missed detections unchanged at 0.8%
No increase in complexity, but need to re-evaluate that.

TESTED=trybots, unittests, verified against Matlab implementation
BUG=None
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5296 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 10:57:53 +00:00
917306d3fd Change uses of the obsolete armv7 setting to arm_version==7.
BUG=http://crbug.com/234135
R=andrew@webrtc.org, fischman@webrtc.org, kjellander@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-10 09:26:07 +00:00
8d0ca7f5d2 Add new method to MockAudioProcessing.
TBR=henrikg

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5241 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06 17:52:27 +00:00
863b536100 Allow opening an AEC dump from an existing file handle.
This is necessary for Chromium to be able enable the dump with the sanbox enabled. It will open the file in the browser process and pass the handle to the render process.

This changes FileWrapper to deal with the case were the file handle is not managed by the wrapper.

BUG=2567
R=andrew@webrtc.org, henrika@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5239 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06 16:05:17 +00:00
3d9981d58a Remove unused ThreadData struct.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5216 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 17:13:47 +00:00
d7696c4ed1 Compile-out functions only used by the bit-exact test.
Causes errors on platforms where the test is unused.

TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5207 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 23:39:16 +00:00
bd41a84694 This CL adds an API to enable robust validation of delay estimates.
Added is
- a member variable for turning robust validation on and off.
- API to enable/disable feature.
- API to check if enabled.
- unit tests for these APIs.

Not added is
- the actual functionality (separate CL), hence turning feature on/off has no impact currently.
- calls in AEC and AEC, where the delay estimator is used. This is also done in a separate CL when we know if it should be turned on in both components.

TESTED=trybots, module_unittest
BUG=
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5191 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 14:58:35 +00:00
d1a1c353ac Recommit CL5184
TBR=aluebs@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5187 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 11:45:05 +00:00
82eb3a690e Revert 5184 "Small refactoring change in delay_estimator."
> Small refactoring change in delay_estimator.
> 
> This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme.
> 
> TESTED=trybots, module_unittest
> BUG=None
> R=aluebs@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/4549004

TBR=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5185 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 09:44:47 +00:00
eea079a376 Small refactoring change in delay_estimator.
This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme.

TESTED=trybots, module_unittest
BUG=None
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5184 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 07:59:04 +00:00
b0ed8f8a08 Don't reset the AEC filter in extended mode.
I don't believe I've witnessed this "feature" ever provide a benefit,
and have now collected some evidence of its harm when using the
extended filter mode. It can cause erroneous resets in two cases:

1. Some preprocessing noise suppression is enabled in the system (i.e.
"audio enhancements") that push the noise floor very low, possibly to
zero. If the filter is non-zero this condition can be triggered very
easily, and erroneously.

2. Non-zero energy in the filter before the peak impulse response can
cause a slight (and harmless) "pre-echo" in the error signal. This
becomes more significant as the peak is set further back in the filter.
This effect can cause needless resets during echo onsets.

In short, this isn't a great criterion for filter reset and has the
potential to cause serious harm. Ideally we would remove it entirely,
but in the interests of safety, can start with the extended mode.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5159 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 06:39:42 +00:00
0b72f5863b Add experimental noise suppression dummy API.
Add this flag to the voe_cmd_test.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5134 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-19 15:17:51 +00:00
e03cafaebc MIPS optimizations for AECM audio processing module
R=andrew@webrtc.org

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

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5110 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 20:10:01 +00:00
b0730108a2 Move audio_processing dependencies to a variable.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5108 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 17:20:27 +00:00
6e908b3adf Remove unnecessary include_dirs from audio_processing.
TBR=aluebs
TESTED=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5106 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 19:52:05 +00:00
22858d4785 Add an extended filter option to audioproc.
R=bjornv@webrtc.org

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

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

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

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

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

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

TESTED=trybots
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5013 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 10:27:23 +00:00
89b1e688ca Minor comment fix after clang reformat.
TBR=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4996 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-18 14:23:29 +00:00
d030972139 Remove unused kPowTableFrac which causes anroid clang build failure.
http://build.chromium.org/p/tryserver.chromium/builders/android_clang_dbg/builds/84322/steps/compile/logs/stdio

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4981 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 20:32:09 +00:00
3555303cb0 Roll chromium_revision 226126:228675 and fix clang warnings
By request from thakis@chromium.org, I disabled the
-Wno-unused-const-variable setting that is set in Chromium's
common.gypi so we can prepare our code for it's removal.

This required some cleanup in order to get the code to compile
with Clang having the -Wunused-const-variable warning enabled.

TEST=all trybots passing
BUG=none
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4966 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 20:10:17 +00:00
c2e471d8b3 Compile out unused kMinTrustedDelayMs.
TBR=niklas.enbom@webrtc.org
TESTED=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4963 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 02:11:21 +00:00
13b2d46593 clang-format audio_processing/aec/*
TBR=bjornv
TESTED=trybots

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4944 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-08 23:41:42 +00:00
ca764ab22d Add a parameter to audioproc for overriding the delay.
Rename the parameter for adding to the input delay to "add_delay".

R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4939 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 16:44:32 +00:00
acb00505b6 Only declare kDelayDiffOffset when used.
And remove the redundant Windows block.

R=hans@chromium.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4922 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 16:59:17 +00:00
8e2f9bce71 Ensure adjusted "known delay" doesn't drop below zero.
The untrusted delay mode provides an option to reduce the "known delay"
parameter passed down to the core AEC. This is necessary to handle the
very low latencies observed with the Chromium audio backend on Mac.

Prior to this change, it was possible to pass a negative value. The AEC
produced good output in practice, but it turned out this tripped a
heretofore unnoticed assert in ProcessBlock().

This change avoids the assert, and maintains the good output across a
set of Mac recordings. Bit-exact in some cases, and in the remaining,
quickly converging to identical output.

The assert was hit on the last webrtc roll in Chromium in
content_browsertests on Mac.

Corresponds to:
https://chromereviews.googleplex.com/9960013

TBR=bjornv
TESTED=Verified locally that "content_browsertests
--gtest_filter=WebrtcBrowserTest.*"" passes.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4886 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 01:12:25 +00:00
6b1e21924a Move the Config DelayCorrection struct to audio_processing.h.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4849 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 23:46:20 +00:00
1760a17b8e Add an extended filter mode to AEC.
Re-land: http://review.webrtc.org/2151007/
TBR=bjornv@webrtc.org

Original change description:
This mode extends the filter length from the current 48 ms to 128 ms.
It is runtime selectable which allows it to be enabled through
experiment. We reuse the DelayCorrection infrastructure to avoid having
to replumb everything up to libjingle.

Increases AEC complexity by ~50% on modern x86 CPUs.
Measurements (in percent of usage on one core):

Machine/CPU                                     Normal Extended
MacBook Retina (Early 2013),
Core i7 Ivy Bridge (2.7 GHz, hyperthreaded)     0.6%   0.9%

MacBook Air (Late 2010), Core 2 Duo (2.13 GHz)  1.4%   2.7%

Chromebook Pixel, Core i5 Ivy Bridge (1.8 GHz)  0.6%   1.0%

Samsung ARM Chromebook,
Samsung Exynos 5 Dual (1.7 GHz)                 3.2%   5.6%

The relative value is large of course but the absolute should be
acceptable in order to have a working AEC on some platforms.

Detailed changes to the algorithm:
- The filter length is changed from 48 to 128 ms. This comes with tuning
of several parameters: i) filter adaptation stepsize and error
threshold; ii) non-linear processing smoothing and overdrive.
- Option to ignore the reported delays on platforms which we deem
sufficiently unreliable. Currently this will be enabled in Chromium for
Mac.
- Faster startup times by removing the excessive "startup phase"
processing of reported delays.
- Much more conservative adjustments to the far-end read pointer. We
smooth the delay difference more heavily, and back off from the
difference more. Adjustments force a readaptation of the filter, so they
should be avoided except when really necessary.

Corresponds to these changes:
https://chromereviews.googleplex.com/9412014
https://chromereviews.googleplex.com/9514013
https://chromereviews.googleplex.com/9960013

BUG=454,827,1261

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4844 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 22:05:05 +00:00
ce014d97cd Revert 4837 "Add an extended filter mode to AEC."
> Add an extended filter mode to AEC.
> 
> This mode extends the filter length from the current 48 ms to 128 ms.
> It is runtime selectable which allows it to be enabled through
> experiment. We reuse the DelayCorrection infrastructure to avoid having
> to replumb everything up to libjingle.
> 
> Increases AEC complexity by ~50% on modern x86 CPUs.
> Measurements (in percent of usage on one core):
> 
> Machine/CPU                                     Normal Extended
> MacBook Retina (Early 2013),
> Core i7 Ivy Bridge (2.7 GHz, hyperthreaded)     0.6%   0.9%
> 
> MacBook Air (Late 2010), Core 2 Duo (2.13 GHz)  1.4%   2.7%
> 
> Chromebook Pixel, Core i5 Ivy Bridge (1.8 GHz)  0.6%   1.0%
> 
> Samsung ARM Chromebook,
> Samsung Exynos 5 Dual (1.7 GHz)                 3.2%   5.6%
> 
> The relative value is large of course but the absolute should be
> acceptable in order to have a working AEC on some platforms.
> 
> Detailed changes to the algorithm:
> - The filter length is changed from 48 to 128 ms. This comes with tuning
> of several parameters: i) filter adaptation stepsize and error
> threshold; ii) non-linear processing smoothing and overdrive.
> - Option to ignore the reported delays on platforms which we deem
> sufficiently unreliable. Currently this will be enabled in Chromium for
> Mac.
> - Faster startup times by removing the excessive "startup phase"
> processing of reported delays.
> - Much more conservative adjustments to the far-end read pointer. We
> smooth the delay difference more heavily, and back off from the
> difference more. Adjustments force a readaptation of the filter, so they
> should be avoided except when really necessary.
> 
> Corresponds to these changes:
> https://chromereviews.googleplex.com/9412014
> https://chromereviews.googleplex.com/9514013
> https://chromereviews.googleplex.com/9960013
> 
> BUG=454,827,1261
> R=bjornv@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/2151007

TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4839 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 12:27:27 +00:00
26e02f0ee4 Add an extended filter mode to AEC.
This mode extends the filter length from the current 48 ms to 128 ms.
It is runtime selectable which allows it to be enabled through
experiment. We reuse the DelayCorrection infrastructure to avoid having
to replumb everything up to libjingle.

Increases AEC complexity by ~50% on modern x86 CPUs.
Measurements (in percent of usage on one core):

Machine/CPU                                     Normal Extended
MacBook Retina (Early 2013),
Core i7 Ivy Bridge (2.7 GHz, hyperthreaded)     0.6%   0.9%

MacBook Air (Late 2010), Core 2 Duo (2.13 GHz)  1.4%   2.7%

Chromebook Pixel, Core i5 Ivy Bridge (1.8 GHz)  0.6%   1.0%

Samsung ARM Chromebook,
Samsung Exynos 5 Dual (1.7 GHz)                 3.2%   5.6%

The relative value is large of course but the absolute should be
acceptable in order to have a working AEC on some platforms.

Detailed changes to the algorithm:
- The filter length is changed from 48 to 128 ms. This comes with tuning
of several parameters: i) filter adaptation stepsize and error
threshold; ii) non-linear processing smoothing and overdrive.
- Option to ignore the reported delays on platforms which we deem
sufficiently unreliable. Currently this will be enabled in Chromium for
Mac.
- Faster startup times by removing the excessive "startup phase"
processing of reported delays.
- Much more conservative adjustments to the far-end read pointer. We
smooth the delay difference more heavily, and back off from the
difference more. Adjustments force a readaptation of the filter, so they
should be avoided except when really necessary.

Corresponds to these changes:
https://chromereviews.googleplex.com/9412014
https://chromereviews.googleplex.com/9514013
https://chromereviews.googleplex.com/9960013

BUG=454,827,1261
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4837 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-25 02:17:47 +00:00
f3930e941c Small refactoring of AudioProcessing use in channel.cc.
- Apply consistent naming.
- Use a scoped_ptr for rx_audioproc_.
- Remove now unnecessary AudioProcessing::Destroy().

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

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4684 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:46:36 +00:00
dde7d4c6ed Roll chromium_revision 214260:217707 and gflags 45:84
gflags roll is needed mostly to pick up fixes for warnings triggered by newer
compiler/settings pulled in by the chromium roll.  Had to switch from the old
google-gflags project the current gflags project to pick up this fix (see
https://code.google.com/p/gflags/source/detail?r=74 for details).

Update android build.xml file to reflect tools moves in new SDK pulled in by the chromium_revision roll.

R=niklas.enbom@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4555 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:31:30 +00:00
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
9162080527 Fix some chromium-style warnings in webrtc/modules/audio_processing/
BUG=163
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4472 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 11:44:11 +00:00
0a4ca8f0bb Move internal aec_core defines out of header.
TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4440 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 08:13:08 +00:00
f87177a757 To fix a bug in InverseFFTAndWindow() function in AECM.
It's a bufer overwritting issue, and thus Android AppRTCDemo app was broken (reported by Ami).
Tested with audioproc offline test. Bit-exact.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4415 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 23:43:33 +00:00
b6a6a24fda Updated WebRtcNsx_PrepareSpectrumNeon() in accordance with the new real FFT interface in APM. For reference, you can check https://webrtc-codereview.appspot.com/1830004/diff/92001/webrtc/modules/audio_processing/ns/nsx_core.c, line 594 "static void PrepareSpectrumC()".
Tested with audioproc. Bit exact.

R=andrew@webrtc.org, johannkoenig@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4411 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 16:24:34 +00:00
61e596fc49 Add a Config class interface to AudioProcessing for passing options.
Pass the Config down to all AudioProcessing components.

Also add an EchoCancellationImplWrapper to optionally create different
EchoCancellationImpls.

BUG=2117
TBR=turaj@webrtc.org
TESTED=git try

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4400 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 18:28:29 +00:00
fc8aaf02e1 Formalized Real 16-bit FFT for APM.
It also prepares for introducing Real 16-bit FFT Neon code from Openmax to SPL. CL https://webrtc-codereview.appspot.com/1819004/ takes care of that, but this CL is a prerequisite of that one.
Tested audioproc with an offline file. Bit exact.

R=andrew@webrtc.org, rtoy@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4390 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-24 17:38:23 +00:00
a950300b0e Disables unit tests that don't work on Android for Android.
BUG=N/A
R=andrew@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4306 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 18:53:54 +00:00
d900e8bea8 Proper spacing for end-of-namespace comments.
BUG=
R=mflodman@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
c66aaaf921 Rename unit_test.{cc,h} under module_unittest.
Squelches the following Windows trybot warning:
warning LNK4042: object specified more than once; extras ignored

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4288 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 07:56:33 +00:00