Commit Graph

1089 Commits

Author SHA1 Message Date
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
83cebb25d7 Removes unused main function that is poluting the build.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4276 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 18:31:13 +00:00
63e988856e Merge more tests into modules_{unit,integration}tests.
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests

A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests

I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.

Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests

Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).

Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).

BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-14 20:09:44 +00:00
8c34ceeef1 Include "gtest/gtest.h", not by full path, on WEBRTC_ANDROID_PLATFORM_BUILD
BUG=
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4119 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 09:24:03 +00:00
7fad4b8c9f Include files from webrtc/.. paths in audio_processing/
BUG=1662
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:11:59 +00:00
342353780d Consolidate common_audio into a single target.
In principle should reduce gyp processing time, but the difference was not measurable. In any case, it's a good simplification that aligns with having a single common_video target.

R=bjornv@webrtc.org, kma@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3928 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 23:43:26 +00:00
dff69c56b0 Add AEC suppression level option to audioproc.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3927 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 23:01:09 +00:00
1acb3b33bc Add comfort noise disabling and routing mode selection to audioproc.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-26 00:39:27 +00:00
b7192b8247 WebRtc_Word32 -> int32_t in audio_processing/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3809 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 07:50:54 +00:00
19da719a5f Resolves TSan v2 reports data races in voe_auto_test.
--- Note that I will add more fixes to this CL ---

BUG=1590

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3770 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-05 14:34:57 +00:00
c83a00ad49 Add some VoE and AudioProcessing mocks.
Includes a bit of shared helpers in fake_common.h.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3722 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-25 21:20:38 +00:00
31829a7baf Fixed initialization of SPL in echo_control_mobile.
BUG=8403556 (a possible fix)
Review URL: https://webrtc-codereview.appspot.com/1220004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3687 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-19 00:25:01 +00:00
04ecd49ec5 Truncated delay quality to avoid negative return values
This forces the output of last_delay_quality to the interval [0, 1] in Q14.

BUG=none
TESTED=audioproc_unittest, trybot

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3675 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 14:15:12 +00:00
33f22d01f0 Fixed a crash issue in NSX module.
Run time error message for function WebRtcNsx_PrepareSpectrumNeon():  "Bad access at:  0x4f535c:  vst1.16{d16, d17, d18, d19}, [r2], r12"

Cause: "anaLen" was defined as int16_t and should have been read as such in assembly function WebRtcNsx_PrepareSpectrumNeon().

Fix: Changed anaLen's definition to int in the header file instead.

BUG=b/8382174
Review URL: https://webrtc-codereview.appspot.com/1202004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3669 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-14 21:44:12 +00:00
2951a6df4a Fixed an assembly code error in AECM for ARMv7.
Possibly related to an AECM quality issue encountered at Chrome testing.
No bug was logged.
Review URL: https://webrtc-codereview.appspot.com/1160006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3631 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-07 18:25:34 +00:00
52b57cc0d5 Fix debug file buffer bug introduced in r3574.
This correctly uses int16_t rather than float. Only affects the debug
file buffer, not the production code path.

TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3626 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-07 00:45:50 +00:00
91d11b3cdd Adds new AEC API to audio_processing.
One unit test added.
Tested with audioproc_unittest and trybots

TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3613 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-05 16:53:09 +00:00
7f95732fe2 AEC Refactoring: Removes lint warning
Changed inlude order.

TBR=andrew@webrtc.org
TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3604 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-04 23:47:39 +00:00
6be1e934ad Properly error check calls to AudioProcessing.
Checks must be made with "!= 0", not "== -1". Additionally:
* Clean up the function calling into AudioProcessing.
* Remove the unused _noiseWarning.
* Make the other warnings bool.

BUG=chromium:178040

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-01 18:47:28 +00:00
78693fe37c Return an error when greater than 16 kHz is used with AECM.
BUG=chromium:178040

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3587 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-01 16:36:19 +00:00
132c15de30 AEC Refactoring:
* Adds pointer to low level AecCore struct.
* Adds a simple unit test of this new call.

Tested with audioproc_unittest, trybots

TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3577 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-27 21:03:41 +00:00
83561fb173 Fixed a bug in WebRtcNsx_PrepareSpectrumNeon() for NS in ARM Neon platform.
No written bug report.

Tested with Nexus-S. Issue disappeared with the change.
Review URL: https://webrtc-codereview.appspot.com/1126006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3575 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-27 01:16:44 +00:00
91f325586d Refactor WebRtc_CreateBuffer to return the instance.
Review URL: https://webrtc-codereview.appspot.com/1140005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3574 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-27 00:35:06 +00:00
9fbd9ca849 Force a memcpy directly from the AEC ring buffer.
Review URL: https://webrtc-codereview.appspot.com/1140004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3570 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-25 23:31:56 +00:00
9ae1354e25 Refactor ring_buffer interface, add a feature and a test.
* Add a RingBuffer typedef.
* Add the ability to force a memcpy by passing a null ptr. In some cases,
  we know we want a memcpy. This allows us to skip a potential
  intermediate memcpy.
* Add a stress test.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3567 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-25 17:07:35 +00:00
2f9bd247ad Ported assembly coding in APM from Android to iOS.
Bugs=none
Test=trybots, and offline file bit-exact tests.
Review URL: https://webrtc-codereview.appspot.com/1066009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3563 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-23 04:16:59 +00:00
60f83131e4 AEC refactoring: Moved typedefs to _internal.h
* This was actually part of r3553
* Tested with audioproc_unittest, trybots

TBR=andrew@webrtc.org
TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-21 16:12:24 +00:00
56a9ec30e9 Refactoring AEC: AecCore struct made private
* Added aec_core_internal.h for private variables.
* Moved aec_t struct to aec_core_internal.h
* Name change aec_t -> AecCore
* Moved additional declarations to aec_core_internal.h
* Tested with audioproc_unittest and trybots

TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3553 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 22:38:47 +00:00
71e91f3b64 Refactor AEC: PowerLevel
* Style changes
* Tested with audioproc_unittest and trybots

TEST=none
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3551 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-20 19:24:50 +00:00