History log of /external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0bc176b99b770f2fa3dd94d54553ab635df6930d 16-Dec-2015 peah <peah@webrtc.org> Further refactored the echo suppressor code:
-Extended the InverseFft function to be more generally
applicable.
-Included the previous external extra scaling into the
preexisting InverseFft call.
-Moved the updating of aec->delayEstCtr to where it is
actually used.
-Refactored the output production and comfort noise
addition using the InverseFft function.
-Removed the if-statements checking the value of the
constant flagHbandCn as any value different from 1 would
crash the program. Also removed the constant

The changes have been tested for bitexactness.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1492343002

Cr-Commit-Position: refs/heads/master@{#11054}
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
99b1a32146fcc63e52fd45484958d7c8c4cf0061 16-Dec-2015 peah <peah@webrtc.org> Retyped the frequency estimate of the comfort noise for the higher band to harmonize the AEC code.
-Changed the type for the frequency estimate of the comfort noise for the
higher band to be a two dimensional float array instead of a complex_t array.
This makes sense since all the other frequency estimate (apart from the
coherence) use this format and doing this change allows bundling the
IFFT operations into using the InverseFFT method.
-Moved the memset of the frequency estimate of the comfort noise to where it is used and made it conditional so that it is only performed when used.
-Harmonized the if-statements for when the frequency estimate of the comfort noise is computed in the different optimized ComfortNoise computation methods.

The changes have been tested for bitexactness.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1494133002

Cr-Commit-Position: refs/heads/master@{#11050}
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
7e43138c0890bd99f627fa061b122c8d5716a99d 28-Nov-2015 peah <peah@webrtc.org> -Removed the state as an input to the FilterAdaptation function.
-Renamed the TimeToFrequency and FrequencyToTime functions.
-Moved the windowing from the TimeToFrequency function.
-Simplified the EchoSubtraction function.

Note that the aec state is still an input to the EchoSubtraction function, and it currently needs to be that in order to support the output of the debug file. The longer-term goal is, however, to order the state into substates. This will simplify the parameter lists to the EchoCancellation function as well as replace the aec state as a parameter

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1456123003

Cr-Commit-Position: refs/heads/master@{#10830}
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
54eb5e2e9ae91e9ad6dcb297de7b918ebe706d5f 25-Nov-2015 peah <peah@webrtc.org> Removed the aec state as an input parameter to the FilterFar function.

BUG=webrtc:5201

Review URL: https://codereview.webrtc.org/1454983006

Cr-Commit-Position: refs/heads/master@{#10787}
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
d860523112263f9c8f29b95658c89215fbd95a16 24-Nov-2015 peah <peah@webrtc.org> 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}
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
c78d81ae895510edc217d1598d9111e3c8987b09 21-Jan-2015 aluebs@webrtc.org <aluebs@webrtc.org> Re-land "Support 48kHz in AEC"

Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

Original: https://webrtc-codereview.appspot.com/28319004/
Reverted: https://webrtc-codereview.appspot.com/33949004/

BUG=webrtc:3146
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8116 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
ee0c100d5495cd8c440b767a7852532afbbcefb2 20-Jan-2015 tina.legrand@webrtc.org <tina.legrand@webrtc.org> Revert 8080 "Support 48kHz in AEC"

> Support 48kHz in AEC
>
> Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
> Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.
>
> BUG=webrtc:3146
> R=andrew@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/28319004

TBR=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8100 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
64d3c4b9ac862c682d297851083f81942a035652 15-Jan-2015 aluebs@webrtc.org <aluebs@webrtc.org> Support 48kHz in AEC

Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

BUG=webrtc:3146
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8080 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
db75a66b0fa7f3a734206aa339ca598924c48d42 30-Sep-2014 andrew@webrtc.org <andrew@webrtc.org> Minor code change to fix some warnings in MIPS build.

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

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7339 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
71d9572e9c7a28b9045644f4e418673b9f49c04f 19-Aug-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Minor bug fix and cosmetic changes in AEC MIPS optimizations.

Minor bug fix in WebRtcAec_FilterAdaptation_mips, which did not manifest with
gcc 4.7.2, but it did with version 4.9.0. While there, also made some cosmetic
changes to comply with Chromium coding style.

R=andrew@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6931 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c
c0907eff42079cb53c4ee28cb47a8e495ab06b37 21-Feb-2014 andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> MIPS optimizations for AEC audio processing module

The resulting output streams obtained by testing with audioproc test application
are bit-exact with generic C code output streams.

Performance gain achieved:
- mips32 ~ 17%
- mips32r2 ~ 20%
- mipsdsp & mipsdspr2 ~ 21%

R=andrew@webrtc.org

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5591 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/aec/aec_core_mips.c