DescriptionFirst 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
Committed: https://crrev.com/d860523112263f9c8f29b95658c89215fbd95a16
Cr-Commit-Position: refs/heads/master@{#10764}
Patch Set 1 #
Total comments: 26
Patch Set 2 : Changes in response to reviewer comments. Also fixed a name clash in the optimized code that was cr… #Patch Set 3 : Fixed problem with variable declared inside loop statement #
Dependent Patchsets: Messages
Total messages: 19 (8 generated)
|