webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Functions
webrtc::aec3 Namespace Reference

Functions

void AdaptPartitions (const FftBuffer &X_buffer, const FftData &G, rtc::ArrayView< FftData > H)
 
void ApplyFilter (const FftBuffer &X_buffer, rtc::ArrayView< const FftData > H, FftData *S)
 
void EstimateComfortNoise (const std::array< float, kFftLengthBy2Plus1 > &N2, uint32_t *seed, FftData *lower_band_noise, FftData *upper_band_noise)
 
void UpdateDbMetric (const std::array< float, kFftLengthBy2Plus1 > &value, std::array< EchoRemoverMetrics::DbMetric, 2 > *statistic)
 
int TransformDbMetricForReporting (bool negate, float min_value, float max_value, float offset, float scaling, float value)
 
void MatchedFilterCore (size_t x_start_index, float x2_sum_threshold, rtc::ArrayView< const float > x, rtc::ArrayView< const float > y, rtc::ArrayView< float > h, bool *filters_updated, float *error_sum)
 
void ComputeGains (const std::array< float, kFftLengthBy2Plus1 > &nearend_power, const std::array< float, kFftLengthBy2Plus1 > &residual_echo_power, const std::array< float, kFftLengthBy2Plus1 > &comfort_noise_power, float strong_nearend_margin, std::array< float, kFftLengthBy2 - 1 > *previous_gain_squared, std::array< float, kFftLengthBy2 - 1 > *previous_masker, std::array< float, kFftLengthBy2Plus1 > *gain)
 
 TEST (AdaptiveFirFilter, FilterStatisticsAccess)
 
 TEST (AdaptiveFirFilter, FilterSize)
 
 TEST (AdaptiveFirFilter, FilterAndAdapt)
 
 TEST (ComfortNoiseGenerator, CorrectLevel)
 
 TEST (MatchedFilter, LagEstimation)
 
 TEST (MatchedFilter, LagNotReliableForUncorrelatedRenderAndCapture)
 
 TEST (MatchedFilter, LagNotUpdatedForLowLevelRender)
 
 TEST (MatchedFilter, NumberOfLagEstimates)
 
void ComputeGains (const std::array< float, kFftLengthBy2Plus1 > &nearend_power, const std::array< float, kFftLengthBy2Plus1 > &residual_echo_power, const std::array< float, kFftLengthBy2Plus1 > &comfort_noise_power, float strong_nearend_margin, std::array< float, kFftLengthBy2Minus1 > *previous_gain_squared, std::array< float, kFftLengthBy2Minus1 > *previous_masker, std::array< float, kFftLengthBy2Plus1 > *gain)
 
 TEST (SuppressionGain, BasicGainComputation)
 

Function Documentation

◆ AdaptPartitions()

void webrtc::aec3::AdaptPartitions ( const FftBuffer X_buffer,
const FftData G,
rtc::ArrayView< FftData H 
)

◆ ApplyFilter()

void webrtc::aec3::ApplyFilter ( const FftBuffer X_buffer,
rtc::ArrayView< const FftData H,
FftData S 
)

◆ ComputeGains() [1/2]

void webrtc::aec3::ComputeGains ( const std::array< float, kFftLengthBy2Plus1 > &  nearend_power,
const std::array< float, kFftLengthBy2Plus1 > &  residual_echo_power,
const std::array< float, kFftLengthBy2Plus1 > &  comfort_noise_power,
float  strong_nearend_margin,
std::array< float, kFftLengthBy2 - 1 > *  previous_gain_squared,
std::array< float, kFftLengthBy2 - 1 > *  previous_masker,
std::array< float, kFftLengthBy2Plus1 > *  gain 
)

◆ ComputeGains() [2/2]

void webrtc::aec3::ComputeGains ( const std::array< float, kFftLengthBy2Plus1 > &  nearend_power,
const std::array< float, kFftLengthBy2Plus1 > &  residual_echo_power,
const std::array< float, kFftLengthBy2Plus1 > &  comfort_noise_power,
float  strong_nearend_margin,
std::array< float, kFftLengthBy2Minus1 > *  previous_gain_squared,
std::array< float, kFftLengthBy2Minus1 > *  previous_masker,
std::array< float, kFftLengthBy2Plus1 > *  gain 
)

◆ EstimateComfortNoise()

void webrtc::aec3::EstimateComfortNoise ( const std::array< float, kFftLengthBy2Plus1 > &  N2,
uint32_t seed,
FftData lower_band_noise,
FftData upper_band_noise 
)

◆ MatchedFilterCore()

void webrtc::aec3::MatchedFilterCore ( size_t  x_start_index,
float  x2_sum_threshold,
rtc::ArrayView< const float >  x,
rtc::ArrayView< const float >  y,
rtc::ArrayView< float >  h,
bool *  filters_updated,
float *  error_sum 
)

◆ TEST() [1/9]

webrtc::aec3::TEST ( MatchedFilter  ,
LagEstimation   
)

◆ TEST() [2/9]

webrtc::aec3::TEST ( ComfortNoiseGenerator  ,
CorrectLevel   
)

◆ TEST() [3/9]

webrtc::aec3::TEST ( SuppressionGain  ,
BasicGainComputation   
)

◆ TEST() [4/9]

webrtc::aec3::TEST ( AdaptiveFirFilter  ,
FilterStatisticsAccess   
)

◆ TEST() [5/9]

webrtc::aec3::TEST ( AdaptiveFirFilter  ,
FilterSize   
)

◆ TEST() [6/9]

webrtc::aec3::TEST ( MatchedFilter  ,
LagNotReliableForUncorrelatedRenderAndCapture   
)

◆ TEST() [7/9]

webrtc::aec3::TEST ( AdaptiveFirFilter  ,
FilterAndAdapt   
)

◆ TEST() [8/9]

webrtc::aec3::TEST ( MatchedFilter  ,
LagNotUpdatedForLowLevelRender   
)

◆ TEST() [9/9]

webrtc::aec3::TEST ( MatchedFilter  ,
NumberOfLagEstimates   
)

◆ TransformDbMetricForReporting()

int webrtc::aec3::TransformDbMetricForReporting ( bool  negate,
float  min_value,
float  max_value,
float  offset,
float  scaling,
float  value 
)

◆ UpdateDbMetric()

void webrtc::aec3::UpdateDbMetric ( const std::array< float, kFftLengthBy2Plus1 > &  value,
std::array< EchoRemoverMetrics::DbMetric, 2 > *  statistic 
)