webrtc/modules
Gustaf Ullberg 6670a9d145 AEC3: More efficient comfort noise generation
Comfort noise was generated by picking random angles on the unit circle
for each frequency band and then obtaining points on the unit circle from
{cos(a), -sin(a)}.

In order to reduce complexity, this change introduces a randomly indexed
table of 32 elements over sin(a). cos(a) is obtained by adding an offset
corresponding to pi/2 to the index. The table is pre-scaled by sqrt(2) to
avoid later multiplications.

This change reduces the computational complexity of AEC3 by ~8% with no
audible degradation.

Bug: webrtc:10189
Change-Id: I8cfe2469022fb1fe910ab3f966e55d9d499b7161
Reviewed-on: https://webrtc-review.googlesource.com/c/116787
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26209}
2019-01-11 08:46:05 +00:00
..
audio_coding Delete method DecoderDatabase::RegisterPayload(...NetEqDecoder...) 2019-01-11 07:39:45 +00:00
audio_device Include absl/memory/memory.h if absl::make_unique is used 2019-01-08 20:08:32 +00:00
audio_mixer [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
audio_processing AEC3: More efficient comfort noise generation 2019-01-11 08:46:05 +00:00
bitrate_controller Unittests for loss based bandwidth estimation. 2018-11-29 17:22:59 +00:00
congestion_controller Change type StreamsConfig::requests_alr_probing to abls::optional 2019-01-10 06:12:05 +00:00
desktop_capture Reland "Default to dlopening the PipeWire." 2019-01-08 08:09:42 +00:00
include [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
pacing Include pacing buffer size in congestion window. 2019-01-09 11:16:58 +00:00
remote_bitrate_estimator Renamed a variable in overuse_detector. 2019-01-02 16:43:12 +00:00
rtp_rtcp Account for packetization overhead when setting target bitrate. 2019-01-08 16:12:58 +00:00
third_party Fix guards for headers in third party 2018-08-07 09:39:06 +00:00
utility Delete unneeded includes of common_types.h and gn deps on webrtc_common. 2018-11-20 16:28:39 +00:00
video_capture Introduce VideoFrame::id to keep track of frames inside application. 2019-01-04 08:59:26 +00:00
video_coding Refactor FrameBuffer to store decoded frames history separately 2019-01-10 15:11:15 +00:00
video_processing [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
BUILD.gn [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
module_common_types_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
OWNERS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00