webrtc/audio/utility
Steve Anton cd83ae2d65 Speed up FrameCombiner::Combine by 3x
There were a couple operations in the mixer which touched
AudioFrame data() and mutable_data() getters in a hot loop. These
getters have a if (muted) conditional in them which led to
inefficient code generation and execution.

Profiled using Google Meet with 6 audio-only speaking participants.
Meet uses 3 audio receive streams.

Before: https://pprof.corp.google.com/user-profile?id=02526c98ca1f60ba7b340b2f5dabb72a&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0
After: https://pprof.corp.google.com/user-profile?id=32a33e5c90c650e013bdf5008d9b5fd3&tab=flame&path=18l9q740udb80g1iq9r1c1gv6b9k1cuuq200eztpq0054kuq0

(Zoomed in on the audio render thread.)

Bug: webrtc:12662
Change-Id: If6ecb5de02095b8b0e4938f1a1817b55d388e01a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214560
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33712}
2021-04-13 17:18:47 +00:00
..
audio_frame_operations.cc Speed up FrameCombiner::Combine by 3x 2021-04-13 17:18:47 +00:00
audio_frame_operations.h Replace RTC_DEPRECATED with ABSL_DEPRECATED 2021-02-22 12:53:23 +00:00
audio_frame_operations_unittest.cc Rename several more tests that use EXPECT_DEATH to *DeathTest. 2020-05-18 16:10:04 +00:00
BUILD.gn Replace RTC_DEPRECATED with ABSL_DEPRECATED 2021-02-22 12:53:23 +00:00
channel_mixer.cc Adding support for channel mixing between different channel layouts. 2019-07-04 10:10:54 +00:00
channel_mixer.h Format almost everything. 2019-07-08 13:45:15 +00:00
channel_mixer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
channel_mixing_matrix.cc Adding VoIP specific channel adjustments 2019-11-22 15:25:05 +00:00
channel_mixing_matrix.h Adding VoIP specific channel adjustments 2019-11-22 15:25:05 +00:00
channel_mixing_matrix_unittest.cc Adding VoIP specific channel adjustments 2019-11-22 15:25:05 +00:00