Commit Graph

249 Commits

Author SHA1 Message Date
a1ad844229 Precompute the AEC FFT tables, rather than initializing at run-time.
These global arrays are shared amongst all AEC instances, and were at
serious risk of data races. A Chromium TSAN bot recently caught this.

Also move the function pointer selection for optimization to
create-time. (Ideally this would only be done once.)

BUG=chromium:404133,1503
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6922 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 19:02:51 +00:00
d798095a37 replace inline assembly WebRtcNsx_PrepareSpectrumNeon by intrinsics.
The modification only uses the unique part of the spectrum (as is done for the C and asm code). It passes
byte to byte conformance test, and the single function performance
(if not specified, the code is compiled by GCC 4.6) on different
platforms:

| run 100k times             | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each  |  (1.2Ghz) |  (1.0Ghz) |   (1.7Ghz) |
| CPU target                 |           |           |            |
|----------------------------+-----------+-----------+------------|
| C                          |      100% |      100% |       100% |
| Neon asm                   |       18% |       14% |        19% |
| Neon inline asm            |       31% |       25% |        27% |
| Neon intrinsic (GCC 4.6)   |       33% |       27% |        42% |
| Neon intrinscis (GCC 4.8)  |       17% |       14% |        19% |
| Neon intrinsics (LLVM 3.3) |       15% |       13% |        18% |

BUG=
R=andrew@webrtc.org

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

Patch from Joe Yu <joe.yu@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6920 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 17:46:45 +00:00
820f8e9ca7 modules/audio_processing: Moves declaration of kDelayDiffOffsetSamples
audio_processing did not compile when aec_untrusted_delay_for_testing=1 was set. The constant kDelayDiffOffsetSamples was declared only for Mac when WEBRTC_UNTRUSTED_DELAY was automatically turned on.

Moving the declaration outside the ifdef makes it build with the flag on for any platform.

BUG=3673
TESTED=locally and trybots
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6866 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 15:39:00 +00:00
96d8b0e69f Revert 6860 "SSE2 version of SubbandCoherence()"
> SSE2 version of SubbandCoherence()
> 
> The performance gain on a x86 laptop (Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz)
> reported by audioproc is ~3.3%
> 
> The output is bit exact.
> 
> R=bjornv@webrtc.org, cd@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/18779004
> 
> Patch from Scott LaVarnway <slavarnw@gmail.com>.

TBR=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 12:09:13 +00:00
0db82f337f SSE2 version of SubbandCoherence()
The performance gain on a x86 laptop (Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz)
reported by audioproc is ~3.3%

The output is bit exact.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6860 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-11 10:38:31 +00:00
fdbe1442c5 Use C functions in aec for MIPS
With GCC 4.9, the MIPS NDK toolchain has been changed to only support 16 spregs by default - the even-numbered ones. This has been changed to support the R6 MIPS architecture. While the old behaviour could be restored by adding "-modd-spreg", this would come with a performance hit because the kernel would emulate odd-numbered spregs and missing R2 instructions.
As a result of this change, the functions removed in this CL no longer compile as there are no longer enough spregs for the compiler to assign. So we are removing these functions and they will use the C implementation until the MIPS code is rewritten.

R=andrew@webrtc.org, ljubomir.papuga@gmail.com, pasko@chromium.org

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

Patch from Fabrice de Gans-Riberi <fdegans@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6797 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 14:39:10 +00:00
e364ac902f AudioBuffer: Optimize const accesses to arrays that autoconvert int16<->float
Specifically, when someone asks for a const pointer to the int16
version of the array, there's no need to invalidate the float version
of that array, and vice versa. (But obviously, invalidation still has
to happen when someone asks for a non-const pointer.)

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6725 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 07:50:29 +00:00
c145668dc8 Reduce runtime of RingBufferTest by a factor of 100.
This test was needlessly long.

TBR=pbos

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6724 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 23:16:44 +00:00
4065988108 Remove unused ExperimentalNS API in AudioProcessing
R=andrew@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6718 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 11:32:09 +00:00
2b6bc8d84f AudioBuffer: Eliminate the SplitChannelBuffer class
It's just a container for two IFChannelBuffers, and doesn't earn its
keep. The main problem is that the number of methods it needs that
just forward calls to either of its two IFChannelBuffers was already
large, and was about to grow.

