commit | d860523112263f9c8f29b95658c89215fbd95a16 | [log] [tgz] |
---|---|---|
author | peah <peah@webrtc.org> | Tue Nov 24 07:05:44 2015 |
committer | Commit bot <commit-bot@chromium.org> | Tue Nov 24 07:05:49 2015 |
tree | 29803383a62369701adac816371cb71b2dff19bf | |
parent | 70bed7d4153855e508954df928ad2d9224445dc2 [diff] |
First part of the preparatory work before the actual work for solving the ducking problem starts. This works aims to: -More clearly separate the functionalities in the AEC. -Make the inputs and outputs to functions more clear (currently the state struct is often passed as a parameter to the functions and the functions use members of the state both as inputs and outputs, which reduces the readability of the code and makes it difficult to change/refactor. What is done in this CL: -Most of what belongs to the echo subtraction functionality has been moved to a separate function. -The NonLinearProcessing function has been renamed to EchoSuppressor which I think is more appropriate. -Part of the code was replaced by a call to the TimeToFrequency function (which was also suggested by an existing todo). -For consistency, a function FrequencyToTime doing the opposite of TimeToFrequency was added and part of the code was moved to that. -The ScaleErrorSignal function was changed to no longer have the state as an input parameter. This entailed also changing the corresponding assembly optimized files accordingly. Testing: -The changes have been tested for bitexactness on Linux using a fairly extensive test. -All the unittests pass on linux. BUG=webrtc:5201 Review URL: https://codereview.webrtc.org/1455163006 Cr-Commit-Position: refs/heads/master@{#10764}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.