Bump to WebRTC M120 release

Some API deprecation -- ExperimentalAgc and ExperimentalNs are gone.
We're continuing to carry iSAC even though it's gone upstream, but maybe
we'll want to drop that soon.
This commit is contained in:
Arun Raghavan
2023-12-12 10:42:58 -05:00
parent 9a202fb8c2
commit c6abf6cd3f
479 changed files with 20900 additions and 11996 deletions

View File

@ -57,7 +57,6 @@ rtc_static_library("ns") {
"../../../common_audio/third_party/ooura:fft_size_128",
"../../../common_audio/third_party/ooura:fft_size_256",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
"../../../rtc_base/system:arch",
"../../../system_wrappers",
@ -80,12 +79,11 @@ if (rtc_include_tests) {
"..:apm_logging",
"..:audio_buffer",
"..:audio_processing",
"..:audio_processing_unittests",
"..:high_pass_filter",
"../../../api:array_view",
"../../../rtc_base:checks",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:safe_minmax",
"../../../rtc_base:stringutils",
"../../../rtc_base/system:arch",
"../../../system_wrappers",
"../../../test:test_support",
@ -98,5 +96,9 @@ if (rtc_include_tests) {
if (rtc_enable_protobuf) {
sources += []
}
if (!build_with_chromium) {
deps += [ "..:audio_processing_unittests" ]
}
}
}

View File

@ -13,6 +13,7 @@
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include "modules/audio_processing/ns/fast_math.h"
@ -448,6 +449,12 @@ void NoiseSuppressor::Process(AudioBuffer* audio) {
}
}
// Only do the below processing if the output of the audio processing module
// is used.
if (!capture_output_used_) {
return;
}
// Aggregate the Wiener filters for all channels.
std::array<float, kFftSizeBy2Plus1> filter_data;
rtc::ArrayView<const float, kFftSizeBy2Plus1> filter = filter_data;

View File

@ -41,12 +41,21 @@ class NoiseSuppressor {
// Applies noise suppression.
void Process(AudioBuffer* audio);
// Specifies whether the capture output will be used. The purpose of this is
// to allow the noise suppressor to deactivate some of the processing when the
// resulting output is anyway not used, for instance when the endpoint is
// muted.
void SetCaptureOutputUsage(bool capture_output_used) {
capture_output_used_ = capture_output_used;
}
private:
const size_t num_bands_;
const size_t num_channels_;
const SuppressionParams suppression_params_;
int32_t num_analyzed_frames_ = -1;
NrFft fft_;
bool capture_output_used_ = true;
struct ChannelState {
ChannelState(const SuppressionParams& suppression_params, size_t num_bands);

View File

@ -11,6 +11,7 @@
#include "modules/audio_processing/ns/prior_signal_model_estimator.h"
#include <math.h>
#include <algorithm>
#include "modules/audio_processing/ns/fast_math.h"

View File

@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_NS_QUANTILE_NOISE_ESTIMATOR_H_
#include <math.h>
#include <array>
#include "api/array_view.h"

View File

@ -11,6 +11,7 @@
#include "modules/audio_processing/ns/speech_probability_estimator.h"
#include <math.h>
#include <algorithm>
#include "modules/audio_processing/ns/fast_math.h"

View File

@ -42,7 +42,7 @@ SuppressionParams::SuppressionParams(
use_attenuation_adjustment = true;
break;
default:
RTC_NOTREACHED();
RTC_DCHECK_NOTREACHED();
}
}

View File

@ -13,6 +13,7 @@
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include "modules/audio_processing/ns/fast_math.h"