webrtc/modules
Alessio Bazzica 05f5d636e5 RNN VAD: pitch search optimizations (part 4)
Add inverted lags index to simplify the loop in
`FindBestPitchPeriod48kHz()`. Instead of looping over 294 items,
only loop over the relevant ones (up to 10) by keeping track of
the relevant indexes.

The benchmark has shown a slight improvement (about +6x).

Benchmarked as follows:
```
out/release/modules_unittests \
  --gtest_filter=*RnnVadTest.DISABLED_RnnVadPerformance* \
  --gtest_also_run_disabled_tests --logs
```

Results:

      | baseline             | this CL
------+----------------------+------------------------
run 1 | 22.8319 +/- 1.46554  | 22.1951 +/- 0.747611
      | 389.367x             | 400.539x
------+----------------------+------------------------
run 2 | 22.4286 +/- 0.726449 | 22.2718 +/- 0.963738
      | 396.369x             | 399.16x
------+----------------------+------------------------
run 2 | 22.5688 +/- 0.831341 | 22.4166 +/- 0.953362
      | 393.906x             | 396.581x

This CL also moved `PitchPseudoInterpolationInvLagAutoCorr()`
into `FindBestPitchPeriod48kHz()`.

Bug: webrtc:10480
Change-Id: Id4e6d755045c3198a80fa94a0a7463577d909b7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191764
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32590}
2020-11-11 15:51:52 +00:00
..
async_audio_processing Async audio processing API 2020-10-02 12:33:34 +00:00
audio_coding Remove check for WebRTC-SendSideBwe-WithOverhead in bitrate controller. 2020-11-09 23:11:26 +00:00
audio_device Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
audio_mixer Cleanup after sorting out dependencies of OutputRateCalculator 2020-10-20 13:01:29 +00:00
audio_processing RNN VAD: pitch search optimizations (part 4) 2020-11-11 15:51:52 +00:00
congestion_controller Replace field trials with WebRtcKeyValueConfig in SendSideBandwidthEstimate 2020-11-09 09:52:05 +00:00
desktop_capture Add Presentation Mode Support for Capturing OpenOffice Impress document windows 2020-11-05 21:22:19 +00:00
include Delete RTPFragmentationHeader as no longer used 2020-09-03 00:01:27 +00:00
pacing Avoids potential rounding of -inf time delta in TaskQueuePacedSender. 2020-11-11 14:27:52 +00:00
remote_bitrate_estimator Delete macros RTC_DISALLOW_ASSIGN and RTC_DISALLOW_IMPLICIT_CONSTRUCTORS 2020-09-29 10:19:20 +00:00
rtp_rtcp Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
third_party Use source_sets in component builds and static_library in release builds. 2019-10-17 21:17:18 +00:00
utility Rename CriticalSection to RecursiveCriticalSection. 2020-07-17 09:19:50 +00:00
video_capture Delete class RWLockWrapper, and its build target. 2020-11-04 14:53:13 +00:00
video_coding in Av1 encoder wrapper communicate end_of_picture flag similar to VP9 2020-11-11 14:00:52 +00:00
video_processing Reland "Add scaling interface to VideoFrameBuffer" 2020-10-09 08:30:50 +00:00
BUILD.gn Reland "Activating AVX2 support by default" 2020-10-03 22:37:13 +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