No description
Find a file
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
api Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
audio Enable continuous audio polling from ADM after StopPlay in VoIP API 2020-11-04 19:18:03 +00:00
build_overrides set perfetto flag to default value of false 2020-07-22 10:14:53 +00:00
call in Av1 encoder wrapper communicate end_of_picture flag similar to VP9 2020-11-11 14:00:52 +00:00
common_audio Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
common_video Reland "Add scaling interface to VideoFrameBuffer" 2020-10-09 08:30:50 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs doc: mention video_replay tool for reporting video bugs 2020-10-30 11:22:01 +00:00
examples Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
logging Fix incorrect ToUnsigned in RTC event log. 2020-11-02 16:50:36 +00:00
media Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
modules RNN VAD: pitch search optimizations (part 4) 2020-11-11 15:51:52 +00:00
p2p Check for oversized TURN usernames 2020-11-02 13:46:16 +00:00
pc Eliminate sigslot from RtpTransmissionManager 2020-11-10 14:41:45 +00:00
resources Increased high frequency transparency 2020-11-02 10:42:10 +00:00
rtc_base CallbackList: Don't allow reentrancy 2020-11-11 12:26:14 +00:00
rtc_tools Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
sdk in Av1 encoder wrapper communicate end_of_picture flag similar to VP9 2020-11-11 14:00:52 +00:00
stats Fix -Wrange-loop-analysis. 2020-11-05 15:55:33 +00:00
style-guide Add style guide rule about paired .h and .cc files 2018-03-14 13:02:35 +00:00
system_wrappers Delete use of RWLockWrapper from SimulatedClock 2020-11-04 08:01:08 +00:00
test Analyze quality of dropped frames in VideoProcessor. 2020-10-29 08:23:49 +00:00
tools_webrtc Add new try builder configs to mb_config.pyl. 2020-11-05 09:36:13 +00:00
video in Av1 encoder wrapper communicate end_of_picture flag similar to VP9 2020-11-11 14:00:52 +00:00
.clang-format Tune ObjC clang-format configuration 2017-05-11 09:14:18 +00:00
.git-blame-ignore-revs Let git-hyper-blame ignore new format cleanup. 2019-07-11 16:18:51 +00:00
.gitignore Add .clangd to .gitignore 2019-10-28 12:27:50 +00:00
.gn Rename PlayoutDelay --> VideoPlayoutDelay, move to api/video/video_timing.h 2020-09-07 08:37:14 +00:00
.vpython Add 'requests' to .vpython. 2020-09-09 14:36:03 +00:00
abseil-in-webrtc.md Polish the "Using Abseil in WebRTC" docs 2020-10-16 13:42:00 +00:00
AUTHORS Fix "control reaches end of non-void function" warnings 2020-10-27 10:22:23 +00:00
BUILD.gn Rename RoboCaller to CallbackList. 2020-10-23 15:14:22 +00:00
CODE_OF_CONDUCT.md Add code of conduct to WebRTC repo 2017-05-16 12:09:13 +00:00
codereview.settings Don't add webrtc-reviews@ to CC, it can be added globally on Gerrit 2018-10-25 08:19:53 +00:00
DEPS Roll chromium_revision cf72651802..56e883537d (825867:825974) 2020-11-10 22:53:38 +00:00
ENG_REVIEW_OWNERS Enforce LGTM from owners of depends-on paths in DEPS via presubmit. 2018-09-28 12:49:54 +00:00
LICENSE Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
native-api.md Make transient suppression optionally excludable via defines 2020-04-02 11:44:07 +00:00
OWNERS Remove phoglund as root owner. 2020-03-30 12:15:56 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PRESUBMIT.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
presubmit_test.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
presubmit_test_mocks.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
pylintrc Undo enforcing of PEP-8 pylint changes for method and function names. 2020-11-10 18:26:25 +00:00
README.chromium Add CPEPrefix. 2020-07-13 11:42:07 +00:00
README.md doc: move bug reporting instructions to the repository 2020-10-21 14:47:49 +00:00
style-guide.md C++ style: We don't allow designated initializers 2020-06-03 09:11:09 +00:00
WATCHLISTS Remove benwright@webrtc.org from WATCHLISTS 2020-01-31 18:46:52 +00:00
webrtc.gni Reland "Remove placeholder Obj-C headers and use angle-bracketed headers." 2020-10-22 11:29:48 +00:00
webrtc_lib_link_test.cc Rewrite the lib link test to just be a binary. 2019-10-18 07:42:20 +00:00
whitespace.txt Trigger bots. 2020-10-22 19:13:15 +00:00

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See here for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info