R=aluebs@webrtc.org, minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6717 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 09:46:37 +00:00
2561d52460 Simplify AudioBuffer::mixed_low_pass_data API
R=andrew@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6715 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 08:27:39 +00:00
af93fc08a1 AudioBuffer: Let ChannelBuffer handle bounds checking of channel parameter
R=aluebs@webrtc.org, minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6714 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 08:18:33 +00:00
e8ea33ccb1 nrsh1 is written before tmp321 is read, so needs to be earlyclobber
Otherwise, the compiler is allowed to put them in the same register
under the assumption that all inputs are read before any
(non-earlyclobber) output is written, which in this case would result
in nrsh2 being corrupted.

BUG=3439
R=aluebs@webrtc.org, ljubomir.papuga@gmail.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6700 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 08:26:48 +00:00
eec6ecdb1e Landing pkasting's webrtc fixes for MSVC level 4 warnings in WebRTC.
---

Fixes for re-enabling more MSVC level 4 warnings: webrtc/ edition

This contains fixes for the following sorts of issues:
* Possibly-uninitialized local variable
* Signedness mismatch
* Assignment inside conditional

This also contains a small number of other cleanups to nearby code. In
particular several warning-disables for MSVC are removed because they don't seem
to be necessary (either that warning is not enabled or the code does not trigger
it).

BUG=crbug.com/81439
TEST=none
R=henrika@webrtc.org, pkasting@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6667 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 19:09:59 +00:00
fb2e7c22a0 Document that channels are stored contiguously in AudioBuffer
R=andrew@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6661 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 11:40:48 +00:00
5bde66e913 audio_processing: Updates aec_core_sse2.c with changes made to aec_common.h
The change of definitions moved to aec_common.h was done in CL17839005.

BUG=3131
TBR=kwiberg@webrtc.org
TESTED=builds locally

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6648 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:09:50 +00:00
555fc78f27 Neon version of SubbandCoherence()
The performance gain on a Nexus 7 reported by audioproc is ~1.4%

The output is NOT bit exact.  Any difference seen is +-1.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6647 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:03:11 +00:00
ac800c8004 Neon version of rftbsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~4.5%

The output is bit exact.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6646 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 07:53:13 +00:00
b753762ce6 delay_estimator: Increases test coverage and makes input spectrum const
Noticed lack in tests verifying initial state is not left if we have zero input spectra. This CL adds such a test and change input spectra to const at affected places.

BUG=N/A
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6631 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 06:40:09 +00:00
e55641d4f7 Neon version of rftfsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~3.3%

The output is bit exact.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6628 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 21:12:23 +00:00
69ef9911e4 delay_estimator: Allows dynamically used history sizes
Gives the user a possibility to dynamically change the history size. The main advantage is, for example, that you now can start with a wide delay range and over time decrease the search window to lower complexity.

Adds
- two new APIs.
- and updates unit tests.
- a history_size member variable to BinaryDelayEstimator.
- two help function re-allocating buffer memory.

One thing that makes this a little complicated is that you are allowed to have multiple delay estimators with the same reference, so changing the buffer sizes at one place will automatically give you a mismatch at other places.

BUG=3532, 3504
TESTED=trybots and manually
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6593 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 14:59:03 +00:00
224a140339 Make experimental NS API not purely virtual
Because not all subclasses will want to bother overriding these methods.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:41:39 +00:00
c0ba4392f1 common_audio: Removes macro WEBRTC_SPL_SHIFT_W16
We should avoid macros in general (see style guide). This shift macro is not a severe one, since there is a check for negativity.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6591 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:38:53 +00:00
38214d53db EchoCancellationImpl::ProcessRenderAudio: Use float samples directly
This patch lets EchoCancellationImpl::ProcessRenderAudio ask the given
AudioBuffer for float sample data directly, instead of asking for
int16 samples and then converting manually.

Since EchoCancellationImpl::ProcessRenderAudio takes a const
AudioBuffer*, it was necessary to add some const accessors for float
data to AudioBuffer.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6590 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 09:47:33 +00:00
6d21ddca5f audio_processing/aec: Refactors NonLinearProcessing to prepare for NEON optimizations
Puts functionality necessary to calculate sub-band coherences into a function.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6570 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 10:03:42 +00:00
59adb1dcd7 Neon version of cftmdl_128()
The performance gain on a Nexus 7 reported by audioproc is ~2.3

