webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Namespaces | Enumerations | Functions | Variables
aec_core.cc File Reference
#include "webrtc/modules/audio_processing/aec/aec_core.h"
#include <algorithm>
#include <math.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "webrtc/base/checks.h"
#include "webrtc/common_audio/ring_buffer.h"
#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h"
#include "webrtc/modules/audio_processing/aec/aec_common.h"
#include "webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h"
#include "webrtc/modules/audio_processing/logging/apm_data_dumper.h"
#include "webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h"
#include "webrtc/system_wrappers/include/cpu_features_wrapper.h"
#include "webrtc/system_wrappers/include/metrics.h"
#include "webrtc/typedefs.h"

Namespaces

 webrtc
 

Enumerations

enum  webrtc::@19289::DelaySource { webrtc::@19289::DelaySource::kSystemDelay, webrtc::@19289::DelaySource::kDelayAgnostic }
 
enum  { webrtc::kPrefBandSize = 24 }
 

Functions

AecCore * webrtc::WebRtcAec_CreateAec (int instance_count)
 
void webrtc::WebRtcAec_FreeAec (AecCore *aec)
 
int webrtc::WebRtcAec_InitAec (AecCore *aec, int sampFreq)
 
void webrtc::WebRtcAec_BufferFarendBlock (AecCore *aec, const float *farend)
 
int webrtc::WebRtcAec_AdjustFarendBufferSizeAndSystemDelay (AecCore *aec, int size_decrease)
 
void webrtc::FormNearendBlock (size_t nearend_start_index, size_t num_bands, const float *const *nearend_frame, size_t num_samples_from_nearend_frame, const float nearend_buffer[NUM_HIGH_BANDS_MAX+1] [PART_LEN -(FRAME_LEN - PART_LEN)], float nearend_block[NUM_HIGH_BANDS_MAX+1][PART_LEN])
 
void webrtc::BufferNearendFrame (size_t nearend_start_index, size_t num_bands, const float *const *nearend_frame, size_t num_samples_to_buffer, float nearend_buffer[NUM_HIGH_BANDS_MAX+1] [PART_LEN -(FRAME_LEN - PART_LEN)])
 
void webrtc::BufferOutputBlock (size_t num_bands, const float output_block[NUM_HIGH_BANDS_MAX+1] [PART_LEN], size_t *output_buffer_size, float output_buffer[NUM_HIGH_BANDS_MAX+1] [2 *PART_LEN])
 
void webrtc::FormOutputFrame (size_t output_start_index, size_t num_bands, size_t *output_buffer_size, float output_buffer[NUM_HIGH_BANDS_MAX+1][2 *PART_LEN], float *const *output_frame)
 
void webrtc::WebRtcAec_ProcessFrames (AecCore *aec, const float *const *nearend, size_t num_bands, size_t num_samples, int knownDelay, float *const *out)
 
int webrtc::WebRtcAec_GetDelayMetricsCore (AecCore *self, int *median, int *std, float *fraction_poor_delays)
 
int webrtc::WebRtcAec_echo_state (AecCore *self)
 
void webrtc::WebRtcAec_GetEchoStats (AecCore *self, Stats *erl, Stats *erle, Stats *a_nlp, float *divergent_filter_fraction)
 
void webrtc::WebRtcAec_SetConfigCore (AecCore *self, int nlp_mode, int metrics_mode, int delay_logging)
 
void webrtc::WebRtcAec_enable_delay_agnostic (AecCore *self, int enable)
 
int webrtc::WebRtcAec_delay_agnostic_enabled (AecCore *self)
 
void webrtc::WebRtcAec_enable_refined_adaptive_filter (AecCore *self, bool enable)
 
bool webrtc::WebRtcAec_refined_adaptive_filter_enabled (const AecCore *self)
 
void webrtc::WebRtcAec_enable_extended_filter (AecCore *self, int enable)
 
int webrtc::WebRtcAec_extended_filter_enabled (AecCore *self)
 
int webrtc::WebRtcAec_system_delay (AecCore *self)
 
void webrtc::WebRtcAec_SetSystemDelay (AecCore *self, int delay)
 

Variables

ALIGN16_BEG const float ALIGN16_END webrtc::WebRtcAec_sqrtHanning [65]
 
ALIGN16_BEG const float ALIGN16_END webrtc::WebRtcAec_weightCurve [65]
 
ALIGN16_BEG const float ALIGN16_END webrtc::WebRtcAec_overDriveCurve [65]
 
const float webrtc::WebRtcAec_kExtendedSmoothingCoefficients [2][2]
 
const float webrtc::WebRtcAec_kNormalSmoothingCoefficients [2][2]
 
const float webrtc::WebRtcAec_kMinFarendPSD = 15
 

Enumeration Type Documentation

◆ DelaySource

enum webrtc::@19289::DelaySource
strong