The output is bit exact.

R=bjornv@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6568 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 19:34:33 +00:00
9825afc3bd Add ExperimentalNs support in Config
R=andrew@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 17:39:53 +00:00
cd9b90ab53 Neon version of cft1st_128()
The performance gain on a Nexus 7 reported by audioproc is ~2%

See comments regarding the output.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6564 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 12:05:18 +00:00
d5075bdbb5 Neon version of FilterFar()
The performance gain on a Nexus 7 reported by audioproc is ~3.5%.

The output is bit exact.

BUG=3131
TESTED=verified performance manually, passed trybots
R=bjornv@webrtc.org, cd@webrtc.org, kwiberg@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6535 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:15:46 +00:00
04fbc38c4a Neon version of ScaleErrorSignal()
The performance gain on a Nexus 7 reported by audioproc is ~4.7%

The output is NOT bit exact. Any difference seen is +-1.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6529 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-24 10:25:00 +00:00
f6d37de466 Fix array declarations in aec_core.c
Was causing warnings in Chromium such as:

warning C4742: 'WebRtcAec_overDriveCurve' has different alignment in 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core_sse2.c' and 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core.c': 4 and 16
warning C4744: 'WebRtcAec_overDriveCurve' has different type in 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core_sse2.c' and 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core.c': 'array (260 bytes)' and '__declspec(align(16)) array (260 bytes)'
warning C4742: 'WebRtcAec_weightCurve' has different alignment in 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core_sse2.c' and 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core.c': 4 and 16
warning C4744: 'WebRtcAec_weightCurve' has different type in 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core_sse2.c' and 'E:\src\buildbot\build\slave\fake_slave\build\src\third_party\webrtc\modules\audio_processing\aec\aec_core.c': 'array (260 bytes)' and '__declspec(align(16)) array (260 bytes)'

BUG=https://code.google.com/p/chromium/issues/detail?id=336620
R=andrew@webrtc.org, cd@webrtc.org

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

Patch from Sebastien Marchand <sebmarchand@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6525 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 22:40:58 +00:00
1227ab89a7 GN: Add BUILD.gn files + kjellander to OWNERS
This should work as a foundation for all the work that is
left to do to make the parts of WebRTC that Chromium uses
to build with GN.

I implemented some the smaller modules myself in this CL.
The remaining work (TODO's in the .gn files) will be distributed
to various team members.

I'm adding myself to OWNERS files for BUILD.gn files in all the
directories where I'm adding a BUILD.gn file.

BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default

I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6523 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 19:21:07 +00:00
b6ebe75806 Disables tests that breaks Android bots
BUG=
TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6520 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 09:14:03 +00:00
304ca76be1 Revert 6481 and 6482
Revert 6482 "Update webrtc to fix unpack_lib expansion."
Revert 6481 "Update generated asm offsets scripts."

The roll has not been successful. Reverted based on the request of the
committer.


TBR=turaj

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6495 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 17:08:46 +00:00
84f8ec1f9c Changes to tests and tools in audio_processing.
- Disables ApmTest.EchoCancellationReportsCorrectDelays
This test relys completely on the structure of how reported system delays are handled in AEC. In addition it assumes a fix setup of delay logging buffers. This test should be refactored.

- Adds flag to turn off reported_delay in audioproc
Now it is feasible to turn on and off the use of reported system delays.

BUG=N/A
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6492 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 12:14:33 +00:00
5c3f4e3b0f Fixes and re-enables tests disabled on Android
Several tests were disabled in r6325 and r6326. Also, see issue 3445. This CL fixes the remaining four of the audio_processing related ones. Affects the tests:
- SystemDelayTest.CorrectDelayAfterStableBufferBuildUp
- SystemDelayTest.CorrectDelayDuringDrift
- SystemDelayTest.ShouldRecoverAfterGlitch
- ApmTest.EchoCancellationReportsCorrectDelays

The tests assumes reported delays are used, which now is explicitly set.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6489 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 09:51:29 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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