diff --git a/EchoCanceller.cpp b/EchoCanceller.cpp index b78b50597e..05ff25fe93 100755 --- a/EchoCanceller.cpp +++ b/EchoCanceller.cpp @@ -4,6 +4,11 @@ // you should have received with this source code distribution. // +#ifndef TGVOIP_NO_DSP +#include "webrtc_dsp/modules/audio_processing/include/audio_processing.h" +#include "webrtc_dsp/api/audio/audio_frame.h" +#endif + #include "EchoCanceller.h" #include "audio/AudioOutput.h" #include "audio/AudioInput.h" @@ -11,34 +16,8 @@ #include #include -#ifndef TGVOIP_NO_DSP -#ifndef TGVOIP_USE_DESKTOP_DSP -#include "webrtc/modules/audio_processing/aecm/echo_control_mobile.h" -#include "webrtc/modules/audio_processing/ns/noise_suppression_x.h" -#else -#include "webrtc/modules/audio_processing/aec/echo_cancellation.h" -//#include "webrtc/modules/audio_processing/ns/noise_suppression.h" -#include "webrtc/modules/audio_processing/ns/noise_suppression_x.h" -#endif -#include "webrtc/modules/audio_processing/splitting_filter.h" -#include "webrtc/common_audio/channel_buffer.h" -#include "webrtc/modules/audio_processing/agc/legacy/gain_control.h" -#endif - -#define AEC_FRAME_SIZE 160 -#define OFFSET_STEP AEC_FRAME_SIZE*2 - -//#define CLAMP(x, min, max) (xmin ? x : min) : max) -#define CLAMP(x, min, max) x - using namespace tgvoip; -#ifdef TGVOIP_USE_DESKTOP_DSP -namespace webrtc{ - void WebRtcAec_enable_delay_agnostic(AecCore* self, int enable); -} -#endif - EchoCanceller::EchoCanceller(bool enableAEC, bool enableNS, bool enableAGC){ #ifndef TGVOIP_NO_DSP this->enableAEC=enableAEC; @@ -46,70 +25,42 @@ EchoCanceller::EchoCanceller(bool enableAEC, bool enableNS, bool enableAGC){ this->enableNS=enableNS; isOn=true; - splittingFilter=new webrtc::SplittingFilter(1, 3, 960); - splittingFilterFarend=new webrtc::SplittingFilter(1, 3, 960); - - splittingFilterIn=new webrtc::IFChannelBuffer(960, 1, 1); - splittingFilterFarendIn=new webrtc::IFChannelBuffer(960, 1, 1); - splittingFilterOut=new webrtc::IFChannelBuffer(960, 1, 3); - splittingFilterFarendOut=new webrtc::IFChannelBuffer(960, 1, 3); - - if(enableAEC){ -#ifndef TGVOIP_USE_DESKTOP_DSP - aec=WebRtcAecm_Create(); - WebRtcAecm_Init(aec, 16000); - AecmConfig cfg; - cfg.cngMode=AecmFalse; - cfg.echoMode=0; - WebRtcAecm_set_config(aec, cfg); -#else - aec=webrtc::WebRtcAec_Create(); - webrtc::WebRtcAec_Init(aec, 48000, 48000); - webrtc::WebRtcAec_enable_delay_agnostic(webrtc::WebRtcAec_aec_core(aec), 1); - webrtc::AecConfig config; - config.metricsMode=webrtc::kAecFalse; - config.nlpMode=webrtc::kAecNlpAggressive; - config.skewMode=webrtc::kAecFalse; - config.delay_logging=webrtc::kAecFalse; - webrtc::WebRtcAec_set_config(aec, config); + webrtc::Config extraConfig; +#ifdef TGVOIP_USE_DESKTOP_DSP + extraConfig.Set(new webrtc::DelayAgnostic(true)); #endif - farendQueue=new BlockingQueue(11); - farendBufferPool=new BufferPool(960*2, 10); - running=true; + apm=webrtc::AudioProcessingBuilder().Create(extraConfig); - bufferFarendThread=new Thread(std::bind(&EchoCanceller::RunBufferFarendThread, this)); - bufferFarendThread->Start(); - }else{ - aec=NULL; - } - - if(enableNS){ -//#ifndef TGVOIP_USE_DESKTOP_DSP - ns=WebRtcNsx_Create(); - WebRtcNsx_Init((NsxHandle*)ns, 48000); - WebRtcNsx_set_policy((NsxHandle*)ns, 0); -/*#else - ns=WebRtcNs_Create(); - WebRtcNs_Init((NsHandle*)ns, 48000); - WebRtcNs_set_policy((NsHandle*)ns, 1); -#endif*/ - }else{ - ns=NULL; - } + webrtc::AudioProcessing::Config config; + config.echo_canceller.enabled = enableAEC; +#ifndef TGVOIP_USE_DESKTOP_DSP + config.echo_canceller.mobile_mode = true; +#else + config.echo_canceller.mobile_mode = false; +#endif + config.high_pass_filter.enabled = enableAEC; + config.gain_controller2.enabled = enableAGC; + apm->ApplyConfig(config); + apm->noise_suppression()->set_level(webrtc::NoiseSuppression::Level::kHigh); + apm->noise_suppression()->Enable(enableNS); if(enableAGC){ - agc=WebRtcAgc_Create(); - WebRtcAgcConfig agcConfig; - agcConfig.compressionGaindB = 20; - agcConfig.limiterEnable = 1; - agcConfig.targetLevelDbfs = 9; - WebRtcAgc_Init(agc, 0, 255, kAgcModeAdaptiveDigital, 48000); - WebRtcAgc_set_config(agc, agcConfig); - agcMicLevel=0; - }else{ - agc=NULL; + apm->gain_control()->set_mode(webrtc::GainControl::Mode::kAdaptiveDigital); + apm->gain_control()->set_target_level_dbfs(9); } + + audioFrame=new webrtc::AudioFrame(); + audioFrame->samples_per_channel_=480; + audioFrame->sample_rate_hz_=48000; + audioFrame->num_channels_=1; + + farendQueue=new BlockingQueue(11); + farendBufferPool=new BufferPool(960*2, 10); + running=true; + bufferFarendThread=new Thread(std::bind(&EchoCanceller::RunBufferFarendThread, this)); + bufferFarendThread->Start(); + #else this->enableAEC=this->enableAGC=enableAGC=this->enableNS=enableNS=false; isOn=true; @@ -118,38 +69,8 @@ EchoCanceller::EchoCanceller(bool enableAEC, bool enableNS, bool enableAGC){ EchoCanceller::~EchoCanceller(){ #ifndef TGVOIP_NO_DSP - if(enableAEC){ - running=false; - farendQueue->Put(NULL); - bufferFarendThread->Join(); - delete bufferFarendThread; - delete farendQueue; - delete farendBufferPool; -#ifndef TGVOIP_USE_DESKTOP_DSP - WebRtcAecm_Free(aec); -#else - webrtc::WebRtcAec_Free(aec); -#endif - } - if(enableNS){ -//#ifndef TGVOIP_USE_DESKTOP_DSP - WebRtcNsx_Free((NsxHandle*)ns); -/*#else - WebRtcNs_Free((NsHandle*)ns); -#endif*/ - } - if(enableAGC){ - WebRtcAgc_Free(agc); - } - //webrtc::WebRtcAec_Free(state); - - delete (webrtc::SplittingFilter*)splittingFilter; - delete (webrtc::SplittingFilter*)splittingFilterFarend; - - delete (webrtc::IFChannelBuffer*)splittingFilterIn; - delete (webrtc::IFChannelBuffer*)splittingFilterOut; - delete (webrtc::IFChannelBuffer*)splittingFilterFarendIn; - delete (webrtc::IFChannelBuffer*)splittingFilterFarendOut; + delete apm; + delete audioFrame; #endif } @@ -165,11 +86,6 @@ void EchoCanceller::Stop(){ void EchoCanceller::SpeakerOutCallback(unsigned char* data, size_t len){ if(len!=960*2 || !enableAEC || !isOn) return; - /*size_t offset=0; - while(offsetGet(); if(buf){ @@ -181,26 +97,19 @@ void EchoCanceller::SpeakerOutCallback(unsigned char* data, size_t len){ #ifndef TGVOIP_NO_DSP void EchoCanceller::RunBufferFarendThread(){ + webrtc::AudioFrame frame; + frame.num_channels_=1; + frame.sample_rate_hz_=48000; + frame.samples_per_channel_=480; while(running){ int16_t* samplesIn=farendQueue->GetBlocking(); if(samplesIn){ - webrtc::IFChannelBuffer* bufIn=(webrtc::IFChannelBuffer*) splittingFilterFarendIn; - webrtc::IFChannelBuffer* bufOut=(webrtc::IFChannelBuffer*) splittingFilterFarendOut; - memcpy(bufIn->ibuf()->bands(0)[0], samplesIn, 960*2); - farendBufferPool->Reuse((unsigned char *) samplesIn); - ((webrtc::SplittingFilter*)splittingFilterFarend)->Analysis(bufIn, bufOut); - aecMutex.Lock(); - //outstandingFarendFrames++; - //LOGV("BufferFarend: %d frames", outstandingFarendFrames); -#ifndef TGVOIP_USE_DESKTOP_DSP - WebRtcAecm_BufferFarend(aec, bufOut->ibuf_const()->bands(0)[0], 160); - WebRtcAecm_BufferFarend(aec, bufOut->ibuf_const()->bands(0)[0]+160, 160); -#else - webrtc::WebRtcAec_BufferFarend(aec, bufOut->fbuf_const()->bands(0)[0], 160); - webrtc::WebRtcAec_BufferFarend(aec, bufOut->fbuf_const()->bands(0)[0]+160, 160); -#endif - aecMutex.Unlock(); + memcpy(frame.mutable_data(), samplesIn, 480*2); + apm->ProcessReverseStream(&frame); + memcpy(frame.mutable_data(), samplesIn+480, 480*2); + apm->ProcessReverseStream(&frame); didBufferFarend=true; + farendBufferPool->Reuse(reinterpret_cast(samplesIn)); } } } @@ -210,173 +119,33 @@ void EchoCanceller::Enable(bool enabled){ isOn=enabled; } -void EchoCanceller::ProcessInput(unsigned char* data, unsigned char* out, size_t len){ - int i; +void EchoCanceller::ProcessInput(int16_t* inOut, size_t numSamples){ if(!isOn || (!enableAEC && !enableAGC && !enableNS)){ - memcpy(out, data, len); return; } -#ifndef TGVOIP_NO_DSP - int16_t* samplesIn=(int16_t*)data; - int16_t* samplesOut=(int16_t*)out; - - webrtc::IFChannelBuffer* bufIn=(webrtc::IFChannelBuffer*) splittingFilterIn; - webrtc::IFChannelBuffer* bufOut=(webrtc::IFChannelBuffer*) splittingFilterOut; - - memcpy(bufIn->ibuf()->bands(0)[0], samplesIn, 960*2); + int delay=audio::AudioInput::GetEstimatedDelay()+audio::AudioOutput::GetEstimatedDelay(); + assert(numSamples==960); - ((webrtc::SplittingFilter*)splittingFilter)->Analysis(bufIn, bufOut); - -#ifndef TGVOIP_USE_DESKTOP_DSP - if(enableAEC && enableNS){ - int16_t _nsOut[3][320]; - int16_t* nsIn[3]; - int16_t* nsOut[3]; - for(i=0;i<3;i++){ - nsIn[i]=(int16_t*)bufOut->ibuf_const()->bands(0)[i]; - nsOut[i]=_nsOut[i]; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *) nsIn, 3, nsOut); - for(i=0;i<3;i++){ - nsOut[i]+=160; - nsIn[i]+=160; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *) nsIn, 3, nsOut); - - memcpy(bufOut->ibuf()->bands(0)[1], _nsOut[1], 320*2*2); - - aecMutex.Lock(); - WebRtcAecm_Process(aec, bufOut->ibuf()->bands(0)[0], _nsOut[0], samplesOut, AEC_FRAME_SIZE, (int16_t) tgvoip::audio::AudioOutput::GetEstimatedDelay()); - WebRtcAecm_Process(aec, bufOut->ibuf()->bands(0)[0]+160, _nsOut[0]+160, samplesOut+160, AEC_FRAME_SIZE, (int16_t) (tgvoip::audio::AudioOutput::GetEstimatedDelay()+audio::AudioInput::GetEstimatedDelay())); - aecMutex.Unlock(); - memcpy(bufOut->ibuf()->bands(0)[0], samplesOut, 320*2); - }else if(enableAEC){ - aecMutex.Lock(); - WebRtcAecm_Process(aec, bufOut->ibuf()->bands(0)[0], NULL, samplesOut, AEC_FRAME_SIZE, (int16_t) tgvoip::audio::AudioOutput::GetEstimatedDelay()); - WebRtcAecm_Process(aec, bufOut->ibuf()->bands(0)[0]+160, NULL, samplesOut+160, AEC_FRAME_SIZE, (int16_t) (tgvoip::audio::AudioOutput::GetEstimatedDelay()+audio::AudioInput::GetEstimatedDelay())); - aecMutex.Unlock(); - memcpy(bufOut->ibuf()->bands(0)[0], samplesOut, 320*2); - }else if(enableNS){ - int16_t _nsOut[3][320]; - int16_t* nsIn[3]; - int16_t* nsOut[3]; - for(i=0;i<3;i++){ - nsIn[i]=(int16_t*)bufOut->ibuf_const()->bands(0)[i]; - nsOut[i]=_nsOut[i]; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *) nsIn, 3, nsOut); - for(i=0;i<3;i++){ - nsOut[i]+=160; - nsIn[i]+=160; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *) nsIn, 3, nsOut); - - memcpy(bufOut->ibuf()->bands(0)[0], _nsOut[0], 320*2); - memcpy(bufOut->ibuf()->bands(0)[1], _nsOut[1], 320*2); - memcpy(bufOut->ibuf()->bands(0)[2], _nsOut[2], 320*2); - } -#else - /*if(enableNS){ - float _nsOut[3][320]; - const float* nsIn[3]; - float* nsOut[3]; - for(i=0;i<3;i++){ - nsIn[i]=bufOut->fbuf_const()->bands(0)[i]; - nsOut[i]=_nsOut[i]; - } - WebRtcNs_Process((NsHandle*)ns, nsIn, 3, nsOut); - for(i=0;i<3;i++){ - nsOut[i]+=160; - nsIn[i]+=160; - } - WebRtcNs_Process((NsHandle*)ns, nsIn, 3, nsOut); - - memcpy(bufOut->fbuf()->bands(0)[0], _nsOut[0], 320*4); - memcpy(bufOut->fbuf()->bands(0)[1], _nsOut[1], 320*4); - memcpy(bufOut->fbuf()->bands(0)[2], _nsOut[2], 320*4); - }*/ - if(enableNS){ - int16_t _nsOut[3][320]; - int16_t* nsIn[3]; - int16_t* nsOut[3]; - for(i=0;i<3;i++){ - nsIn[i]=(int16_t*)bufOut->ibuf_const()->bands(0)[i]; - nsOut[i]=_nsOut[i]; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *)nsIn, 3, nsOut); - for(i=0;i<3;i++){ - nsOut[i]+=160; - nsIn[i]+=160; - } - WebRtcNsx_Process((NsxHandle*)ns, (const short *const *)nsIn, 3, nsOut); - - memcpy(bufOut->ibuf()->bands(0)[0], _nsOut[0], 320*2); - memcpy(bufOut->ibuf()->bands(0)[1], _nsOut[1], 320*2); - memcpy(bufOut->ibuf()->bands(0)[2], _nsOut[2], 320*2); - } - - if(enableAEC){ - const float* aecIn[3]; - float* aecOut[3]; - float _aecOut[3][320]; - for(i=0;i<3;i++){ - aecIn[i]=bufOut->fbuf_const()->bands(0)[i]; - aecOut[i]=_aecOut[i]; - } - webrtc::WebRtcAec_Process(aec, aecIn, 3, aecOut, AEC_FRAME_SIZE, audio::AudioOutput::GetEstimatedDelay()+audio::AudioInput::GetEstimatedDelay(), 0); - for(i=0;i<3;i++){ - aecOut[i]+=160; - aecIn[i]+=160; - } - webrtc::WebRtcAec_Process(aec, aecIn, 3, aecOut, AEC_FRAME_SIZE, audio::AudioOutput::GetEstimatedDelay()+audio::AudioInput::GetEstimatedDelay(), 0); - //outstandingFarendFrames--; - //LOGV("Process: %d frames", outstandingFarendFrames); - - memcpy(bufOut->fbuf()->bands(0)[0], _aecOut[0], 320*4); - memcpy(bufOut->fbuf()->bands(0)[1], _aecOut[1], 320*4); - memcpy(bufOut->fbuf()->bands(0)[2], _aecOut[2], 320*4); - } -#endif - - if(enableAGC){ - int16_t _agcOut[3][320]; - int16_t* agcIn[3]; - int16_t* agcOut[3]; - for(i=0;i<3;i++){ - agcIn[i]=(int16_t*)bufOut->ibuf_const()->bands(0)[i]; - agcOut[i]=_agcOut[i]; - } - uint8_t saturation; - WebRtcAgc_AddMic(agc, agcIn, 3, 160); - WebRtcAgc_Process(agc, (const int16_t *const *) agcIn, 3, 160, agcOut, agcMicLevel, &agcMicLevel, 0, &saturation); - for(i=0;i<3;i++){ - agcOut[i]+=160; - agcIn[i]+=160; - } - WebRtcAgc_AddMic(agc, agcIn, 3, 160); - WebRtcAgc_Process(agc, (const int16_t *const *) agcIn, 3, 160, agcOut, agcMicLevel, &agcMicLevel, 0, &saturation); - //LOGV("AGC mic level %d", agcMicLevel); - memcpy(bufOut->ibuf()->bands(0)[0], _agcOut[0], 320*2); - memcpy(bufOut->ibuf()->bands(0)[1], _agcOut[1], 320*2); - memcpy(bufOut->ibuf()->bands(0)[2], _agcOut[2], 320*2); - } - - ((webrtc::SplittingFilter*)splittingFilter)->Synthesis(bufOut, bufIn); - - memcpy(samplesOut, bufIn->ibuf_const()->bands(0)[0], 960*2); -#endif + memcpy(audioFrame->mutable_data(), inOut, 480*2); + apm->set_stream_delay_ms(delay); + apm->ProcessStream(audioFrame); + memcpy(inOut, audioFrame->data(), 480*2); + memcpy(audioFrame->mutable_data(), inOut+480, 480*2); + apm->set_stream_delay_ms(delay); + apm->ProcessStream(audioFrame); + memcpy(inOut+480, audioFrame->data(), 480*2); } void EchoCanceller::SetAECStrength(int strength){ #ifndef TGVOIP_NO_DSP - if(aec){ + /*if(aec){ #ifndef TGVOIP_USE_DESKTOP_DSP AecmConfig cfg; cfg.cngMode=AecmFalse; cfg.echoMode=(int16_t) strength; WebRtcAecm_set_config(aec, cfg); #endif - } + }*/ #endif } @@ -390,7 +159,7 @@ void AudioEffect::SetPassThrough(bool passThrough){ AutomaticGainControl::AutomaticGainControl(){ #ifndef TGVOIP_NO_DSP - splittingFilter=new webrtc::SplittingFilter(1, 3, 960); + /*splittingFilter=new webrtc::SplittingFilter(1, 3, 960); splittingFilterIn=new webrtc::IFChannelBuffer(960, 1, 1); splittingFilterOut=new webrtc::IFChannelBuffer(960, 1, 3); @@ -401,22 +170,22 @@ AutomaticGainControl::AutomaticGainControl(){ agcConfig.targetLevelDbfs = 3; WebRtcAgc_Init(agc, 0, 255, kAgcModeAdaptiveDigital, 48000); WebRtcAgc_set_config(agc, agcConfig); - agcMicLevel=0; + agcMicLevel=0;*/ #endif } AutomaticGainControl::~AutomaticGainControl(){ #ifndef TGVOIP_NO_DSP - delete (webrtc::SplittingFilter*)splittingFilter; + /*delete (webrtc::SplittingFilter*)splittingFilter; delete (webrtc::IFChannelBuffer*)splittingFilterIn; delete (webrtc::IFChannelBuffer*)splittingFilterOut; - WebRtcAgc_Free(agc); + WebRtcAgc_Free(agc);*/ #endif } void AutomaticGainControl::Process(int16_t *inOut, size_t numSamples){ #ifndef TGVOIP_NO_DSP - if(passThrough) + /*if(passThrough) return; if(numSamples!=960){ LOGW("AutomaticGainControl only works on 960-sample buffers (got %u samples)", (unsigned int)numSamples); @@ -454,7 +223,7 @@ void AutomaticGainControl::Process(int16_t *inOut, size_t numSamples){ ((webrtc::SplittingFilter*)splittingFilter)->Synthesis(bufOut, bufIn); - memcpy(inOut, bufIn->ibuf_const()->bands(0)[0], 960*2); + memcpy(inOut, bufIn->ibuf_const()->bands(0)[0], 960*2);*/ #endif } diff --git a/EchoCanceller.h b/EchoCanceller.h index 6c9d773c33..62748e8e39 100755 --- a/EchoCanceller.h +++ b/EchoCanceller.h @@ -13,6 +13,11 @@ #include "MediaStreamItf.h" #include "utils.h" +namespace webrtc{ + class AudioProcessing; + class AudioFrame; +} + namespace tgvoip{ class EchoCanceller{ @@ -24,7 +29,7 @@ public: virtual void Stop(); void SpeakerOutCallback(unsigned char* data, size_t len); void Enable(bool enabled); - void ProcessInput(unsigned char* data, unsigned char* out, size_t len); + void ProcessInput(int16_t* inOut, size_t numSamples); void SetAECStrength(int strength); private: @@ -33,24 +38,14 @@ private: bool enableNS; bool isOn; #ifndef TGVOIP_NO_DSP + webrtc::AudioProcessing* apm=NULL; + webrtc::AudioFrame* audioFrame=NULL; void RunBufferFarendThread(); bool didBufferFarend; - Mutex aecMutex; - void* aec; - void* splittingFilter; // webrtc::SplittingFilter - void* splittingFilterIn; // webrtc::IFChannelBuffer - void* splittingFilterOut; // webrtc::IFChannelBuffer - void* splittingFilterFarend; // webrtc::SplittingFilter - void* splittingFilterFarendIn; // webrtc::IFChannelBuffer - void* splittingFilterFarendOut; // webrtc::IFChannelBuffer Thread* bufferFarendThread; BlockingQueue* farendQueue; BufferPool* farendBufferPool; bool running; - void* ns; // NsxHandle - void* agc; - int32_t agcMicLevel; - //int32_t outstandingFarendFrames=0; #endif }; diff --git a/Makefile.am b/Makefile.am index 0bef64a93f..5956147fcd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -92,73 +92,289 @@ endif endif if ENABLE_DSP -CFLAGS += -DWEBRTC_POSIX -DWEBRTC_APM_DEBUG_DUMP=0 -I$(top_srcdir)/webrtc_dsp +CFLAGS += -DWEBRTC_POSIX -DWEBRTC_APM_DEBUG_DUMP=0 -DWEBRTC_NS_FLOAT -I$(top_srcdir)/webrtc_dsp CCASFLAGS += -I$(top_srcdir)/webrtc_dsp SRC += \ -webrtc_dsp/webrtc/common_audio/ring_buffer.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/energy.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c +./webrtc_dsp/system_wrappers/source/field_trial.cc \ +./webrtc_dsp/system_wrappers/source/metrics.cc \ +./webrtc_dsp/system_wrappers/source/cpu_features.cc \ +./webrtc_dsp/absl/strings/internal/memutil.cc \ +./webrtc_dsp/absl/strings/string_view.cc \ +./webrtc_dsp/absl/strings/ascii.cc \ +./webrtc_dsp/absl/types/bad_optional_access.cc \ +./webrtc_dsp/absl/types/optional.cc \ +./webrtc_dsp/absl/base/internal/raw_logging.cc \ +./webrtc_dsp/absl/base/internal/throw_delegate.cc \ +./webrtc_dsp/rtc_base/race_checker.cc \ +./webrtc_dsp/rtc_base/strings/string_builder.cc \ +./webrtc_dsp/rtc_base/memory/aligned_malloc.cc \ +./webrtc_dsp/rtc_base/timeutils.cc \ +./webrtc_dsp/rtc_base/platform_file.cc \ +./webrtc_dsp/rtc_base/string_to_number.cc \ +./webrtc_dsp/rtc_base/thread_checker_impl.cc \ +./webrtc_dsp/rtc_base/stringencode.cc \ +./webrtc_dsp/rtc_base/stringutils.cc \ +./webrtc_dsp/rtc_base/checks.cc \ +./webrtc_dsp/rtc_base/platform_thread.cc \ +./webrtc_dsp/rtc_base/logging_webrtc.cc \ +./webrtc_dsp/rtc_base/criticalsection.cc \ +./webrtc_dsp/rtc_base/platform_thread_types.cc \ +./webrtc_dsp/rtc_base/event.cc \ +./webrtc_dsp/rtc_base/event_tracer.cc \ +./webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc \ +./webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc \ +./webrtc_dsp/api/audio/audio_frame.cc \ +./webrtc_dsp/api/audio/echo_canceller3_config.cc \ +./webrtc_dsp/api/audio/echo_canceller3_factory.cc \ +./webrtc_dsp/modules/third_party/fft/fft.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c \ +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c \ +./webrtc_dsp/modules/audio_processing/rms_level.cc \ +./webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc \ +./webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc \ +./webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc \ +./webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc \ +./webrtc_dsp/modules/audio_processing/splitting_filter.cc \ +./webrtc_dsp/modules/audio_processing/gain_control_impl.cc \ +./webrtc_dsp/modules/audio_processing/ns/nsx_core.c \ +./webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c \ +./webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c \ +./webrtc_dsp/modules/audio_processing/ns/ns_core.c \ +./webrtc_dsp/modules/audio_processing/ns/noise_suppression.c \ +./webrtc_dsp/modules/audio_processing/audio_buffer.cc \ +./webrtc_dsp/modules/audio_processing/typing_detection.cc \ +./webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc \ +./webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc \ +./webrtc_dsp/modules/audio_processing/include/aec_dump.cc \ +./webrtc_dsp/modules/audio_processing/include/audio_processing.cc \ +./webrtc_dsp/modules/audio_processing/include/config.cc \ +./webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc \ +./webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc \ +./webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc \ +./webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc \ +./webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc \ +./webrtc_dsp/modules/audio_processing/agc2/limiter.cc \ +./webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc \ +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc \ +./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc \ +./webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc \ +./webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc \ +./webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc \ +./webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc \ +./webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc \ +./webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc \ +./webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc \ +./webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc \ +./webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc \ +./webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc \ +./webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc \ +./webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc \ +./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc \ +./webrtc_dsp/modules/audio_processing/transient/moving_moments.cc \ +./webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc \ +./webrtc_dsp/modules/audio_processing/transient/wpd_node.cc \ +./webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc \ +./webrtc_dsp/modules/audio_processing/transient/transient_detector.cc \ +./webrtc_dsp/modules/audio_processing/low_cut_filter.cc \ +./webrtc_dsp/modules/audio_processing/level_estimator_impl.cc \ +./webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc \ +./webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc \ +./webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc \ +./webrtc_dsp/modules/audio_processing/aec/aec_core.cc \ +./webrtc_dsp/modules/audio_processing/voice_detection_impl.cc \ +./webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc \ +./webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc \ +./webrtc_dsp/modules/audio_processing/agc/agc.cc \ +./webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc \ +./webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc \ +./webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c \ +./webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c \ +./webrtc_dsp/modules/audio_processing/agc/utility.cc \ +./webrtc_dsp/modules/audio_processing/audio_processing_impl.cc \ +./webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc \ +./webrtc_dsp/modules/audio_processing/gain_controller2.cc \ +./webrtc_dsp/modules/audio_processing/residual_echo_detector.cc \ +./webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc \ +./webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc \ +./webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc \ +./webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc \ +./webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc \ +./webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc \ +./webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc \ +./webrtc_dsp/modules/audio_processing/aec3/subtractor.cc \ +./webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc \ +./webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc \ +./webrtc_dsp/modules/audio_processing/aec3/block_processor.cc \ +./webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/aec_state.cc \ +./webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc \ +./webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/block_framer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc \ +./webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc \ +./webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc \ +./webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc \ +./webrtc_dsp/modules/audio_processing/aec3/moving_average.cc \ +./webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc \ +./webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc \ +./webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc \ +./webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc \ +./webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc \ +./webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc \ +./webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc \ +./webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc \ +./webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc \ +./webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc \ +./webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc \ +./webrtc_dsp/modules/audio_processing/aec3/decimator.cc \ +./webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc \ +./webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc \ +./webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc \ +./webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc \ +./webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc \ +./webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc \ +./webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc \ +./webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc \ +./webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc \ +./webrtc_dsp/modules/audio_processing/vad/gmm.cc \ +./webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc \ +./webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc \ +./webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc \ +./webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc \ +./webrtc_dsp/common_audio/window_generator.cc \ +./webrtc_dsp/common_audio/channel_buffer.cc \ +./webrtc_dsp/common_audio/fir_filter_factory.cc \ +./webrtc_dsp/common_audio/wav_header.cc \ +./webrtc_dsp/common_audio/real_fourier_ooura.cc \ +./webrtc_dsp/common_audio/audio_util.cc \ +./webrtc_dsp/common_audio/fir_filter_sse.cc \ +./webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc \ +./webrtc_dsp/common_audio/resampler/resampler.cc \ +./webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc \ +./webrtc_dsp/common_audio/resampler/push_resampler.cc \ +./webrtc_dsp/common_audio/resampler/sinc_resampler.cc \ +./webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc \ +./webrtc_dsp/common_audio/wav_file.cc \ +./webrtc_dsp/common_audio/third_party/fft4g/fft4g.c \ +./webrtc_dsp/common_audio/audio_converter.cc \ +./webrtc_dsp/common_audio/real_fourier.cc \ +./webrtc_dsp/common_audio/sparse_fir_filter.cc \ +./webrtc_dsp/common_audio/smoothing_filter.cc \ +./webrtc_dsp/common_audio/fir_filter_c.cc \ +./webrtc_dsp/common_audio/ring_buffer.c \ +./webrtc_dsp/common_audio/signal_processing/complex_fft.c \ +./webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c \ +./webrtc_dsp/common_audio/signal_processing/splitting_filter1.c \ +./webrtc_dsp/common_audio/signal_processing/levinson_durbin.c \ +./webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc \ +./webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c \ +./webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c \ +./webrtc_dsp/common_audio/signal_processing/energy.c \ +./webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ +./webrtc_dsp/common_audio/signal_processing/downsample_fast.c \ +./webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c \ +./webrtc_dsp/common_audio/signal_processing/spl_init.c \ +./webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c \ +./webrtc_dsp/common_audio/signal_processing/cross_correlation.c \ +./webrtc_dsp/common_audio/signal_processing/division_operations.c \ +./webrtc_dsp/common_audio/signal_processing/auto_correlation.c \ +./webrtc_dsp/common_audio/signal_processing/get_scaling_square.c \ +./webrtc_dsp/common_audio/signal_processing/resample.c \ +./webrtc_dsp/common_audio/signal_processing/min_max_operations.c \ +./webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c \ +./webrtc_dsp/common_audio/signal_processing/filter_ar.c \ +./webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c \ +./webrtc_dsp/common_audio/signal_processing/resample_fractional.c \ +./webrtc_dsp/common_audio/signal_processing/real_fft.c \ +./webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c \ +./webrtc_dsp/common_audio/signal_processing/randomization_functions.c \ +./webrtc_dsp/common_audio/signal_processing/copy_set_operations.c \ +./webrtc_dsp/common_audio/signal_processing/resample_by_2.c \ +./webrtc_dsp/common_audio/signal_processing/get_hanning_window.c \ +./webrtc_dsp/common_audio/signal_processing/resample_48khz.c \ +./webrtc_dsp/common_audio/signal_processing/spl_inl.c \ +./webrtc_dsp/common_audio/signal_processing/spl_sqrt.c \ +./webrtc_dsp/common_audio/vad/vad_sp.c \ +./webrtc_dsp/common_audio/vad/vad.cc \ +./webrtc_dsp/common_audio/vad/webrtc_vad.c \ +./webrtc_dsp/common_audio/vad/vad_filterbank.c \ +./webrtc_dsp/common_audio/vad/vad_core.c \ +./webrtc_dsp/common_audio/vad/vad_gmm.c \ +webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c \ +webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c +if TARGET_OS_OSX +CFLAGS += -DWEBRTC_MAC SRC += \ -webrtc_dsp/webrtc/base/checks.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc \ -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc \ -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc \ -webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc \ -webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc \ -webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc \ -webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc \ -webrtc_dsp/webrtc/common_audio/channel_buffer.cc \ -webrtc_dsp/webrtc/common_audio/audio_util.cc - -SRC += \ -webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc \ -webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc \ -webrtc_dsp/webrtc/common_audio/wav_header.cc \ -webrtc_dsp/webrtc/common_audio/wav_file.cc \ -webrtc_dsp/webrtc/base/stringutils.cc +webrtc_dsp/rtc_base/logging_mac.mm \ +webrtc_dsp/rtc_base/logging_mac.h +else +CFLAGS += -DWEBRTC_LINUX +endif if TARGET_CPU_X86 SRC += \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc +webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc \ +webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc endif if ENABLE_AUDIO_CALLBACK @@ -171,99 +387,343 @@ endif if TARGET_CPU_ARM SRC += \ -webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S \ -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S +webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S \ +webrtc_dsp/common_audio/signal_processing/spl_sqrt_floor_arm.S if TARGET_CPU_ARMV7 CFLAGS += -mfpu=neon -mfloat-abi=hard CCASFLAGS += -mfpu=neon -mfloat-abi=hard SRC += \ -webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc \ -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc -# webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S +webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c \ +webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c \ +webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c \ +webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc \ +webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc \ +webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c \ +webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc +# webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S endif -else -SRC += \ -webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c \ -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c endif -SRC += \ -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c \ -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c \ -webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c \ -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c \ -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c \ -webrtc_dsp/webrtc/common_audio/fft4g.c - -SRC += \ -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c \ -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c - # headers SRC += \ -webrtc_dsp/webrtc/base/array_view.h \ -webrtc_dsp/webrtc/base/atomicops.h \ -webrtc_dsp/webrtc/base/basictypes.h \ -webrtc_dsp/webrtc/base/checks.h \ -webrtc_dsp/webrtc/base/constructormagic.h \ -webrtc_dsp/webrtc/base/safe_compare.h \ -webrtc_dsp/webrtc/base/safe_conversions.h \ -webrtc_dsp/webrtc/base/safe_conversions_impl.h \ -webrtc_dsp/webrtc/base/sanitizer.h \ -webrtc_dsp/webrtc/base/stringutils.h \ -webrtc_dsp/webrtc/base/type_traits.h \ -webrtc_dsp/webrtc/common_audio/channel_buffer.h \ -webrtc_dsp/webrtc/common_audio/fft4g.h \ -webrtc_dsp/webrtc/common_audio/include/audio_util.h \ -webrtc_dsp/webrtc/common_audio/ring_buffer.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h \ -webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h \ -webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h \ -webrtc_dsp/webrtc/common_audio/wav_file.h \ -webrtc_dsp/webrtc/common_audio/wav_header.h \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h \ -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h \ -webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h \ -webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h \ -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h \ -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h \ -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h \ -webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h \ -webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h \ -webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h \ -webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h \ -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ -webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h \ -webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h \ -webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h \ -webrtc_dsp/webrtc/system_wrappers/include/metrics.h \ -webrtc_dsp/webrtc/typedefs.h +webrtc_dsp/system_wrappers/include/field_trial.h \ +webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h \ +webrtc_dsp/system_wrappers/include/asm_defines.h \ +webrtc_dsp/system_wrappers/include/metrics.h \ +webrtc_dsp/system_wrappers/include/compile_assert_c.h \ +webrtc_dsp/typedefs.h \ +webrtc_dsp/absl/strings/internal/memutil.h \ +webrtc_dsp/absl/strings/ascii.h \ +webrtc_dsp/absl/strings/string_view.h \ +webrtc_dsp/absl/types/optional.h \ +webrtc_dsp/absl/types/bad_optional_access.h \ +webrtc_dsp/absl/memory/memory.h \ +webrtc_dsp/absl/meta/type_traits.h \ +webrtc_dsp/absl/algorithm/algorithm.h \ +webrtc_dsp/absl/container/inlined_vector.h \ +webrtc_dsp/absl/base/policy_checks.h \ +webrtc_dsp/absl/base/port.h \ +webrtc_dsp/absl/base/config.h \ +webrtc_dsp/absl/base/internal/invoke.h \ +webrtc_dsp/absl/base/internal/inline_variable.h \ +webrtc_dsp/absl/base/internal/atomic_hook.h \ +webrtc_dsp/absl/base/internal/identity.h \ +webrtc_dsp/absl/base/internal/raw_logging.h \ +webrtc_dsp/absl/base/internal/throw_delegate.h \ +webrtc_dsp/absl/base/attributes.h \ +webrtc_dsp/absl/base/macros.h \ +webrtc_dsp/absl/base/optimization.h \ +webrtc_dsp/absl/base/log_severity.h \ +webrtc_dsp/absl/utility/utility.h \ +webrtc_dsp/rtc_base/string_to_number.h \ +webrtc_dsp/rtc_base/constructormagic.h \ +webrtc_dsp/rtc_base/strings/string_builder.h \ +webrtc_dsp/rtc_base/event_tracer.h \ +webrtc_dsp/rtc_base/stringencode.h \ +webrtc_dsp/rtc_base/memory/aligned_malloc.h \ +webrtc_dsp/rtc_base/event.h \ +webrtc_dsp/rtc_base/ignore_wundef.h \ +webrtc_dsp/rtc_base/stringutils.h \ +webrtc_dsp/rtc_base/arraysize.h \ +webrtc_dsp/rtc_base/swap_queue.h \ +webrtc_dsp/rtc_base/trace_event.h \ +webrtc_dsp/rtc_base/checks.h \ +webrtc_dsp/rtc_base/deprecation.h \ +webrtc_dsp/rtc_base/sanitizer.h \ +webrtc_dsp/rtc_base/scoped_ref_ptr.h \ +webrtc_dsp/rtc_base/logging.h \ +webrtc_dsp/rtc_base/timeutils.h \ +webrtc_dsp/rtc_base/atomicops.h \ +webrtc_dsp/rtc_base/numerics/safe_minmax.h \ +webrtc_dsp/rtc_base/numerics/safe_conversions.h \ +webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h \ +webrtc_dsp/rtc_base/numerics/safe_compare.h \ +webrtc_dsp/rtc_base/system/unused.h \ +webrtc_dsp/rtc_base/system/inline.h \ +webrtc_dsp/rtc_base/system/ignore_warnings.h \ +webrtc_dsp/rtc_base/system/asm_defines.h \ +webrtc_dsp/rtc_base/system/rtc_export.h \ +webrtc_dsp/rtc_base/system/arch.h \ +webrtc_dsp/rtc_base/platform_thread.h \ +webrtc_dsp/rtc_base/platform_thread_types.h \ +webrtc_dsp/rtc_base/protobuf_utils.h \ +webrtc_dsp/rtc_base/thread_annotations.h \ +webrtc_dsp/rtc_base/gtest_prod_util.h \ +webrtc_dsp/rtc_base/function_view.h \ +webrtc_dsp/rtc_base/criticalsection.h \ +webrtc_dsp/rtc_base/refcount.h \ +webrtc_dsp/rtc_base/thread_checker_impl.h \ +webrtc_dsp/rtc_base/compile_assert_c.h \ +webrtc_dsp/rtc_base/type_traits.h \ +webrtc_dsp/rtc_base/platform_file.h \ +webrtc_dsp/rtc_base/refcounter.h \ +webrtc_dsp/rtc_base/thread_checker.h \ +webrtc_dsp/rtc_base/race_checker.h \ +webrtc_dsp/rtc_base/refcountedobject.h \ +webrtc_dsp/third_party/rnnoise/src/rnn_activations.h \ +webrtc_dsp/third_party/rnnoise/src/kiss_fft.h \ +webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h \ +webrtc_dsp/api/audio/echo_canceller3_config.h \ +webrtc_dsp/api/audio/echo_control.h \ +webrtc_dsp/api/audio/audio_frame.h \ +webrtc_dsp/api/audio/echo_canceller3_factory.h \ +webrtc_dsp/api/array_view.h \ +webrtc_dsp/modules/third_party/fft/fft.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h \ +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h \ +webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h \ +webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h \ +webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h \ +webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h \ +webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h \ +webrtc_dsp/modules/audio_processing/rms_level.h \ +webrtc_dsp/modules/audio_processing/ns/ns_core.h \ +webrtc_dsp/modules/audio_processing/ns/defines.h \ +webrtc_dsp/modules/audio_processing/ns/noise_suppression.h \ +webrtc_dsp/modules/audio_processing/ns/nsx_core.h \ +webrtc_dsp/modules/audio_processing/ns/windows_private.h \ +webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h \ +webrtc_dsp/modules/audio_processing/ns/nsx_defines.h \ +webrtc_dsp/modules/audio_processing/residual_echo_detector.h \ +webrtc_dsp/modules/audio_processing/audio_processing_impl.h \ +webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h \ +webrtc_dsp/modules/audio_processing/include/audio_generator.h \ +webrtc_dsp/modules/audio_processing/include/config.h \ +webrtc_dsp/modules/audio_processing/include/audio_frame_view.h \ +webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h \ +webrtc_dsp/modules/audio_processing/include/gain_control.h \ +webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h \ +webrtc_dsp/modules/audio_processing/include/aec_dump.h \ +webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h \ +webrtc_dsp/modules/audio_processing/include/audio_processing.h \ +webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h \ +webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h \ +webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h \ +webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h \ +webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h \ +webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h \ +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h \ +webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h \ +webrtc_dsp/modules/audio_processing/agc2/down_sampler.h \ +webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h \ +webrtc_dsp/modules/audio_processing/agc2/agc2_common.h \ +webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h \ +webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h \ +webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h \ +webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h \ +webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h \ +webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h \ +webrtc_dsp/modules/audio_processing/agc2/gain_applier.h \ +webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h \ +webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h \ +webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h \ +webrtc_dsp/modules/audio_processing/agc2/limiter.h \ +webrtc_dsp/modules/audio_processing/transient/transient_detector.h \ +webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h \ +webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h \ +webrtc_dsp/modules/audio_processing/transient/common.h \ +webrtc_dsp/modules/audio_processing/transient/wpd_node.h \ +webrtc_dsp/modules/audio_processing/transient/moving_moments.h \ +webrtc_dsp/modules/audio_processing/transient/wpd_tree.h \ +webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h \ +webrtc_dsp/modules/audio_processing/noise_suppression_impl.h \ +webrtc_dsp/modules/audio_processing/aec/aec_resampler.h \ +webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h \ +webrtc_dsp/modules/audio_processing/aec/aec_core.h \ +webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h \ +webrtc_dsp/modules/audio_processing/aec/aec_common.h \ +webrtc_dsp/modules/audio_processing/voice_detection_impl.h \ +webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h \ +webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h \ +webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h \ +webrtc_dsp/modules/audio_processing/agc/mock_agc.h \ +webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h \ +webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h \ +webrtc_dsp/modules/audio_processing/agc/utility.h \ +webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h \ +webrtc_dsp/modules/audio_processing/agc/agc.h \ +webrtc_dsp/modules/audio_processing/common.h \ +webrtc_dsp/modules/audio_processing/audio_buffer.h \ +webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h \ +webrtc_dsp/modules/audio_processing/splitting_filter.h \ +webrtc_dsp/modules/audio_processing/low_cut_filter.h \ +webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h \ +webrtc_dsp/modules/audio_processing/three_band_filter_bank.h \ +webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h \ +webrtc_dsp/modules/audio_processing/level_estimator_impl.h \ +webrtc_dsp/modules/audio_processing/gain_controller2.h \ +webrtc_dsp/modules/audio_processing/aecm/aecm_core.h \ +webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h \ +webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h \ +webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h \ +webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h \ +webrtc_dsp/modules/audio_processing/aec3/aec_state.h \ +webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h \ +webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h \ +webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h \ +webrtc_dsp/modules/audio_processing/aec3/matched_filter.h \ +webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h \ +webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h \ +webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h \ +webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h \ +webrtc_dsp/modules/audio_processing/aec3/subtractor.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h \ +webrtc_dsp/modules/audio_processing/aec3/fft_data.h \ +webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h \ +webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h \ +webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_remover.h \ +webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h \ +webrtc_dsp/modules/audio_processing/aec3/moving_average.h \ +webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h \ +webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h \ +webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h \ +webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/block_processor.h \ +webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h \ +webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/render_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h \ +webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h \ +webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h \ +webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h \ +webrtc_dsp/modules/audio_processing/aec3/aec3_common.h \ +webrtc_dsp/modules/audio_processing/aec3/vector_math.h \ +webrtc_dsp/modules/audio_processing/aec3/decimator.h \ +webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h \ +webrtc_dsp/modules/audio_processing/aec3/block_framer.h \ +webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h \ +webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h \ +webrtc_dsp/modules/audio_processing/aec3/reverb_model.h \ +webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h \ +webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h \ +webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h \ +webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h \ +webrtc_dsp/modules/audio_processing/gain_control_impl.h \ +webrtc_dsp/modules/audio_processing/typing_detection.h \ +webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h \ +webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h \ +webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h \ +webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h \ +webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h \ +webrtc_dsp/modules/audio_processing/vad/gmm.h \ +webrtc_dsp/modules/audio_processing/vad/common.h \ +webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h \ +webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h \ +webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h \ +webrtc_dsp/modules/audio_processing/vad/pitch_internal.h \ +webrtc_dsp/modules/audio_processing/vad/standalone_vad.h \ +webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h \ +webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ +webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h \ +webrtc_dsp/modules/audio_processing/utility/ooura_fft.h \ +webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h \ +webrtc_dsp/modules/audio_processing/utility/delay_estimator.h \ +webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h \ +webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h \ +webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h \ +webrtc_dsp/common_audio/wav_file.h \ +webrtc_dsp/common_audio/sparse_fir_filter.h \ +webrtc_dsp/common_audio/fir_filter_sse.h \ +webrtc_dsp/common_audio/window_generator.h \ +webrtc_dsp/common_audio/ring_buffer.h \ +webrtc_dsp/common_audio/fir_filter.h \ +webrtc_dsp/common_audio/include/audio_util.h \ +webrtc_dsp/common_audio/real_fourier_ooura.h \ +webrtc_dsp/common_audio/smoothing_filter.h \ +webrtc_dsp/common_audio/resampler/sinc_resampler.h \ +webrtc_dsp/common_audio/resampler/include/push_resampler.h \ +webrtc_dsp/common_audio/resampler/include/resampler.h \ +webrtc_dsp/common_audio/resampler/push_sinc_resampler.h \ +webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h \ +webrtc_dsp/common_audio/fir_filter_factory.h \ +webrtc_dsp/common_audio/audio_converter.h \ +webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h \ +webrtc_dsp/common_audio/third_party/fft4g/fft4g.h \ +webrtc_dsp/common_audio/channel_buffer.h \ +webrtc_dsp/common_audio/real_fourier.h \ +webrtc_dsp/common_audio/fir_filter_neon.h \ +webrtc_dsp/common_audio/fir_filter_c.h \ +webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h \ +webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h \ +webrtc_dsp/common_audio/signal_processing/include/real_fft.h \ +webrtc_dsp/common_audio/signal_processing/include/spl_inl.h \ +webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h \ +webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h \ +webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h \ +webrtc_dsp/common_audio/wav_header.h \ +webrtc_dsp/common_audio/vad/vad_core.h \ +webrtc_dsp/common_audio/vad/include/vad.h \ +webrtc_dsp/common_audio/vad/include/webrtc_vad.h \ +webrtc_dsp/common_audio/vad/vad_gmm.h \ +webrtc_dsp/common_audio/vad/vad_sp.h \ +webrtc_dsp/common_audio/vad/vad_filterbank.h else CFLAGS += -DTGVOIP_NO_DSP diff --git a/Makefile.in b/Makefile.in index d36463aed1..0d4b934053 100644 --- a/Makefile.in +++ b/Makefile.in @@ -127,156 +127,631 @@ host_triplet = @host@ @TARGET_OS_OSX_FALSE@@WITH_PULSE_TRUE@os/linux/AudioPulse.h \ @TARGET_OS_OSX_FALSE@@WITH_PULSE_TRUE@os/linux/PulseFunctions.h -@ENABLE_DSP_TRUE@am__append_8 = -DWEBRTC_POSIX -DWEBRTC_APM_DEBUG_DUMP=0 -I$(top_srcdir)/webrtc_dsp +@ENABLE_DSP_TRUE@am__append_8 = -DWEBRTC_POSIX -DWEBRTC_APM_DEBUG_DUMP=0 -DWEBRTC_NS_FLOAT -I$(top_srcdir)/webrtc_dsp @ENABLE_DSP_TRUE@am__append_9 = -I$(top_srcdir)/webrtc_dsp -@ENABLE_DSP_TRUE@am__append_10 = \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/ring_buffer.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/energy.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/checks.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/channel_buffer.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/audio_util.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_header.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_file.cc \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/stringutils.cc -@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@am__append_11 = \ -@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc \ -@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc +@ENABLE_DSP_TRUE@am__append_10 = \ +@ENABLE_DSP_TRUE@./webrtc_dsp/system_wrappers/source/field_trial.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/system_wrappers/source/metrics.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/system_wrappers/source/cpu_features.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/strings/internal/memutil.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/strings/string_view.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/strings/ascii.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/types/bad_optional_access.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/types/optional.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/base/internal/raw_logging.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/absl/base/internal/throw_delegate.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/race_checker.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/strings/string_builder.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/memory/aligned_malloc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/timeutils.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/platform_file.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/string_to_number.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/thread_checker_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/stringencode.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/stringutils.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/checks.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/platform_thread.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/logging_webrtc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/criticalsection.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/platform_thread_types.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/event.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/rtc_base/event_tracer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/api/audio/audio_frame.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/api/audio/echo_canceller3_config.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/api/audio/echo_canceller3_factory.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/third_party/fft/fft.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/rms_level.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/splitting_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/gain_control_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/ns/nsx_core.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/ns/ns_core.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/ns/noise_suppression.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/audio_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/typing_detection.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/include/aec_dump.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/include/audio_processing.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/include/config.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/limiter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/transient/moving_moments.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/transient/wpd_node.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/transient/transient_detector.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/low_cut_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/level_estimator_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec/aec_core.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/voice_detection_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/agc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/agc/utility.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/audio_processing_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/gain_controller2.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/residual_echo_detector.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/subtractor.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/block_processor.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/aec_state.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/block_framer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/moving_average.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/aec3/decimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/vad/gmm.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/window_generator.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/channel_buffer.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/fir_filter_factory.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/wav_header.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/real_fourier_ooura.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/audio_util.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/fir_filter_sse.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/resampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/push_resampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/sinc_resampler.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/wav_file.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/third_party/fft4g/fft4g.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/audio_converter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/real_fourier.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/sparse_fir_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/smoothing_filter.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/fir_filter_c.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/ring_buffer.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/complex_fft.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/splitting_filter1.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/levinson_durbin.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/energy.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/downsample_fast.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/spl_init.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/cross_correlation.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/division_operations.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/auto_correlation.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/get_scaling_square.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/resample.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/min_max_operations.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/filter_ar.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/resample_fractional.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/real_fft.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/randomization_functions.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/copy_set_operations.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/resample_by_2.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/get_hanning_window.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/resample_48khz.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/spl_inl.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/signal_processing/spl_sqrt.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/vad_sp.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/vad.cc \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/webrtc_vad.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/vad_filterbank.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/vad_core.c \ +@ENABLE_DSP_TRUE@./webrtc_dsp/common_audio/vad/vad_gmm.c \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@am__append_12 = \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_TRUE@am__append_11 = -DWEBRTC_MAC +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_TRUE@am__append_12 = \ +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_TRUE@webrtc_dsp/rtc_base/logging_mac.mm \ +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_TRUE@webrtc_dsp/rtc_base/logging_mac.h -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_13 = -mfpu=neon -mfloat-abi=hard -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_14 = -mfpu=neon -mfloat-abi=hard -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_15 = \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_FALSE@am__append_13 = -DWEBRTC_LINUX +@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@am__append_14 = \ +@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc \ +@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc -# webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_FALSE@am__append_16 = \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_FALSE@webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_FALSE@webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@am__append_15 = -DTGVOIP_USE_CALLBACK_AUDIO_IO +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@am__append_16 = \ +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@audio/AudioIOCallback.cpp +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@am__append_17 = \ +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@audio/AudioIOCallback.h + +@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@am__append_18 = \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/common_audio/signal_processing/spl_sqrt_floor_arm.S + +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_19 = -mfpu=neon -mfloat-abi=hard +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_20 = -mfpu=neon -mfloat-abi=hard +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__append_21 = \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc + +# webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S # headers -@ENABLE_DSP_TRUE@am__append_17 = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/fft4g.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/array_view.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/atomicops.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/basictypes.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/checks.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/constructormagic.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/safe_compare.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/safe_conversions.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/safe_conversions_impl.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/sanitizer.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/stringutils.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/type_traits.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/channel_buffer.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/fft4g.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/include/audio_util.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/ring_buffer.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_file.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_header.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/include/metrics.h \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/typedefs.h -@ENABLE_DSP_FALSE@am__append_18 = -DTGVOIP_NO_DSP +@ENABLE_DSP_TRUE@am__append_22 = \ +@ENABLE_DSP_TRUE@webrtc_dsp/system_wrappers/include/field_trial.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/system_wrappers/include/asm_defines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/system_wrappers/include/metrics.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/system_wrappers/include/compile_assert_c.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/typedefs.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/strings/internal/memutil.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/strings/ascii.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/strings/string_view.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/types/optional.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/types/bad_optional_access.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/memory/memory.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/meta/type_traits.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/algorithm/algorithm.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/container/inlined_vector.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/policy_checks.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/port.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/config.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/invoke.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/inline_variable.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/atomic_hook.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/identity.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/raw_logging.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/internal/throw_delegate.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/attributes.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/macros.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/optimization.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/base/log_severity.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/absl/utility/utility.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/string_to_number.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/constructormagic.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/strings/string_builder.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/event_tracer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/stringencode.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/memory/aligned_malloc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/event.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/ignore_wundef.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/stringutils.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/arraysize.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/swap_queue.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/trace_event.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/checks.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/deprecation.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/sanitizer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/scoped_ref_ptr.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/logging.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/timeutils.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/atomicops.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/numerics/safe_minmax.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/numerics/safe_conversions.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/numerics/safe_compare.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/unused.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/inline.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/ignore_warnings.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/asm_defines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/rtc_export.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/system/arch.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/platform_thread.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/platform_thread_types.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/protobuf_utils.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/thread_annotations.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/gtest_prod_util.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/function_view.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/criticalsection.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/refcount.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/thread_checker_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/compile_assert_c.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/type_traits.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/platform_file.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/refcounter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/thread_checker.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/race_checker.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/rtc_base/refcountedobject.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/third_party/rnnoise/src/rnn_activations.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/third_party/rnnoise/src/kiss_fft.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/api/audio/echo_canceller3_config.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/api/audio/echo_control.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/api/audio/audio_frame.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/api/audio/echo_canceller3_factory.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/api/array_view.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/third_party/fft/fft.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/rms_level.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/ns_core.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/defines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/noise_suppression.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/nsx_core.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/windows_private.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/ns/nsx_defines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/residual_echo_detector.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/audio_processing_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/audio_generator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/config.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/audio_frame_view.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/gain_control.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/aec_dump.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/include/audio_processing.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/down_sampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/agc2_common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/gain_applier.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc2/limiter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/transient_detector.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/wpd_node.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/moving_moments.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/wpd_tree.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/noise_suppression_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_resampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_core.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec/aec_common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/voice_detection_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/mock_agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/utility.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/agc/agc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/audio_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/splitting_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/low_cut_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/three_band_filter_bank.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/level_estimator_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/gain_controller2.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aecm/aecm_core.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/aec_state.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/matched_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/subtractor.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/fft_data.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_remover.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/moving_average.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/block_processor.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/aec3_common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/vector_math.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/decimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/block_framer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/reverb_model.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/gain_control_impl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/typing_detection.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/gmm.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/pitch_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/standalone_vad.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/ooura_fft.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/delay_estimator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/wav_file.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/sparse_fir_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/fir_filter_sse.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/window_generator.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/ring_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/fir_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/include/audio_util.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/real_fourier_ooura.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/smoothing_filter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/resampler/sinc_resampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/resampler/include/push_resampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/resampler/include/resampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/resampler/push_sinc_resampler.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/fir_filter_factory.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/audio_converter.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/third_party/fft4g/fft4g.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/channel_buffer.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/real_fourier.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/fir_filter_neon.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/fir_filter_c.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/include/real_fft.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/include/spl_inl.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/wav_header.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/vad_core.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/include/vad.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/include/webrtc_vad.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/vad_gmm.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/vad_sp.h \ +@ENABLE_DSP_TRUE@webrtc_dsp/common_audio/vad/vad_filterbank.h + +@ENABLE_DSP_FALSE@am__append_23 = -DTGVOIP_NO_DSP subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac @@ -337,140 +812,601 @@ am__libtgvoip_la_SOURCES_DIST = VoIPController.cpp Buffers.cpp \ os/darwin/DarwinSpecific.mm os/linux/AudioInputALSA.cpp \ os/linux/AudioOutputALSA.cpp os/linux/AudioOutputPulse.cpp \ os/linux/AudioInputPulse.cpp os/linux/AudioPulse.cpp \ - webrtc_dsp/webrtc/common_audio/ring_buffer.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/energy.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c \ - webrtc_dsp/webrtc/base/checks.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc \ - webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc \ - webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc \ - webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc \ - webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc \ - webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc \ - webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc \ - webrtc_dsp/webrtc/common_audio/channel_buffer.cc \ - webrtc_dsp/webrtc/common_audio/audio_util.cc \ - webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc \ - webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc \ - webrtc_dsp/webrtc/common_audio/wav_header.cc \ - webrtc_dsp/webrtc/common_audio/wav_file.cc \ - webrtc_dsp/webrtc/base/stringutils.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc \ - webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S \ - webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S \ - webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc \ - webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc \ - webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c \ - webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c \ - webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c \ - webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c \ - webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c \ - webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c \ - webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c \ - webrtc_dsp/webrtc/common_audio/fft4g.c \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c \ - webrtc_dsp/webrtc/base/array_view.h \ - webrtc_dsp/webrtc/base/atomicops.h \ - webrtc_dsp/webrtc/base/basictypes.h \ - webrtc_dsp/webrtc/base/checks.h \ - webrtc_dsp/webrtc/base/constructormagic.h \ - webrtc_dsp/webrtc/base/safe_compare.h \ - webrtc_dsp/webrtc/base/safe_conversions.h \ - webrtc_dsp/webrtc/base/safe_conversions_impl.h \ - webrtc_dsp/webrtc/base/sanitizer.h \ - webrtc_dsp/webrtc/base/stringutils.h \ - webrtc_dsp/webrtc/base/type_traits.h \ - webrtc_dsp/webrtc/common_audio/channel_buffer.h \ - webrtc_dsp/webrtc/common_audio/fft4g.h \ - webrtc_dsp/webrtc/common_audio/include/audio_util.h \ - webrtc_dsp/webrtc/common_audio/ring_buffer.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h \ - webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h \ - webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h \ - webrtc_dsp/webrtc/common_audio/wav_file.h \ - webrtc_dsp/webrtc/common_audio/wav_header.h \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h \ - webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h \ - webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h \ - webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h \ - webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h \ - webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h \ - webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h \ - webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ - webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h \ - webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h \ - webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h \ - webrtc_dsp/webrtc/system_wrappers/include/metrics.h \ - webrtc_dsp/webrtc/typedefs.h VoIPController.h Buffers.h \ - BlockingQueue.h PrivateDefines.h CongestionControl.h \ + ./webrtc_dsp/system_wrappers/source/field_trial.cc \ + ./webrtc_dsp/system_wrappers/source/metrics.cc \ + ./webrtc_dsp/system_wrappers/source/cpu_features.cc \ + ./webrtc_dsp/absl/strings/internal/memutil.cc \ + ./webrtc_dsp/absl/strings/string_view.cc \ + ./webrtc_dsp/absl/strings/ascii.cc \ + ./webrtc_dsp/absl/types/bad_optional_access.cc \ + ./webrtc_dsp/absl/types/optional.cc \ + ./webrtc_dsp/absl/base/internal/raw_logging.cc \ + ./webrtc_dsp/absl/base/internal/throw_delegate.cc \ + ./webrtc_dsp/rtc_base/race_checker.cc \ + ./webrtc_dsp/rtc_base/strings/string_builder.cc \ + ./webrtc_dsp/rtc_base/memory/aligned_malloc.cc \ + ./webrtc_dsp/rtc_base/timeutils.cc \ + ./webrtc_dsp/rtc_base/platform_file.cc \ + ./webrtc_dsp/rtc_base/string_to_number.cc \ + ./webrtc_dsp/rtc_base/thread_checker_impl.cc \ + ./webrtc_dsp/rtc_base/stringencode.cc \ + ./webrtc_dsp/rtc_base/stringutils.cc \ + ./webrtc_dsp/rtc_base/checks.cc \ + ./webrtc_dsp/rtc_base/platform_thread.cc \ + ./webrtc_dsp/rtc_base/logging_webrtc.cc \ + ./webrtc_dsp/rtc_base/criticalsection.cc \ + ./webrtc_dsp/rtc_base/platform_thread_types.cc \ + ./webrtc_dsp/rtc_base/event.cc \ + ./webrtc_dsp/rtc_base/event_tracer.cc \ + ./webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc \ + ./webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc \ + ./webrtc_dsp/api/audio/audio_frame.cc \ + ./webrtc_dsp/api/audio/echo_canceller3_config.cc \ + ./webrtc_dsp/api/audio/echo_canceller3_factory.cc \ + ./webrtc_dsp/modules/third_party/fft/fft.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c \ + ./webrtc_dsp/modules/audio_processing/rms_level.cc \ + ./webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc \ + ./webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/splitting_filter.cc \ + ./webrtc_dsp/modules/audio_processing/gain_control_impl.cc \ + ./webrtc_dsp/modules/audio_processing/ns/nsx_core.c \ + ./webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c \ + ./webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c \ + ./webrtc_dsp/modules/audio_processing/ns/ns_core.c \ + ./webrtc_dsp/modules/audio_processing/ns/noise_suppression.c \ + ./webrtc_dsp/modules/audio_processing/audio_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/typing_detection.cc \ + ./webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc \ + ./webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc \ + ./webrtc_dsp/modules/audio_processing/include/aec_dump.cc \ + ./webrtc_dsp/modules/audio_processing/include/audio_processing.cc \ + ./webrtc_dsp/modules/audio_processing/include/config.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/limiter.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc \ + ./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/transient/moving_moments.cc \ + ./webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc \ + ./webrtc_dsp/modules/audio_processing/transient/wpd_node.cc \ + ./webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc \ + ./webrtc_dsp/modules/audio_processing/transient/transient_detector.cc \ + ./webrtc_dsp/modules/audio_processing/low_cut_filter.cc \ + ./webrtc_dsp/modules/audio_processing/level_estimator_impl.cc \ + ./webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc \ + ./webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc \ + ./webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc \ + ./webrtc_dsp/modules/audio_processing/aec/aec_core.cc \ + ./webrtc_dsp/modules/audio_processing/voice_detection_impl.cc \ + ./webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc \ + ./webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc \ + ./webrtc_dsp/modules/audio_processing/agc/agc.cc \ + ./webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc \ + ./webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc \ + ./webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c \ + ./webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c \ + ./webrtc_dsp/modules/audio_processing/agc/utility.cc \ + ./webrtc_dsp/modules/audio_processing/audio_processing_impl.cc \ + ./webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc \ + ./webrtc_dsp/modules/audio_processing/gain_controller2.cc \ + ./webrtc_dsp/modules/audio_processing/residual_echo_detector.cc \ + ./webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc \ + ./webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc \ + ./webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc \ + ./webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/subtractor.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/block_processor.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/aec_state.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/block_framer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/moving_average.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc \ + ./webrtc_dsp/modules/audio_processing/aec3/decimator.cc \ + ./webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc \ + ./webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc \ + ./webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc \ + ./webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc \ + ./webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc \ + ./webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc \ + ./webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc \ + ./webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc \ + ./webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc \ + ./webrtc_dsp/modules/audio_processing/vad/gmm.cc \ + ./webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc \ + ./webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc \ + ./webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc \ + ./webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc \ + ./webrtc_dsp/common_audio/window_generator.cc \ + ./webrtc_dsp/common_audio/channel_buffer.cc \ + ./webrtc_dsp/common_audio/fir_filter_factory.cc \ + ./webrtc_dsp/common_audio/wav_header.cc \ + ./webrtc_dsp/common_audio/real_fourier_ooura.cc \ + ./webrtc_dsp/common_audio/audio_util.cc \ + ./webrtc_dsp/common_audio/fir_filter_sse.cc \ + ./webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc \ + ./webrtc_dsp/common_audio/resampler/resampler.cc \ + ./webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc \ + ./webrtc_dsp/common_audio/resampler/push_resampler.cc \ + ./webrtc_dsp/common_audio/resampler/sinc_resampler.cc \ + ./webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc \ + ./webrtc_dsp/common_audio/wav_file.cc \ + ./webrtc_dsp/common_audio/third_party/fft4g/fft4g.c \ + ./webrtc_dsp/common_audio/audio_converter.cc \ + ./webrtc_dsp/common_audio/real_fourier.cc \ + ./webrtc_dsp/common_audio/sparse_fir_filter.cc \ + ./webrtc_dsp/common_audio/smoothing_filter.cc \ + ./webrtc_dsp/common_audio/fir_filter_c.cc \ + ./webrtc_dsp/common_audio/ring_buffer.c \ + ./webrtc_dsp/common_audio/signal_processing/complex_fft.c \ + ./webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c \ + ./webrtc_dsp/common_audio/signal_processing/splitting_filter1.c \ + ./webrtc_dsp/common_audio/signal_processing/levinson_durbin.c \ + ./webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc \ + ./webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c \ + ./webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c \ + ./webrtc_dsp/common_audio/signal_processing/energy.c \ + ./webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \ + ./webrtc_dsp/common_audio/signal_processing/downsample_fast.c \ + ./webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c \ + ./webrtc_dsp/common_audio/signal_processing/spl_init.c \ + ./webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c \ + ./webrtc_dsp/common_audio/signal_processing/cross_correlation.c \ + ./webrtc_dsp/common_audio/signal_processing/division_operations.c \ + ./webrtc_dsp/common_audio/signal_processing/auto_correlation.c \ + ./webrtc_dsp/common_audio/signal_processing/get_scaling_square.c \ + ./webrtc_dsp/common_audio/signal_processing/resample.c \ + ./webrtc_dsp/common_audio/signal_processing/min_max_operations.c \ + ./webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c \ + ./webrtc_dsp/common_audio/signal_processing/filter_ar.c \ + ./webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c \ + ./webrtc_dsp/common_audio/signal_processing/resample_fractional.c \ + ./webrtc_dsp/common_audio/signal_processing/real_fft.c \ + ./webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c \ + ./webrtc_dsp/common_audio/signal_processing/randomization_functions.c \ + ./webrtc_dsp/common_audio/signal_processing/copy_set_operations.c \ + ./webrtc_dsp/common_audio/signal_processing/resample_by_2.c \ + ./webrtc_dsp/common_audio/signal_processing/get_hanning_window.c \ + ./webrtc_dsp/common_audio/signal_processing/resample_48khz.c \ + ./webrtc_dsp/common_audio/signal_processing/spl_inl.c \ + ./webrtc_dsp/common_audio/signal_processing/spl_sqrt.c \ + ./webrtc_dsp/common_audio/vad/vad_sp.c \ + ./webrtc_dsp/common_audio/vad/vad.cc \ + ./webrtc_dsp/common_audio/vad/webrtc_vad.c \ + ./webrtc_dsp/common_audio/vad/vad_filterbank.c \ + ./webrtc_dsp/common_audio/vad/vad_core.c \ + ./webrtc_dsp/common_audio/vad/vad_gmm.c \ + webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c \ + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c \ + webrtc_dsp/rtc_base/logging_mac.mm \ + webrtc_dsp/rtc_base/logging_mac.h \ + webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc \ + webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc \ + audio/AudioIOCallback.cpp \ + webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S \ + webrtc_dsp/common_audio/signal_processing/spl_sqrt_floor_arm.S \ + webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c \ + webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c \ + webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c \ + webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc \ + webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc \ + webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c \ + webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc \ + webrtc_dsp/system_wrappers/include/field_trial.h \ + webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h \ + webrtc_dsp/system_wrappers/include/asm_defines.h \ + webrtc_dsp/system_wrappers/include/metrics.h \ + webrtc_dsp/system_wrappers/include/compile_assert_c.h \ + webrtc_dsp/typedefs.h \ + webrtc_dsp/absl/strings/internal/memutil.h \ + webrtc_dsp/absl/strings/ascii.h \ + webrtc_dsp/absl/strings/string_view.h \ + webrtc_dsp/absl/types/optional.h \ + webrtc_dsp/absl/types/bad_optional_access.h \ + webrtc_dsp/absl/memory/memory.h \ + webrtc_dsp/absl/meta/type_traits.h \ + webrtc_dsp/absl/algorithm/algorithm.h \ + webrtc_dsp/absl/container/inlined_vector.h \ + webrtc_dsp/absl/base/policy_checks.h \ + webrtc_dsp/absl/base/port.h webrtc_dsp/absl/base/config.h \ + webrtc_dsp/absl/base/internal/invoke.h \ + webrtc_dsp/absl/base/internal/inline_variable.h \ + webrtc_dsp/absl/base/internal/atomic_hook.h \ + webrtc_dsp/absl/base/internal/identity.h \ + webrtc_dsp/absl/base/internal/raw_logging.h \ + webrtc_dsp/absl/base/internal/throw_delegate.h \ + webrtc_dsp/absl/base/attributes.h \ + webrtc_dsp/absl/base/macros.h \ + webrtc_dsp/absl/base/optimization.h \ + webrtc_dsp/absl/base/log_severity.h \ + webrtc_dsp/absl/utility/utility.h \ + webrtc_dsp/rtc_base/string_to_number.h \ + webrtc_dsp/rtc_base/constructormagic.h \ + webrtc_dsp/rtc_base/strings/string_builder.h \ + webrtc_dsp/rtc_base/event_tracer.h \ + webrtc_dsp/rtc_base/stringencode.h \ + webrtc_dsp/rtc_base/memory/aligned_malloc.h \ + webrtc_dsp/rtc_base/event.h \ + webrtc_dsp/rtc_base/ignore_wundef.h \ + webrtc_dsp/rtc_base/stringutils.h \ + webrtc_dsp/rtc_base/arraysize.h \ + webrtc_dsp/rtc_base/swap_queue.h \ + webrtc_dsp/rtc_base/trace_event.h webrtc_dsp/rtc_base/checks.h \ + webrtc_dsp/rtc_base/deprecation.h \ + webrtc_dsp/rtc_base/sanitizer.h \ + webrtc_dsp/rtc_base/scoped_ref_ptr.h \ + webrtc_dsp/rtc_base/logging.h webrtc_dsp/rtc_base/timeutils.h \ + webrtc_dsp/rtc_base/atomicops.h \ + webrtc_dsp/rtc_base/numerics/safe_minmax.h \ + webrtc_dsp/rtc_base/numerics/safe_conversions.h \ + webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h \ + webrtc_dsp/rtc_base/numerics/safe_compare.h \ + webrtc_dsp/rtc_base/system/unused.h \ + webrtc_dsp/rtc_base/system/inline.h \ + webrtc_dsp/rtc_base/system/ignore_warnings.h \ + webrtc_dsp/rtc_base/system/asm_defines.h \ + webrtc_dsp/rtc_base/system/rtc_export.h \ + webrtc_dsp/rtc_base/system/arch.h \ + webrtc_dsp/rtc_base/platform_thread.h \ + webrtc_dsp/rtc_base/platform_thread_types.h \ + webrtc_dsp/rtc_base/protobuf_utils.h \ + webrtc_dsp/rtc_base/thread_annotations.h \ + webrtc_dsp/rtc_base/gtest_prod_util.h \ + webrtc_dsp/rtc_base/function_view.h \ + webrtc_dsp/rtc_base/criticalsection.h \ + webrtc_dsp/rtc_base/refcount.h \ + webrtc_dsp/rtc_base/thread_checker_impl.h \ + webrtc_dsp/rtc_base/compile_assert_c.h \ + webrtc_dsp/rtc_base/type_traits.h \ + webrtc_dsp/rtc_base/platform_file.h \ + webrtc_dsp/rtc_base/refcounter.h \ + webrtc_dsp/rtc_base/thread_checker.h \ + webrtc_dsp/rtc_base/race_checker.h \ + webrtc_dsp/rtc_base/refcountedobject.h \ + webrtc_dsp/third_party/rnnoise/src/rnn_activations.h \ + webrtc_dsp/third_party/rnnoise/src/kiss_fft.h \ + webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h \ + webrtc_dsp/api/audio/echo_canceller3_config.h \ + webrtc_dsp/api/audio/echo_control.h \ + webrtc_dsp/api/audio/audio_frame.h \ + webrtc_dsp/api/audio/echo_canceller3_factory.h \ + webrtc_dsp/api/array_view.h \ + webrtc_dsp/modules/third_party/fft/fft.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h \ + webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h \ + webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h \ + webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h \ + webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h \ + webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h \ + webrtc_dsp/modules/audio_processing/rms_level.h \ + webrtc_dsp/modules/audio_processing/ns/ns_core.h \ + webrtc_dsp/modules/audio_processing/ns/defines.h \ + webrtc_dsp/modules/audio_processing/ns/noise_suppression.h \ + webrtc_dsp/modules/audio_processing/ns/nsx_core.h \ + webrtc_dsp/modules/audio_processing/ns/windows_private.h \ + webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h \ + webrtc_dsp/modules/audio_processing/ns/nsx_defines.h \ + webrtc_dsp/modules/audio_processing/residual_echo_detector.h \ + webrtc_dsp/modules/audio_processing/audio_processing_impl.h \ + webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h \ + webrtc_dsp/modules/audio_processing/include/audio_generator.h \ + webrtc_dsp/modules/audio_processing/include/config.h \ + webrtc_dsp/modules/audio_processing/include/audio_frame_view.h \ + webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h \ + webrtc_dsp/modules/audio_processing/include/gain_control.h \ + webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h \ + webrtc_dsp/modules/audio_processing/include/aec_dump.h \ + webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h \ + webrtc_dsp/modules/audio_processing/include/audio_processing.h \ + webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h \ + webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h \ + webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h \ + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h \ + webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h \ + webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h \ + webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h \ + webrtc_dsp/modules/audio_processing/agc2/down_sampler.h \ + webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h \ + webrtc_dsp/modules/audio_processing/agc2/agc2_common.h \ + webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h \ + webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h \ + webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h \ + webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h \ + webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h \ + webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h \ + webrtc_dsp/modules/audio_processing/agc2/gain_applier.h \ + webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h \ + webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h \ + webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h \ + webrtc_dsp/modules/audio_processing/agc2/limiter.h \ + webrtc_dsp/modules/audio_processing/transient/transient_detector.h \ + webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h \ + webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h \ + webrtc_dsp/modules/audio_processing/transient/common.h \ + webrtc_dsp/modules/audio_processing/transient/wpd_node.h \ + webrtc_dsp/modules/audio_processing/transient/moving_moments.h \ + webrtc_dsp/modules/audio_processing/transient/wpd_tree.h \ + webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h \ + webrtc_dsp/modules/audio_processing/noise_suppression_impl.h \ + webrtc_dsp/modules/audio_processing/aec/aec_resampler.h \ + webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h \ + webrtc_dsp/modules/audio_processing/aec/aec_core.h \ + webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h \ + webrtc_dsp/modules/audio_processing/aec/aec_common.h \ + webrtc_dsp/modules/audio_processing/voice_detection_impl.h \ + webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h \ + webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h \ + webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h \ + webrtc_dsp/modules/audio_processing/agc/mock_agc.h \ + webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h \ + webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h \ + webrtc_dsp/modules/audio_processing/agc/utility.h \ + webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h \ + webrtc_dsp/modules/audio_processing/agc/agc.h \ + webrtc_dsp/modules/audio_processing/common.h \ + webrtc_dsp/modules/audio_processing/audio_buffer.h \ + webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h \ + webrtc_dsp/modules/audio_processing/splitting_filter.h \ + webrtc_dsp/modules/audio_processing/low_cut_filter.h \ + webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h \ + webrtc_dsp/modules/audio_processing/three_band_filter_bank.h \ + webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h \ + webrtc_dsp/modules/audio_processing/level_estimator_impl.h \ + webrtc_dsp/modules/audio_processing/gain_controller2.h \ + webrtc_dsp/modules/audio_processing/aecm/aecm_core.h \ + webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h \ + webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h \ + webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h \ + webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h \ + webrtc_dsp/modules/audio_processing/aec3/aec_state.h \ + webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h \ + webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h \ + webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h \ + webrtc_dsp/modules/audio_processing/aec3/matched_filter.h \ + webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h \ + webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h \ + webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h \ + webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h \ + webrtc_dsp/modules/audio_processing/aec3/subtractor.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h \ + webrtc_dsp/modules/audio_processing/aec3/fft_data.h \ + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h \ + webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h \ + webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_remover.h \ + webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h \ + webrtc_dsp/modules/audio_processing/aec3/moving_average.h \ + webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h \ + webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h \ + webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h \ + webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/block_processor.h \ + webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h \ + webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/render_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h \ + webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h \ + webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h \ + webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h \ + webrtc_dsp/modules/audio_processing/aec3/aec3_common.h \ + webrtc_dsp/modules/audio_processing/aec3/vector_math.h \ + webrtc_dsp/modules/audio_processing/aec3/decimator.h \ + webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h \ + webrtc_dsp/modules/audio_processing/aec3/block_framer.h \ + webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h \ + webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h \ + webrtc_dsp/modules/audio_processing/aec3/reverb_model.h \ + webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h \ + webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h \ + webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h \ + webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h \ + webrtc_dsp/modules/audio_processing/gain_control_impl.h \ + webrtc_dsp/modules/audio_processing/typing_detection.h \ + webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h \ + webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h \ + webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h \ + webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h \ + webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h \ + webrtc_dsp/modules/audio_processing/vad/gmm.h \ + webrtc_dsp/modules/audio_processing/vad/common.h \ + webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h \ + webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h \ + webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h \ + webrtc_dsp/modules/audio_processing/vad/pitch_internal.h \ + webrtc_dsp/modules/audio_processing/vad/standalone_vad.h \ + webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h \ + webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \ + webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h \ + webrtc_dsp/modules/audio_processing/utility/ooura_fft.h \ + webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h \ + webrtc_dsp/modules/audio_processing/utility/delay_estimator.h \ + webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h \ + webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h \ + webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h \ + webrtc_dsp/common_audio/wav_file.h \ + webrtc_dsp/common_audio/sparse_fir_filter.h \ + webrtc_dsp/common_audio/fir_filter_sse.h \ + webrtc_dsp/common_audio/window_generator.h \ + webrtc_dsp/common_audio/ring_buffer.h \ + webrtc_dsp/common_audio/fir_filter.h \ + webrtc_dsp/common_audio/include/audio_util.h \ + webrtc_dsp/common_audio/real_fourier_ooura.h \ + webrtc_dsp/common_audio/smoothing_filter.h \ + webrtc_dsp/common_audio/resampler/sinc_resampler.h \ + webrtc_dsp/common_audio/resampler/include/push_resampler.h \ + webrtc_dsp/common_audio/resampler/include/resampler.h \ + webrtc_dsp/common_audio/resampler/push_sinc_resampler.h \ + webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h \ + webrtc_dsp/common_audio/fir_filter_factory.h \ + webrtc_dsp/common_audio/audio_converter.h \ + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h \ + webrtc_dsp/common_audio/third_party/fft4g/fft4g.h \ + webrtc_dsp/common_audio/channel_buffer.h \ + webrtc_dsp/common_audio/real_fourier.h \ + webrtc_dsp/common_audio/fir_filter_neon.h \ + webrtc_dsp/common_audio/fir_filter_c.h \ + webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h \ + webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h \ + webrtc_dsp/common_audio/signal_processing/include/real_fft.h \ + webrtc_dsp/common_audio/signal_processing/include/spl_inl.h \ + webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h \ + webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h \ + webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h \ + webrtc_dsp/common_audio/wav_header.h \ + webrtc_dsp/common_audio/vad/vad_core.h \ + webrtc_dsp/common_audio/vad/include/vad.h \ + webrtc_dsp/common_audio/vad/include/webrtc_vad.h \ + webrtc_dsp/common_audio/vad/vad_gmm.h \ + webrtc_dsp/common_audio/vad/vad_sp.h \ + webrtc_dsp/common_audio/vad/vad_filterbank.h VoIPController.h \ + Buffers.h BlockingQueue.h PrivateDefines.h CongestionControl.h \ EchoCanceller.h JitterBuffer.h logging.h threading.h \ MediaStreamItf.h MessageThread.h NetworkSocket.h OpusDecoder.h \ OpusEncoder.h PacketReassembler.h VoIPServerConfig.h \ @@ -482,7 +1418,8 @@ am__libtgvoip_la_SOURCES_DIST = VoIPController.cpp Buffers.cpp \ os/darwin/AudioOutputAudioUnitOSX.h os/darwin/DarwinSpecific.h \ os/linux/AudioInputALSA.h os/linux/AudioOutputALSA.h \ os/linux/AudioOutputPulse.h os/linux/AudioInputPulse.h \ - os/linux/AudioPulse.h os/linux/PulseFunctions.h + os/linux/AudioPulse.h os/linux/PulseFunctions.h \ + audio/AudioIOCallback.h am__dirstamp = $(am__leading_dot)dirstamp @TARGET_OS_OSX_TRUE@am__objects_1 = os/darwin/AudioInputAudioUnit.lo \ @TARGET_OS_OSX_TRUE@ os/darwin/AudioOutputAudioUnit.lo \ @@ -495,82 +1432,286 @@ am__dirstamp = $(am__leading_dot)dirstamp @TARGET_OS_OSX_FALSE@@WITH_PULSE_TRUE@am__objects_3 = os/linux/AudioOutputPulse.lo \ @TARGET_OS_OSX_FALSE@@WITH_PULSE_TRUE@ os/linux/AudioInputPulse.lo \ @TARGET_OS_OSX_FALSE@@WITH_PULSE_TRUE@ os/linux/AudioPulse.lo -@ENABLE_DSP_TRUE@am__objects_4 = webrtc_dsp/webrtc/common_audio/ring_buffer.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/energy.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/checks.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/system_wrappers/source/cpu_features.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/sparse_fir_filter.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/channel_buffer.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/audio_util.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_header.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/wav_file.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/base/stringutils.lo -@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@am__objects_5 = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.lo -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@am__objects_6 = webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.lo -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__objects_7 = webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.lo -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_FALSE@am__objects_8 = webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.lo \ -@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_FALSE@ webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.lo -@ENABLE_DSP_TRUE@am__objects_9 = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/common_audio/fft4g.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.lo \ -@ENABLE_DSP_TRUE@ webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.lo -am__objects_10 = VoIPController.lo Buffers.lo CongestionControl.lo \ +@ENABLE_DSP_TRUE@am__objects_4 = ./webrtc_dsp/system_wrappers/source/field_trial.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/system_wrappers/source/metrics.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/system_wrappers/source/cpu_features.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/strings/internal/memutil.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/strings/string_view.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/strings/ascii.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/types/bad_optional_access.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/types/optional.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/base/internal/raw_logging.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/absl/base/internal/throw_delegate.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/race_checker.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/strings/string_builder.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/memory/aligned_malloc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/timeutils.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/platform_file.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/string_to_number.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/thread_checker_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/stringencode.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/stringutils.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/checks.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/platform_thread.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/logging_webrtc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/criticalsection.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/platform_thread_types.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/event.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/rtc_base/event_tracer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/third_party/rnnoise/src/kiss_fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/api/audio/audio_frame.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/api/audio/echo_canceller3_config.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/api/audio/echo_canceller3_factory.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/third_party/fft/fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/rms_level.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_detector/moving_max.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/splitting_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/gain_control_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/ns/nsx_core.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/ns/nsx_core_c.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/ns/ns_core.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/ns/noise_suppression.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/audio_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/typing_detection.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/include/audio_generator_factory.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/include/aec_dump.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/include/audio_processing.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/include/config.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/agc2_common.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/gain_applier.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/limiter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/saturation_protector.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/vad_with_level.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/down_sampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/signal_classifier.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/biquad_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/transient/moving_moments.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/transient/wpd_tree.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/transient/wpd_node.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/transient/transient_suppressor.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/transient/transient_detector.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/low_cut_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/level_estimator_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/three_band_filter_bank.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec/echo_cancellation.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec/aec_resampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec/aec_core.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/voice_detection_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_cancellation_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/loudness_histogram.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/agc/utility.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/audio_processing_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/gain_controller2.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/residual_echo_detector.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/noise_suppression_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aecm/aecm_core.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/frame_blocker.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/subtractor.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/aec3_fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/suppression_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/block_processor.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/vector_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/erl_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/aec_state.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/skew_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/block_framer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/erle_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/reverb_model.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/subtractor_output.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/suppression_gain.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_audibility.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/moving_average.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/aec3_common.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/matched_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_remover.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/block_processor2.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/fft_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/aec3/decimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/standalone_vad.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/pitch_internal.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/vad/gmm.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/utility/ooura_fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/utility/delay_estimator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/window_generator.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/channel_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/fir_filter_factory.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/wav_header.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/real_fourier_ooura.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/audio_util.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/fir_filter_sse.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/push_sinc_resampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/resampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/sinc_resampler_sse.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/push_resampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/sinc_resampler.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/wav_file.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/third_party/fft4g/fft4g.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/audio_converter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/real_fourier.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/sparse_fir_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/smoothing_filter.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/fir_filter_c.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/ring_buffer.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/complex_fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/splitting_filter1.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/levinson_durbin.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/energy.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/downsample_fast.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/spl_init.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/cross_correlation.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/division_operations.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/auto_correlation.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/get_scaling_square.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/resample.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/min_max_operations.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/filter_ar.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/resample_fractional.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/real_fft.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/randomization_functions.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/copy_set_operations.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/resample_by_2.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/get_hanning_window.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/resample_48khz.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/spl_inl.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/signal_processing/spl_sqrt.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/vad_sp.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/vad.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/webrtc_vad.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/vad_filterbank.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/vad_core.lo \ +@ENABLE_DSP_TRUE@ ./webrtc_dsp/common_audio/vad/vad_gmm.lo \ +@ENABLE_DSP_TRUE@ webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.lo \ +@ENABLE_DSP_TRUE@ webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.lo +@ENABLE_DSP_TRUE@@TARGET_OS_OSX_TRUE@am__objects_5 = webrtc_dsp/rtc_base/logging_mac.lo +@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@am__objects_6 = webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_X86_TRUE@ webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.lo +@ENABLE_AUDIO_CALLBACK_TRUE@@ENABLE_DSP_TRUE@am__objects_7 = audio/AudioIOCallback.lo +@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@am__objects_8 = webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/common_audio/signal_processing/spl_sqrt_floor_arm.lo +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@am__objects_9 = webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/modules/audio_processing/aec/aec_core_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.lo \ +@ENABLE_DSP_TRUE@@TARGET_CPU_ARMV7_TRUE@@TARGET_CPU_ARM_TRUE@ webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.lo +am__objects_10 = +am__objects_11 = VoIPController.lo Buffers.lo CongestionControl.lo \ EchoCanceller.lo JitterBuffer.lo logging.lo MediaStreamItf.lo \ MessageThread.lo NetworkSocket.lo OpusDecoder.lo \ OpusEncoder.lo PacketReassembler.lo VoIPGroupController.lo \ @@ -579,10 +1720,10 @@ am__objects_10 = VoIPController.lo Buffers.lo CongestionControl.lo \ os/posix/NetworkSocketPosix.lo $(am__objects_1) \ $(am__objects_2) $(am__objects_3) $(am__objects_4) \ $(am__objects_5) $(am__objects_6) $(am__objects_7) \ - $(am__objects_8) $(am__objects_9) -am__objects_11 = -am__objects_12 = $(am__objects_11) $(am__objects_11) $(am__objects_11) -am_libtgvoip_la_OBJECTS = $(am__objects_10) $(am__objects_12) + $(am__objects_8) $(am__objects_9) $(am__objects_10) +am__objects_12 = $(am__objects_10) $(am__objects_10) $(am__objects_10) \ + $(am__objects_10) +am_libtgvoip_la_OBJECTS = $(am__objects_11) $(am__objects_12) libtgvoip_la_OBJECTS = $(am_libtgvoip_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -612,8 +1753,273 @@ am__depfiles_remade = ./$(DEPDIR)/Buffers.Plo \ ./$(DEPDIR)/VoIPController.Plo \ ./$(DEPDIR)/VoIPGroupController.Plo \ ./$(DEPDIR)/VoIPServerConfig.Plo ./$(DEPDIR)/logging.Plo \ - audio/$(DEPDIR)/AudioIO.Plo audio/$(DEPDIR)/AudioInput.Plo \ - audio/$(DEPDIR)/AudioOutput.Plo audio/$(DEPDIR)/Resampler.Plo \ + ./webrtc_dsp/absl/base/internal/$(DEPDIR)/raw_logging.Plo \ + ./webrtc_dsp/absl/base/internal/$(DEPDIR)/throw_delegate.Plo \ + ./webrtc_dsp/absl/strings/$(DEPDIR)/ascii.Plo \ + ./webrtc_dsp/absl/strings/$(DEPDIR)/string_view.Plo \ + ./webrtc_dsp/absl/strings/internal/$(DEPDIR)/memutil.Plo \ + ./webrtc_dsp/absl/types/$(DEPDIR)/bad_optional_access.Plo \ + ./webrtc_dsp/absl/types/$(DEPDIR)/optional.Plo \ + ./webrtc_dsp/api/audio/$(DEPDIR)/audio_frame.Plo \ + ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_config.Plo \ + ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_factory.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/audio_converter.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/audio_util.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/channel_buffer.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_c.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_factory.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_sse.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier_ooura.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/ring_buffer.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/smoothing_filter.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/sparse_fir_filter.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/wav_file.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/wav_header.Plo \ + ./webrtc_dsp/common_audio/$(DEPDIR)/window_generator.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_resampler.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_sinc_resampler.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/resampler.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler_sse.Plo \ + ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinusoidal_linear_chirp_source.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/energy.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/splitting_filter1.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo \ + ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo \ + ./webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/fft4g.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_core.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_filterbank.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_gmm.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_sp.Plo \ + ./webrtc_dsp/common_audio/vad/$(DEPDIR)/webrtc_vad.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_hist.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_logist.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/bandwidth_estimator.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/crc.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode_bwe.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode_lpc_swb.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/entropy_coding.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filter_functions.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filterbanks.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/intialize.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac_vad.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lattice.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_analysis.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_gain_swb_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb12_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb16_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_estimator.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_filter.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_gain_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_lag_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/spectrum_ar_model_tables.Plo \ + ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/transform.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_processing_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_cancellation_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_control_mobile_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_for_experimental_agc.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_controller2.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/level_estimator_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/low_cut_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/noise_suppression_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/residual_echo_detector.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/rms_level.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/typing_detection.Plo \ + ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/voice_detection_impl.Plo \ + ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo \ + ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo \ + ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/adaptive_fir_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_common.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_fft.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec_state.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_delay_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_framer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor2.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor_metrics.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/cascaded_biquad_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/comfort_noise_generator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/decimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/downsampled_render_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_audibility.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_canceller3.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_delay_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_variability.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover_metrics.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erl_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erle_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fft_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/filter_analyzer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/frame_blocker.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fullband_erle_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/main_filter_update_gain.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter_lag_aggregator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matrix_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/moving_average.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer2.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller2.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller_metrics.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_reverb_model.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_signal_analyzer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/residual_echo_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_decay_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_frequency_response.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_fallback.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/shadow_filter_update_gain.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/skew_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/stationarity_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subband_erle_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output_analyzer.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain_limiter.Plo \ + ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/vector_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo \ + ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo \ + ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc_manager_direct.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/loudness_histogram.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/utility.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo \ + ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_agc.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_digital_gain_applier.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator_agc.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_common.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_testing_common.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/biquad_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/compute_interpolated_gain_curve.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/down_sampler.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_digital_level_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_gain_controller.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/gain_applier.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/interpolated_gain_curve.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter_db_gain_curve.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_level_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_spectrum_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/saturation_protector.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/signal_classifier.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vad_with_level.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vector_float_frame.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/features_extraction.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/fft_util.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/lp_residual.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search_internal.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/rnn.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features.Plo \ + ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features_internal.Plo \ + ./webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/file_audio_generator.Plo \ + ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/circular_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/mean_variance_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/moving_max.Plo \ + ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/normalized_covariance_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/aec_dump.Plo \ + ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_generator_factory.Plo \ + ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing.Plo \ + ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing_statistics.Plo \ + ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/config.Plo \ + ./webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo \ + ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo \ + ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo \ + ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo \ + ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo \ + ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo \ + ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/moving_moments.Plo \ + ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_detector.Plo \ + ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_suppressor.Plo \ + ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_node.Plo \ + ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_tree.Plo \ + ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo \ + ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo \ + ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo \ + ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/gmm.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_based_vad.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_internal.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pole_zero_filter.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/standalone_vad.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_audio_proc.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_circular_buffer.Plo \ + ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/voice_activity_detector.Plo \ + ./webrtc_dsp/modules/third_party/fft/$(DEPDIR)/fft.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/checks.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/criticalsection.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/event.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/event_tracer.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/logging_webrtc.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_file.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread_types.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/race_checker.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/string_to_number.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/stringencode.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/stringutils.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/thread_checker_impl.Plo \ + ./webrtc_dsp/rtc_base/$(DEPDIR)/timeutils.Plo \ + ./webrtc_dsp/rtc_base/memory/$(DEPDIR)/aligned_malloc.Plo \ + ./webrtc_dsp/rtc_base/strings/$(DEPDIR)/string_builder.Plo \ + ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/cpu_features.Plo \ + ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/field_trial.Plo \ + ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/metrics.Plo \ + ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/kiss_fft.Plo \ + ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/rnn_vad_weights.Plo \ + audio/$(DEPDIR)/AudioIO.Plo \ + audio/$(DEPDIR)/AudioIOCallback.Plo \ + audio/$(DEPDIR)/AudioInput.Plo audio/$(DEPDIR)/AudioOutput.Plo \ + audio/$(DEPDIR)/Resampler.Plo \ os/darwin/$(DEPDIR)/AudioInputAudioUnit.Plo \ os/darwin/$(DEPDIR)/AudioInputAudioUnitOSX.Plo \ os/darwin/$(DEPDIR)/AudioOutputAudioUnit.Plo \ @@ -626,81 +2032,20 @@ am__depfiles_remade = ./$(DEPDIR)/Buffers.Plo \ os/linux/$(DEPDIR)/AudioOutputPulse.Plo \ os/linux/$(DEPDIR)/AudioPulse.Plo \ os/posix/$(DEPDIR)/NetworkSocketPosix.Plo \ - webrtc_dsp/webrtc/base/$(DEPDIR)/checks.Plo \ - webrtc_dsp/webrtc/base/$(DEPDIR)/stringutils.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/audio_util.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/channel_buffer.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/fft4g.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/ring_buffer.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/sparse_fir_filter.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_file.Plo \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_header.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/energy.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/splitting_filter_impl.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo \ - webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/cpu_features.Plo + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo \ + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/spl_sqrt_floor.Plo \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo \ + webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo \ + webrtc_dsp/rtc_base/$(DEPDIR)/logging_mac.Plo am__mv = mv -f CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) @@ -786,7 +2131,8 @@ am__nobase_tgvoipinclude_HEADERS_DIST = VoIPController.h Buffers.h \ os/darwin/AudioOutputAudioUnitOSX.h os/darwin/DarwinSpecific.h \ os/linux/AudioInputALSA.h os/linux/AudioOutputALSA.h \ os/linux/AudioOutputPulse.h os/linux/AudioInputPulse.h \ - os/linux/AudioPulse.h os/linux/PulseFunctions.h + os/linux/AudioPulse.h os/linux/PulseFunctions.h \ + audio/AudioIOCallback.h HEADERS = $(nobase_tgvoipinclude_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in @@ -841,10 +2187,11 @@ AWK = @AWK@ CC = @CC@ CCAS = @CCAS@ CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ $(am__append_9) $(am__append_14) +CCASFLAGS = @CCASFLAGS@ $(am__append_9) $(am__append_20) CCDEPMODE = @CCDEPMODE@ CFLAGS = -Wall -DHAVE_CONFIG_H -Wno-unknown-pragmas $(am__append_8) \ - $(am__append_13) $(am__append_18) + $(am__append_11) $(am__append_13) $(am__append_15) \ + $(am__append_19) $(am__append_23) CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ @@ -968,8 +2315,8 @@ SRC = VoIPController.cpp Buffers.cpp CongestionControl.cpp \ audio/AudioInput.cpp audio/AudioOutput.cpp audio/Resampler.cpp \ os/posix/NetworkSocketPosix.cpp $(am__append_1) \ $(am__append_4) $(am__append_6) $(am__append_10) \ - $(am__append_11) $(am__append_12) $(am__append_15) \ - $(am__append_16) $(am__append_17) + $(am__append_12) $(am__append_14) $(am__append_16) \ + $(am__append_18) $(am__append_21) $(am__append_22) TGVOIP_HDRS = VoIPController.h Buffers.h BlockingQueue.h \ PrivateDefines.h CongestionControl.h EchoCanceller.h \ JitterBuffer.h logging.h threading.h MediaStreamItf.h \ @@ -977,7 +2324,7 @@ TGVOIP_HDRS = VoIPController.h Buffers.h BlockingQueue.h \ PacketReassembler.h VoIPServerConfig.h audio/AudioIO.h \ audio/AudioInput.h audio/AudioOutput.h audio/Resampler.h \ os/posix/NetworkSocketPosix.h $(am__append_2) $(am__append_5) \ - $(am__append_7) + $(am__append_7) $(am__append_17) libtgvoip_la_SOURCES = $(SRC) $(TGVOIP_HDRS) tgvoipincludedir = $(includedir)/tgvoip nobase_tgvoipinclude_HEADERS = $(TGVOIP_HDRS) @@ -1125,246 +2472,1070 @@ os/linux/AudioInputPulse.lo: os/linux/$(am__dirstamp) \ os/linux/$(DEPDIR)/$(am__dirstamp) os/linux/AudioPulse.lo: os/linux/$(am__dirstamp) \ os/linux/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/common_audio - @: > webrtc_dsp/webrtc/common_audio/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/common_audio/$(DEPDIR) - @: > webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/ring_buffer.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/common_audio/signal_processing - @: > webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR) - @: > webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/energy.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/resample.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/base/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/base - @: > webrtc_dsp/webrtc/base/$(am__dirstamp) -webrtc_dsp/webrtc/base/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/base/$(DEPDIR) - @: > webrtc_dsp/webrtc/base/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/base/checks.lo: \ - webrtc_dsp/webrtc/base/$(am__dirstamp) \ - webrtc_dsp/webrtc/base/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/aecm - @: > webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.lo: webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.lo: webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.lo: webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/utility - @: > webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing - @: > webrtc_dsp/webrtc/modules/audio_processing/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/system_wrappers/source/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/system_wrappers/source - @: > webrtc_dsp/webrtc/system_wrappers/source/$(am__dirstamp) -webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR) - @: > webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/system_wrappers/source/cpu_features.lo: \ - webrtc_dsp/webrtc/system_wrappers/source/$(am__dirstamp) \ - webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/sparse_fir_filter.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/channel_buffer.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/audio_util.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/logging/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/logging - @: > webrtc_dsp/webrtc/modules/audio_processing/logging/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.lo: webrtc_dsp/webrtc/modules/audio_processing/logging/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/aec - @: > webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.lo: webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.lo: webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.lo: webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/wav_header.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/wav_file.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/base/stringutils.lo: \ - webrtc_dsp/webrtc/base/$(am__dirstamp) \ - webrtc_dsp/webrtc/base/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.lo: webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.lo: webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.lo: webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/ns - @: > webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.lo: webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.lo: webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.lo: \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/common_audio/fft4g.lo: \ - webrtc_dsp/webrtc/common_audio/$(am__dirstamp) \ - webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/agc/legacy - @: > webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR) - @: > webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.lo: webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) -webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.lo: webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(am__dirstamp) \ - webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/system_wrappers/source/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/system_wrappers/source + @: > webrtc_dsp/system_wrappers/source/$(am__dirstamp) +webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/system_wrappers/source/$(DEPDIR) + @: > webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/system_wrappers/source/field_trial.lo: \ + webrtc_dsp/system_wrappers/source/$(am__dirstamp) \ + webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/system_wrappers/source/metrics.lo: \ + webrtc_dsp/system_wrappers/source/$(am__dirstamp) \ + webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/system_wrappers/source/cpu_features.lo: \ + webrtc_dsp/system_wrappers/source/$(am__dirstamp) \ + webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/absl/strings/internal/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/strings/internal + @: > webrtc_dsp/absl/strings/internal/$(am__dirstamp) +webrtc_dsp/absl/strings/internal/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/strings/internal/$(DEPDIR) + @: > webrtc_dsp/absl/strings/internal/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/strings/internal/memutil.lo: \ + webrtc_dsp/absl/strings/internal/$(am__dirstamp) \ + webrtc_dsp/absl/strings/internal/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/absl/strings/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/strings + @: > webrtc_dsp/absl/strings/$(am__dirstamp) +webrtc_dsp/absl/strings/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/strings/$(DEPDIR) + @: > webrtc_dsp/absl/strings/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/strings/string_view.lo: \ + webrtc_dsp/absl/strings/$(am__dirstamp) \ + webrtc_dsp/absl/strings/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/strings/ascii.lo: \ + webrtc_dsp/absl/strings/$(am__dirstamp) \ + webrtc_dsp/absl/strings/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/absl/types/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/types + @: > webrtc_dsp/absl/types/$(am__dirstamp) +webrtc_dsp/absl/types/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/types/$(DEPDIR) + @: > webrtc_dsp/absl/types/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/types/bad_optional_access.lo: \ + webrtc_dsp/absl/types/$(am__dirstamp) \ + webrtc_dsp/absl/types/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/types/optional.lo: \ + webrtc_dsp/absl/types/$(am__dirstamp) \ + webrtc_dsp/absl/types/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/absl/base/internal/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/base/internal + @: > webrtc_dsp/absl/base/internal/$(am__dirstamp) +webrtc_dsp/absl/base/internal/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/absl/base/internal/$(DEPDIR) + @: > webrtc_dsp/absl/base/internal/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/base/internal/raw_logging.lo: \ + webrtc_dsp/absl/base/internal/$(am__dirstamp) \ + webrtc_dsp/absl/base/internal/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/absl/base/internal/throw_delegate.lo: \ + webrtc_dsp/absl/base/internal/$(am__dirstamp) \ + webrtc_dsp/absl/base/internal/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/rtc_base/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base + @: > webrtc_dsp/rtc_base/$(am__dirstamp) +webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base/$(DEPDIR) + @: > webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/race_checker.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/rtc_base/strings/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base/strings + @: > webrtc_dsp/rtc_base/strings/$(am__dirstamp) +webrtc_dsp/rtc_base/strings/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base/strings/$(DEPDIR) + @: > webrtc_dsp/rtc_base/strings/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/strings/string_builder.lo: \ + webrtc_dsp/rtc_base/strings/$(am__dirstamp) \ + webrtc_dsp/rtc_base/strings/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/rtc_base/memory/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base/memory + @: > webrtc_dsp/rtc_base/memory/$(am__dirstamp) +webrtc_dsp/rtc_base/memory/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/rtc_base/memory/$(DEPDIR) + @: > webrtc_dsp/rtc_base/memory/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/memory/aligned_malloc.lo: \ + webrtc_dsp/rtc_base/memory/$(am__dirstamp) \ + webrtc_dsp/rtc_base/memory/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/timeutils.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/platform_file.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/string_to_number.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/thread_checker_impl.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/stringencode.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/stringutils.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/checks.lo: webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/platform_thread.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/logging_webrtc.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/criticalsection.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/platform_thread_types.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/event.lo: webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/rtc_base/event_tracer.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/third_party/rnnoise/src/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/third_party/rnnoise/src + @: > webrtc_dsp/third_party/rnnoise/src/$(am__dirstamp) +webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR) + @: > webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.lo: \ + webrtc_dsp/third_party/rnnoise/src/$(am__dirstamp) \ + webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/third_party/rnnoise/src/kiss_fft.lo: \ + webrtc_dsp/third_party/rnnoise/src/$(am__dirstamp) \ + webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/api/audio/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/api/audio + @: > webrtc_dsp/api/audio/$(am__dirstamp) +webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/api/audio/$(DEPDIR) + @: > webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/api/audio/audio_frame.lo: \ + webrtc_dsp/api/audio/$(am__dirstamp) \ + webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/api/audio/echo_canceller3_config.lo: \ + webrtc_dsp/api/audio/$(am__dirstamp) \ + webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/api/audio/echo_canceller3_factory.lo: \ + webrtc_dsp/api/audio/$(am__dirstamp) \ + webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/third_party/fft/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/third_party/fft + @: > webrtc_dsp/modules/third_party/fft/$(am__dirstamp) +webrtc_dsp/modules/third_party/fft/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/third_party/fft/$(DEPDIR) + @: > webrtc_dsp/modules/third_party/fft/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/third_party/fft/fft.lo: \ + webrtc_dsp/modules/third_party/fft/$(am__dirstamp) \ + webrtc_dsp/modules/third_party/fft/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source + @: > webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) +webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR) + @: > webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.lo: webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) \ + webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing + @: > webrtc_dsp/modules/audio_processing/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/rms_level.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/echo_detector + @: > webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.lo: webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_detector/moving_max.lo: webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.lo: webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.lo: webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/splitting_filter.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/gain_control_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/ns + @: > webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/ns/nsx_core.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/ns/nsx_core_c.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/ns/ns_core.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/ns/noise_suppression.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/audio_buffer.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/typing_detection.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/include/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/include + @: > webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.lo: \ + webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/include/audio_generator_factory.lo: \ + webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/include/aec_dump.lo: \ + webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/include/audio_processing.lo: \ + webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/include/config.lo: \ + webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc2 + @: > webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/agc2_common.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/gain_applier.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/limiter.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/saturation_protector.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad + @: > webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.lo: webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/vad_with_level.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/down_sampler.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/signal_classifier.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/biquad_filter.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.lo: \ + webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/transient + @: > webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/transient/moving_moments.lo: \ + webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/transient/wpd_tree.lo: \ + webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/transient/wpd_node.lo: \ + webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/transient/transient_suppressor.lo: \ + webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/transient/transient_detector.lo: \ + webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/low_cut_filter.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/level_estimator_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/three_band_filter_bank.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aec + @: > webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec/echo_cancellation.lo: \ + webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec/aec_resampler.lo: \ + webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec/aec_core.lo: \ + webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/voice_detection_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_cancellation_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc + @: > webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/agc.lo: \ + webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/loudness_histogram.lo: \ + webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.lo: \ + webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc/legacy/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc/legacy + @: > webrtc_dsp/modules/audio_processing/agc/legacy/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.lo: webrtc_dsp/modules/audio_processing/agc/legacy/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.lo: webrtc_dsp/modules/audio_processing/agc/legacy/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/agc/utility.lo: \ + webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/audio_processing_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/audio_generator/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/audio_generator + @: > webrtc_dsp/modules/audio_processing/audio_generator/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.lo: webrtc_dsp/modules/audio_processing/audio_generator/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/gain_controller2.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/residual_echo_detector.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/noise_suppression_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aecm + @: > webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aecm/aecm_core.lo: \ + webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.lo: \ + webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.lo: \ + webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aec3 + @: > webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/frame_blocker.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/subtractor.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/aec3_fft.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/suppression_filter.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/block_processor.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/vector_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/erl_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/aec_state.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/skew_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/block_framer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/erle_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/reverb_model.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/subtractor_output.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/suppression_gain.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_audibility.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/moving_average.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/aec3_common.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/matched_filter.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_remover.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/block_processor2.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/fft_buffer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/aec3/decimator.lo: \ + webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.lo: \ + webrtc_dsp/modules/audio_processing/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/logging/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/logging + @: > webrtc_dsp/modules/audio_processing/logging/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/logging/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.lo: \ + webrtc_dsp/modules/audio_processing/logging/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/vad + @: > webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/standalone_vad.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/pitch_internal.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/vad/gmm.lo: \ + webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/utility + @: > webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR) + @: > webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/utility/ooura_fft.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/utility/delay_estimator.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio + @: > webrtc_dsp/common_audio/$(am__dirstamp) +webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/$(DEPDIR) + @: > webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/window_generator.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/channel_buffer.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/fir_filter_factory.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/wav_header.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/real_fourier_ooura.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/audio_util.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/fir_filter_sse.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/resampler/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/resampler + @: > webrtc_dsp/common_audio/resampler/$(am__dirstamp) +webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/resampler/$(DEPDIR) + @: > webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/push_sinc_resampler.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/resampler.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/sinc_resampler_sse.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/push_resampler.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/sinc_resampler.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.lo: \ + webrtc_dsp/common_audio/resampler/$(am__dirstamp) \ + webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/wav_file.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/third_party/fft4g/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/third_party/fft4g + @: > webrtc_dsp/common_audio/third_party/fft4g/$(am__dirstamp) +webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR) + @: > webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/third_party/fft4g/fft4g.lo: \ + webrtc_dsp/common_audio/third_party/fft4g/$(am__dirstamp) \ + webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/audio_converter.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/real_fourier.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/sparse_fir_filter.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/smoothing_filter.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/fir_filter_c.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/ring_buffer.lo: \ + webrtc_dsp/common_audio/$(am__dirstamp) \ + webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/signal_processing + @: > webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR) + @: > webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/complex_fft.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/splitting_filter1.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/levinson_durbin.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/energy.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/downsample_fast.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/spl_init.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/cross_correlation.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/division_operations.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/auto_correlation.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/get_scaling_square.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/resample.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/min_max_operations.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/filter_ar.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/resample_fractional.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/real_fft.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/randomization_functions.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/copy_set_operations.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/resample_by_2.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/get_hanning_window.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/resample_48khz.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/spl_inl.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/signal_processing/spl_sqrt.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/vad/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/vad + @: > webrtc_dsp/common_audio/vad/$(am__dirstamp) +webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ./webrtc_dsp/common_audio/vad/$(DEPDIR) + @: > webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/vad_sp.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/vad.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/webrtc_vad.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/vad_filterbank.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/vad_core.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +./webrtc_dsp/common_audio/vad/vad_gmm.lo: \ + webrtc_dsp/common_audio/vad/$(am__dirstamp) \ + webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(am__dirstamp): + @$(MKDIR_P) webrtc_dsp/common_audio/third_party/spl_sqrt_floor + @: > webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(am__dirstamp) +webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR) + @: > webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.lo: webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(am__dirstamp) \ + webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/rtc_base/logging_mac.lo: \ + webrtc_dsp/rtc_base/$(am__dirstamp) \ + webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.lo: \ + webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) +audio/AudioIOCallback.lo: audio/$(am__dirstamp) \ + audio/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/spl_sqrt_floor_arm.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.lo: \ + webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) \ + webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aec/aec_core_neon.lo: \ + webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.lo: \ + webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.lo: \ + webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) +webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.lo: \ + webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) \ + webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) libtgvoip.la: $(libtgvoip_la_OBJECTS) $(libtgvoip_la_DEPENDENCIES) $(EXTRA_libtgvoip_la_DEPENDENCIES) $(AM_V_OBJCXXLD)$(OBJCXXLINK) -rpath $(libdir) $(libtgvoip_la_OBJECTS) $(libtgvoip_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f ./webrtc_dsp/absl/base/internal/*.$(OBJEXT) + -rm -f ./webrtc_dsp/absl/base/internal/*.lo + -rm -f ./webrtc_dsp/absl/strings/*.$(OBJEXT) + -rm -f ./webrtc_dsp/absl/strings/*.lo + -rm -f ./webrtc_dsp/absl/strings/internal/*.$(OBJEXT) + -rm -f ./webrtc_dsp/absl/strings/internal/*.lo + -rm -f ./webrtc_dsp/absl/types/*.$(OBJEXT) + -rm -f ./webrtc_dsp/absl/types/*.lo + -rm -f ./webrtc_dsp/api/audio/*.$(OBJEXT) + -rm -f ./webrtc_dsp/api/audio/*.lo + -rm -f ./webrtc_dsp/common_audio/*.$(OBJEXT) + -rm -f ./webrtc_dsp/common_audio/*.lo + -rm -f ./webrtc_dsp/common_audio/resampler/*.$(OBJEXT) + -rm -f ./webrtc_dsp/common_audio/resampler/*.lo + -rm -f ./webrtc_dsp/common_audio/signal_processing/*.$(OBJEXT) + -rm -f ./webrtc_dsp/common_audio/signal_processing/*.lo + -rm -f ./webrtc_dsp/common_audio/third_party/fft4g/*.$(OBJEXT) + -rm -f ./webrtc_dsp/common_audio/third_party/fft4g/*.lo + -rm -f ./webrtc_dsp/common_audio/vad/*.$(OBJEXT) + -rm -f ./webrtc_dsp/common_audio/vad/*.lo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/aec/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/agc/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/audio_generator/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/audio_generator/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/include/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/include/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/logging/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/logging/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/ns/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/transient/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/utility/*.lo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/audio_processing/vad/*.lo + -rm -f ./webrtc_dsp/modules/third_party/fft/*.$(OBJEXT) + -rm -f ./webrtc_dsp/modules/third_party/fft/*.lo + -rm -f ./webrtc_dsp/rtc_base/*.$(OBJEXT) + -rm -f ./webrtc_dsp/rtc_base/*.lo + -rm -f ./webrtc_dsp/rtc_base/memory/*.$(OBJEXT) + -rm -f ./webrtc_dsp/rtc_base/memory/*.lo + -rm -f ./webrtc_dsp/rtc_base/strings/*.$(OBJEXT) + -rm -f ./webrtc_dsp/rtc_base/strings/*.lo + -rm -f ./webrtc_dsp/system_wrappers/source/*.$(OBJEXT) + -rm -f ./webrtc_dsp/system_wrappers/source/*.lo + -rm -f ./webrtc_dsp/third_party/rnnoise/src/*.$(OBJEXT) + -rm -f ./webrtc_dsp/third_party/rnnoise/src/*.lo -rm -f audio/*.$(OBJEXT) -rm -f audio/*.lo -rm -f os/darwin/*.$(OBJEXT) @@ -1373,28 +3544,20 @@ mostlyclean-compile: -rm -f os/linux/*.lo -rm -f os/posix/*.$(OBJEXT) -rm -f os/posix/*.lo - -rm -f webrtc_dsp/webrtc/base/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/base/*.lo - -rm -f webrtc_dsp/webrtc/common_audio/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/common_audio/*.lo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/*.lo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/*.lo - -rm -f webrtc_dsp/webrtc/system_wrappers/source/*.$(OBJEXT) - -rm -f webrtc_dsp/webrtc/system_wrappers/source/*.lo + -rm -f webrtc_dsp/common_audio/signal_processing/*.$(OBJEXT) + -rm -f webrtc_dsp/common_audio/signal_processing/*.lo + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/*.$(OBJEXT) + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/*.lo + -rm -f webrtc_dsp/modules/audio_processing/aec/*.$(OBJEXT) + -rm -f webrtc_dsp/modules/audio_processing/aec/*.lo + -rm -f webrtc_dsp/modules/audio_processing/aecm/*.$(OBJEXT) + -rm -f webrtc_dsp/modules/audio_processing/aecm/*.lo + -rm -f webrtc_dsp/modules/audio_processing/ns/*.$(OBJEXT) + -rm -f webrtc_dsp/modules/audio_processing/ns/*.lo + -rm -f webrtc_dsp/modules/audio_processing/utility/*.$(OBJEXT) + -rm -f webrtc_dsp/modules/audio_processing/utility/*.lo + -rm -f webrtc_dsp/rtc_base/*.$(OBJEXT) + -rm -f webrtc_dsp/rtc_base/*.lo distclean-compile: -rm -f *.tab.c @@ -1413,7 +3576,271 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VoIPGroupController.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VoIPServerConfig.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logging.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/base/internal/$(DEPDIR)/raw_logging.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/base/internal/$(DEPDIR)/throw_delegate.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/strings/$(DEPDIR)/ascii.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/strings/$(DEPDIR)/string_view.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/strings/internal/$(DEPDIR)/memutil.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/types/$(DEPDIR)/bad_optional_access.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/absl/types/$(DEPDIR)/optional.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/api/audio/$(DEPDIR)/audio_frame.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_config.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_factory.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/audio_converter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/audio_util.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/channel_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_c.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_factory.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_sse.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier_ooura.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/ring_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/smoothing_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/sparse_fir_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/wav_file.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/wav_header.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/$(DEPDIR)/window_generator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_resampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_sinc_resampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/resampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler_sse.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinusoidal_linear_chirp_source.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/energy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/splitting_filter1.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/fft4g.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_core.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_filterbank.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_gmm.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_sp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/common_audio/vad/$(DEPDIR)/webrtc_vad.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_hist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_logist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/bandwidth_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/crc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode_bwe.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode_lpc_swb.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/entropy_coding.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filter_functions.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filterbanks.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/intialize.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac_vad.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lattice.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_analysis.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_gain_swb_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb12_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb16_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_gain_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_lag_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/spectrum_ar_model_tables.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/transform.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_processing_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_cancellation_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_control_mobile_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_for_experimental_agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_controller2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/level_estimator_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/low_cut_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/noise_suppression_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/residual_echo_detector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/rms_level.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/typing_detection.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/$(DEPDIR)/voice_detection_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/adaptive_fir_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_common.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec_state.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_delay_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_framer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor_metrics.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/cascaded_biquad_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/comfort_noise_generator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/decimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/downsampled_render_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_audibility.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_canceller3.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_delay_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_variability.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover_metrics.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erl_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erle_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fft_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/filter_analyzer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/frame_blocker.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fullband_erle_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/main_filter_update_gain.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter_lag_aggregator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matrix_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/moving_average.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller_metrics.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_reverb_model.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_signal_analyzer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/residual_echo_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_decay_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_frequency_response.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_fallback.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/shadow_filter_update_gain.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/skew_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/stationarity_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subband_erle_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output_analyzer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain_limiter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/vector_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc_manager_direct.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/loudness_histogram.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/utility.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_digital_gain_applier.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator_agc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_common.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_testing_common.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/biquad_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/compute_interpolated_gain_curve.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/down_sampler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_digital_level_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_gain_controller.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/gain_applier.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/interpolated_gain_curve.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter_db_gain_curve.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_level_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_spectrum_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/saturation_protector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/signal_classifier.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vad_with_level.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vector_float_frame.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/features_extraction.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/fft_util.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/lp_residual.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search_internal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/rnn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features_internal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/file_audio_generator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/circular_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/mean_variance_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/moving_max.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/normalized_covariance_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/aec_dump.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_generator_factory.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing_statistics.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/config.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/moving_moments.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_detector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_suppressor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_node.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_tree.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/gmm.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_based_vad.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_internal.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pole_zero_filter.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/standalone_vad.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_audio_proc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_circular_buffer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/voice_activity_detector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/modules/third_party/fft/$(DEPDIR)/fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/checks.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/criticalsection.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/event.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/event_tracer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/logging_webrtc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/platform_file.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread_types.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/race_checker.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/string_to_number.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/stringencode.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/stringutils.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/thread_checker_impl.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/$(DEPDIR)/timeutils.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/memory/$(DEPDIR)/aligned_malloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/rtc_base/strings/$(DEPDIR)/string_builder.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/system_wrappers/source/$(DEPDIR)/cpu_features.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/system_wrappers/source/$(DEPDIR)/field_trial.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/system_wrappers/source/$(DEPDIR)/metrics.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/kiss_fft.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/rnn_vad_weights.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@audio/$(DEPDIR)/AudioIO.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@audio/$(DEPDIR)/AudioIOCallback.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@audio/$(DEPDIR)/AudioInput.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@audio/$(DEPDIR)/AudioOutput.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@audio/$(DEPDIR)/Resampler.Plo@am__quote@ # am--include-marker @@ -1429,81 +3856,20 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@os/linux/$(DEPDIR)/AudioOutputPulse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@os/linux/$(DEPDIR)/AudioPulse.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@os/posix/$(DEPDIR)/NetworkSocketPosix.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/base/$(DEPDIR)/checks.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/base/$(DEPDIR)/stringutils.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/audio_util.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/channel_buffer.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/fft4g.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/ring_buffer.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/sparse_fir_filter.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_file.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_header.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/energy.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/splitting_filter_impl.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/cpu_features.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/spl_sqrt_floor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@webrtc_dsp/rtc_base/$(DEPDIR)/logging_mac.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -1636,21 +4002,50 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs + -rm -rf ./webrtc_dsp/absl/base/internal/.libs ./webrtc_dsp/absl/base/internal/_libs + -rm -rf ./webrtc_dsp/absl/strings/.libs ./webrtc_dsp/absl/strings/_libs + -rm -rf ./webrtc_dsp/absl/strings/internal/.libs ./webrtc_dsp/absl/strings/internal/_libs + -rm -rf ./webrtc_dsp/absl/types/.libs ./webrtc_dsp/absl/types/_libs + -rm -rf ./webrtc_dsp/api/audio/.libs ./webrtc_dsp/api/audio/_libs + -rm -rf ./webrtc_dsp/common_audio/.libs ./webrtc_dsp/common_audio/_libs + -rm -rf ./webrtc_dsp/common_audio/resampler/.libs ./webrtc_dsp/common_audio/resampler/_libs + -rm -rf ./webrtc_dsp/common_audio/signal_processing/.libs ./webrtc_dsp/common_audio/signal_processing/_libs + -rm -rf ./webrtc_dsp/common_audio/third_party/fft4g/.libs ./webrtc_dsp/common_audio/third_party/fft4g/_libs + -rm -rf ./webrtc_dsp/common_audio/vad/.libs ./webrtc_dsp/common_audio/vad/_libs + -rm -rf ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/.libs ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/.libs ./webrtc_dsp/modules/audio_processing/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/aec/.libs ./webrtc_dsp/modules/audio_processing/aec/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/aec3/.libs ./webrtc_dsp/modules/audio_processing/aec3/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/aecm/.libs ./webrtc_dsp/modules/audio_processing/aecm/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/agc/.libs ./webrtc_dsp/modules/audio_processing/agc/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/agc/legacy/.libs ./webrtc_dsp/modules/audio_processing/agc/legacy/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/agc2/.libs ./webrtc_dsp/modules/audio_processing/agc2/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/.libs ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/audio_generator/.libs ./webrtc_dsp/modules/audio_processing/audio_generator/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/echo_detector/.libs ./webrtc_dsp/modules/audio_processing/echo_detector/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/include/.libs ./webrtc_dsp/modules/audio_processing/include/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/logging/.libs ./webrtc_dsp/modules/audio_processing/logging/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/ns/.libs ./webrtc_dsp/modules/audio_processing/ns/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/transient/.libs ./webrtc_dsp/modules/audio_processing/transient/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/utility/.libs ./webrtc_dsp/modules/audio_processing/utility/_libs + -rm -rf ./webrtc_dsp/modules/audio_processing/vad/.libs ./webrtc_dsp/modules/audio_processing/vad/_libs + -rm -rf ./webrtc_dsp/modules/third_party/fft/.libs ./webrtc_dsp/modules/third_party/fft/_libs + -rm -rf ./webrtc_dsp/rtc_base/.libs ./webrtc_dsp/rtc_base/_libs + -rm -rf ./webrtc_dsp/rtc_base/memory/.libs ./webrtc_dsp/rtc_base/memory/_libs + -rm -rf ./webrtc_dsp/rtc_base/strings/.libs ./webrtc_dsp/rtc_base/strings/_libs + -rm -rf ./webrtc_dsp/system_wrappers/source/.libs ./webrtc_dsp/system_wrappers/source/_libs + -rm -rf ./webrtc_dsp/third_party/rnnoise/src/.libs ./webrtc_dsp/third_party/rnnoise/src/_libs -rm -rf audio/.libs audio/_libs -rm -rf os/darwin/.libs os/darwin/_libs -rm -rf os/linux/.libs os/linux/_libs -rm -rf os/posix/.libs os/posix/_libs - -rm -rf webrtc_dsp/webrtc/base/.libs webrtc_dsp/webrtc/base/_libs - -rm -rf webrtc_dsp/webrtc/common_audio/.libs webrtc_dsp/webrtc/common_audio/_libs - -rm -rf webrtc_dsp/webrtc/common_audio/signal_processing/.libs webrtc_dsp/webrtc/common_audio/signal_processing/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/.libs webrtc_dsp/webrtc/modules/audio_processing/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/aec/.libs webrtc_dsp/webrtc/modules/audio_processing/aec/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/aecm/.libs webrtc_dsp/webrtc/modules/audio_processing/aecm/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/.libs webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/logging/.libs webrtc_dsp/webrtc/modules/audio_processing/logging/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/ns/.libs webrtc_dsp/webrtc/modules/audio_processing/ns/_libs - -rm -rf webrtc_dsp/webrtc/modules/audio_processing/utility/.libs webrtc_dsp/webrtc/modules/audio_processing/utility/_libs - -rm -rf webrtc_dsp/webrtc/system_wrappers/source/.libs webrtc_dsp/webrtc/system_wrappers/source/_libs + -rm -rf webrtc_dsp/common_audio/signal_processing/.libs webrtc_dsp/common_audio/signal_processing/_libs + -rm -rf webrtc_dsp/common_audio/third_party/spl_sqrt_floor/.libs webrtc_dsp/common_audio/third_party/spl_sqrt_floor/_libs + -rm -rf webrtc_dsp/modules/audio_processing/aec/.libs webrtc_dsp/modules/audio_processing/aec/_libs + -rm -rf webrtc_dsp/modules/audio_processing/aecm/.libs webrtc_dsp/modules/audio_processing/aecm/_libs + -rm -rf webrtc_dsp/modules/audio_processing/ns/.libs webrtc_dsp/modules/audio_processing/ns/_libs + -rm -rf webrtc_dsp/modules/audio_processing/utility/.libs webrtc_dsp/modules/audio_processing/utility/_libs + -rm -rf webrtc_dsp/rtc_base/.libs webrtc_dsp/rtc_base/_libs distclean-libtool: -rm -f libtool config.lt @@ -1945,28 +4340,74 @@ distclean-generic: -rm -f os/linux/$(am__dirstamp) -rm -f os/posix/$(DEPDIR)/$(am__dirstamp) -rm -f os/posix/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/base/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/base/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/common_audio/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) - -rm -f webrtc_dsp/webrtc/system_wrappers/source/$(am__dirstamp) + -rm -f webrtc_dsp/absl/base/internal/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/absl/base/internal/$(am__dirstamp) + -rm -f webrtc_dsp/absl/strings/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/absl/strings/$(am__dirstamp) + -rm -f webrtc_dsp/absl/strings/internal/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/absl/strings/internal/$(am__dirstamp) + -rm -f webrtc_dsp/absl/types/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/absl/types/$(am__dirstamp) + -rm -f webrtc_dsp/api/audio/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/api/audio/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/resampler/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/resampler/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/signal_processing/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/third_party/fft4g/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/vad/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/common_audio/vad/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aec/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aec3/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/aecm/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc/legacy/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc2/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/audio_generator/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/echo_detector/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/include/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/logging/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/ns/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/transient/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/utility/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/audio_processing/vad/$(am__dirstamp) + -rm -f webrtc_dsp/modules/third_party/fft/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/modules/third_party/fft/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/memory/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/memory/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/strings/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/rtc_base/strings/$(am__dirstamp) + -rm -f webrtc_dsp/system_wrappers/source/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/system_wrappers/source/$(am__dirstamp) + -rm -f webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/$(am__dirstamp) + -rm -f webrtc_dsp/third_party/rnnoise/src/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1992,7 +4433,271 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/VoIPGroupController.Plo -rm -f ./$(DEPDIR)/VoIPServerConfig.Plo -rm -f ./$(DEPDIR)/logging.Plo + -rm -f ./webrtc_dsp/absl/base/internal/$(DEPDIR)/raw_logging.Plo + -rm -f ./webrtc_dsp/absl/base/internal/$(DEPDIR)/throw_delegate.Plo + -rm -f ./webrtc_dsp/absl/strings/$(DEPDIR)/ascii.Plo + -rm -f ./webrtc_dsp/absl/strings/$(DEPDIR)/string_view.Plo + -rm -f ./webrtc_dsp/absl/strings/internal/$(DEPDIR)/memutil.Plo + -rm -f ./webrtc_dsp/absl/types/$(DEPDIR)/bad_optional_access.Plo + -rm -f ./webrtc_dsp/absl/types/$(DEPDIR)/optional.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/audio_frame.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_config.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_factory.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/audio_converter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/audio_util.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/channel_buffer.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_c.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_factory.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_sse.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier_ooura.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/ring_buffer.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/smoothing_filter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/sparse_fir_filter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/wav_file.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/wav_header.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/window_generator.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_sinc_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler_sse.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinusoidal_linear_chirp_source.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/energy.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/splitting_filter1.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo + -rm -f ./webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/fft4g.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_core.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_filterbank.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_gmm.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_sp.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/webrtc_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_hist.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_logist.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/bandwidth_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/crc.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode_bwe.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode_lpc_swb.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/entropy_coding.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filter_functions.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filterbanks.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/intialize.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lattice.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_analysis.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_gain_swb_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb12_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb16_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_gain_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_lag_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/spectrum_ar_model_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/transform.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_processing_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_cancellation_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_control_mobile_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_for_experimental_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_controller2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/level_estimator_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/low_cut_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/noise_suppression_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/residual_echo_detector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/rms_level.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/typing_detection.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/voice_detection_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/adaptive_fir_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_fft.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec_state.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_delay_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_framer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/cascaded_biquad_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/comfort_noise_generator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/decimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/downsampled_render_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_audibility.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_canceller3.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_delay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_variability.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erl_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fft_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/filter_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/frame_blocker.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fullband_erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/main_filter_update_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter_lag_aggregator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matrix_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/moving_average.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_reverb_model.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_signal_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/residual_echo_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_decay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_frequency_response.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_fallback.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/shadow_filter_update_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/skew_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/stationarity_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subband_erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain_limiter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/vector_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc_manager_direct.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/loudness_histogram.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/utility.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_digital_gain_applier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_testing_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/biquad_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/compute_interpolated_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/down_sampler.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_digital_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_gain_controller.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/gain_applier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/interpolated_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter_db_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_spectrum_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/saturation_protector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/signal_classifier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vad_with_level.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vector_float_frame.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/features_extraction.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/fft_util.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/lp_residual.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/rnn.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/file_audio_generator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/circular_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/mean_variance_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/moving_max.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/normalized_covariance_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/aec_dump.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_generator_factory.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing_statistics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/config.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/moving_moments.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_detector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_suppressor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_node.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_tree.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/gmm.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_based_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pole_zero_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/standalone_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_audio_proc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_circular_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/voice_activity_detector.Plo + -rm -f ./webrtc_dsp/modules/third_party/fft/$(DEPDIR)/fft.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/checks.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/criticalsection.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/event.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/event_tracer.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/logging_webrtc.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_file.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread_types.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/race_checker.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/string_to_number.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/stringencode.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/stringutils.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/thread_checker_impl.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/timeutils.Plo + -rm -f ./webrtc_dsp/rtc_base/memory/$(DEPDIR)/aligned_malloc.Plo + -rm -f ./webrtc_dsp/rtc_base/strings/$(DEPDIR)/string_builder.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/cpu_features.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/field_trial.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/metrics.Plo + -rm -f ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/kiss_fft.Plo + -rm -f ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/rnn_vad_weights.Plo -rm -f audio/$(DEPDIR)/AudioIO.Plo + -rm -f audio/$(DEPDIR)/AudioIOCallback.Plo -rm -f audio/$(DEPDIR)/AudioInput.Plo -rm -f audio/$(DEPDIR)/AudioOutput.Plo -rm -f audio/$(DEPDIR)/Resampler.Plo @@ -2008,81 +4713,20 @@ distclean: distclean-am -rm -f os/linux/$(DEPDIR)/AudioOutputPulse.Plo -rm -f os/linux/$(DEPDIR)/AudioPulse.Plo -rm -f os/posix/$(DEPDIR)/NetworkSocketPosix.Plo - -rm -f webrtc_dsp/webrtc/base/$(DEPDIR)/checks.Plo - -rm -f webrtc_dsp/webrtc/base/$(DEPDIR)/stringutils.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/audio_util.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/channel_buffer.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/fft4g.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/ring_buffer.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/sparse_fir_filter.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_file.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_header.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/energy.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/splitting_filter_impl.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo - -rm -f webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/cpu_features.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/spl_sqrt_floor.Plo + -rm -f webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo + -rm -f webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo + -rm -f webrtc_dsp/rtc_base/$(DEPDIR)/logging_mac.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-tags @@ -2144,7 +4788,271 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/VoIPGroupController.Plo -rm -f ./$(DEPDIR)/VoIPServerConfig.Plo -rm -f ./$(DEPDIR)/logging.Plo + -rm -f ./webrtc_dsp/absl/base/internal/$(DEPDIR)/raw_logging.Plo + -rm -f ./webrtc_dsp/absl/base/internal/$(DEPDIR)/throw_delegate.Plo + -rm -f ./webrtc_dsp/absl/strings/$(DEPDIR)/ascii.Plo + -rm -f ./webrtc_dsp/absl/strings/$(DEPDIR)/string_view.Plo + -rm -f ./webrtc_dsp/absl/strings/internal/$(DEPDIR)/memutil.Plo + -rm -f ./webrtc_dsp/absl/types/$(DEPDIR)/bad_optional_access.Plo + -rm -f ./webrtc_dsp/absl/types/$(DEPDIR)/optional.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/audio_frame.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_config.Plo + -rm -f ./webrtc_dsp/api/audio/$(DEPDIR)/echo_canceller3_factory.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/audio_converter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/audio_util.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/channel_buffer.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_c.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_factory.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/fir_filter_sse.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/real_fourier_ooura.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/ring_buffer.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/smoothing_filter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/sparse_fir_filter.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/wav_file.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/wav_header.Plo + -rm -f ./webrtc_dsp/common_audio/$(DEPDIR)/window_generator.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/push_sinc_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinc_resampler_sse.Plo + -rm -f ./webrtc_dsp/common_audio/resampler/$(DEPDIR)/sinusoidal_linear_chirp_source.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/energy.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/splitting_filter1.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo + -rm -f ./webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo + -rm -f ./webrtc_dsp/common_audio/third_party/fft4g/$(DEPDIR)/fft4g.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_core.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_filterbank.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_gmm.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/vad_sp.Plo + -rm -f ./webrtc_dsp/common_audio/vad/$(DEPDIR)/webrtc_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_hist.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/arith_routines_logist.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/bandwidth_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/crc.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/decode_bwe.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/encode_lpc_swb.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/entropy_coding.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filter_functions.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/filterbanks.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/intialize.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/isac_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lattice.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_analysis.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_gain_swb_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb12_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_shape_swb16_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/lpc_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_gain_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/pitch_lag_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/spectrum_ar_model_tables.Plo + -rm -f ./webrtc_dsp/modules/audio_coding/codecs/isac/main/source/$(DEPDIR)/transform.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/audio_processing_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_cancellation_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/echo_control_mobile_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_for_experimental_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_control_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/gain_controller2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/level_estimator_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/low_cut_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/noise_suppression_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/residual_echo_detector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/rms_level.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/typing_detection.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/$(DEPDIR)/voice_detection_impl.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/adaptive_fir_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec3_fft.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/aec_state.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_delay_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_framer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/block_processor_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/cascaded_biquad_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/comfort_noise_generator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/decimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/downsampled_render_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_audibility.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_canceller3.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_delay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_path_variability.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/echo_remover_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erl_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fft_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/filter_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/frame_blocker.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/fullband_erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/main_filter_update_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matched_filter_lag_aggregator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/matrix_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/moving_average.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_buffer2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller2.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_delay_controller_metrics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_reverb_model.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/render_signal_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/residual_echo_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_decay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_frequency_response.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/reverb_model_fallback.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/shadow_filter_update_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/skew_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/stationarity_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subband_erle_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/subtractor_output_analyzer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/suppression_gain_limiter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aec3/$(DEPDIR)/vector_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/agc_manager_direct.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/loudness_histogram.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/$(DEPDIR)/utility.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_digital_gain_applier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/adaptive_mode_level_estimator_agc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/agc2_testing_common.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/biquad_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/compute_interpolated_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/down_sampler.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_digital_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/fixed_gain_controller.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/gain_applier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/interpolated_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/limiter_db_gain_curve.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_level_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/noise_spectrum_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/saturation_protector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/signal_classifier.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vad_with_level.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/$(DEPDIR)/vector_float_frame.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/features_extraction.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/fft_util.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/lp_residual.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/pitch_search_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/rnn.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/agc2/rnn_vad/$(DEPDIR)/spectral_features_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/audio_generator/$(DEPDIR)/file_audio_generator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/circular_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/mean_variance_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/moving_max.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/echo_detector/$(DEPDIR)/normalized_covariance_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/aec_dump.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_generator_factory.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/audio_processing_statistics.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/include/$(DEPDIR)/config.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/moving_moments.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_detector.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/transient_suppressor.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_node.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/transient/$(DEPDIR)/wpd_tree.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/gmm.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_based_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pitch_internal.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/pole_zero_filter.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/standalone_vad.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_audio_proc.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/vad_circular_buffer.Plo + -rm -f ./webrtc_dsp/modules/audio_processing/vad/$(DEPDIR)/voice_activity_detector.Plo + -rm -f ./webrtc_dsp/modules/third_party/fft/$(DEPDIR)/fft.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/checks.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/criticalsection.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/event.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/event_tracer.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/logging_webrtc.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_file.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/platform_thread_types.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/race_checker.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/string_to_number.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/stringencode.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/stringutils.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/thread_checker_impl.Plo + -rm -f ./webrtc_dsp/rtc_base/$(DEPDIR)/timeutils.Plo + -rm -f ./webrtc_dsp/rtc_base/memory/$(DEPDIR)/aligned_malloc.Plo + -rm -f ./webrtc_dsp/rtc_base/strings/$(DEPDIR)/string_builder.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/cpu_features.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/field_trial.Plo + -rm -f ./webrtc_dsp/system_wrappers/source/$(DEPDIR)/metrics.Plo + -rm -f ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/kiss_fft.Plo + -rm -f ./webrtc_dsp/third_party/rnnoise/src/$(DEPDIR)/rnn_vad_weights.Plo -rm -f audio/$(DEPDIR)/AudioIO.Plo + -rm -f audio/$(DEPDIR)/AudioIOCallback.Plo -rm -f audio/$(DEPDIR)/AudioInput.Plo -rm -f audio/$(DEPDIR)/AudioOutput.Plo -rm -f audio/$(DEPDIR)/Resampler.Plo @@ -2160,81 +5068,20 @@ maintainer-clean: maintainer-clean-am -rm -f os/linux/$(DEPDIR)/AudioOutputPulse.Plo -rm -f os/linux/$(DEPDIR)/AudioPulse.Plo -rm -f os/posix/$(DEPDIR)/NetworkSocketPosix.Plo - -rm -f webrtc_dsp/webrtc/base/$(DEPDIR)/checks.Plo - -rm -f webrtc_dsp/webrtc/base/$(DEPDIR)/stringutils.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/audio_util.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/channel_buffer.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/fft4g.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/ring_buffer.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/sparse_fir_filter.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_file.Plo - -rm -f webrtc_dsp/webrtc/common_audio/$(DEPDIR)/wav_header.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_corr_to_refl_coef.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/auto_correlation.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/complex_fft.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/copy_set_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/division_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/dot_product_with_scale.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/energy.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ar_fast_q12.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/filter_ma_fast_q12.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_hanning_window.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/get_scaling_square.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/ilbc_specific_functions.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/levinson_durbin.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/lpc_to_refl_coef.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/randomization_functions.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/real_fft.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/refl_coef_to_lpc.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_48khz.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_by_2_internal.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/resample_fractional.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_init.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_inl.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/splitting_filter_impl.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/sqrt_of_one_minus_x_squared.Plo - -rm -f webrtc_dsp/webrtc/common_audio/signal_processing/$(DEPDIR)/vector_scaling_operations.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/splitting_filter.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/$(DEPDIR)/three_band_filter_bank.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/aec_resampler.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aec/$(DEPDIR)/echo_cancellation.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_c.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/aecm/$(DEPDIR)/echo_control_mobile.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/analog_agc.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/$(DEPDIR)/digital_agc.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/logging/$(DEPDIR)/apm_data_dumper.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/noise_suppression_x.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/ns_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_c.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/block_mean_calculator.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/delay_estimator_wrapper.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo - -rm -f webrtc_dsp/webrtc/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo - -rm -f webrtc_dsp/webrtc/system_wrappers/source/$(DEPDIR)/cpu_features.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/complex_bit_reverse_arm.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/cross_correlation_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/downsample_fast_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/min_max_operations_neon.Plo + -rm -f webrtc_dsp/common_audio/signal_processing/$(DEPDIR)/spl_sqrt_floor_arm.Plo + -rm -f webrtc_dsp/common_audio/third_party/spl_sqrt_floor/$(DEPDIR)/spl_sqrt_floor.Plo + -rm -f webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/aec/$(DEPDIR)/aec_core_sse2.Plo + -rm -f webrtc_dsp/modules/audio_processing/aecm/$(DEPDIR)/aecm_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/ns/$(DEPDIR)/nsx_core_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_neon.Plo + -rm -f webrtc_dsp/modules/audio_processing/utility/$(DEPDIR)/ooura_fft_sse2.Plo + -rm -f webrtc_dsp/rtc_base/$(DEPDIR)/logging_mac.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/MediaStreamItf.cpp b/MediaStreamItf.cpp index 50230b3d39..554ed0d7ab 100644 --- a/MediaStreamItf.cpp +++ b/MediaStreamItf.cpp @@ -22,7 +22,7 @@ void MediaStreamItf::SetCallback(size_t (*f)(unsigned char *, size_t, void*), vo size_t MediaStreamItf::InvokeCallback(unsigned char *data, size_t length){ if(callback) return (*callback)(data, length, callbackParam); - return NULL; + return 0; } AudioMixer::AudioMixer() : bufferPool(960*2, 16), processedQueue(16), semaphore(16, 0){ diff --git a/OpusEncoder.cpp b/OpusEncoder.cpp index 6431ce4416..4fc485fb80 100755 --- a/OpusEncoder.cpp +++ b/OpusEncoder.cpp @@ -30,8 +30,8 @@ tgvoip::OpusEncoder::OpusEncoder(MediaStreamItf *source, bool needSecondary):que complexity=10; frameDuration=20; levelMeter=NULL; - mediumCorrectionBitrate=ServerConfig::GetSharedInstance()->GetInt("audio_medium_fec_bitrate", 10000); - strongCorrectionBitrate=ServerConfig::GetSharedInstance()->GetInt("audio_strong_fec_bitrate", 8000); + mediumCorrectionBitrate=static_cast(ServerConfig::GetSharedInstance()->GetInt("audio_medium_fec_bitrate", 10000)); + strongCorrectionBitrate=static_cast(ServerConfig::GetSharedInstance()->GetInt("audio_strong_fec_bitrate", 8000)); mediumCorrectionMultiplier=ServerConfig::GetSharedInstance()->GetDouble("audio_medium_fec_multiplier", 1.5); strongCorrectionMultiplier=ServerConfig::GetSharedInstance()->GetDouble("audio_strong_fec_multiplier", 2.0); secondaryEncoderEnabled=false; @@ -80,15 +80,15 @@ void tgvoip::OpusEncoder::SetBitrate(uint32_t bitrate){ requestedBitrate=bitrate; } -void tgvoip::OpusEncoder::Encode(unsigned char *data, size_t len){ +void tgvoip::OpusEncoder::Encode(int16_t* data, size_t len){ if(requestedBitrate!=currentBitrate){ opus_encoder_ctl(enc, OPUS_SET_BITRATE(requestedBitrate)); currentBitrate=requestedBitrate; LOGV("opus_encoder: setting bitrate to %u", currentBitrate); } if(levelMeter) - levelMeter->Update(reinterpret_cast(data), len/2); - int32_t r=opus_encode(enc, (int16_t*)data, len/2, buffer, 4096); + levelMeter->Update(data, len); + int32_t r=opus_encode(enc, data, static_cast(len), buffer, 4096); if(r<=0){ LOGE("Error encoding: %d", r); }else if(r==1){ @@ -98,7 +98,7 @@ void tgvoip::OpusEncoder::Encode(unsigned char *data, size_t len){ int32_t secondaryLen=0; unsigned char secondaryBuffer[128]; if(secondaryEncoderEnabled && secondaryEncoder){ - secondaryLen=opus_encode(secondaryEncoder, (int16_t*)data, len/2, secondaryBuffer, sizeof(secondaryBuffer)); + secondaryLen=opus_encode(secondaryEncoder, data, static_cast(len), secondaryBuffer, sizeof(secondaryBuffer)); //LOGV("secondaryLen %d", secondaryLen); } InvokeCallback(buffer, (size_t)r, secondaryBuffer, (size_t)secondaryLen); @@ -132,33 +132,30 @@ void tgvoip::OpusEncoder::SetEchoCanceller(EchoCanceller* aec){ } void tgvoip::OpusEncoder::RunThread(){ - unsigned char buf[960*2]; uint32_t bufferedCount=0; uint32_t packetsPerFrame=frameDuration/20; LOGV("starting encoder, packets per frame=%d", packetsPerFrame); - unsigned char* frame; + int16_t* frame; if(packetsPerFrame>1) - frame=(unsigned char *) malloc(960*2*packetsPerFrame); + frame=(int16_t*) malloc(960*2*packetsPerFrame); else frame=NULL; while(running){ - unsigned char* packet=(unsigned char*)queue.GetBlocking(); + int16_t* packet=(int16_t*)queue.GetBlocking(); if(packet){ if(echoCanceller) - echoCanceller->ProcessInput(packet, buf, 960*2); - else - memcpy(buf, packet, 960*2); + echoCanceller->ProcessInput(packet, 960); if(packetsPerFrame==1){ - Encode(buf, 960*2); + Encode(packet, 960); }else{ - memcpy(frame+(960*2*bufferedCount), buf, 960*2); + memcpy(frame+(960*bufferedCount), packet, 960*2); bufferedCount++; if(bufferedCount==packetsPerFrame){ - Encode(frame, 960*2*packetsPerFrame); + Encode(frame, 960*packetsPerFrame); bufferedCount=0; } } - bufferPool.Reuse(packet); + bufferPool.Reuse(reinterpret_cast(packet)); } } if(frame) diff --git a/OpusEncoder.h b/OpusEncoder.h index ce9cd2aeb7..26f612f069 100755 --- a/OpusEncoder.h +++ b/OpusEncoder.h @@ -41,7 +41,7 @@ public: private: static size_t Callback(unsigned char* data, size_t len, void* param); void RunThread(); - void Encode(unsigned char* data, size_t len); + void Encode(int16_t* data, size_t len); void InvokeCallback(unsigned char* data, size_t length, unsigned char* secondaryData, size_t secondaryLength); MediaStreamItf* source; ::OpusEncoder* enc; diff --git a/VoIPController.cpp b/VoIPController.cpp index 9684b5f66c..f67f52c6e7 100755 --- a/VoIPController.cpp +++ b/VoIPController.cpp @@ -54,6 +54,7 @@ bool VoIPController::didInitWin32TimeScale = false; #ifdef __ANDROID__ #include "os/android/JNIUtilities.h" +#include "os/android/AudioInputAndroid.h" extern jclass jniUtilitiesClass; #endif @@ -1042,6 +1043,20 @@ void VoIPController::InitializeAudio(){ audioIO=audio::AudioIO::Create(); audioInput=audioIO->GetInput(); audioOutput=audioIO->GetOutput(); +#ifdef __ANDROID__ + audio::AudioInputAndroid* androidInput=dynamic_cast(audioInput); + if(androidInput){ + unsigned int effects=androidInput->GetEnabledEffects(); + if(!(effects & audio::AudioInputAndroid::EFFECT_AEC)){ + config.enableAEC=true; + LOGI("Forcing software AEC because built-in is not good"); + } + if(!(effects & audio::AudioInputAndroid::EFFECT_NS)){ + config.enableNS=true; + LOGI("Forcing software NS because built-in is not good"); + } + } +#endif LOGI("AEC: %d NS: %d AGC: %d", config.enableAEC, config.enableNS, config.enableAGC); echoCanceller=new EchoCanceller(config.enableAEC, config.enableNS, config.enableAGC); encoder=new OpusEncoder(audioInput, true); @@ -1056,7 +1071,7 @@ void VoIPController::InitializeAudio(){ #endif if(!audioOutput->IsInitialized()){ - LOGE("Erorr initializing audio playback"); + LOGE("Error initializing audio playback"); lastError=ERROR_AUDIO_IO; SetState(STATE_FAILED); @@ -1102,6 +1117,7 @@ void VoIPController::UpdateAudioOutputState(){ areAnyAudioStreamsEnabled=true; } if(audioOutput){ + LOGV("New audio output state: %d", areAnyAudioStreamsEnabled); if(audioOutput->IsPlaying()!=areAnyAudioStreamsEnabled){ if(areAnyAudioStreamsEnabled) audioOutput->Start(); diff --git a/VoIPController.h b/VoIPController.h index 674eb6491d..e88afa9501 100755 --- a/VoIPController.h +++ b/VoIPController.h @@ -39,7 +39,7 @@ #include "MessageThread.h" #include "utils.h" -#define LIBTGVOIP_VERSION "2.3" +#define LIBTGVOIP_VERSION "2.4" #ifdef _WIN32 #undef GetCurrentTime diff --git a/client/android/tg_voip_jni.cpp b/client/android/tg_voip_jni.cpp index 96902f1922..4ec59350fe 100644 --- a/client/android/tg_voip_jni.cpp +++ b/client/android/tg_voip_jni.cpp @@ -499,6 +499,7 @@ extern "C" void tgvoipRegisterNatives(JNIEnv* env){ AudioInputAndroid::releaseMethod=env->GetMethodID(cls, "release", "()V"); AudioInputAndroid::startMethod=env->GetMethodID(cls, "start", "()Z"); AudioInputAndroid::stopMethod=env->GetMethodID(cls, "stop", "()V"); + AudioInputAndroid::getEnabledEffectsMaskMethod=env->GetMethodID(cls, "getEnabledEffectsMask", "()I"); cls=env->FindClass(TGVOIP_PACKAGE_PATH "/AudioTrackJNI"); AudioOutputAndroid::jniClass=(jclass) env->NewGlobalRef(cls); diff --git a/configure b/configure index 0a40189216..abc9be2b81 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libtgvoip 2.2.4. +# Generated by GNU Autoconf 2.69 for libtgvoip 2.4. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libtgvoip' PACKAGE_TARNAME='libtgvoip' -PACKAGE_VERSION='2.2.4' -PACKAGE_STRING='libtgvoip 2.2.4' +PACKAGE_VERSION='2.4' +PACKAGE_STRING='libtgvoip 2.4' PACKAGE_BUGREPORT='https://github.com/grishka/libtgvoip/issues' PACKAGE_URL='' @@ -1360,7 +1360,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libtgvoip 2.2.4 to adapt to many kinds of systems. +\`configure' configures libtgvoip 2.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1430,7 +1430,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libtgvoip 2.2.4:";; + short | recursive ) echo "Configuration of libtgvoip 2.4:";; esac cat <<\_ACEOF @@ -1552,7 +1552,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libtgvoip configure 2.2.4 +libtgvoip configure 2.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2264,7 +2264,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libtgvoip $as_me 2.2.4, which was +It was created by libtgvoip $as_me 2.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3130,7 +3130,7 @@ fi # Define the identity of the package. PACKAGE='libtgvoip' - VERSION='2.2.4' + VERSION='2.4' cat >>confdefs.h <<_ACEOF @@ -19133,7 +19133,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libtgvoip $as_me 2.2.4, which was +This file was extended by libtgvoip $as_me 2.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19199,7 +19199,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libtgvoip config.status 2.2.4 +libtgvoip config.status 2.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index fa1b367fda..6c1792b914 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([libtgvoip], [2.2.4], [https://github.com/grishka/libtgvoip/issues]) +AC_INIT([libtgvoip], [2.4], [https://github.com/grishka/libtgvoip/issues]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([subdir-objects]) diff --git a/libtgvoip.gyp b/libtgvoip.gyp index 964a7bc315..c93e96239c 100644 --- a/libtgvoip.gyp +++ b/libtgvoip.gyp @@ -9,6 +9,7 @@ 'defines': [ 'WEBRTC_APM_DEBUG_DUMP=0', 'TGVOIP_USE_DESKTOP_DSP', + 'WEBRTC_NS_FLOAT', ], 'variables': { 'tgvoip_src_loc': '.', @@ -114,140 +115,609 @@ '<(tgvoip_src_loc)/os/posix/NetworkSocketPosix.cpp', '<(tgvoip_src_loc)/os/posix/NetworkSocketPosix.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/array_view.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/atomicops.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/basictypes.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/checks.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/checks.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/constructormagic.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_compare.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_conversions.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/safe_conversions_impl.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/sanitizer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/stringutils.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/stringutils.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/base/type_traits.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/audio_util.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/channel_buffer.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/channel_buffer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/fft4g.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/fft4g.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/include/audio_util.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/ring_buffer.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/ring_buffer.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c', -# 'webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/energy.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c', -# 'webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c', - #'webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_file.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_file.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_header.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/common_audio/wav_header.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h', -# '<(tgvoip_src_loc)/webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/include/metrics.h', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc', - '<(tgvoip_src_loc)/webrtc_dsp/webrtc/typedefs.h', + # WebRTC APM + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/include/field_trial.h', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/include/asm_defines.h', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/include/metrics.h', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/include/compile_assert_c.h', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/source/field_trial.cc', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/source/metrics.cc', + '<(tgvoip_src_loc)/webrtc_dsp/system_wrappers/source/cpu_features.cc', + '<(tgvoip_src_loc)/webrtc_dsp/typedefs.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/internal/memutil.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/internal/memutil.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/string_view.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/ascii.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/ascii.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/strings/string_view.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/types/optional.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/types/bad_optional_access.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/types/bad_optional_access.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/types/optional.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/memory/memory.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/meta/type_traits.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/algorithm/algorithm.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/container/inlined_vector.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/policy_checks.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/port.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/config.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/raw_logging.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/throw_delegate.cc', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/invoke.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/inline_variable.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/atomic_hook.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/identity.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/raw_logging.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/internal/throw_delegate.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/attributes.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/macros.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/optimization.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/base/log_severity.h', + '<(tgvoip_src_loc)/webrtc_dsp/absl/utility/utility.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/string_to_number.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/constructormagic.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/race_checker.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/strings/string_builder.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/strings/string_builder.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/event_tracer.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/stringencode.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/memory/aligned_malloc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/memory/aligned_malloc.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/timeutils.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/event.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/ignore_wundef.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/stringutils.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/arraysize.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_file.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/swap_queue.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/string_to_number.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/trace_event.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/checks.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/deprecation.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/thread_checker_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/sanitizer.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/scoped_ref_ptr.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/logging.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/timeutils.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/atomicops.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/stringencode.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/stringutils.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/checks.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/numerics/safe_minmax.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/numerics/safe_conversions.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/numerics/safe_compare.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/unused.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/inline.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/ignore_warnings.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/asm_defines.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/rtc_export.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/system/arch.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_thread.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_thread.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_thread_types.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/protobuf_utils.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/thread_annotations.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/gtest_prod_util.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/function_view.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/criticalsection.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/criticalsection.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_thread_types.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/refcount.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/event.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/thread_checker_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/event_tracer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/compile_assert_c.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/logging_webrtc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/type_traits.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/platform_file.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/refcounter.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/logging_mac.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/thread_checker.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/race_checker.h', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/refcountedobject.h', + '<(tgvoip_src_loc)/webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc', + '<(tgvoip_src_loc)/webrtc_dsp/third_party/rnnoise/src/rnn_activations.h', + '<(tgvoip_src_loc)/webrtc_dsp/third_party/rnnoise/src/kiss_fft.h', + '<(tgvoip_src_loc)/webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc', + '<(tgvoip_src_loc)/webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/audio_frame.cc', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/echo_canceller3_config.h', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/echo_control.h', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/audio_frame.h', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/echo_canceller3_config.cc', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/echo_canceller3_factory.h', + '<(tgvoip_src_loc)/webrtc_dsp/api/audio/echo_canceller3_factory.cc', + '<(tgvoip_src_loc)/webrtc_dsp/api/array_view.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/third_party/fft/fft.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/third_party/fft/fft.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/rms_level.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/splitting_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_control_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/rms_level.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/ns_core.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/nsx_core.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/defines.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/noise_suppression.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/ns_core.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/nsx_core.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/windows_private.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/noise_suppression.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/nsx_defines.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/residual_echo_detector.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_processing_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/typing_detection.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_generator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/config.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_frame_view.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/gain_control.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/aec_dump.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/aec_dump.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_processing.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/audio_processing.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/include/config.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/limiter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/down_sampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/agc2_common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/gain_applier.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/limiter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/moving_moments.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/transient_detector.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/wpd_node.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/moving_moments.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/wpd_tree.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/wpd_node.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/transient_detector.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/low_cut_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/noise_suppression_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/level_estimator_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_resampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_core.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_core.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/voice_detection_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/voice_detection_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/agc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/utility.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/mock_agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/utility.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/agc/agc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_processing_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/splitting_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/low_cut_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_controller2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/three_band_filter_bank.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/residual_echo_detector.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/level_estimator_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_controller2.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/aecm_core.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec_state.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matched_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_processor.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec_state.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/fft_data.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_remover.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_framer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/moving_average.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/moving_average.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_processor.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/aec3_common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/vector_math.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/decimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/block_framer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_model.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/decimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/gain_control_impl.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/typing_detection.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/gmm.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/pitch_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/gmm.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/standalone_vad.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/delay_estimator.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h', + '<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/wav_file.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/window_generator.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/channel_buffer.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_factory.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/sparse_fir_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_sse.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/window_generator.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/ring_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/include/audio_util.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/wav_header.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/real_fourier_ooura.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/audio_util.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/real_fourier_ooura.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_sse.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/smoothing_filter.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinc_resampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/resampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/include/push_resampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/include/resampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/push_sinc_resampler.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/push_resampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinc_resampler.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_factory.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/audio_converter.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/wav_file.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/third_party/fft4g/fft4g.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/third_party/fft4g/fft4g.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/audio_converter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/real_fourier.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/channel_buffer.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/real_fourier.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/sparse_fir_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/smoothing_filter.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_c.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/ring_buffer.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_c.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/complex_fft.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/levinson_durbin.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/energy.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/downsample_fast.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/splitting_filter1.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/spl_init.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/cross_correlation.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/include/real_fft.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/include/spl_inl.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/division_operations.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/auto_correlation.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/get_scaling_square.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/min_max_operations.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/filter_ar.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample_fractional.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/real_fft.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/randomization_functions.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/copy_set_operations.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample_by_2.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/get_hanning_window.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/resample_48khz.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/spl_inl.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/spl_sqrt.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/wav_header.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_sp.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad.cc', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/webrtc_vad.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_core.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/include/vad.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/include/webrtc_vad.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_gmm.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_filterbank.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_core.c', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_sp.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_filterbank.h', + '<(tgvoip_src_loc)/webrtc_dsp/common_audio/vad/vad_gmm.c', + + # ARM/NEON sources + # TODO check if there's a good way to make these compile with ARM ports of TDesktop + #'<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c', + #'<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc', + #'<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc', + #'<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h', + #'<(tgvoip_src_loc)/webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_neon.cc', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/resampler/sinc_resampler_neon.cc', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_arm.S', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/fir_filter_neon.h', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c', + #'<(tgvoip_src_loc)/webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S', + ], 'libraries': [], @@ -276,7 +746,7 @@ [ '"<(OS)" == "mac"', { 'xcode_settings': { - 'CLANG_CXX_LANGUAGE_STANDARD': 'c++1z', + 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', 'ALWAYS_SEARCH_USER_PATHS': 'NO', }, 'defines': [ @@ -284,6 +754,10 @@ 'WEBRTC_MAC', 'TARGET_OS_OSX', ], + 'sources': [ + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/logging_mac.mm', + '<(tgvoip_src_loc)/webrtc_dsp/rtc_base/logging_mac.h', + ], 'conditions': [ [ '"<(official_build_target)" == "mac32"', { 'xcode_settings': { @@ -312,7 +786,8 @@ 'defines': [ 'NOMINMAX', '_USING_V110_SDK71_', - 'TGVOIP_WINXP_COMPAT' + 'TGVOIP_WINXP_COMPAT', + 'WEBRTC_WIN', ], 'libraries': [ 'winmm', @@ -392,6 +867,7 @@ '"<(OS)" == "linux"', { 'defines': [ 'WEBRTC_POSIX', + 'WEBRTC_LINUX', ], 'conditions': [ [ '""; }; 69791A561EE8272A00BB85FB /* Resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Resampler.h; sourceTree = ""; }; + 697E961921A4EA0700E03846 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = ""; }; + 697E988C21A4ED6800E03846 /* field_trial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = field_trial.h; sourceTree = ""; }; + 697E988D21A4ED6800E03846 /* cpu_features_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_features_wrapper.h; sourceTree = ""; }; + 697E988E21A4ED6800E03846 /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_defines.h; sourceTree = ""; }; + 697E988F21A4ED6800E03846 /* metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = metrics.h; sourceTree = ""; }; + 697E989021A4ED6800E03846 /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile_assert_c.h; sourceTree = ""; }; + 697E989221A4ED6800E03846 /* field_trial.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = field_trial.cc; sourceTree = ""; }; + 697E989321A4ED6800E03846 /* metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = metrics.cc; sourceTree = ""; }; + 697E989421A4ED6800E03846 /* cpu_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_features.cc; sourceTree = ""; }; + 697E989721A4ED6800E03846 /* mock_smoothing_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_smoothing_filter.h; sourceTree = ""; }; + 697E989821A4ED6800E03846 /* wav_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_file.h; sourceTree = ""; }; + 697E989921A4ED6800E03846 /* window_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = window_generator.cc; sourceTree = ""; }; + 697E989A21A4ED6800E03846 /* channel_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = channel_buffer.cc; sourceTree = ""; }; + 697E989B21A4ED6800E03846 /* fir_filter_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_factory.cc; sourceTree = ""; }; + 697E989C21A4ED6800E03846 /* sparse_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sparse_fir_filter.h; sourceTree = ""; }; + 697E989D21A4ED6800E03846 /* fir_filter_sse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_sse.h; sourceTree = ""; }; + 697E989E21A4ED6800E03846 /* window_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = window_generator.h; sourceTree = ""; }; + 697E989F21A4ED6800E03846 /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; + 697E98A021A4ED6800E03846 /* fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter.h; sourceTree = ""; }; + 697E98A221A4ED6800E03846 /* audio_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_util.h; sourceTree = ""; }; + 697E98A321A4ED6800E03846 /* wav_header.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_header.cc; sourceTree = ""; }; + 697E98A421A4ED6800E03846 /* real_fourier_ooura.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = real_fourier_ooura.cc; sourceTree = ""; }; + 697E98A521A4ED6800E03846 /* fir_filter_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_neon.cc; sourceTree = ""; }; + 697E98A621A4ED6800E03846 /* audio_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_util.cc; sourceTree = ""; }; + 697E98A721A4ED6800E03846 /* real_fourier_ooura.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fourier_ooura.h; sourceTree = ""; }; + 697E98A821A4ED6800E03846 /* fir_filter_sse.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_sse.cc; sourceTree = ""; }; + 697E98A921A4ED6800E03846 /* smoothing_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smoothing_filter.h; sourceTree = ""; }; + 697E98AB21A4ED6800E03846 /* sinc_resampler_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler_neon.cc; sourceTree = ""; }; + 697E98AC21A4ED6800E03846 /* push_sinc_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = push_sinc_resampler.cc; sourceTree = ""; }; + 697E98AD21A4ED6800E03846 /* sinc_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sinc_resampler.h; sourceTree = ""; }; + 697E98AE21A4ED6800E03846 /* resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resampler.cc; sourceTree = ""; }; + 697E98AF21A4ED6800E03846 /* sinc_resampler_sse.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler_sse.cc; sourceTree = ""; }; + 697E98B121A4ED6800E03846 /* push_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = push_resampler.h; sourceTree = ""; }; + 697E98B221A4ED6800E03846 /* resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resampler.h; sourceTree = ""; }; + 697E98B321A4ED6800E03846 /* push_sinc_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = push_sinc_resampler.h; sourceTree = ""; }; + 697E98B421A4ED6800E03846 /* push_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = push_resampler.cc; sourceTree = ""; }; + 697E98B521A4ED6800E03846 /* sinusoidal_linear_chirp_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sinusoidal_linear_chirp_source.h; sourceTree = ""; }; + 697E98B621A4ED6800E03846 /* sinc_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler.cc; sourceTree = ""; }; + 697E98B721A4ED6800E03846 /* sinusoidal_linear_chirp_source.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinusoidal_linear_chirp_source.cc; sourceTree = ""; }; + 697E98B821A4ED6800E03846 /* fir_filter_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_factory.h; sourceTree = ""; }; + 697E98B921A4ED6800E03846 /* audio_converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_converter.h; sourceTree = ""; }; + 697E98BA21A4ED6800E03846 /* wav_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_file.cc; sourceTree = ""; }; + 697E98BD21A4ED6800E03846 /* spl_sqrt_floor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt_floor.c; sourceTree = ""; }; + 697E98BE21A4ED6800E03846 /* spl_sqrt_floor_arm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = spl_sqrt_floor_arm.S; sourceTree = ""; }; + 697E98BF21A4ED6800E03846 /* spl_sqrt_floor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_sqrt_floor.h; sourceTree = ""; }; + 697E98C121A4ED6800E03846 /* fft4g.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft4g.c; sourceTree = ""; }; + 697E98C221A4ED6800E03846 /* fft4g.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft4g.h; sourceTree = ""; }; + 697E98C321A4ED6800E03846 /* audio_converter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_converter.cc; sourceTree = ""; }; + 697E98C421A4ED6800E03846 /* real_fourier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = real_fourier.cc; sourceTree = ""; }; + 697E98C521A4ED6800E03846 /* channel_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_buffer.h; sourceTree = ""; }; + 697E98C621A4ED6800E03846 /* real_fourier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fourier.h; sourceTree = ""; }; + 697E98C721A4ED6800E03846 /* sparse_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sparse_fir_filter.cc; sourceTree = ""; }; + 697E98C821A4ED6800E03846 /* fir_filter_neon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_neon.h; sourceTree = ""; }; + 697E98C921A4ED6800E03846 /* smoothing_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = smoothing_filter.cc; sourceTree = ""; }; + 697E98CA21A4ED6800E03846 /* fir_filter_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_c.cc; sourceTree = ""; }; + 697E98CB21A4ED6800E03846 /* ring_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ring_buffer.c; sourceTree = ""; }; + 697E98CC21A4ED6800E03846 /* fir_filter_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_c.h; sourceTree = ""; }; + 697E98CE21A4ED6800E03846 /* complex_fft_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = complex_fft_tables.h; sourceTree = ""; }; + 697E98CF21A4ED6800E03846 /* complex_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_fft.c; sourceTree = ""; }; + 697E98D021A4ED6800E03846 /* filter_ma_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ma_fast_q12.c; sourceTree = ""; }; + 697E98D121A4ED6800E03846 /* splitting_filter1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = splitting_filter1.c; sourceTree = ""; }; + 697E98D221A4ED6800E03846 /* levinson_durbin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = levinson_durbin.c; sourceTree = ""; }; + 697E98D321A4ED6800E03846 /* downsample_fast_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast_neon.c; sourceTree = ""; }; + 697E98D421A4ED6800E03846 /* dot_product_with_scale.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dot_product_with_scale.cc; sourceTree = ""; }; + 697E98D521A4ED6800E03846 /* auto_corr_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_corr_to_refl_coef.c; sourceTree = ""; }; + 697E98D621A4ED6800E03846 /* resample_by_2_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2_internal.c; sourceTree = ""; }; + 697E98D721A4ED6800E03846 /* complex_bit_reverse_arm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = complex_bit_reverse_arm.S; sourceTree = ""; }; + 697E98D821A4ED6800E03846 /* energy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = energy.c; sourceTree = ""; }; + 697E98D921A4ED6800E03846 /* sqrt_of_one_minus_x_squared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sqrt_of_one_minus_x_squared.c; sourceTree = ""; }; + 697E98DA21A4ED6800E03846 /* downsample_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast.c; sourceTree = ""; }; + 697E98DB21A4ED6800E03846 /* filter_ar_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar_fast_q12.c; sourceTree = ""; }; + 697E98DC21A4ED6800E03846 /* spl_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_init.c; sourceTree = ""; }; + 697E98DD21A4ED6800E03846 /* lpc_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_to_refl_coef.c; sourceTree = ""; }; + 697E98DE21A4ED6800E03846 /* cross_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation.c; sourceTree = ""; }; + 697E98E021A4ED6800E03846 /* signal_processing_library.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_processing_library.h; sourceTree = ""; }; + 697E98E121A4ED6800E03846 /* real_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fft.h; sourceTree = ""; }; + 697E98E221A4ED6800E03846 /* spl_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl.h; sourceTree = ""; }; + 697E98E321A4ED6800E03846 /* spl_inl_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_armv7.h; sourceTree = ""; }; + 697E98E421A4ED6800E03846 /* division_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = division_operations.c; sourceTree = ""; }; + 697E98E521A4ED6800E03846 /* auto_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_correlation.c; sourceTree = ""; }; + 697E98E621A4ED6800E03846 /* get_scaling_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_scaling_square.c; sourceTree = ""; }; + 697E98E721A4ED6800E03846 /* min_max_operations_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations_neon.c; sourceTree = ""; }; + 697E98E821A4ED6800E03846 /* dot_product_with_scale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dot_product_with_scale.h; sourceTree = ""; }; + 697E98E921A4ED6800E03846 /* resample_by_2_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resample_by_2_internal.h; sourceTree = ""; }; + 697E98EA21A4ED6800E03846 /* resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample.c; sourceTree = ""; }; + 697E98EB21A4ED6800E03846 /* cross_correlation_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation_neon.c; sourceTree = ""; }; + 697E98EC21A4ED6800E03846 /* min_max_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations.c; sourceTree = ""; }; + 697E98ED21A4ED6800E03846 /* refl_coef_to_lpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = refl_coef_to_lpc.c; sourceTree = ""; }; + 697E98EE21A4ED6800E03846 /* filter_ar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar.c; sourceTree = ""; }; + 697E98EF21A4ED6800E03846 /* vector_scaling_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vector_scaling_operations.c; sourceTree = ""; }; + 697E98F021A4ED6800E03846 /* resample_fractional.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_fractional.c; sourceTree = ""; }; + 697E98F121A4ED6800E03846 /* real_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_fft.c; sourceTree = ""; }; + 697E98F221A4ED6800E03846 /* ilbc_specific_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ilbc_specific_functions.c; sourceTree = ""; }; + 697E98F321A4ED6800E03846 /* complex_bit_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_bit_reverse.c; sourceTree = ""; }; + 697E98F421A4ED6800E03846 /* randomization_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = randomization_functions.c; sourceTree = ""; }; + 697E98F521A4ED6800E03846 /* filter_ar_fast_q12_armv7.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = filter_ar_fast_q12_armv7.S; sourceTree = ""; }; + 697E98F621A4ED6800E03846 /* copy_set_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = copy_set_operations.c; sourceTree = ""; }; + 697E98F721A4ED6800E03846 /* resample_by_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2.c; sourceTree = ""; }; + 697E98F821A4ED6800E03846 /* get_hanning_window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_hanning_window.c; sourceTree = ""; }; + 697E98F921A4ED6800E03846 /* resample_48khz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_48khz.c; sourceTree = ""; }; + 697E98FA21A4ED6800E03846 /* spl_inl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_inl.c; sourceTree = ""; }; + 697E98FB21A4ED6800E03846 /* spl_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt.c; sourceTree = ""; }; + 697E98FC21A4ED6800E03846 /* wav_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_header.h; sourceTree = ""; }; + 697E98FE21A4ED6800E03846 /* vad_sp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_sp.c; sourceTree = ""; }; + 697E98FF21A4ED6800E03846 /* vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad.cc; sourceTree = ""; }; + 697E990021A4ED6800E03846 /* webrtc_vad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = webrtc_vad.c; sourceTree = ""; }; + 697E990121A4ED6800E03846 /* vad_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_core.h; sourceTree = ""; }; + 697E990321A4ED6800E03846 /* vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad.h; sourceTree = ""; }; + 697E990421A4ED6800E03846 /* webrtc_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = webrtc_vad.h; sourceTree = ""; }; + 697E990521A4ED6800E03846 /* vad_gmm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_gmm.h; sourceTree = ""; }; + 697E990621A4ED6800E03846 /* vad_filterbank.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_filterbank.c; sourceTree = ""; }; + 697E990721A4ED6800E03846 /* vad_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_core.c; sourceTree = ""; }; + 697E990821A4ED6800E03846 /* vad_sp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_sp.h; sourceTree = ""; }; + 697E990921A4ED6800E03846 /* vad_filterbank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_filterbank.h; sourceTree = ""; }; + 697E990A21A4ED6800E03846 /* vad_gmm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_gmm.c; sourceTree = ""; }; + 697E990E21A4ED6800E03846 /* memutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memutil.h; sourceTree = ""; }; + 697E990F21A4ED6800E03846 /* memutil.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memutil.cc; sourceTree = ""; }; + 697E991021A4ED6800E03846 /* string_view.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_view.cc; sourceTree = ""; }; + 697E991121A4ED6800E03846 /* ascii.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ascii.h; sourceTree = ""; }; + 697E991221A4ED6800E03846 /* ascii.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ascii.cc; sourceTree = ""; }; + 697E991321A4ED6800E03846 /* string_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_view.h; sourceTree = ""; }; + 697E991521A4ED6800E03846 /* optional.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = optional.h; sourceTree = ""; }; + 697E991621A4ED6800E03846 /* bad_optional_access.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bad_optional_access.h; sourceTree = ""; }; + 697E991721A4ED6800E03846 /* bad_optional_access.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bad_optional_access.cc; sourceTree = ""; }; + 697E991821A4ED6800E03846 /* optional.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optional.cc; sourceTree = ""; }; + 697E991A21A4ED6800E03846 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; + 697E991C21A4ED6800E03846 /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; + 697E991E21A4ED6800E03846 /* algorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = algorithm.h; sourceTree = ""; }; + 697E992021A4ED6800E03846 /* inlined_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inlined_vector.h; sourceTree = ""; }; + 697E992221A4ED6800E03846 /* policy_checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = policy_checks.h; sourceTree = ""; }; + 697E992321A4ED6800E03846 /* port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = port.h; sourceTree = ""; }; + 697E992421A4ED6800E03846 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 697E992621A4ED6800E03846 /* raw_logging.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = raw_logging.cc; sourceTree = ""; }; + 697E992721A4ED6800E03846 /* throw_delegate.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = throw_delegate.cc; sourceTree = ""; }; + 697E992821A4ED6800E03846 /* invoke.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = invoke.h; sourceTree = ""; }; + 697E992921A4ED6800E03846 /* inline_variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_variable.h; sourceTree = ""; }; + 697E992A21A4ED6800E03846 /* atomic_hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomic_hook.h; sourceTree = ""; }; + 697E992B21A4ED6800E03846 /* identity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = identity.h; sourceTree = ""; }; + 697E992C21A4ED6800E03846 /* raw_logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = raw_logging.h; sourceTree = ""; }; + 697E992D21A4ED6800E03846 /* throw_delegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = throw_delegate.h; sourceTree = ""; }; + 697E992E21A4ED6800E03846 /* attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attributes.h; sourceTree = ""; }; + 697E992F21A4ED6800E03846 /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = ""; }; + 697E993021A4ED6800E03846 /* optimization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = optimization.h; sourceTree = ""; }; + 697E993121A4ED6800E03846 /* log_severity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log_severity.h; sourceTree = ""; }; + 697E993321A4ED6800E03846 /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + 697E993621A4ED6900E03846 /* audio_frame.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_frame.cc; sourceTree = ""; }; + 697E993721A4ED6900E03846 /* echo_canceller3_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3_config.h; sourceTree = ""; }; + 697E993821A4ED6900E03846 /* echo_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control.h; sourceTree = ""; }; + 697E993921A4ED6900E03846 /* audio_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_frame.h; sourceTree = ""; }; + 697E993A21A4ED6900E03846 /* echo_canceller3_config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3_config.cc; sourceTree = ""; }; + 697E993B21A4ED6900E03846 /* echo_canceller3_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3_factory.h; sourceTree = ""; }; + 697E993C21A4ED6900E03846 /* echo_canceller3_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3_factory.cc; sourceTree = ""; }; + 697E993D21A4ED6900E03846 /* array_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = array_view.h; sourceTree = ""; }; + 697E993F21A4ED6900E03846 /* string_to_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_to_number.h; sourceTree = ""; }; + 697E994021A4ED6900E03846 /* constructormagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constructormagic.h; sourceTree = ""; }; + 697E994121A4ED6900E03846 /* race_checker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = race_checker.cc; sourceTree = ""; }; + 697E994321A4ED6900E03846 /* string_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_builder.h; sourceTree = ""; }; + 697E994421A4ED6900E03846 /* string_builder.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_builder.cc; sourceTree = ""; }; + 697E994521A4ED6900E03846 /* event_tracer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event_tracer.h; sourceTree = ""; }; + 697E994621A4ED6900E03846 /* stringencode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringencode.h; sourceTree = ""; }; + 697E994821A4ED6900E03846 /* aligned_malloc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aligned_malloc.cc; sourceTree = ""; }; + 697E994921A4ED6900E03846 /* aligned_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aligned_malloc.h; sourceTree = ""; }; + 697E994A21A4ED6900E03846 /* timeutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timeutils.cc; sourceTree = ""; }; + 697E994B21A4ED6900E03846 /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event.h; sourceTree = ""; }; + 697E994D21A4ED6900E03846 /* ignore_wundef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ignore_wundef.h; sourceTree = ""; }; + 697E994E21A4ED6900E03846 /* stringutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringutils.h; sourceTree = ""; }; + 697E994F21A4ED6900E03846 /* arraysize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraysize.h; sourceTree = ""; }; + 697E995021A4ED6900E03846 /* platform_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_file.cc; sourceTree = ""; }; + 697E995121A4ED6900E03846 /* swap_queue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap_queue.h; sourceTree = ""; }; + 697E995221A4ED6900E03846 /* string_to_number.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_to_number.cc; sourceTree = ""; }; + 697E995321A4ED6900E03846 /* trace_event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trace_event.h; sourceTree = ""; }; + 697E995421A4ED6900E03846 /* checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checks.h; sourceTree = ""; }; + 697E995521A4ED6900E03846 /* deprecation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deprecation.h; sourceTree = ""; }; + 697E995621A4ED6900E03846 /* thread_checker_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thread_checker_impl.cc; sourceTree = ""; }; + 697E995721A4ED6900E03846 /* sanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sanitizer.h; sourceTree = ""; }; + 697E995821A4ED6900E03846 /* scoped_ref_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scoped_ref_ptr.h; sourceTree = ""; }; + 697E995921A4ED6900E03846 /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = ""; }; + 697E995A21A4ED6900E03846 /* timeutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timeutils.h; sourceTree = ""; }; + 697E995B21A4ED6900E03846 /* atomicops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops.h; sourceTree = ""; }; + 697E995C21A4ED6900E03846 /* stringencode.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringencode.cc; sourceTree = ""; }; + 697E995D21A4ED6900E03846 /* stringutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringutils.cc; sourceTree = ""; }; + 697E995E21A4ED6900E03846 /* checks.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = checks.cc; sourceTree = ""; }; + 697E996021A4ED6900E03846 /* safe_minmax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_minmax.h; sourceTree = ""; }; + 697E996121A4ED6900E03846 /* safe_conversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions.h; sourceTree = ""; }; + 697E996221A4ED6900E03846 /* safe_conversions_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions_impl.h; sourceTree = ""; }; + 697E996321A4ED6900E03846 /* safe_compare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_compare.h; sourceTree = ""; }; + 697E996521A4ED6900E03846 /* unused.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unused.h; sourceTree = ""; }; + 697E996621A4ED6900E03846 /* inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline.h; sourceTree = ""; }; + 697E996721A4ED6900E03846 /* ignore_warnings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ignore_warnings.h; sourceTree = ""; }; + 697E996821A4ED6900E03846 /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_defines.h; sourceTree = ""; }; + 697E996921A4ED6900E03846 /* rtc_export.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtc_export.h; sourceTree = ""; }; + 697E996A21A4ED6900E03846 /* arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arch.h; sourceTree = ""; }; + 697E996B21A4ED6900E03846 /* platform_thread.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_thread.cc; sourceTree = ""; }; + 697E996C21A4ED6900E03846 /* platform_thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_thread.h; sourceTree = ""; }; + 697E996D21A4ED6900E03846 /* logging_webrtc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging_webrtc.cc; sourceTree = ""; }; + 697E996E21A4ED6900E03846 /* platform_thread_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_thread_types.h; sourceTree = ""; }; + 697E996F21A4ED6900E03846 /* protobuf_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protobuf_utils.h; sourceTree = ""; }; + 697E997021A4ED6900E03846 /* thread_annotations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_annotations.h; sourceTree = ""; }; + 697E997121A4ED6900E03846 /* gtest_prod_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest_prod_util.h; sourceTree = ""; }; + 697E997221A4ED6900E03846 /* function_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function_view.h; sourceTree = ""; }; + 697E997321A4ED6900E03846 /* criticalsection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = criticalsection.h; sourceTree = ""; }; + 697E997421A4ED6900E03846 /* criticalsection.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = criticalsection.cc; sourceTree = ""; }; + 697E997521A4ED6900E03846 /* platform_thread_types.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_thread_types.cc; sourceTree = ""; }; + 697E997621A4ED6900E03846 /* refcount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcount.h; sourceTree = ""; }; + 697E997721A4ED6900E03846 /* event.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = event.cc; sourceTree = ""; }; + 697E997821A4ED6900E03846 /* thread_checker_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_checker_impl.h; sourceTree = ""; }; + 697E997921A4ED6900E03846 /* event_tracer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = event_tracer.cc; sourceTree = ""; }; + 697E997A21A4ED6900E03846 /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile_assert_c.h; sourceTree = ""; }; + 697E997B21A4ED6900E03846 /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; + 697E997C21A4ED6900E03846 /* platform_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_file.h; sourceTree = ""; }; + 697E997D21A4ED6900E03846 /* refcounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcounter.h; sourceTree = ""; }; + 697E997F21A4ED6900E03846 /* thread_checker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_checker.h; sourceTree = ""; }; + 697E998021A4ED6900E03846 /* race_checker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = race_checker.h; sourceTree = ""; }; + 697E998121A4ED6900E03846 /* refcountedobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcountedobject.h; sourceTree = ""; }; + 697E998521A4ED6900E03846 /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; + 697E998621A4ED6900E03846 /* fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft.c; sourceTree = ""; }; + 697E998A21A4ED6900E03846 /* bandwidth_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bandwidth_info.h; sourceTree = ""; }; + 697E998D21A4ED6900E03846 /* isac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac.h; sourceTree = ""; }; + 697E998F21A4ED6900E03846 /* pitch_estimator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_estimator.c; sourceTree = ""; }; + 697E999021A4ED6900E03846 /* lpc_shape_swb16_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_shape_swb16_tables.c; sourceTree = ""; }; + 697E999121A4ED6900E03846 /* pitch_gain_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_gain_tables.c; sourceTree = ""; }; + 697E999221A4ED6900E03846 /* arith_routines_logist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines_logist.c; sourceTree = ""; }; + 697E999321A4ED6900E03846 /* os_specific_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = os_specific_inline.h; sourceTree = ""; }; + 697E999421A4ED6900E03846 /* filterbanks.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filterbanks.c; sourceTree = ""; }; + 697E999521A4ED6900E03846 /* entropy_coding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entropy_coding.h; sourceTree = ""; }; + 697E999621A4ED6900E03846 /* isac_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac_vad.h; sourceTree = ""; }; + 697E999721A4ED6900E03846 /* settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = settings.h; sourceTree = ""; }; + 697E999821A4ED6900E03846 /* transform.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = transform.c; sourceTree = ""; }; + 697E999921A4ED6900E03846 /* lpc_shape_swb12_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_shape_swb12_tables.h; sourceTree = ""; }; + 697E999A21A4ED6900E03846 /* arith_routines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arith_routines.h; sourceTree = ""; }; + 697E999B21A4ED6900E03846 /* crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc.h; sourceTree = ""; }; + 697E999C21A4ED6900E03846 /* pitch_filter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_filter.c; sourceTree = ""; }; + 697E999D21A4ED6900E03846 /* encode_lpc_swb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = encode_lpc_swb.c; sourceTree = ""; }; + 697E999E21A4ED6900E03846 /* filter_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_functions.c; sourceTree = ""; }; + 697E999F21A4ED6900E03846 /* decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decode.c; sourceTree = ""; }; + 697E99A021A4ED6900E03846 /* lattice.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lattice.c; sourceTree = ""; }; + 697E99A121A4ED6900E03846 /* intialize.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = intialize.c; sourceTree = ""; }; + 697E99A221A4ED6900E03846 /* lpc_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_tables.c; sourceTree = ""; }; + 697E99A321A4ED6900E03846 /* lpc_gain_swb_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_gain_swb_tables.c; sourceTree = ""; }; + 697E99A421A4ED6900E03846 /* bandwidth_estimator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bandwidth_estimator.c; sourceTree = ""; }; + 697E99A521A4ED6900E03846 /* isac_float_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac_float_type.h; sourceTree = ""; }; + 697E99A621A4ED6900E03846 /* pitch_lag_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_lag_tables.h; sourceTree = ""; }; + 697E99A721A4ED6900E03846 /* encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = encode.c; sourceTree = ""; }; + 697E99A821A4ED6900E03846 /* lpc_analysis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_analysis.c; sourceTree = ""; }; + 697E99A921A4ED6900E03846 /* spectrum_ar_model_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectrum_ar_model_tables.h; sourceTree = ""; }; + 697E99AA21A4ED6900E03846 /* arith_routines_hist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines_hist.c; sourceTree = ""; }; + 697E99AB21A4ED6900E03846 /* codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = codec.h; sourceTree = ""; }; + 697E99AC21A4ED6900E03846 /* pitch_gain_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_gain_tables.h; sourceTree = ""; }; + 697E99AD21A4ED6900E03846 /* lpc_shape_swb16_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_shape_swb16_tables.h; sourceTree = ""; }; + 697E99AE21A4ED6900E03846 /* pitch_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_estimator.h; sourceTree = ""; }; + 697E99AF21A4ED6900E03846 /* entropy_coding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = entropy_coding.c; sourceTree = ""; }; + 697E99B021A4ED6900E03846 /* isac_vad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = isac_vad.c; sourceTree = ""; }; + 697E99B121A4ED6900E03846 /* structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structs.h; sourceTree = ""; }; + 697E99B221A4ED6900E03846 /* filter_functions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filter_functions.h; sourceTree = ""; }; + 697E99B321A4ED6900E03846 /* encode_lpc_swb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encode_lpc_swb.h; sourceTree = ""; }; + 697E99B421A4ED6900E03846 /* pitch_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_filter.h; sourceTree = ""; }; + 697E99B521A4ED6900E03846 /* arith_routines.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines.c; sourceTree = ""; }; + 697E99B621A4ED6900E03846 /* crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc.c; sourceTree = ""; }; + 697E99B721A4ED6900E03846 /* lpc_shape_swb12_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_shape_swb12_tables.c; sourceTree = ""; }; + 697E99B821A4ED6900E03846 /* lpc_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_analysis.h; sourceTree = ""; }; + 697E99B921A4ED6900E03846 /* decode_bwe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decode_bwe.c; sourceTree = ""; }; + 697E99BA21A4ED6900E03846 /* spectrum_ar_model_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spectrum_ar_model_tables.c; sourceTree = ""; }; + 697E99BB21A4ED6900E03846 /* bandwidth_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bandwidth_estimator.h; sourceTree = ""; }; + 697E99BC21A4ED6900E03846 /* pitch_lag_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_lag_tables.c; sourceTree = ""; }; + 697E99BD21A4ED6900E03846 /* isac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = isac.c; sourceTree = ""; }; + 697E99BE21A4ED6900E03846 /* lpc_gain_swb_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_gain_swb_tables.h; sourceTree = ""; }; + 697E99BF21A4ED6900E03846 /* lpc_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_tables.h; sourceTree = ""; }; + 697E99C121A4ED6900E03846 /* rms_level.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rms_level.cc; sourceTree = ""; }; + 697E99C321A4ED6900E03846 /* moving_max.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_max.h; sourceTree = ""; }; + 697E99C421A4ED6900E03846 /* circular_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = circular_buffer.h; sourceTree = ""; }; + 697E99C521A4ED6900E03846 /* normalized_covariance_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = normalized_covariance_estimator.h; sourceTree = ""; }; + 697E99C621A4ED6900E03846 /* normalized_covariance_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normalized_covariance_estimator.cc; sourceTree = ""; }; + 697E99C721A4ED6900E03846 /* moving_max.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_max.cc; sourceTree = ""; }; + 697E99C821A4ED6900E03846 /* circular_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = circular_buffer.cc; sourceTree = ""; }; + 697E99C921A4ED6900E03846 /* mean_variance_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mean_variance_estimator.cc; sourceTree = ""; }; + 697E99CA21A4ED6900E03846 /* mean_variance_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mean_variance_estimator.h; sourceTree = ""; }; + 697E99CB21A4ED6900E03846 /* gain_control_for_experimental_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control_for_experimental_agc.h; sourceTree = ""; }; + 697E99CC21A4ED6900E03846 /* splitting_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = splitting_filter.cc; sourceTree = ""; }; + 697E99CD21A4ED6900E03846 /* gain_control_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_control_impl.cc; sourceTree = ""; }; + 697E99CE21A4ED6900E03846 /* rms_level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rms_level.h; sourceTree = ""; }; + 697E99D421A4ED6900E03846 /* ns_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ns_core.h; sourceTree = ""; }; + 697E99D521A4ED6900E03846 /* nsx_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core.c; sourceTree = ""; }; + 697E99D621A4ED6900E03846 /* noise_suppression_x.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression_x.c; sourceTree = ""; }; + 697E99D721A4ED6900E03846 /* nsx_core_c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_c.c; sourceTree = ""; }; + 697E99D821A4ED6900E03846 /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defines.h; sourceTree = ""; }; + 697E99D921A4ED6900E03846 /* noise_suppression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression.h; sourceTree = ""; }; + 697E99DA21A4ED6900E03846 /* ns_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ns_core.c; sourceTree = ""; }; + 697E99DB21A4ED6900E03846 /* nsx_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_core.h; sourceTree = ""; }; + 697E99DC21A4ED6900E03846 /* windows_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windows_private.h; sourceTree = ""; }; + 697E99DD21A4ED6900E03846 /* noise_suppression_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression_x.h; sourceTree = ""; }; + 697E99DE21A4ED6900E03846 /* nsx_core_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_neon.c; sourceTree = ""; }; + 697E99DF21A4ED6900E03846 /* noise_suppression.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression.c; sourceTree = ""; }; + 697E99E021A4ED6900E03846 /* nsx_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_defines.h; sourceTree = ""; }; + 697E99E121A4ED6900E03846 /* residual_echo_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = residual_echo_detector.h; sourceTree = ""; }; + 697E99E221A4ED6900E03846 /* audio_processing_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing_impl.h; sourceTree = ""; }; + 697E99E321A4ED6900E03846 /* audio_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_buffer.cc; sourceTree = ""; }; + 697E99E421A4ED6900E03846 /* typing_detection.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = typing_detection.cc; sourceTree = ""; }; + 697E99E521A4ED6900E03846 /* render_queue_item_verifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_queue_item_verifier.h; sourceTree = ""; }; + 697E99E821A4ED6900E03846 /* audio_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_generator.h; sourceTree = ""; }; + 697E99E921A4ED6900E03846 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 697E99EA21A4ED6900E03846 /* audio_frame_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_frame_view.h; sourceTree = ""; }; + 697E99EB21A4ED6900E03846 /* mock_audio_processing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_audio_processing.h; sourceTree = ""; }; + 697E99EC21A4ED6900E03846 /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control.h; sourceTree = ""; }; + 697E99ED21A4ED6900E03846 /* audio_generator_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_generator_factory.h; sourceTree = ""; }; + 697E99EE21A4ED6900E03846 /* audio_processing_statistics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing_statistics.cc; sourceTree = ""; }; + 697E99EF21A4ED6900E03846 /* audio_generator_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_generator_factory.cc; sourceTree = ""; }; + 697E99F021A4ED6900E03846 /* aec_dump.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_dump.cc; sourceTree = ""; }; + 697E99F121A4ED6900E03846 /* aec_dump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_dump.h; sourceTree = ""; }; + 697E99F221A4ED6900E03846 /* audio_processing_statistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing_statistics.h; sourceTree = ""; }; + 697E99F321A4ED6900E03846 /* audio_processing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing.h; sourceTree = ""; }; + 697E99F421A4ED6900E03846 /* audio_processing.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing.cc; sourceTree = ""; }; + 697E99F521A4ED6900E03846 /* config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = config.cc; sourceTree = ""; }; + 697E99F721A4ED6900E03846 /* interpolated_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = interpolated_gain_curve.h; sourceTree = ""; }; + 697E99F821A4ED6900E03846 /* biquad_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = biquad_filter.h; sourceTree = ""; }; + 697E99F921A4ED6900E03846 /* interpolated_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = interpolated_gain_curve.cc; sourceTree = ""; }; + 697E99FA21A4ED6900E03846 /* agc2_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc2_common.cc; sourceTree = ""; }; + 697E99FB21A4ED6900E03846 /* agc2_testing_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc2_testing_common.h; sourceTree = ""; }; + 697E99FC21A4ED6900E03846 /* adaptive_mode_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_mode_level_estimator.h; sourceTree = ""; }; + 697E99FD21A4ED6900E03846 /* gain_applier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_applier.cc; sourceTree = ""; }; + 697E99FE21A4ED6900E03846 /* signal_classifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_classifier.h; sourceTree = ""; }; + 697E99FF21A4ED6900E03846 /* adaptive_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_agc.cc; sourceTree = ""; }; + 697E9A0021A4ED6900E03846 /* adaptive_digital_gain_applier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_digital_gain_applier.cc; sourceTree = ""; }; + 697E9A0121A4ED6900E03846 /* limiter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limiter.cc; sourceTree = ""; }; + 697E9A0221A4ED6900E03846 /* saturation_protector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = saturation_protector.cc; sourceTree = ""; }; + 697E9A0321A4ED6900E03846 /* vector_float_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_float_frame.h; sourceTree = ""; }; + 697E9A0521A4ED6900E03846 /* spectral_features_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spectral_features_internal.cc; sourceTree = ""; }; + 697E9A0621A4ED6900E03846 /* sequence_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sequence_buffer.h; sourceTree = ""; }; + 697E9A0721A4ED6900E03846 /* rnn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn.h; sourceTree = ""; }; + 697E9A0821A4ED6900E03846 /* rnn.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rnn.cc; sourceTree = ""; }; + 697E9A0921A4ED6900E03846 /* test_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test_utils.h; sourceTree = ""; }; + 697E9A0A21A4ED6900E03846 /* pitch_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_info.h; sourceTree = ""; }; + 697E9A0B21A4ED6900E03846 /* lp_residual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lp_residual.h; sourceTree = ""; }; + 697E9A0C21A4ED6900E03846 /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; + 697E9A0D21A4ED6900E03846 /* pitch_search_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_search_internal.cc; sourceTree = ""; }; + 697E9A0E21A4ED6900E03846 /* symmetric_matrix_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symmetric_matrix_buffer.h; sourceTree = ""; }; + 697E9A0F21A4ED6900E03846 /* spectral_features.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectral_features.h; sourceTree = ""; }; + 697E9A1021A4ED6900E03846 /* features_extraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = features_extraction.h; sourceTree = ""; }; + 697E9A1121A4ED6900E03846 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 697E9A1221A4ED6900E03846 /* spectral_features_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectral_features_internal.h; sourceTree = ""; }; + 697E9A1321A4ED6900E03846 /* fft_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_util.h; sourceTree = ""; }; + 697E9A1421A4ED6900E03846 /* spectral_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spectral_features.cc; sourceTree = ""; }; + 697E9A1521A4ED6900E03846 /* pitch_search_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_search_internal.h; sourceTree = ""; }; + 697E9A1621A4ED6900E03846 /* pitch_search.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_search.cc; sourceTree = ""; }; + 697E9A1721A4ED6900E03846 /* pitch_search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_search.h; sourceTree = ""; }; + 697E9A1821A4ED6900E03846 /* features_extraction.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = features_extraction.cc; sourceTree = ""; }; + 697E9A1921A4ED6900E03846 /* fft_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft_util.cc; sourceTree = ""; }; + 697E9A1A21A4ED6900E03846 /* lp_residual.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lp_residual.cc; sourceTree = ""; }; + 697E9A1B21A4ED6900E03846 /* fixed_gain_controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fixed_gain_controller.h; sourceTree = ""; }; + 697E9A1C21A4ED6900E03846 /* adaptive_mode_level_estimator_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_mode_level_estimator_agc.cc; sourceTree = ""; }; + 697E9A1D21A4ED6900E03846 /* vector_float_frame.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_float_frame.cc; sourceTree = ""; }; + 697E9A1E21A4ED6900E03846 /* down_sampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = down_sampler.h; sourceTree = ""; }; + 697E9A1F21A4ED6900E03846 /* noise_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_level_estimator.cc; sourceTree = ""; }; + 697E9A2021A4ED6900E03846 /* agc2_testing_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc2_testing_common.cc; sourceTree = ""; }; + 697E9A2121A4ED6900E03846 /* fixed_digital_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fixed_digital_level_estimator.cc; sourceTree = ""; }; + 697E9A2221A4ED6900E03846 /* fixed_gain_controller.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fixed_gain_controller.cc; sourceTree = ""; }; + 697E9A2321A4ED6900E03846 /* saturation_protector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saturation_protector.h; sourceTree = ""; }; + 697E9A2421A4ED6900E03846 /* vad_with_level.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_with_level.cc; sourceTree = ""; }; + 697E9A2521A4ED6900E03846 /* limiter_db_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limiter_db_gain_curve.cc; sourceTree = ""; }; + 697E9A2621A4ED6900E03846 /* agc2_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc2_common.h; sourceTree = ""; }; + 697E9A2721A4ED6900E03846 /* adaptive_mode_level_estimator_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_mode_level_estimator_agc.h; sourceTree = ""; }; + 697E9A2821A4ED6900E03846 /* adaptive_digital_gain_applier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_digital_gain_applier.h; sourceTree = ""; }; + 697E9A2921A4ED6900E03846 /* vad_with_level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_with_level.h; sourceTree = ""; }; + 697E9A2A21A4ED6900E03846 /* limiter_db_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limiter_db_gain_curve.h; sourceTree = ""; }; + 697E9A2B21A4ED6900E03846 /* fixed_digital_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fixed_digital_level_estimator.h; sourceTree = ""; }; + 697E9A2C21A4ED6900E03846 /* adaptive_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_agc.h; sourceTree = ""; }; + 697E9A2D21A4ED6900E03846 /* gain_applier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_applier.h; sourceTree = ""; }; + 697E9A2E21A4ED6900E03846 /* down_sampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = down_sampler.cc; sourceTree = ""; }; + 697E9A2F21A4ED6900E03846 /* noise_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_level_estimator.h; sourceTree = ""; }; + 697E9A3021A4ED6900E03846 /* signal_classifier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = signal_classifier.cc; sourceTree = ""; }; + 697E9A3121A4ED6900E03846 /* noise_spectrum_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_spectrum_estimator.cc; sourceTree = ""; }; + 697E9A3221A4ED6900E03846 /* compute_interpolated_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compute_interpolated_gain_curve.cc; sourceTree = ""; }; + 697E9A3321A4ED6900E03846 /* compute_interpolated_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compute_interpolated_gain_curve.h; sourceTree = ""; }; + 697E9A3421A4ED6900E03846 /* biquad_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = biquad_filter.cc; sourceTree = ""; }; + 697E9A3521A4ED6900E03846 /* noise_spectrum_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_spectrum_estimator.h; sourceTree = ""; }; + 697E9A3621A4ED6900E03846 /* limiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limiter.h; sourceTree = ""; }; + 697E9A3721A4ED6900E03846 /* adaptive_mode_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_mode_level_estimator.cc; sourceTree = ""; }; + 697E9A3921A4ED6900E03846 /* moving_moments.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_moments.cc; sourceTree = ""; }; + 697E9A3A21A4ED6900E03846 /* transient_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transient_detector.h; sourceTree = ""; }; + 697E9A3B21A4ED6900E03846 /* wpd_tree.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wpd_tree.cc; sourceTree = ""; }; + 697E9A3C21A4ED6900E03846 /* transient_suppressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transient_suppressor.h; sourceTree = ""; }; + 697E9A3D21A4ED6900E03846 /* daubechies_8_wavelet_coeffs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = daubechies_8_wavelet_coeffs.h; sourceTree = ""; }; + 697E9A3E21A4ED6900E03846 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 697E9A3F21A4ED6900E03846 /* wpd_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wpd_node.h; sourceTree = ""; }; + 697E9A4021A4ED6900E03846 /* moving_moments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_moments.h; sourceTree = ""; }; + 697E9A4121A4ED6900E03846 /* wpd_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wpd_tree.h; sourceTree = ""; }; + 697E9A4221A4ED6900E03846 /* wpd_node.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wpd_node.cc; sourceTree = ""; }; + 697E9A4321A4ED6900E03846 /* transient_suppressor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transient_suppressor.cc; sourceTree = ""; }; + 697E9A4421A4ED6900E03846 /* transient_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transient_detector.cc; sourceTree = ""; }; + 697E9A4521A4ED6900E03846 /* dyadic_decimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dyadic_decimator.h; sourceTree = ""; }; + 697E9A4621A4ED6900E03846 /* low_cut_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = low_cut_filter.cc; sourceTree = ""; }; + 697E9A4721A4ED6900E03846 /* noise_suppression_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression_impl.h; sourceTree = ""; }; + 697E9A4821A4ED6900E03846 /* level_estimator_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = level_estimator_impl.cc; sourceTree = ""; }; + 697E9A4921A4ED6900E03846 /* three_band_filter_bank.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = three_band_filter_bank.cc; sourceTree = ""; }; + 697E9A4B21A4ED6900E03846 /* echo_cancellation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_cancellation.cc; sourceTree = ""; }; + 697E9A4C21A4ED6900E03846 /* aec_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_resampler.h; sourceTree = ""; }; + 697E9A4D21A4ED6900E03846 /* aec_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_resampler.cc; sourceTree = ""; }; + 697E9A4E21A4ED6900E03846 /* echo_cancellation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_cancellation.h; sourceTree = ""; }; + 697E9A4F21A4ED6900E03846 /* aec_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core.cc; sourceTree = ""; }; + 697E9A5021A4ED6900E03846 /* aec_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core.h; sourceTree = ""; }; + 697E9A5121A4ED6900E03846 /* aec_core_optimized_methods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core_optimized_methods.h; sourceTree = ""; }; + 697E9A5221A4ED6900E03846 /* aec_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_neon.cc; sourceTree = ""; }; + 697E9A5321A4ED6900E03846 /* aec_core_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_sse2.cc; sourceTree = ""; }; + 697E9A5421A4ED6900E03846 /* aec_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_common.h; sourceTree = ""; }; + 697E9A5521A4ED6900E03846 /* voice_detection_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_detection_impl.h; sourceTree = ""; }; + 697E9A5621A4ED6900E03846 /* voice_detection_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = voice_detection_impl.cc; sourceTree = ""; }; + 697E9A5721A4ED6900E03846 /* echo_cancellation_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_cancellation_impl.cc; sourceTree = ""; }; + 697E9A5821A4ED6900E03846 /* gain_control_for_experimental_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_control_for_experimental_agc.cc; sourceTree = ""; }; + 697E9A5A21A4ED6900E03846 /* agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc.cc; sourceTree = ""; }; + 697E9A5B21A4ED6900E03846 /* loudness_histogram.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loudness_histogram.cc; sourceTree = ""; }; + 697E9A5C21A4ED6900E03846 /* agc_manager_direct.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc_manager_direct.cc; sourceTree = ""; }; + 697E9A5E21A4ED6900E03846 /* analog_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = analog_agc.h; sourceTree = ""; }; + 697E9A5F21A4ED6900E03846 /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control.h; sourceTree = ""; }; + 697E9A6021A4ED6900E03846 /* digital_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = digital_agc.h; sourceTree = ""; }; + 697E9A6121A4ED6900E03846 /* analog_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = analog_agc.c; sourceTree = ""; }; + 697E9A6221A4ED6900E03846 /* digital_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = digital_agc.c; sourceTree = ""; }; + 697E9A6321A4ED6900E03846 /* utility.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utility.cc; sourceTree = ""; }; + 697E9A6421A4ED6900E03846 /* mock_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_agc.h; sourceTree = ""; }; + 697E9A6521A4ED6900E03846 /* loudness_histogram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loudness_histogram.h; sourceTree = ""; }; + 697E9A6621A4ED6900E03846 /* gain_map_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_map_internal.h; sourceTree = ""; }; + 697E9A6721A4ED6900E03846 /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + 697E9A6821A4ED6900E03846 /* agc_manager_direct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc_manager_direct.h; sourceTree = ""; }; + 697E9A6921A4ED6900E03846 /* agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc.h; sourceTree = ""; }; + 697E9A6A21A4ED6900E03846 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 697E9A6B21A4ED6900E03846 /* audio_processing_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing_impl.cc; sourceTree = ""; }; + 697E9A6C21A4ED6900E03846 /* audio_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_buffer.h; sourceTree = ""; }; + 697E9A6D21A4ED6900E03846 /* echo_control_mobile_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control_mobile_impl.h; sourceTree = ""; }; + 697E9A6E21A4ED6900E03846 /* splitting_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = splitting_filter.h; sourceTree = ""; }; + 697E9A6F21A4ED6900E03846 /* low_cut_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = low_cut_filter.h; sourceTree = ""; }; + 697E9A7121A4ED6A00E03846 /* file_audio_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file_audio_generator.h; sourceTree = ""; }; + 697E9A7221A4ED6A00E03846 /* file_audio_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = file_audio_generator.cc; sourceTree = ""; }; + 697E9A7321A4ED6A00E03846 /* gain_controller2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_controller2.cc; sourceTree = ""; }; + 697E9A7421A4ED6A00E03846 /* three_band_filter_bank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = three_band_filter_bank.h; sourceTree = ""; }; + 697E9A7521A4ED6A00E03846 /* residual_echo_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = residual_echo_detector.cc; sourceTree = ""; }; + 697E9A7621A4ED6A00E03846 /* echo_cancellation_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_cancellation_impl.h; sourceTree = ""; }; + 697E9A7721A4ED6A00E03846 /* noise_suppression_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_suppression_impl.cc; sourceTree = ""; }; + 697E9A7821A4ED6A00E03846 /* level_estimator_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = level_estimator_impl.h; sourceTree = ""; }; + 697E9A7921A4ED6A00E03846 /* gain_controller2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_controller2.h; sourceTree = ""; }; + 697E9A7B21A4ED6A00E03846 /* aecm_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_core.h; sourceTree = ""; }; + 697E9A7C21A4ED6A00E03846 /* aecm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_defines.h; sourceTree = ""; }; + 697E9A7D21A4ED6A00E03846 /* aecm_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core.cc; sourceTree = ""; }; + 697E9A7E21A4ED6A00E03846 /* aecm_core_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_c.cc; sourceTree = ""; }; + 697E9A7F21A4ED6A00E03846 /* aecm_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_neon.cc; sourceTree = ""; }; + 697E9A8021A4ED6A00E03846 /* echo_control_mobile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control_mobile.h; sourceTree = ""; }; + 697E9A8121A4ED6A00E03846 /* echo_control_mobile.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_control_mobile.cc; sourceTree = ""; }; + 697E9A8321A4ED6A00E03846 /* render_reverb_model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_reverb_model.cc; sourceTree = ""; }; + 697E9A8421A4ED6A00E03846 /* downsampled_render_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = downsampled_render_buffer.h; sourceTree = ""; }; + 697E9A8521A4ED6A00E03846 /* subtractor_output_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor_output_analyzer.h; sourceTree = ""; }; + 697E9A8621A4ED6A00E03846 /* reverb_model_fallback.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model_fallback.cc; sourceTree = ""; }; + 697E9A8721A4ED6A00E03846 /* residual_echo_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = residual_echo_estimator.h; sourceTree = ""; }; + 697E9A8821A4ED6A00E03846 /* shadow_filter_update_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shadow_filter_update_gain.h; sourceTree = ""; }; + 697E9A8921A4ED6A00E03846 /* echo_remover_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_remover_metrics.cc; sourceTree = ""; }; + 697E9A8A21A4ED6A00E03846 /* matched_filter_lag_aggregator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matched_filter_lag_aggregator.cc; sourceTree = ""; }; + 697E9A8B21A4ED6A00E03846 /* render_delay_buffer2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_buffer2.cc; sourceTree = ""; }; + 697E9A8C21A4ED6A00E03846 /* aec_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_state.h; sourceTree = ""; }; + 697E9A8D21A4ED6A00E03846 /* suppression_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_filter.h; sourceTree = ""; }; + 697E9A8E21A4ED6A00E03846 /* echo_path_variability.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_path_variability.cc; sourceTree = ""; }; + 697E9A8F21A4ED6A00E03846 /* frame_blocker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = frame_blocker.cc; sourceTree = ""; }; + 697E9A9021A4ED6A00E03846 /* subtractor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor.cc; sourceTree = ""; }; + 697E9A9121A4ED6A00E03846 /* block_delay_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_delay_buffer.h; sourceTree = ""; }; + 697E9A9221A4ED6A00E03846 /* adaptive_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_fir_filter.h; sourceTree = ""; }; + 697E9A9321A4ED6A00E03846 /* cascaded_biquad_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cascaded_biquad_filter.h; sourceTree = ""; }; + 697E9A9421A4ED6A00E03846 /* matched_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matched_filter.h; sourceTree = ""; }; + 697E9A9521A4ED6A00E03846 /* subtractor_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor_output.h; sourceTree = ""; }; + 697E9A9621A4ED6A00E03846 /* render_signal_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_signal_analyzer.h; sourceTree = ""; }; + 697E9A9721A4ED6A00E03846 /* aec3_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec3_fft.cc; sourceTree = ""; }; + 697E9A9821A4ED6A00E03846 /* aec3_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec3_fft.h; sourceTree = ""; }; + 697E9A9921A4ED6A00E03846 /* echo_remover_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_remover_metrics.h; sourceTree = ""; }; + 697E9A9A21A4ED6A00E03846 /* fullband_erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fullband_erle_estimator.cc; sourceTree = ""; }; + 697E9A9B21A4ED6A00E03846 /* suppression_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_filter.cc; sourceTree = ""; }; + 697E9A9C21A4ED6A00E03846 /* block_processor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor.cc; sourceTree = ""; }; + 697E9A9D21A4ED6A00E03846 /* filter_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filter_analyzer.h; sourceTree = ""; }; + 697E9A9E21A4ED6A00E03846 /* subtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor.h; sourceTree = ""; }; + 697E9A9F21A4ED6A00E03846 /* echo_path_delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_path_delay_estimator.h; sourceTree = ""; }; + 697E9AA021A4ED6A00E03846 /* subband_erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subband_erle_estimator.cc; sourceTree = ""; }; + 697E9AA121A4ED6A00E03846 /* render_delay_controller_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller_metrics.cc; sourceTree = ""; }; + 697E9AA221A4ED6A00E03846 /* render_delay_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_buffer.cc; sourceTree = ""; }; + 697E9AA321A4ED6A00E03846 /* block_processor_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_processor_metrics.h; sourceTree = ""; }; + 697E9AA421A4ED6A00E03846 /* vector_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_buffer.cc; sourceTree = ""; }; + 697E9AA521A4ED6A00E03846 /* erl_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = erl_estimator.cc; sourceTree = ""; }; + 697E9AA621A4ED6A00E03846 /* aec_state.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_state.cc; sourceTree = ""; }; + 697E9AA721A4ED6A00E03846 /* adaptive_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_fir_filter.cc; sourceTree = ""; }; + 697E9AA821A4ED6A00E03846 /* fft_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_data.h; sourceTree = ""; }; + 697E9AA921A4ED6A00E03846 /* render_delay_controller.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller.cc; sourceTree = ""; }; + 697E9AAA21A4ED6A00E03846 /* skew_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = skew_estimator.cc; sourceTree = ""; }; + 697E9AAB21A4ED6A00E03846 /* render_delay_controller_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_controller_metrics.h; sourceTree = ""; }; + 697E9AAC21A4ED6A00E03846 /* comfort_noise_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comfort_noise_generator.h; sourceTree = ""; }; + 697E9AAD21A4ED6A00E03846 /* echo_path_delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_path_delay_estimator.cc; sourceTree = ""; }; + 697E9AAE21A4ED6A00E03846 /* erl_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = erl_estimator.h; sourceTree = ""; }; + 697E9AAF21A4ED6A00E03846 /* echo_remover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_remover.h; sourceTree = ""; }; + 697E9AB021A4ED6A00E03846 /* block_framer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_framer.cc; sourceTree = ""; }; + 697E9AB121A4ED6A00E03846 /* erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = erle_estimator.cc; sourceTree = ""; }; + 697E9AB221A4ED6A00E03846 /* reverb_model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model.cc; sourceTree = ""; }; + 697E9AB321A4ED6A00E03846 /* cascaded_biquad_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cascaded_biquad_filter.cc; sourceTree = ""; }; + 697E9AB421A4ED6A00E03846 /* matrix_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matrix_buffer.h; sourceTree = ""; }; + 697E9AB521A4ED6A00E03846 /* render_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_buffer.cc; sourceTree = ""; }; + 697E9AB621A4ED6A00E03846 /* reverb_model_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model_estimator.h; sourceTree = ""; }; + 697E9AB721A4ED6A00E03846 /* subtractor_output.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor_output.cc; sourceTree = ""; }; + 697E9AB821A4ED6A00E03846 /* stationarity_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stationarity_estimator.cc; sourceTree = ""; }; + 697E9AB921A4ED6A00E03846 /* render_signal_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_signal_analyzer.cc; sourceTree = ""; }; + 697E9ABA21A4ED6A00E03846 /* echo_path_variability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_path_variability.h; sourceTree = ""; }; + 697E9ABB21A4ED6A00E03846 /* moving_average.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_average.h; sourceTree = ""; }; + 697E9ABC21A4ED6A00E03846 /* render_reverb_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_reverb_model.h; sourceTree = ""; }; + 697E9ABD21A4ED6A00E03846 /* subtractor_output_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor_output_analyzer.cc; sourceTree = ""; }; + 697E9ABE21A4ED6A00E03846 /* suppression_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_gain.cc; sourceTree = ""; }; + 697E9ABF21A4ED6A00E03846 /* echo_audibility.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_audibility.cc; sourceTree = ""; }; + 697E9AC021A4ED6A00E03846 /* block_processor_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor_metrics.cc; sourceTree = ""; }; + 697E9AC121A4ED6A00E03846 /* render_delay_controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_controller.h; sourceTree = ""; }; + 697E9AC221A4ED6A00E03846 /* suppression_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_gain.h; sourceTree = ""; }; + 697E9AC321A4ED6A00E03846 /* moving_average.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_average.cc; sourceTree = ""; }; + 697E9AC421A4ED6A00E03846 /* erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = erle_estimator.h; sourceTree = ""; }; + 697E9AC521A4ED6A00E03846 /* subband_erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subband_erle_estimator.h; sourceTree = ""; }; + 697E9AC621A4ED6A00E03846 /* reverb_model_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model_estimator.cc; sourceTree = ""; }; + 697E9AC721A4ED6A00E03846 /* aec3_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec3_common.cc; sourceTree = ""; }; + 697E9AC821A4ED6A00E03846 /* residual_echo_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = residual_echo_estimator.cc; sourceTree = ""; }; + 697E9AC921A4ED6A00E03846 /* block_processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_processor.h; sourceTree = ""; }; + 697E9ACA21A4ED6A00E03846 /* fullband_erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fullband_erle_estimator.h; sourceTree = ""; }; + 697E9ACB21A4ED6A00E03846 /* matched_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matched_filter.cc; sourceTree = ""; }; + 697E9ACC21A4ED6A00E03846 /* stationarity_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stationarity_estimator.h; sourceTree = ""; }; + 697E9ACD21A4ED6A00E03846 /* echo_canceller3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3.h; sourceTree = ""; }; + 697E9ACE21A4ED6A00E03846 /* skew_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = skew_estimator.h; sourceTree = ""; }; + 697E9ACF21A4ED6A00E03846 /* reverb_decay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_decay_estimator.cc; sourceTree = ""; }; + 697E9AD021A4ED6A00E03846 /* render_delay_controller2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller2.cc; sourceTree = ""; }; + 697E9AD121A4ED6A00E03846 /* render_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_buffer.h; sourceTree = ""; }; + 697E9AD221A4ED6A00E03846 /* suppression_gain_limiter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_gain_limiter.cc; sourceTree = ""; }; + 697E9AD321A4ED6A00E03846 /* main_filter_update_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_filter_update_gain.cc; sourceTree = ""; }; + 697E9AD421A4ED6A00E03846 /* echo_remover.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_remover.cc; sourceTree = ""; }; + 697E9AD521A4ED6A00E03846 /* reverb_model_fallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model_fallback.h; sourceTree = ""; }; + 697E9AD621A4ED6A00E03846 /* downsampled_render_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = downsampled_render_buffer.cc; sourceTree = ""; }; + 697E9AD721A4ED6A00E03846 /* vector_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_buffer.h; sourceTree = ""; }; + 697E9AD821A4ED6A00E03846 /* matrix_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matrix_buffer.cc; sourceTree = ""; }; + 697E9AD921A4ED6A00E03846 /* reverb_frequency_response.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_frequency_response.h; sourceTree = ""; }; + 697E9ADA21A4ED6A00E03846 /* echo_audibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_audibility.h; sourceTree = ""; }; + 697E9ADB21A4ED6A00E03846 /* fft_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_buffer.h; sourceTree = ""; }; + 697E9ADC21A4ED6A00E03846 /* block_processor2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor2.cc; sourceTree = ""; }; + 697E9ADD21A4ED6A00E03846 /* echo_canceller3.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3.cc; sourceTree = ""; }; + 697E9ADE21A4ED6A00E03846 /* block_delay_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_delay_buffer.cc; sourceTree = ""; }; + 697E9ADF21A4ED6A00E03846 /* aec3_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec3_common.h; sourceTree = ""; }; + 697E9AE021A4ED6A00E03846 /* fft_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft_buffer.cc; sourceTree = ""; }; + 697E9AE121A4ED6A00E03846 /* vector_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_math.h; sourceTree = ""; }; + 697E9AE221A4ED6A00E03846 /* decimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decimator.h; sourceTree = ""; }; + 697E9AE321A4ED6A00E03846 /* frame_blocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame_blocker.h; sourceTree = ""; }; + 697E9AE421A4ED6A00E03846 /* block_framer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_framer.h; sourceTree = ""; }; + 697E9AE521A4ED6A00E03846 /* suppression_gain_limiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_gain_limiter.h; sourceTree = ""; }; + 697E9AE621A4ED6A00E03846 /* delay_estimate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimate.h; sourceTree = ""; }; + 697E9AE721A4ED6A00E03846 /* comfort_noise_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = comfort_noise_generator.cc; sourceTree = ""; }; + 697E9AE821A4ED6A00E03846 /* reverb_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model.h; sourceTree = ""; }; + 697E9AE921A4ED6A00E03846 /* main_filter_update_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = main_filter_update_gain.h; sourceTree = ""; }; + 697E9AEA21A4ED6A00E03846 /* matched_filter_lag_aggregator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matched_filter_lag_aggregator.h; sourceTree = ""; }; + 697E9AEB21A4ED6A00E03846 /* shadow_filter_update_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shadow_filter_update_gain.cc; sourceTree = ""; }; + 697E9AEC21A4ED6A00E03846 /* filter_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filter_analyzer.cc; sourceTree = ""; }; + 697E9AED21A4ED6A00E03846 /* reverb_decay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_decay_estimator.h; sourceTree = ""; }; + 697E9AEE21A4ED6A00E03846 /* reverb_frequency_response.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_frequency_response.cc; sourceTree = ""; }; + 697E9AEF21A4ED6A00E03846 /* decimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decimator.cc; sourceTree = ""; }; + 697E9AF021A4ED6A00E03846 /* render_delay_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_buffer.h; sourceTree = ""; }; + 697E9AF121A4ED6A00E03846 /* echo_control_mobile_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_control_mobile_impl.cc; sourceTree = ""; }; + 697E9AF221A4ED6A00E03846 /* gain_control_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control_impl.h; sourceTree = ""; }; + 697E9AF321A4ED6A00E03846 /* typing_detection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typing_detection.h; sourceTree = ""; }; + 697E9AF521A4ED6A00E03846 /* apm_data_dumper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = apm_data_dumper.cc; sourceTree = ""; }; + 697E9AF621A4ED6A00E03846 /* apm_data_dumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = apm_data_dumper.h; sourceTree = ""; }; + 697E9AF821A4ED6A00E03846 /* voice_activity_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = voice_activity_detector.cc; sourceTree = ""; }; + 697E9AF921A4ED6A00E03846 /* standalone_vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = standalone_vad.cc; sourceTree = ""; }; + 697E9AFA21A4ED6A00E03846 /* vad_audio_proc_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_audio_proc_internal.h; sourceTree = ""; }; + 697E9AFB21A4ED6A00E03846 /* pitch_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_internal.cc; sourceTree = ""; }; + 697E9AFC21A4ED6A00E03846 /* vad_circular_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_circular_buffer.cc; sourceTree = ""; }; + 697E9AFD21A4ED6A00E03846 /* vad_circular_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_circular_buffer.h; sourceTree = ""; }; + 697E9AFE21A4ED6A00E03846 /* pitch_based_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_based_vad.h; sourceTree = ""; }; + 697E9AFF21A4ED6A00E03846 /* vad_audio_proc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_audio_proc.cc; sourceTree = ""; }; + 697E9B0021A4ED6A00E03846 /* pole_zero_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pole_zero_filter.cc; sourceTree = ""; }; + 697E9B0121A4ED6A00E03846 /* pole_zero_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pole_zero_filter.h; sourceTree = ""; }; + 697E9B0221A4ED6A00E03846 /* pitch_based_vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_based_vad.cc; sourceTree = ""; }; + 697E9B0321A4ED6A00E03846 /* gmm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmm.h; sourceTree = ""; }; + 697E9B0421A4ED6A00E03846 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 697E9B0521A4ED6A00E03846 /* vad_audio_proc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_audio_proc.h; sourceTree = ""; }; + 697E9B0621A4ED6A00E03846 /* voice_gmm_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_gmm_tables.h; sourceTree = ""; }; + 697E9B0721A4ED6A00E03846 /* noise_gmm_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_gmm_tables.h; sourceTree = ""; }; + 697E9B0821A4ED6A00E03846 /* pitch_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_internal.h; sourceTree = ""; }; + 697E9B0921A4ED6A00E03846 /* gmm.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gmm.cc; sourceTree = ""; }; + 697E9B0A21A4ED6A00E03846 /* standalone_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = standalone_vad.h; sourceTree = ""; }; + 697E9B0B21A4ED6A00E03846 /* voice_activity_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_activity_detector.h; sourceTree = ""; }; + 697E9B0D21A4ED6A00E03846 /* ooura_fft_tables_neon_sse2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_neon_sse2.h; sourceTree = ""; }; + 697E9B0E21A4ED6A00E03846 /* delay_estimator_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_internal.h; sourceTree = ""; }; + 697E9B0F21A4ED6A00E03846 /* ooura_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft.cc; sourceTree = ""; }; + 697E9B1021A4ED6A00E03846 /* ooura_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft.h; sourceTree = ""; }; + 697E9B1121A4ED6A00E03846 /* delay_estimator_wrapper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator_wrapper.cc; sourceTree = ""; }; + 697E9B1221A4ED6A00E03846 /* ooura_fft_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_sse2.cc; sourceTree = ""; }; + 697E9B1321A4ED6A00E03846 /* delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator.cc; sourceTree = ""; }; + 697E9B1421A4ED6A00E03846 /* block_mean_calculator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_mean_calculator.h; sourceTree = ""; }; + 697E9B1521A4ED6A00E03846 /* ooura_fft_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_neon.cc; sourceTree = ""; }; + 697E9B1621A4ED6A00E03846 /* block_mean_calculator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_mean_calculator.cc; sourceTree = ""; }; + 697E9B1721A4ED6A00E03846 /* delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator.h; sourceTree = ""; }; + 697E9B1821A4ED6A00E03846 /* ooura_fft_tables_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_common.h; sourceTree = ""; }; + 697E9B1921A4ED6A00E03846 /* delay_estimator_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_wrapper.h; sourceTree = ""; }; + 697E9B1D21A4ED6A00E03846 /* rnn_vad_weights.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rnn_vad_weights.cc; sourceTree = ""; }; + 697E9B1E21A4ED6A00E03846 /* rnn_activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn_activations.h; sourceTree = ""; }; + 697E9B1F21A4ED6A00E03846 /* kiss_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kiss_fft.h; sourceTree = ""; }; + 697E9B2021A4ED6A00E03846 /* kiss_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = kiss_fft.cc; sourceTree = ""; }; + 697E9B2121A4ED6A00E03846 /* rnn_vad_weights.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn_vad_weights.h; sourceTree = ""; }; 69960A021EF85C2900F9D091 /* DarwinSpecific.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DarwinSpecific.h; sourceTree = ""; }; 69960A031EF85C2900F9D091 /* DarwinSpecific.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DarwinSpecific.mm; sourceTree = ""; }; 69986175209526D400B68BEC /* Buffers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Buffers.cpp; sourceTree = ""; }; 69986176209526D400B68BEC /* Buffers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Buffers.h; sourceTree = ""; }; 699861792095292900B68BEC /* PacketReassembler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PacketReassembler.cpp; sourceTree = ""; }; 6998617A2095292A00B68BEC /* PacketReassembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PacketReassembler.h; sourceTree = ""; }; - 69A6DD011E95EC7700000E69 /* array_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = array_view.h; sourceTree = ""; }; - 69A6DD021E95EC7700000E69 /* atomicops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops.h; sourceTree = ""; }; - 69A6DD031E95EC7700000E69 /* basictypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basictypes.h; sourceTree = ""; }; - 69A6DD041E95EC7700000E69 /* checks.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = checks.cc; sourceTree = ""; }; - 69A6DD051E95EC7700000E69 /* checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checks.h; sourceTree = ""; }; - 69A6DD061E95EC7700000E69 /* constructormagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constructormagic.h; sourceTree = ""; }; - 69A6DD071E95EC7700000E69 /* safe_compare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_compare.h; sourceTree = ""; }; - 69A6DD081E95EC7700000E69 /* safe_conversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions.h; sourceTree = ""; }; - 69A6DD091E95EC7700000E69 /* safe_conversions_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions_impl.h; sourceTree = ""; }; - 69A6DD0A1E95EC7700000E69 /* sanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sanitizer.h; sourceTree = ""; }; - 69A6DD0B1E95EC7700000E69 /* stringutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringutils.cc; sourceTree = ""; }; - 69A6DD0C1E95EC7700000E69 /* stringutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringutils.h; sourceTree = ""; }; - 69A6DD0D1E95EC7700000E69 /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; - 69A6DD0F1E95EC7700000E69 /* audio_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_util.cc; sourceTree = ""; }; - 69A6DD101E95EC7700000E69 /* channel_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = channel_buffer.cc; sourceTree = ""; }; - 69A6DD111E95EC7700000E69 /* channel_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_buffer.h; sourceTree = ""; }; - 69A6DD121E95EC7700000E69 /* fft4g.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft4g.c; sourceTree = ""; }; - 69A6DD131E95EC7700000E69 /* fft4g.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft4g.h; sourceTree = ""; }; - 69A6DD151E95EC7700000E69 /* audio_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_util.h; sourceTree = ""; }; - 69A6DD161E95EC7700000E69 /* ring_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ring_buffer.c; sourceTree = ""; }; - 69A6DD171E95EC7700000E69 /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; - 69A6DD191E95EC7700000E69 /* auto_corr_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_corr_to_refl_coef.c; sourceTree = ""; }; - 69A6DD1A1E95EC7700000E69 /* auto_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_correlation.c; sourceTree = ""; }; - 69A6DD1B1E95EC7700000E69 /* complex_bit_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_bit_reverse.c; sourceTree = ""; }; - 69A6DD1C1E95EC7700000E69 /* complex_bit_reverse_arm.S */ = {isa = PBXFileReference; explicitFileType = sourcecode.asm.llvm; fileEncoding = 4; path = complex_bit_reverse_arm.S; sourceTree = ""; }; - 69A6DD1D1E95EC7700000E69 /* complex_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_fft.c; sourceTree = ""; }; - 69A6DD1E1E95EC7700000E69 /* complex_fft_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = complex_fft_tables.h; sourceTree = ""; }; - 69A6DD1F1E95EC7700000E69 /* copy_set_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = copy_set_operations.c; sourceTree = ""; }; - 69A6DD201E95EC7700000E69 /* cross_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation.c; sourceTree = ""; }; - 69A6DD211E95EC7700000E69 /* cross_correlation_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation_neon.c; sourceTree = ""; }; - 69A6DD221E95EC7700000E69 /* division_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = division_operations.c; sourceTree = ""; }; - 69A6DD231E95EC7700000E69 /* dot_product_with_scale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dot_product_with_scale.c; sourceTree = ""; }; - 69A6DD241E95EC7700000E69 /* downsample_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast.c; sourceTree = ""; }; - 69A6DD251E95EC7700000E69 /* downsample_fast_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast_neon.c; sourceTree = ""; }; - 69A6DD261E95EC7700000E69 /* energy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = energy.c; sourceTree = ""; }; - 69A6DD271E95EC7700000E69 /* filter_ar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar.c; sourceTree = ""; }; - 69A6DD281E95EC7700000E69 /* filter_ar_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar_fast_q12.c; sourceTree = ""; }; - 69A6DD291E95EC7700000E69 /* filter_ar_fast_q12_armv7.S */ = {isa = PBXFileReference; explicitFileType = sourcecode.asm.llvm; fileEncoding = 4; path = filter_ar_fast_q12_armv7.S; sourceTree = ""; }; - 69A6DD2A1E95EC7700000E69 /* filter_ma_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ma_fast_q12.c; sourceTree = ""; }; - 69A6DD2B1E95EC7700000E69 /* get_hanning_window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_hanning_window.c; sourceTree = ""; }; - 69A6DD2C1E95EC7700000E69 /* get_scaling_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_scaling_square.c; sourceTree = ""; }; - 69A6DD2D1E95EC7700000E69 /* ilbc_specific_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ilbc_specific_functions.c; sourceTree = ""; }; - 69A6DD2F1E95EC7700000E69 /* real_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fft.h; sourceTree = ""; }; - 69A6DD301E95EC7700000E69 /* signal_processing_library.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_processing_library.h; sourceTree = ""; }; - 69A6DD311E95EC7700000E69 /* spl_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl.h; sourceTree = ""; }; - 69A6DD321E95EC7700000E69 /* spl_inl_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_armv7.h; sourceTree = ""; }; - 69A6DD331E95EC7700000E69 /* spl_inl_mips.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_mips.h; sourceTree = ""; }; - 69A6DD341E95EC7700000E69 /* levinson_durbin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = levinson_durbin.c; sourceTree = ""; }; - 69A6DD351E95EC7700000E69 /* lpc_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_to_refl_coef.c; sourceTree = ""; }; - 69A6DD361E95EC7700000E69 /* min_max_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations.c; sourceTree = ""; }; - 69A6DD371E95EC7700000E69 /* min_max_operations_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations_neon.c; sourceTree = ""; }; - 69A6DD381E95EC7700000E69 /* randomization_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = randomization_functions.c; sourceTree = ""; }; - 69A6DD391E95EC7700000E69 /* real_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_fft.c; sourceTree = ""; }; - 69A6DD3B1E95EC7700000E69 /* refl_coef_to_lpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = refl_coef_to_lpc.c; sourceTree = ""; }; - 69A6DD3C1E95EC7700000E69 /* resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample.c; sourceTree = ""; }; - 69A6DD3D1E95EC7700000E69 /* resample_48khz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_48khz.c; sourceTree = ""; }; - 69A6DD3E1E95EC7700000E69 /* resample_by_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2.c; sourceTree = ""; }; - 69A6DD3F1E95EC7700000E69 /* resample_by_2_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2_internal.c; sourceTree = ""; }; - 69A6DD401E95EC7700000E69 /* resample_by_2_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resample_by_2_internal.h; sourceTree = ""; }; - 69A6DD411E95EC7700000E69 /* resample_fractional.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_fractional.c; sourceTree = ""; }; - 69A6DD421E95EC7700000E69 /* spl_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_init.c; sourceTree = ""; }; - 69A6DD431E95EC7700000E69 /* spl_inl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_inl.c; sourceTree = ""; }; - 69A6DD441E95EC7700000E69 /* spl_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt.c; sourceTree = ""; }; - 69A6DD451E95EC7700000E69 /* spl_sqrt_floor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt_floor.c; sourceTree = ""; }; - 69A6DD461E95EC7700000E69 /* spl_sqrt_floor_arm.S */ = {isa = PBXFileReference; explicitFileType = sourcecode.asm.llvm; fileEncoding = 4; path = spl_sqrt_floor_arm.S; sourceTree = ""; }; - 69A6DD471E95EC7700000E69 /* splitting_filter_impl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = splitting_filter_impl.c; sourceTree = ""; }; - 69A6DD481E95EC7700000E69 /* sqrt_of_one_minus_x_squared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sqrt_of_one_minus_x_squared.c; sourceTree = ""; }; - 69A6DD491E95EC7700000E69 /* vector_scaling_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vector_scaling_operations.c; sourceTree = ""; }; - 69A6DD4A1E95EC7700000E69 /* sparse_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sparse_fir_filter.cc; sourceTree = ""; }; - 69A6DD4B1E95EC7700000E69 /* sparse_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sparse_fir_filter.h; sourceTree = ""; }; - 69A6DD4F1E95EC7700000E69 /* aec_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_common.h; sourceTree = ""; }; - 69A6DD501E95EC7700000E69 /* aec_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core.cc; sourceTree = ""; }; - 69A6DD511E95EC7700000E69 /* aec_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core.h; sourceTree = ""; }; - 69A6DD521E95EC7700000E69 /* aec_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_neon.cc; sourceTree = ""; }; - 69A6DD531E95EC7700000E69 /* aec_core_optimized_methods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core_optimized_methods.h; sourceTree = ""; }; - 69A6DD541E95EC7700000E69 /* aec_core_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_sse2.cc; sourceTree = ""; }; - 69A6DD551E95EC7700000E69 /* aec_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_resampler.cc; sourceTree = ""; }; - 69A6DD561E95EC7700000E69 /* aec_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_resampler.h; sourceTree = ""; }; - 69A6DD571E95EC7700000E69 /* echo_cancellation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_cancellation.cc; sourceTree = ""; }; - 69A6DD581E95EC7700000E69 /* echo_cancellation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_cancellation.h; sourceTree = ""; }; - 69A6DD5A1E95EC7700000E69 /* aecm_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core.cc; sourceTree = ""; }; - 69A6DD5B1E95EC7700000E69 /* aecm_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_core.h; sourceTree = ""; }; - 69A6DD5C1E95EC7700000E69 /* aecm_core_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_c.cc; sourceTree = ""; }; - 69A6DD5D1E95EC7700000E69 /* aecm_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_neon.cc; sourceTree = ""; }; - 69A6DD5E1E95EC7700000E69 /* aecm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_defines.h; sourceTree = ""; }; - 69A6DD5F1E95EC7700000E69 /* echo_control_mobile.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_control_mobile.cc; sourceTree = ""; }; - 69A6DD601E95EC7700000E69 /* echo_control_mobile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control_mobile.h; sourceTree = ""; }; - 69A6DD631E95EC7700000E69 /* analog_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = analog_agc.c; sourceTree = ""; }; - 69A6DD641E95EC7700000E69 /* analog_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = analog_agc.h; sourceTree = ""; }; - 69A6DD651E95EC7700000E69 /* digital_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = digital_agc.c; sourceTree = ""; }; - 69A6DD661E95EC7700000E69 /* digital_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = digital_agc.h; sourceTree = ""; }; - 69A6DD671E95EC7700000E69 /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control.h; sourceTree = ""; }; - 69A6DD691E95EC7700000E69 /* apm_data_dumper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = apm_data_dumper.cc; sourceTree = ""; }; - 69A6DD6A1E95EC7700000E69 /* apm_data_dumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = apm_data_dumper.h; sourceTree = ""; }; - 69A6DD6C1E95EC7700000E69 /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defines.h; sourceTree = ""; }; - 69A6DD6D1E95EC7700000E69 /* noise_suppression.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression.c; sourceTree = ""; }; - 69A6DD6E1E95EC7700000E69 /* noise_suppression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression.h; sourceTree = ""; }; - 69A6DD6F1E95EC7700000E69 /* noise_suppression_x.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression_x.c; sourceTree = ""; }; - 69A6DD701E95EC7700000E69 /* noise_suppression_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression_x.h; sourceTree = ""; }; - 69A6DD711E95EC7700000E69 /* ns_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ns_core.c; sourceTree = ""; }; - 69A6DD721E95EC7700000E69 /* ns_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ns_core.h; sourceTree = ""; }; - 69A6DD731E95EC7700000E69 /* nsx_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core.c; sourceTree = ""; }; - 69A6DD741E95EC7700000E69 /* nsx_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_core.h; sourceTree = ""; }; - 69A6DD751E95EC7700000E69 /* nsx_core_c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_c.c; sourceTree = ""; }; - 69A6DD761E95EC7700000E69 /* nsx_core_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_neon.c; sourceTree = ""; }; - 69A6DD771E95EC7700000E69 /* nsx_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_defines.h; sourceTree = ""; }; - 69A6DD781E95EC7700000E69 /* windows_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windows_private.h; sourceTree = ""; }; - 69A6DD791E95EC7700000E69 /* splitting_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = splitting_filter.cc; sourceTree = ""; }; - 69A6DD7A1E95EC7700000E69 /* splitting_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = splitting_filter.h; sourceTree = ""; }; - 69A6DD7B1E95EC7700000E69 /* three_band_filter_bank.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = three_band_filter_bank.cc; sourceTree = ""; }; - 69A6DD7C1E95EC7700000E69 /* three_band_filter_bank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = three_band_filter_bank.h; sourceTree = ""; }; - 69A6DD7E1E95EC7700000E69 /* block_mean_calculator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_mean_calculator.cc; sourceTree = ""; }; - 69A6DD7F1E95EC7700000E69 /* block_mean_calculator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_mean_calculator.h; sourceTree = ""; }; - 69A6DD801E95EC7700000E69 /* delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator.cc; sourceTree = ""; }; - 69A6DD811E95EC7700000E69 /* delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator.h; sourceTree = ""; }; - 69A6DD821E95EC7700000E69 /* delay_estimator_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_internal.h; sourceTree = ""; }; - 69A6DD831E95EC7700000E69 /* delay_estimator_wrapper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator_wrapper.cc; sourceTree = ""; }; - 69A6DD841E95EC7700000E69 /* delay_estimator_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_wrapper.h; sourceTree = ""; }; - 69A6DD851E95EC7700000E69 /* ooura_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft.cc; sourceTree = ""; }; - 69A6DD861E95EC7700000E69 /* ooura_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft.h; sourceTree = ""; }; - 69A6DD871E95EC7700000E69 /* ooura_fft_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_neon.cc; sourceTree = ""; }; - 69A6DD881E95EC7700000E69 /* ooura_fft_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_sse2.cc; sourceTree = ""; }; - 69A6DD891E95EC7700000E69 /* ooura_fft_tables_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_common.h; sourceTree = ""; }; - 69A6DD8A1E95EC7700000E69 /* ooura_fft_tables_neon_sse2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_neon_sse2.h; sourceTree = ""; }; - 69A6DD8D1E95EC7700000E69 /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_defines.h; sourceTree = ""; }; - 69A6DD8E1E95EC7700000E69 /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile_assert_c.h; sourceTree = ""; }; - 69A6DD8F1E95EC7700000E69 /* cpu_features_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_features_wrapper.h; sourceTree = ""; }; - 69A6DD901E95EC7700000E69 /* metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = metrics.h; sourceTree = ""; }; - 69A6DD921E95EC7700000E69 /* cpu_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_features.cc; sourceTree = ""; }; - 69A6DD931E95EC7700000E69 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = ""; }; - 69A6DE171E95ECF000000E69 /* wav_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_file.cc; sourceTree = ""; }; - 69A6DE181E95ECF000000E69 /* wav_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_file.h; sourceTree = ""; }; - 69A6DE191E95ECF000000E69 /* wav_header.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_header.cc; sourceTree = ""; }; - 69A6DE1A1E95ECF000000E69 /* wav_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_header.h; sourceTree = ""; }; 69DD8CFD218CD400001E8140 /* VideoRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoRenderer.h; sourceTree = ""; }; 69DD8CFE218CD400001E8140 /* VideoRenderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoRenderer.cpp; sourceTree = ""; }; 69DD8CFF218CD400001E8140 /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; @@ -581,291 +1160,1138 @@ name = Products; sourceTree = ""; }; - 69A6DCFE1E95EC7700000E69 /* webrtc_dsp */ = { + 697E988A21A4ED6800E03846 /* system_wrappers */ = { isa = PBXGroup; children = ( - 69A6DCFF1E95EC7700000E69 /* webrtc */, - ); - path = webrtc_dsp; - sourceTree = ""; - }; - 69A6DCFF1E95EC7700000E69 /* webrtc */ = { - isa = PBXGroup; - children = ( - 69A6DD001E95EC7700000E69 /* base */, - 69A6DD0E1E95EC7700000E69 /* common_audio */, - 69A6DD4C1E95EC7700000E69 /* modules */, - 69A6DD8B1E95EC7700000E69 /* system_wrappers */, - 69A6DD931E95EC7700000E69 /* typedefs.h */, - ); - path = webrtc; - sourceTree = ""; - }; - 69A6DD001E95EC7700000E69 /* base */ = { - isa = PBXGroup; - children = ( - 69A6DD011E95EC7700000E69 /* array_view.h */, - 69A6DD021E95EC7700000E69 /* atomicops.h */, - 69A6DD031E95EC7700000E69 /* basictypes.h */, - 69A6DD041E95EC7700000E69 /* checks.cc */, - 69A6DD051E95EC7700000E69 /* checks.h */, - 69A6DD061E95EC7700000E69 /* constructormagic.h */, - 69A6DD071E95EC7700000E69 /* safe_compare.h */, - 69A6DD081E95EC7700000E69 /* safe_conversions.h */, - 69A6DD091E95EC7700000E69 /* safe_conversions_impl.h */, - 69A6DD0A1E95EC7700000E69 /* sanitizer.h */, - 69A6DD0B1E95EC7700000E69 /* stringutils.cc */, - 69A6DD0C1E95EC7700000E69 /* stringutils.h */, - 69A6DD0D1E95EC7700000E69 /* type_traits.h */, - ); - path = base; - sourceTree = ""; - }; - 69A6DD0E1E95EC7700000E69 /* common_audio */ = { - isa = PBXGroup; - children = ( - 69A6DD0F1E95EC7700000E69 /* audio_util.cc */, - 69A6DD101E95EC7700000E69 /* channel_buffer.cc */, - 69A6DD111E95EC7700000E69 /* channel_buffer.h */, - 69A6DD121E95EC7700000E69 /* fft4g.c */, - 69A6DD131E95EC7700000E69 /* fft4g.h */, - 69A6DD141E95EC7700000E69 /* include */, - 69A6DD161E95EC7700000E69 /* ring_buffer.c */, - 69A6DD171E95EC7700000E69 /* ring_buffer.h */, - 69A6DD181E95EC7700000E69 /* signal_processing */, - 69A6DD4A1E95EC7700000E69 /* sparse_fir_filter.cc */, - 69A6DD4B1E95EC7700000E69 /* sparse_fir_filter.h */, - 69A6DE171E95ECF000000E69 /* wav_file.cc */, - 69A6DE181E95ECF000000E69 /* wav_file.h */, - 69A6DE191E95ECF000000E69 /* wav_header.cc */, - 69A6DE1A1E95ECF000000E69 /* wav_header.h */, - ); - path = common_audio; - sourceTree = ""; - }; - 69A6DD141E95EC7700000E69 /* include */ = { - isa = PBXGroup; - children = ( - 69A6DD151E95EC7700000E69 /* audio_util.h */, - ); - path = include; - sourceTree = ""; - }; - 69A6DD181E95EC7700000E69 /* signal_processing */ = { - isa = PBXGroup; - children = ( - 69A6DD191E95EC7700000E69 /* auto_corr_to_refl_coef.c */, - 69A6DD1A1E95EC7700000E69 /* auto_correlation.c */, - 69A6DD1B1E95EC7700000E69 /* complex_bit_reverse.c */, - 69A6DD1C1E95EC7700000E69 /* complex_bit_reverse_arm.S */, - 69A6DD1D1E95EC7700000E69 /* complex_fft.c */, - 69A6DD1E1E95EC7700000E69 /* complex_fft_tables.h */, - 69A6DD1F1E95EC7700000E69 /* copy_set_operations.c */, - 69A6DD201E95EC7700000E69 /* cross_correlation.c */, - 69A6DD211E95EC7700000E69 /* cross_correlation_neon.c */, - 69A6DD221E95EC7700000E69 /* division_operations.c */, - 69A6DD231E95EC7700000E69 /* dot_product_with_scale.c */, - 69A6DD241E95EC7700000E69 /* downsample_fast.c */, - 69A6DD251E95EC7700000E69 /* downsample_fast_neon.c */, - 69A6DD261E95EC7700000E69 /* energy.c */, - 69A6DD271E95EC7700000E69 /* filter_ar.c */, - 69A6DD281E95EC7700000E69 /* filter_ar_fast_q12.c */, - 69A6DD291E95EC7700000E69 /* filter_ar_fast_q12_armv7.S */, - 69A6DD2A1E95EC7700000E69 /* filter_ma_fast_q12.c */, - 69A6DD2B1E95EC7700000E69 /* get_hanning_window.c */, - 69A6DD2C1E95EC7700000E69 /* get_scaling_square.c */, - 69A6DD2D1E95EC7700000E69 /* ilbc_specific_functions.c */, - 69A6DD2E1E95EC7700000E69 /* include */, - 69A6DD341E95EC7700000E69 /* levinson_durbin.c */, - 69A6DD351E95EC7700000E69 /* lpc_to_refl_coef.c */, - 69A6DD361E95EC7700000E69 /* min_max_operations.c */, - 69A6DD371E95EC7700000E69 /* min_max_operations_neon.c */, - 69A6DD381E95EC7700000E69 /* randomization_functions.c */, - 69A6DD391E95EC7700000E69 /* real_fft.c */, - 69A6DD3B1E95EC7700000E69 /* refl_coef_to_lpc.c */, - 69A6DD3C1E95EC7700000E69 /* resample.c */, - 69A6DD3D1E95EC7700000E69 /* resample_48khz.c */, - 69A6DD3E1E95EC7700000E69 /* resample_by_2.c */, - 69A6DD3F1E95EC7700000E69 /* resample_by_2_internal.c */, - 69A6DD401E95EC7700000E69 /* resample_by_2_internal.h */, - 69A6DD411E95EC7700000E69 /* resample_fractional.c */, - 69A6DD421E95EC7700000E69 /* spl_init.c */, - 69A6DD431E95EC7700000E69 /* spl_inl.c */, - 69A6DD441E95EC7700000E69 /* spl_sqrt.c */, - 69A6DD451E95EC7700000E69 /* spl_sqrt_floor.c */, - 69A6DD461E95EC7700000E69 /* spl_sqrt_floor_arm.S */, - 69A6DD471E95EC7700000E69 /* splitting_filter_impl.c */, - 69A6DD481E95EC7700000E69 /* sqrt_of_one_minus_x_squared.c */, - 69A6DD491E95EC7700000E69 /* vector_scaling_operations.c */, - ); - path = signal_processing; - sourceTree = ""; - }; - 69A6DD2E1E95EC7700000E69 /* include */ = { - isa = PBXGroup; - children = ( - 69A6DD2F1E95EC7700000E69 /* real_fft.h */, - 69A6DD301E95EC7700000E69 /* signal_processing_library.h */, - 69A6DD311E95EC7700000E69 /* spl_inl.h */, - 69A6DD321E95EC7700000E69 /* spl_inl_armv7.h */, - 69A6DD331E95EC7700000E69 /* spl_inl_mips.h */, - ); - path = include; - sourceTree = ""; - }; - 69A6DD4C1E95EC7700000E69 /* modules */ = { - isa = PBXGroup; - children = ( - 69A6DD4D1E95EC7700000E69 /* audio_processing */, - ); - path = modules; - sourceTree = ""; - }; - 69A6DD4D1E95EC7700000E69 /* audio_processing */ = { - isa = PBXGroup; - children = ( - 69A6DD4E1E95EC7700000E69 /* aec */, - 69A6DD591E95EC7700000E69 /* aecm */, - 69A6DD611E95EC7700000E69 /* agc */, - 69A6DD681E95EC7700000E69 /* logging */, - 69A6DD6B1E95EC7700000E69 /* ns */, - 69A6DD791E95EC7700000E69 /* splitting_filter.cc */, - 69A6DD7A1E95EC7700000E69 /* splitting_filter.h */, - 69A6DD7B1E95EC7700000E69 /* three_band_filter_bank.cc */, - 69A6DD7C1E95EC7700000E69 /* three_band_filter_bank.h */, - 69A6DD7D1E95EC7700000E69 /* utility */, - ); - path = audio_processing; - sourceTree = ""; - }; - 69A6DD4E1E95EC7700000E69 /* aec */ = { - isa = PBXGroup; - children = ( - 69A6DD4F1E95EC7700000E69 /* aec_common.h */, - 69A6DD501E95EC7700000E69 /* aec_core.cc */, - 69A6DD511E95EC7700000E69 /* aec_core.h */, - 69A6DD521E95EC7700000E69 /* aec_core_neon.cc */, - 69A6DD531E95EC7700000E69 /* aec_core_optimized_methods.h */, - 69A6DD541E95EC7700000E69 /* aec_core_sse2.cc */, - 69A6DD551E95EC7700000E69 /* aec_resampler.cc */, - 69A6DD561E95EC7700000E69 /* aec_resampler.h */, - 69A6DD571E95EC7700000E69 /* echo_cancellation.cc */, - 69A6DD581E95EC7700000E69 /* echo_cancellation.h */, - ); - path = aec; - sourceTree = ""; - }; - 69A6DD591E95EC7700000E69 /* aecm */ = { - isa = PBXGroup; - children = ( - 69A6DD5A1E95EC7700000E69 /* aecm_core.cc */, - 69A6DD5B1E95EC7700000E69 /* aecm_core.h */, - 69A6DD5C1E95EC7700000E69 /* aecm_core_c.cc */, - 69A6DD5D1E95EC7700000E69 /* aecm_core_neon.cc */, - 69A6DD5E1E95EC7700000E69 /* aecm_defines.h */, - 69A6DD5F1E95EC7700000E69 /* echo_control_mobile.cc */, - 69A6DD601E95EC7700000E69 /* echo_control_mobile.h */, - ); - path = aecm; - sourceTree = ""; - }; - 69A6DD611E95EC7700000E69 /* agc */ = { - isa = PBXGroup; - children = ( - 69A6DD621E95EC7700000E69 /* legacy */, - ); - path = agc; - sourceTree = ""; - }; - 69A6DD621E95EC7700000E69 /* legacy */ = { - isa = PBXGroup; - children = ( - 69A6DD631E95EC7700000E69 /* analog_agc.c */, - 69A6DD641E95EC7700000E69 /* analog_agc.h */, - 69A6DD651E95EC7700000E69 /* digital_agc.c */, - 69A6DD661E95EC7700000E69 /* digital_agc.h */, - 69A6DD671E95EC7700000E69 /* gain_control.h */, - ); - path = legacy; - sourceTree = ""; - }; - 69A6DD681E95EC7700000E69 /* logging */ = { - isa = PBXGroup; - children = ( - 69A6DD691E95EC7700000E69 /* apm_data_dumper.cc */, - 69A6DD6A1E95EC7700000E69 /* apm_data_dumper.h */, - ); - path = logging; - sourceTree = ""; - }; - 69A6DD6B1E95EC7700000E69 /* ns */ = { - isa = PBXGroup; - children = ( - 69A6DD6C1E95EC7700000E69 /* defines.h */, - 69A6DD6D1E95EC7700000E69 /* noise_suppression.c */, - 69A6DD6E1E95EC7700000E69 /* noise_suppression.h */, - 69A6DD6F1E95EC7700000E69 /* noise_suppression_x.c */, - 69A6DD701E95EC7700000E69 /* noise_suppression_x.h */, - 69A6DD711E95EC7700000E69 /* ns_core.c */, - 69A6DD721E95EC7700000E69 /* ns_core.h */, - 69A6DD731E95EC7700000E69 /* nsx_core.c */, - 69A6DD741E95EC7700000E69 /* nsx_core.h */, - 69A6DD751E95EC7700000E69 /* nsx_core_c.c */, - 69A6DD761E95EC7700000E69 /* nsx_core_neon.c */, - 69A6DD771E95EC7700000E69 /* nsx_defines.h */, - 69A6DD781E95EC7700000E69 /* windows_private.h */, - ); - path = ns; - sourceTree = ""; - }; - 69A6DD7D1E95EC7700000E69 /* utility */ = { - isa = PBXGroup; - children = ( - 69A6DD7E1E95EC7700000E69 /* block_mean_calculator.cc */, - 69A6DD7F1E95EC7700000E69 /* block_mean_calculator.h */, - 69A6DD801E95EC7700000E69 /* delay_estimator.cc */, - 69A6DD811E95EC7700000E69 /* delay_estimator.h */, - 69A6DD821E95EC7700000E69 /* delay_estimator_internal.h */, - 69A6DD831E95EC7700000E69 /* delay_estimator_wrapper.cc */, - 69A6DD841E95EC7700000E69 /* delay_estimator_wrapper.h */, - 69A6DD851E95EC7700000E69 /* ooura_fft.cc */, - 69A6DD861E95EC7700000E69 /* ooura_fft.h */, - 69A6DD871E95EC7700000E69 /* ooura_fft_neon.cc */, - 69A6DD881E95EC7700000E69 /* ooura_fft_sse2.cc */, - 69A6DD891E95EC7700000E69 /* ooura_fft_tables_common.h */, - 69A6DD8A1E95EC7700000E69 /* ooura_fft_tables_neon_sse2.h */, - ); - path = utility; - sourceTree = ""; - }; - 69A6DD8B1E95EC7700000E69 /* system_wrappers */ = { - isa = PBXGroup; - children = ( - 69A6DD8C1E95EC7700000E69 /* include */, - 69A6DD911E95EC7700000E69 /* source */, + 697E988B21A4ED6800E03846 /* include */, + 697E989121A4ED6800E03846 /* source */, ); path = system_wrappers; sourceTree = ""; }; - 69A6DD8C1E95EC7700000E69 /* include */ = { + 697E988B21A4ED6800E03846 /* include */ = { isa = PBXGroup; children = ( - 69A6DD8D1E95EC7700000E69 /* asm_defines.h */, - 69A6DD8E1E95EC7700000E69 /* compile_assert_c.h */, - 69A6DD8F1E95EC7700000E69 /* cpu_features_wrapper.h */, - 69A6DD901E95EC7700000E69 /* metrics.h */, + 697E988C21A4ED6800E03846 /* field_trial.h */, + 697E988D21A4ED6800E03846 /* cpu_features_wrapper.h */, + 697E988E21A4ED6800E03846 /* asm_defines.h */, + 697E988F21A4ED6800E03846 /* metrics.h */, + 697E989021A4ED6800E03846 /* compile_assert_c.h */, ); path = include; sourceTree = ""; }; - 69A6DD911E95EC7700000E69 /* source */ = { + 697E989121A4ED6800E03846 /* source */ = { isa = PBXGroup; children = ( - 69A6DD921E95EC7700000E69 /* cpu_features.cc */, + 697E989221A4ED6800E03846 /* field_trial.cc */, + 697E989321A4ED6800E03846 /* metrics.cc */, + 697E989421A4ED6800E03846 /* cpu_features.cc */, ); path = source; sourceTree = ""; }; + 697E989521A4ED6800E03846 /* common_audio */ = { + isa = PBXGroup; + children = ( + 697E989621A4ED6800E03846 /* mocks */, + 697E989821A4ED6800E03846 /* wav_file.h */, + 697E989921A4ED6800E03846 /* window_generator.cc */, + 697E989A21A4ED6800E03846 /* channel_buffer.cc */, + 697E989B21A4ED6800E03846 /* fir_filter_factory.cc */, + 697E989C21A4ED6800E03846 /* sparse_fir_filter.h */, + 697E989D21A4ED6800E03846 /* fir_filter_sse.h */, + 697E989E21A4ED6800E03846 /* window_generator.h */, + 697E989F21A4ED6800E03846 /* ring_buffer.h */, + 697E98A021A4ED6800E03846 /* fir_filter.h */, + 697E98A121A4ED6800E03846 /* include */, + 697E98A321A4ED6800E03846 /* wav_header.cc */, + 697E98A421A4ED6800E03846 /* real_fourier_ooura.cc */, + 697E98A521A4ED6800E03846 /* fir_filter_neon.cc */, + 697E98A621A4ED6800E03846 /* audio_util.cc */, + 697E98A721A4ED6800E03846 /* real_fourier_ooura.h */, + 697E98A821A4ED6800E03846 /* fir_filter_sse.cc */, + 697E98A921A4ED6800E03846 /* smoothing_filter.h */, + 697E98AA21A4ED6800E03846 /* resampler */, + 697E98B821A4ED6800E03846 /* fir_filter_factory.h */, + 697E98B921A4ED6800E03846 /* audio_converter.h */, + 697E98BA21A4ED6800E03846 /* wav_file.cc */, + 697E98BB21A4ED6800E03846 /* third_party */, + 697E98C321A4ED6800E03846 /* audio_converter.cc */, + 697E98C421A4ED6800E03846 /* real_fourier.cc */, + 697E98C521A4ED6800E03846 /* channel_buffer.h */, + 697E98C621A4ED6800E03846 /* real_fourier.h */, + 697E98C721A4ED6800E03846 /* sparse_fir_filter.cc */, + 697E98C821A4ED6800E03846 /* fir_filter_neon.h */, + 697E98C921A4ED6800E03846 /* smoothing_filter.cc */, + 697E98CA21A4ED6800E03846 /* fir_filter_c.cc */, + 697E98CB21A4ED6800E03846 /* ring_buffer.c */, + 697E98CC21A4ED6800E03846 /* fir_filter_c.h */, + 697E98CD21A4ED6800E03846 /* signal_processing */, + 697E98FC21A4ED6800E03846 /* wav_header.h */, + 697E98FD21A4ED6800E03846 /* vad */, + ); + path = common_audio; + sourceTree = ""; + }; + 697E989621A4ED6800E03846 /* mocks */ = { + isa = PBXGroup; + children = ( + 697E989721A4ED6800E03846 /* mock_smoothing_filter.h */, + ); + path = mocks; + sourceTree = ""; + }; + 697E98A121A4ED6800E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E98A221A4ED6800E03846 /* audio_util.h */, + ); + path = include; + sourceTree = ""; + }; + 697E98AA21A4ED6800E03846 /* resampler */ = { + isa = PBXGroup; + children = ( + 697E98AB21A4ED6800E03846 /* sinc_resampler_neon.cc */, + 697E98AC21A4ED6800E03846 /* push_sinc_resampler.cc */, + 697E98AD21A4ED6800E03846 /* sinc_resampler.h */, + 697E98AE21A4ED6800E03846 /* resampler.cc */, + 697E98AF21A4ED6800E03846 /* sinc_resampler_sse.cc */, + 697E98B021A4ED6800E03846 /* include */, + 697E98B321A4ED6800E03846 /* push_sinc_resampler.h */, + 697E98B421A4ED6800E03846 /* push_resampler.cc */, + 697E98B521A4ED6800E03846 /* sinusoidal_linear_chirp_source.h */, + 697E98B621A4ED6800E03846 /* sinc_resampler.cc */, + 697E98B721A4ED6800E03846 /* sinusoidal_linear_chirp_source.cc */, + ); + path = resampler; + sourceTree = ""; + }; + 697E98B021A4ED6800E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E98B121A4ED6800E03846 /* push_resampler.h */, + 697E98B221A4ED6800E03846 /* resampler.h */, + ); + path = include; + sourceTree = ""; + }; + 697E98BB21A4ED6800E03846 /* third_party */ = { + isa = PBXGroup; + children = ( + 697E98BC21A4ED6800E03846 /* spl_sqrt_floor */, + 697E98C021A4ED6800E03846 /* fft4g */, + ); + path = third_party; + sourceTree = ""; + }; + 697E98BC21A4ED6800E03846 /* spl_sqrt_floor */ = { + isa = PBXGroup; + children = ( + 697E98BD21A4ED6800E03846 /* spl_sqrt_floor.c */, + 697E98BE21A4ED6800E03846 /* spl_sqrt_floor_arm.S */, + 697E98BF21A4ED6800E03846 /* spl_sqrt_floor.h */, + ); + path = spl_sqrt_floor; + sourceTree = ""; + }; + 697E98C021A4ED6800E03846 /* fft4g */ = { + isa = PBXGroup; + children = ( + 697E98C121A4ED6800E03846 /* fft4g.c */, + 697E98C221A4ED6800E03846 /* fft4g.h */, + ); + path = fft4g; + sourceTree = ""; + }; + 697E98CD21A4ED6800E03846 /* signal_processing */ = { + isa = PBXGroup; + children = ( + 697E98CE21A4ED6800E03846 /* complex_fft_tables.h */, + 697E98CF21A4ED6800E03846 /* complex_fft.c */, + 697E98D021A4ED6800E03846 /* filter_ma_fast_q12.c */, + 697E98D121A4ED6800E03846 /* splitting_filter1.c */, + 697E98D221A4ED6800E03846 /* levinson_durbin.c */, + 697E98D321A4ED6800E03846 /* downsample_fast_neon.c */, + 697E98D421A4ED6800E03846 /* dot_product_with_scale.cc */, + 697E98D521A4ED6800E03846 /* auto_corr_to_refl_coef.c */, + 697E98D621A4ED6800E03846 /* resample_by_2_internal.c */, + 697E98D721A4ED6800E03846 /* complex_bit_reverse_arm.S */, + 697E98D821A4ED6800E03846 /* energy.c */, + 697E98D921A4ED6800E03846 /* sqrt_of_one_minus_x_squared.c */, + 697E98DA21A4ED6800E03846 /* downsample_fast.c */, + 697E98DB21A4ED6800E03846 /* filter_ar_fast_q12.c */, + 697E98DC21A4ED6800E03846 /* spl_init.c */, + 697E98DD21A4ED6800E03846 /* lpc_to_refl_coef.c */, + 697E98DE21A4ED6800E03846 /* cross_correlation.c */, + 697E98DF21A4ED6800E03846 /* include */, + 697E98E421A4ED6800E03846 /* division_operations.c */, + 697E98E521A4ED6800E03846 /* auto_correlation.c */, + 697E98E621A4ED6800E03846 /* get_scaling_square.c */, + 697E98E721A4ED6800E03846 /* min_max_operations_neon.c */, + 697E98E821A4ED6800E03846 /* dot_product_with_scale.h */, + 697E98E921A4ED6800E03846 /* resample_by_2_internal.h */, + 697E98EA21A4ED6800E03846 /* resample.c */, + 697E98EB21A4ED6800E03846 /* cross_correlation_neon.c */, + 697E98EC21A4ED6800E03846 /* min_max_operations.c */, + 697E98ED21A4ED6800E03846 /* refl_coef_to_lpc.c */, + 697E98EE21A4ED6800E03846 /* filter_ar.c */, + 697E98EF21A4ED6800E03846 /* vector_scaling_operations.c */, + 697E98F021A4ED6800E03846 /* resample_fractional.c */, + 697E98F121A4ED6800E03846 /* real_fft.c */, + 697E98F221A4ED6800E03846 /* ilbc_specific_functions.c */, + 697E98F321A4ED6800E03846 /* complex_bit_reverse.c */, + 697E98F421A4ED6800E03846 /* randomization_functions.c */, + 697E98F521A4ED6800E03846 /* filter_ar_fast_q12_armv7.S */, + 697E98F621A4ED6800E03846 /* copy_set_operations.c */, + 697E98F721A4ED6800E03846 /* resample_by_2.c */, + 697E98F821A4ED6800E03846 /* get_hanning_window.c */, + 697E98F921A4ED6800E03846 /* resample_48khz.c */, + 697E98FA21A4ED6800E03846 /* spl_inl.c */, + 697E98FB21A4ED6800E03846 /* spl_sqrt.c */, + ); + path = signal_processing; + sourceTree = ""; + }; + 697E98DF21A4ED6800E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E98E021A4ED6800E03846 /* signal_processing_library.h */, + 697E98E121A4ED6800E03846 /* real_fft.h */, + 697E98E221A4ED6800E03846 /* spl_inl.h */, + 697E98E321A4ED6800E03846 /* spl_inl_armv7.h */, + ); + path = include; + sourceTree = ""; + }; + 697E98FD21A4ED6800E03846 /* vad */ = { + isa = PBXGroup; + children = ( + 697E98FE21A4ED6800E03846 /* vad_sp.c */, + 697E98FF21A4ED6800E03846 /* vad.cc */, + 697E990021A4ED6800E03846 /* webrtc_vad.c */, + 697E990121A4ED6800E03846 /* vad_core.h */, + 697E990221A4ED6800E03846 /* include */, + 697E990521A4ED6800E03846 /* vad_gmm.h */, + 697E990621A4ED6800E03846 /* vad_filterbank.c */, + 697E990721A4ED6800E03846 /* vad_core.c */, + 697E990821A4ED6800E03846 /* vad_sp.h */, + 697E990921A4ED6800E03846 /* vad_filterbank.h */, + 697E990A21A4ED6800E03846 /* vad_gmm.c */, + ); + path = vad; + sourceTree = ""; + }; + 697E990221A4ED6800E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E990321A4ED6800E03846 /* vad.h */, + 697E990421A4ED6800E03846 /* webrtc_vad.h */, + ); + path = include; + sourceTree = ""; + }; + 697E990B21A4ED6800E03846 /* absl */ = { + isa = PBXGroup; + children = ( + 697E990C21A4ED6800E03846 /* strings */, + 697E991421A4ED6800E03846 /* types */, + 697E991921A4ED6800E03846 /* memory */, + 697E991B21A4ED6800E03846 /* meta */, + 697E991D21A4ED6800E03846 /* algorithm */, + 697E991F21A4ED6800E03846 /* container */, + 697E992121A4ED6800E03846 /* base */, + 697E993221A4ED6800E03846 /* utility */, + ); + path = absl; + sourceTree = ""; + }; + 697E990C21A4ED6800E03846 /* strings */ = { + isa = PBXGroup; + children = ( + 697E990D21A4ED6800E03846 /* internal */, + 697E991021A4ED6800E03846 /* string_view.cc */, + 697E991121A4ED6800E03846 /* ascii.h */, + 697E991221A4ED6800E03846 /* ascii.cc */, + 697E991321A4ED6800E03846 /* string_view.h */, + ); + path = strings; + sourceTree = ""; + }; + 697E990D21A4ED6800E03846 /* internal */ = { + isa = PBXGroup; + children = ( + 697E990E21A4ED6800E03846 /* memutil.h */, + 697E990F21A4ED6800E03846 /* memutil.cc */, + ); + path = internal; + sourceTree = ""; + }; + 697E991421A4ED6800E03846 /* types */ = { + isa = PBXGroup; + children = ( + 697E991521A4ED6800E03846 /* optional.h */, + 697E991621A4ED6800E03846 /* bad_optional_access.h */, + 697E991721A4ED6800E03846 /* bad_optional_access.cc */, + 697E991821A4ED6800E03846 /* optional.cc */, + ); + path = types; + sourceTree = ""; + }; + 697E991921A4ED6800E03846 /* memory */ = { + isa = PBXGroup; + children = ( + 697E991A21A4ED6800E03846 /* memory.h */, + ); + path = memory; + sourceTree = ""; + }; + 697E991B21A4ED6800E03846 /* meta */ = { + isa = PBXGroup; + children = ( + 697E991C21A4ED6800E03846 /* type_traits.h */, + ); + path = meta; + sourceTree = ""; + }; + 697E991D21A4ED6800E03846 /* algorithm */ = { + isa = PBXGroup; + children = ( + 697E991E21A4ED6800E03846 /* algorithm.h */, + ); + path = algorithm; + sourceTree = ""; + }; + 697E991F21A4ED6800E03846 /* container */ = { + isa = PBXGroup; + children = ( + 697E992021A4ED6800E03846 /* inlined_vector.h */, + ); + path = container; + sourceTree = ""; + }; + 697E992121A4ED6800E03846 /* base */ = { + isa = PBXGroup; + children = ( + 697E992221A4ED6800E03846 /* policy_checks.h */, + 697E992321A4ED6800E03846 /* port.h */, + 697E992421A4ED6800E03846 /* config.h */, + 697E992521A4ED6800E03846 /* internal */, + 697E992E21A4ED6800E03846 /* attributes.h */, + 697E992F21A4ED6800E03846 /* macros.h */, + 697E993021A4ED6800E03846 /* optimization.h */, + 697E993121A4ED6800E03846 /* log_severity.h */, + ); + path = base; + sourceTree = ""; + }; + 697E992521A4ED6800E03846 /* internal */ = { + isa = PBXGroup; + children = ( + 697E992621A4ED6800E03846 /* raw_logging.cc */, + 697E992721A4ED6800E03846 /* throw_delegate.cc */, + 697E992821A4ED6800E03846 /* invoke.h */, + 697E992921A4ED6800E03846 /* inline_variable.h */, + 697E992A21A4ED6800E03846 /* atomic_hook.h */, + 697E992B21A4ED6800E03846 /* identity.h */, + 697E992C21A4ED6800E03846 /* raw_logging.h */, + 697E992D21A4ED6800E03846 /* throw_delegate.h */, + ); + path = internal; + sourceTree = ""; + }; + 697E993221A4ED6800E03846 /* utility */ = { + isa = PBXGroup; + children = ( + 697E993321A4ED6800E03846 /* utility.h */, + ); + path = utility; + sourceTree = ""; + }; + 697E993421A4ED6900E03846 /* api */ = { + isa = PBXGroup; + children = ( + 697E993521A4ED6900E03846 /* audio */, + 697E993D21A4ED6900E03846 /* array_view.h */, + ); + path = api; + sourceTree = ""; + }; + 697E993521A4ED6900E03846 /* audio */ = { + isa = PBXGroup; + children = ( + 697E993621A4ED6900E03846 /* audio_frame.cc */, + 697E993721A4ED6900E03846 /* echo_canceller3_config.h */, + 697E993821A4ED6900E03846 /* echo_control.h */, + 697E993921A4ED6900E03846 /* audio_frame.h */, + 697E993A21A4ED6900E03846 /* echo_canceller3_config.cc */, + 697E993B21A4ED6900E03846 /* echo_canceller3_factory.h */, + 697E993C21A4ED6900E03846 /* echo_canceller3_factory.cc */, + ); + path = audio; + sourceTree = ""; + }; + 697E993E21A4ED6900E03846 /* rtc_base */ = { + isa = PBXGroup; + children = ( + 697E993F21A4ED6900E03846 /* string_to_number.h */, + 697E994021A4ED6900E03846 /* constructormagic.h */, + 697E994121A4ED6900E03846 /* race_checker.cc */, + 697E994221A4ED6900E03846 /* strings */, + 697E994521A4ED6900E03846 /* event_tracer.h */, + 697E994621A4ED6900E03846 /* stringencode.h */, + 697E994721A4ED6900E03846 /* memory */, + 697E994A21A4ED6900E03846 /* timeutils.cc */, + 697E994B21A4ED6900E03846 /* event.h */, + 697E994D21A4ED6900E03846 /* ignore_wundef.h */, + 697E994E21A4ED6900E03846 /* stringutils.h */, + 697E994F21A4ED6900E03846 /* arraysize.h */, + 697E995021A4ED6900E03846 /* platform_file.cc */, + 697E995121A4ED6900E03846 /* swap_queue.h */, + 697E995221A4ED6900E03846 /* string_to_number.cc */, + 697E995321A4ED6900E03846 /* trace_event.h */, + 697E995421A4ED6900E03846 /* checks.h */, + 697E995521A4ED6900E03846 /* deprecation.h */, + 697E995621A4ED6900E03846 /* thread_checker_impl.cc */, + 697E995721A4ED6900E03846 /* sanitizer.h */, + 697E995821A4ED6900E03846 /* scoped_ref_ptr.h */, + 697E995921A4ED6900E03846 /* logging.h */, + 697E995A21A4ED6900E03846 /* timeutils.h */, + 697E995B21A4ED6900E03846 /* atomicops.h */, + 697E995C21A4ED6900E03846 /* stringencode.cc */, + 697E995D21A4ED6900E03846 /* stringutils.cc */, + 697E995E21A4ED6900E03846 /* checks.cc */, + 697E995F21A4ED6900E03846 /* numerics */, + 697E996421A4ED6900E03846 /* system */, + 697E996B21A4ED6900E03846 /* platform_thread.cc */, + 697E996C21A4ED6900E03846 /* platform_thread.h */, + 697E996D21A4ED6900E03846 /* logging_webrtc.cc */, + 697E996E21A4ED6900E03846 /* platform_thread_types.h */, + 697E996F21A4ED6900E03846 /* protobuf_utils.h */, + 697E997021A4ED6900E03846 /* thread_annotations.h */, + 697E997121A4ED6900E03846 /* gtest_prod_util.h */, + 697E997221A4ED6900E03846 /* function_view.h */, + 697E997321A4ED6900E03846 /* criticalsection.h */, + 697E997421A4ED6900E03846 /* criticalsection.cc */, + 697E997521A4ED6900E03846 /* platform_thread_types.cc */, + 697E997621A4ED6900E03846 /* refcount.h */, + 697E997721A4ED6900E03846 /* event.cc */, + 697E997821A4ED6900E03846 /* thread_checker_impl.h */, + 697E997921A4ED6900E03846 /* event_tracer.cc */, + 697E997A21A4ED6900E03846 /* compile_assert_c.h */, + 697E997B21A4ED6900E03846 /* type_traits.h */, + 697E997C21A4ED6900E03846 /* platform_file.h */, + 697E997D21A4ED6900E03846 /* refcounter.h */, + 697E997F21A4ED6900E03846 /* thread_checker.h */, + 697E998021A4ED6900E03846 /* race_checker.h */, + 697E998121A4ED6900E03846 /* refcountedobject.h */, + ); + path = rtc_base; + sourceTree = ""; + }; + 697E994221A4ED6900E03846 /* strings */ = { + isa = PBXGroup; + children = ( + 697E994321A4ED6900E03846 /* string_builder.h */, + 697E994421A4ED6900E03846 /* string_builder.cc */, + ); + path = strings; + sourceTree = ""; + }; + 697E994721A4ED6900E03846 /* memory */ = { + isa = PBXGroup; + children = ( + 697E994821A4ED6900E03846 /* aligned_malloc.cc */, + 697E994921A4ED6900E03846 /* aligned_malloc.h */, + ); + path = memory; + sourceTree = ""; + }; + 697E995F21A4ED6900E03846 /* numerics */ = { + isa = PBXGroup; + children = ( + 697E996021A4ED6900E03846 /* safe_minmax.h */, + 697E996121A4ED6900E03846 /* safe_conversions.h */, + 697E996221A4ED6900E03846 /* safe_conversions_impl.h */, + 697E996321A4ED6900E03846 /* safe_compare.h */, + ); + path = numerics; + sourceTree = ""; + }; + 697E996421A4ED6900E03846 /* system */ = { + isa = PBXGroup; + children = ( + 697E996521A4ED6900E03846 /* unused.h */, + 697E996621A4ED6900E03846 /* inline.h */, + 697E996721A4ED6900E03846 /* ignore_warnings.h */, + 697E996821A4ED6900E03846 /* asm_defines.h */, + 697E996921A4ED6900E03846 /* rtc_export.h */, + 697E996A21A4ED6900E03846 /* arch.h */, + ); + path = system; + sourceTree = ""; + }; + 697E998221A4ED6900E03846 /* modules */ = { + isa = PBXGroup; + children = ( + 697E998321A4ED6900E03846 /* third_party */, + 697E998721A4ED6900E03846 /* audio_coding */, + 697E99C021A4ED6900E03846 /* audio_processing */, + ); + path = modules; + sourceTree = ""; + }; + 697E998321A4ED6900E03846 /* third_party */ = { + isa = PBXGroup; + children = ( + 697E998421A4ED6900E03846 /* fft */, + ); + path = third_party; + sourceTree = ""; + }; + 697E998421A4ED6900E03846 /* fft */ = { + isa = PBXGroup; + children = ( + 697E998521A4ED6900E03846 /* fft.h */, + 697E998621A4ED6900E03846 /* fft.c */, + ); + path = fft; + sourceTree = ""; + }; + 697E998721A4ED6900E03846 /* audio_coding */ = { + isa = PBXGroup; + children = ( + 697E998821A4ED6900E03846 /* codecs */, + ); + path = audio_coding; + sourceTree = ""; + }; + 697E998821A4ED6900E03846 /* codecs */ = { + isa = PBXGroup; + children = ( + 697E998921A4ED6900E03846 /* isac */, + ); + path = codecs; + sourceTree = ""; + }; + 697E998921A4ED6900E03846 /* isac */ = { + isa = PBXGroup; + children = ( + 697E998A21A4ED6900E03846 /* bandwidth_info.h */, + 697E998B21A4ED6900E03846 /* main */, + ); + path = isac; + sourceTree = ""; + }; + 697E998B21A4ED6900E03846 /* main */ = { + isa = PBXGroup; + children = ( + 697E998C21A4ED6900E03846 /* include */, + 697E998E21A4ED6900E03846 /* source */, + ); + path = main; + sourceTree = ""; + }; + 697E998C21A4ED6900E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E998D21A4ED6900E03846 /* isac.h */, + ); + path = include; + sourceTree = ""; + }; + 697E998E21A4ED6900E03846 /* source */ = { + isa = PBXGroup; + children = ( + 697E998F21A4ED6900E03846 /* pitch_estimator.c */, + 697E999021A4ED6900E03846 /* lpc_shape_swb16_tables.c */, + 697E999121A4ED6900E03846 /* pitch_gain_tables.c */, + 697E999221A4ED6900E03846 /* arith_routines_logist.c */, + 697E999321A4ED6900E03846 /* os_specific_inline.h */, + 697E999421A4ED6900E03846 /* filterbanks.c */, + 697E999521A4ED6900E03846 /* entropy_coding.h */, + 697E999621A4ED6900E03846 /* isac_vad.h */, + 697E999721A4ED6900E03846 /* settings.h */, + 697E999821A4ED6900E03846 /* transform.c */, + 697E999921A4ED6900E03846 /* lpc_shape_swb12_tables.h */, + 697E999A21A4ED6900E03846 /* arith_routines.h */, + 697E999B21A4ED6900E03846 /* crc.h */, + 697E999C21A4ED6900E03846 /* pitch_filter.c */, + 697E999D21A4ED6900E03846 /* encode_lpc_swb.c */, + 697E999E21A4ED6900E03846 /* filter_functions.c */, + 697E999F21A4ED6900E03846 /* decode.c */, + 697E99A021A4ED6900E03846 /* lattice.c */, + 697E99A121A4ED6900E03846 /* intialize.c */, + 697E99A221A4ED6900E03846 /* lpc_tables.c */, + 697E99A321A4ED6900E03846 /* lpc_gain_swb_tables.c */, + 697E99A421A4ED6900E03846 /* bandwidth_estimator.c */, + 697E99A521A4ED6900E03846 /* isac_float_type.h */, + 697E99A621A4ED6900E03846 /* pitch_lag_tables.h */, + 697E99A721A4ED6900E03846 /* encode.c */, + 697E99A821A4ED6900E03846 /* lpc_analysis.c */, + 697E99A921A4ED6900E03846 /* spectrum_ar_model_tables.h */, + 697E99AA21A4ED6900E03846 /* arith_routines_hist.c */, + 697E99AB21A4ED6900E03846 /* codec.h */, + 697E99AC21A4ED6900E03846 /* pitch_gain_tables.h */, + 697E99AD21A4ED6900E03846 /* lpc_shape_swb16_tables.h */, + 697E99AE21A4ED6900E03846 /* pitch_estimator.h */, + 697E99AF21A4ED6900E03846 /* entropy_coding.c */, + 697E99B021A4ED6900E03846 /* isac_vad.c */, + 697E99B121A4ED6900E03846 /* structs.h */, + 697E99B221A4ED6900E03846 /* filter_functions.h */, + 697E99B321A4ED6900E03846 /* encode_lpc_swb.h */, + 697E99B421A4ED6900E03846 /* pitch_filter.h */, + 697E99B521A4ED6900E03846 /* arith_routines.c */, + 697E99B621A4ED6900E03846 /* crc.c */, + 697E99B721A4ED6900E03846 /* lpc_shape_swb12_tables.c */, + 697E99B821A4ED6900E03846 /* lpc_analysis.h */, + 697E99B921A4ED6900E03846 /* decode_bwe.c */, + 697E99BA21A4ED6900E03846 /* spectrum_ar_model_tables.c */, + 697E99BB21A4ED6900E03846 /* bandwidth_estimator.h */, + 697E99BC21A4ED6900E03846 /* pitch_lag_tables.c */, + 697E99BD21A4ED6900E03846 /* isac.c */, + 697E99BE21A4ED6900E03846 /* lpc_gain_swb_tables.h */, + 697E99BF21A4ED6900E03846 /* lpc_tables.h */, + ); + path = source; + sourceTree = ""; + }; + 697E99C021A4ED6900E03846 /* audio_processing */ = { + isa = PBXGroup; + children = ( + 697E99C121A4ED6900E03846 /* rms_level.cc */, + 697E99C221A4ED6900E03846 /* echo_detector */, + 697E99CB21A4ED6900E03846 /* gain_control_for_experimental_agc.h */, + 697E99CC21A4ED6900E03846 /* splitting_filter.cc */, + 697E99CD21A4ED6900E03846 /* gain_control_impl.cc */, + 697E99CE21A4ED6900E03846 /* rms_level.h */, + 697E99CF21A4ED6900E03846 /* test */, + 697E99D321A4ED6900E03846 /* ns */, + 697E99E121A4ED6900E03846 /* residual_echo_detector.h */, + 697E99E221A4ED6900E03846 /* audio_processing_impl.h */, + 697E99E321A4ED6900E03846 /* audio_buffer.cc */, + 697E99E421A4ED6900E03846 /* typing_detection.cc */, + 697E99E521A4ED6900E03846 /* render_queue_item_verifier.h */, + 697E99E621A4ED6900E03846 /* aec_dump */, + 697E99E721A4ED6900E03846 /* include */, + 697E99F621A4ED6900E03846 /* agc2 */, + 697E9A3821A4ED6900E03846 /* transient */, + 697E9A4621A4ED6900E03846 /* low_cut_filter.cc */, + 697E9A4721A4ED6900E03846 /* noise_suppression_impl.h */, + 697E9A4821A4ED6900E03846 /* level_estimator_impl.cc */, + 697E9A4921A4ED6900E03846 /* three_band_filter_bank.cc */, + 697E9A4A21A4ED6900E03846 /* aec */, + 697E9A5521A4ED6900E03846 /* voice_detection_impl.h */, + 697E9A5621A4ED6900E03846 /* voice_detection_impl.cc */, + 697E9A5721A4ED6900E03846 /* echo_cancellation_impl.cc */, + 697E9A5821A4ED6900E03846 /* gain_control_for_experimental_agc.cc */, + 697E9A5921A4ED6900E03846 /* agc */, + 697E9A6A21A4ED6900E03846 /* common.h */, + 697E9A6B21A4ED6900E03846 /* audio_processing_impl.cc */, + 697E9A6C21A4ED6900E03846 /* audio_buffer.h */, + 697E9A6D21A4ED6900E03846 /* echo_control_mobile_impl.h */, + 697E9A6E21A4ED6900E03846 /* splitting_filter.h */, + 697E9A6F21A4ED6900E03846 /* low_cut_filter.h */, + 697E9A7021A4ED6900E03846 /* audio_generator */, + 697E9A7321A4ED6A00E03846 /* gain_controller2.cc */, + 697E9A7421A4ED6A00E03846 /* three_band_filter_bank.h */, + 697E9A7521A4ED6A00E03846 /* residual_echo_detector.cc */, + 697E9A7621A4ED6A00E03846 /* echo_cancellation_impl.h */, + 697E9A7721A4ED6A00E03846 /* noise_suppression_impl.cc */, + 697E9A7821A4ED6A00E03846 /* level_estimator_impl.h */, + 697E9A7921A4ED6A00E03846 /* gain_controller2.h */, + 697E9A7A21A4ED6A00E03846 /* aecm */, + 697E9A8221A4ED6A00E03846 /* aec3 */, + 697E9AF121A4ED6A00E03846 /* echo_control_mobile_impl.cc */, + 697E9AF221A4ED6A00E03846 /* gain_control_impl.h */, + 697E9AF321A4ED6A00E03846 /* typing_detection.h */, + 697E9AF421A4ED6A00E03846 /* logging */, + 697E9AF721A4ED6A00E03846 /* vad */, + 697E9B0C21A4ED6A00E03846 /* utility */, + ); + path = audio_processing; + sourceTree = ""; + }; + 697E99C221A4ED6900E03846 /* echo_detector */ = { + isa = PBXGroup; + children = ( + 697E99C321A4ED6900E03846 /* moving_max.h */, + 697E99C421A4ED6900E03846 /* circular_buffer.h */, + 697E99C521A4ED6900E03846 /* normalized_covariance_estimator.h */, + 697E99C621A4ED6900E03846 /* normalized_covariance_estimator.cc */, + 697E99C721A4ED6900E03846 /* moving_max.cc */, + 697E99C821A4ED6900E03846 /* circular_buffer.cc */, + 697E99C921A4ED6900E03846 /* mean_variance_estimator.cc */, + 697E99CA21A4ED6900E03846 /* mean_variance_estimator.h */, + ); + path = echo_detector; + sourceTree = ""; + }; + 697E99CF21A4ED6900E03846 /* test */ = { + isa = PBXGroup; + children = ( + 697E99D021A4ED6900E03846 /* android */, + ); + path = test; + sourceTree = ""; + }; + 697E99D021A4ED6900E03846 /* android */ = { + isa = PBXGroup; + children = ( + 697E99D121A4ED6900E03846 /* apmtest */, + ); + path = android; + sourceTree = ""; + }; + 697E99D121A4ED6900E03846 /* apmtest */ = { + isa = PBXGroup; + children = ( + 697E99D221A4ED6900E03846 /* jni */, + ); + path = apmtest; + sourceTree = ""; + }; + 697E99D221A4ED6900E03846 /* jni */ = { + isa = PBXGroup; + children = ( + ); + path = jni; + sourceTree = ""; + }; + 697E99D321A4ED6900E03846 /* ns */ = { + isa = PBXGroup; + children = ( + 697E99D421A4ED6900E03846 /* ns_core.h */, + 697E99D521A4ED6900E03846 /* nsx_core.c */, + 697E99D621A4ED6900E03846 /* noise_suppression_x.c */, + 697E99D721A4ED6900E03846 /* nsx_core_c.c */, + 697E99D821A4ED6900E03846 /* defines.h */, + 697E99D921A4ED6900E03846 /* noise_suppression.h */, + 697E99DA21A4ED6900E03846 /* ns_core.c */, + 697E99DB21A4ED6900E03846 /* nsx_core.h */, + 697E99DC21A4ED6900E03846 /* windows_private.h */, + 697E99DD21A4ED6900E03846 /* noise_suppression_x.h */, + 697E99DE21A4ED6900E03846 /* nsx_core_neon.c */, + 697E99DF21A4ED6900E03846 /* noise_suppression.c */, + 697E99E021A4ED6900E03846 /* nsx_defines.h */, + ); + path = ns; + sourceTree = ""; + }; + 697E99E621A4ED6900E03846 /* aec_dump */ = { + isa = PBXGroup; + children = ( + ); + path = aec_dump; + sourceTree = ""; + }; + 697E99E721A4ED6900E03846 /* include */ = { + isa = PBXGroup; + children = ( + 697E99E821A4ED6900E03846 /* audio_generator.h */, + 697E99E921A4ED6900E03846 /* config.h */, + 697E99EA21A4ED6900E03846 /* audio_frame_view.h */, + 697E99EB21A4ED6900E03846 /* mock_audio_processing.h */, + 697E99EC21A4ED6900E03846 /* gain_control.h */, + 697E99ED21A4ED6900E03846 /* audio_generator_factory.h */, + 697E99EE21A4ED6900E03846 /* audio_processing_statistics.cc */, + 697E99EF21A4ED6900E03846 /* audio_generator_factory.cc */, + 697E99F021A4ED6900E03846 /* aec_dump.cc */, + 697E99F121A4ED6900E03846 /* aec_dump.h */, + 697E99F221A4ED6900E03846 /* audio_processing_statistics.h */, + 697E99F321A4ED6900E03846 /* audio_processing.h */, + 697E99F421A4ED6900E03846 /* audio_processing.cc */, + 697E99F521A4ED6900E03846 /* config.cc */, + ); + path = include; + sourceTree = ""; + }; + 697E99F621A4ED6900E03846 /* agc2 */ = { + isa = PBXGroup; + children = ( + 697E99F721A4ED6900E03846 /* interpolated_gain_curve.h */, + 697E99F821A4ED6900E03846 /* biquad_filter.h */, + 697E99F921A4ED6900E03846 /* interpolated_gain_curve.cc */, + 697E99FA21A4ED6900E03846 /* agc2_common.cc */, + 697E99FB21A4ED6900E03846 /* agc2_testing_common.h */, + 697E99FC21A4ED6900E03846 /* adaptive_mode_level_estimator.h */, + 697E99FD21A4ED6900E03846 /* gain_applier.cc */, + 697E99FE21A4ED6900E03846 /* signal_classifier.h */, + 697E99FF21A4ED6900E03846 /* adaptive_agc.cc */, + 697E9A0021A4ED6900E03846 /* adaptive_digital_gain_applier.cc */, + 697E9A0121A4ED6900E03846 /* limiter.cc */, + 697E9A0221A4ED6900E03846 /* saturation_protector.cc */, + 697E9A0321A4ED6900E03846 /* vector_float_frame.h */, + 697E9A0421A4ED6900E03846 /* rnn_vad */, + 697E9A1B21A4ED6900E03846 /* fixed_gain_controller.h */, + 697E9A1C21A4ED6900E03846 /* adaptive_mode_level_estimator_agc.cc */, + 697E9A1D21A4ED6900E03846 /* vector_float_frame.cc */, + 697E9A1E21A4ED6900E03846 /* down_sampler.h */, + 697E9A1F21A4ED6900E03846 /* noise_level_estimator.cc */, + 697E9A2021A4ED6900E03846 /* agc2_testing_common.cc */, + 697E9A2121A4ED6900E03846 /* fixed_digital_level_estimator.cc */, + 697E9A2221A4ED6900E03846 /* fixed_gain_controller.cc */, + 697E9A2321A4ED6900E03846 /* saturation_protector.h */, + 697E9A2421A4ED6900E03846 /* vad_with_level.cc */, + 697E9A2521A4ED6900E03846 /* limiter_db_gain_curve.cc */, + 697E9A2621A4ED6900E03846 /* agc2_common.h */, + 697E9A2721A4ED6900E03846 /* adaptive_mode_level_estimator_agc.h */, + 697E9A2821A4ED6900E03846 /* adaptive_digital_gain_applier.h */, + 697E9A2921A4ED6900E03846 /* vad_with_level.h */, + 697E9A2A21A4ED6900E03846 /* limiter_db_gain_curve.h */, + 697E9A2B21A4ED6900E03846 /* fixed_digital_level_estimator.h */, + 697E9A2C21A4ED6900E03846 /* adaptive_agc.h */, + 697E9A2D21A4ED6900E03846 /* gain_applier.h */, + 697E9A2E21A4ED6900E03846 /* down_sampler.cc */, + 697E9A2F21A4ED6900E03846 /* noise_level_estimator.h */, + 697E9A3021A4ED6900E03846 /* signal_classifier.cc */, + 697E9A3121A4ED6900E03846 /* noise_spectrum_estimator.cc */, + 697E9A3221A4ED6900E03846 /* compute_interpolated_gain_curve.cc */, + 697E9A3321A4ED6900E03846 /* compute_interpolated_gain_curve.h */, + 697E9A3421A4ED6900E03846 /* biquad_filter.cc */, + 697E9A3521A4ED6900E03846 /* noise_spectrum_estimator.h */, + 697E9A3621A4ED6900E03846 /* limiter.h */, + 697E9A3721A4ED6900E03846 /* adaptive_mode_level_estimator.cc */, + ); + path = agc2; + sourceTree = ""; + }; + 697E9A0421A4ED6900E03846 /* rnn_vad */ = { + isa = PBXGroup; + children = ( + 697E9A0521A4ED6900E03846 /* spectral_features_internal.cc */, + 697E9A0621A4ED6900E03846 /* sequence_buffer.h */, + 697E9A0721A4ED6900E03846 /* rnn.h */, + 697E9A0821A4ED6900E03846 /* rnn.cc */, + 697E9A0921A4ED6900E03846 /* test_utils.h */, + 697E9A0A21A4ED6900E03846 /* pitch_info.h */, + 697E9A0B21A4ED6900E03846 /* lp_residual.h */, + 697E9A0C21A4ED6900E03846 /* ring_buffer.h */, + 697E9A0D21A4ED6900E03846 /* pitch_search_internal.cc */, + 697E9A0E21A4ED6900E03846 /* symmetric_matrix_buffer.h */, + 697E9A0F21A4ED6900E03846 /* spectral_features.h */, + 697E9A1021A4ED6900E03846 /* features_extraction.h */, + 697E9A1121A4ED6900E03846 /* common.h */, + 697E9A1221A4ED6900E03846 /* spectral_features_internal.h */, + 697E9A1321A4ED6900E03846 /* fft_util.h */, + 697E9A1421A4ED6900E03846 /* spectral_features.cc */, + 697E9A1521A4ED6900E03846 /* pitch_search_internal.h */, + 697E9A1621A4ED6900E03846 /* pitch_search.cc */, + 697E9A1721A4ED6900E03846 /* pitch_search.h */, + 697E9A1821A4ED6900E03846 /* features_extraction.cc */, + 697E9A1921A4ED6900E03846 /* fft_util.cc */, + 697E9A1A21A4ED6900E03846 /* lp_residual.cc */, + ); + path = rnn_vad; + sourceTree = ""; + }; + 697E9A3821A4ED6900E03846 /* transient */ = { + isa = PBXGroup; + children = ( + 697E9A3921A4ED6900E03846 /* moving_moments.cc */, + 697E9A3A21A4ED6900E03846 /* transient_detector.h */, + 697E9A3B21A4ED6900E03846 /* wpd_tree.cc */, + 697E9A3C21A4ED6900E03846 /* transient_suppressor.h */, + 697E9A3D21A4ED6900E03846 /* daubechies_8_wavelet_coeffs.h */, + 697E9A3E21A4ED6900E03846 /* common.h */, + 697E9A3F21A4ED6900E03846 /* wpd_node.h */, + 697E9A4021A4ED6900E03846 /* moving_moments.h */, + 697E9A4121A4ED6900E03846 /* wpd_tree.h */, + 697E9A4221A4ED6900E03846 /* wpd_node.cc */, + 697E9A4321A4ED6900E03846 /* transient_suppressor.cc */, + 697E9A4421A4ED6900E03846 /* transient_detector.cc */, + 697E9A4521A4ED6900E03846 /* dyadic_decimator.h */, + ); + path = transient; + sourceTree = ""; + }; + 697E9A4A21A4ED6900E03846 /* aec */ = { + isa = PBXGroup; + children = ( + 697E9A4B21A4ED6900E03846 /* echo_cancellation.cc */, + 697E9A4C21A4ED6900E03846 /* aec_resampler.h */, + 697E9A4D21A4ED6900E03846 /* aec_resampler.cc */, + 697E9A4E21A4ED6900E03846 /* echo_cancellation.h */, + 697E9A4F21A4ED6900E03846 /* aec_core.cc */, + 697E9A5021A4ED6900E03846 /* aec_core.h */, + 697E9A5121A4ED6900E03846 /* aec_core_optimized_methods.h */, + 697E9A5221A4ED6900E03846 /* aec_core_neon.cc */, + 697E9A5321A4ED6900E03846 /* aec_core_sse2.cc */, + 697E9A5421A4ED6900E03846 /* aec_common.h */, + ); + path = aec; + sourceTree = ""; + }; + 697E9A5921A4ED6900E03846 /* agc */ = { + isa = PBXGroup; + children = ( + 697E9A5A21A4ED6900E03846 /* agc.cc */, + 697E9A5B21A4ED6900E03846 /* loudness_histogram.cc */, + 697E9A5C21A4ED6900E03846 /* agc_manager_direct.cc */, + 697E9A5D21A4ED6900E03846 /* legacy */, + 697E9A6321A4ED6900E03846 /* utility.cc */, + 697E9A6421A4ED6900E03846 /* mock_agc.h */, + 697E9A6521A4ED6900E03846 /* loudness_histogram.h */, + 697E9A6621A4ED6900E03846 /* gain_map_internal.h */, + 697E9A6721A4ED6900E03846 /* utility.h */, + 697E9A6821A4ED6900E03846 /* agc_manager_direct.h */, + 697E9A6921A4ED6900E03846 /* agc.h */, + ); + path = agc; + sourceTree = ""; + }; + 697E9A5D21A4ED6900E03846 /* legacy */ = { + isa = PBXGroup; + children = ( + 697E9A5E21A4ED6900E03846 /* analog_agc.h */, + 697E9A5F21A4ED6900E03846 /* gain_control.h */, + 697E9A6021A4ED6900E03846 /* digital_agc.h */, + 697E9A6121A4ED6900E03846 /* analog_agc.c */, + 697E9A6221A4ED6900E03846 /* digital_agc.c */, + ); + path = legacy; + sourceTree = ""; + }; + 697E9A7021A4ED6900E03846 /* audio_generator */ = { + isa = PBXGroup; + children = ( + 697E9A7121A4ED6A00E03846 /* file_audio_generator.h */, + 697E9A7221A4ED6A00E03846 /* file_audio_generator.cc */, + ); + path = audio_generator; + sourceTree = ""; + }; + 697E9A7A21A4ED6A00E03846 /* aecm */ = { + isa = PBXGroup; + children = ( + 697E9A7B21A4ED6A00E03846 /* aecm_core.h */, + 697E9A7C21A4ED6A00E03846 /* aecm_defines.h */, + 697E9A7D21A4ED6A00E03846 /* aecm_core.cc */, + 697E9A7E21A4ED6A00E03846 /* aecm_core_c.cc */, + 697E9A7F21A4ED6A00E03846 /* aecm_core_neon.cc */, + 697E9A8021A4ED6A00E03846 /* echo_control_mobile.h */, + 697E9A8121A4ED6A00E03846 /* echo_control_mobile.cc */, + ); + path = aecm; + sourceTree = ""; + }; + 697E9A8221A4ED6A00E03846 /* aec3 */ = { + isa = PBXGroup; + children = ( + 697E9A8321A4ED6A00E03846 /* render_reverb_model.cc */, + 697E9A8421A4ED6A00E03846 /* downsampled_render_buffer.h */, + 697E9A8521A4ED6A00E03846 /* subtractor_output_analyzer.h */, + 697E9A8621A4ED6A00E03846 /* reverb_model_fallback.cc */, + 697E9A8721A4ED6A00E03846 /* residual_echo_estimator.h */, + 697E9A8821A4ED6A00E03846 /* shadow_filter_update_gain.h */, + 697E9A8921A4ED6A00E03846 /* echo_remover_metrics.cc */, + 697E9A8A21A4ED6A00E03846 /* matched_filter_lag_aggregator.cc */, + 697E9A8B21A4ED6A00E03846 /* render_delay_buffer2.cc */, + 697E9A8C21A4ED6A00E03846 /* aec_state.h */, + 697E9A8D21A4ED6A00E03846 /* suppression_filter.h */, + 697E9A8E21A4ED6A00E03846 /* echo_path_variability.cc */, + 697E9A8F21A4ED6A00E03846 /* frame_blocker.cc */, + 697E9A9021A4ED6A00E03846 /* subtractor.cc */, + 697E9A9121A4ED6A00E03846 /* block_delay_buffer.h */, + 697E9A9221A4ED6A00E03846 /* adaptive_fir_filter.h */, + 697E9A9321A4ED6A00E03846 /* cascaded_biquad_filter.h */, + 697E9A9421A4ED6A00E03846 /* matched_filter.h */, + 697E9A9521A4ED6A00E03846 /* subtractor_output.h */, + 697E9A9621A4ED6A00E03846 /* render_signal_analyzer.h */, + 697E9A9721A4ED6A00E03846 /* aec3_fft.cc */, + 697E9A9821A4ED6A00E03846 /* aec3_fft.h */, + 697E9A9921A4ED6A00E03846 /* echo_remover_metrics.h */, + 697E9A9A21A4ED6A00E03846 /* fullband_erle_estimator.cc */, + 697E9A9B21A4ED6A00E03846 /* suppression_filter.cc */, + 697E9A9C21A4ED6A00E03846 /* block_processor.cc */, + 697E9A9D21A4ED6A00E03846 /* filter_analyzer.h */, + 697E9A9E21A4ED6A00E03846 /* subtractor.h */, + 697E9A9F21A4ED6A00E03846 /* echo_path_delay_estimator.h */, + 697E9AA021A4ED6A00E03846 /* subband_erle_estimator.cc */, + 697E9AA121A4ED6A00E03846 /* render_delay_controller_metrics.cc */, + 697E9AA221A4ED6A00E03846 /* render_delay_buffer.cc */, + 697E9AA321A4ED6A00E03846 /* block_processor_metrics.h */, + 697E9AA421A4ED6A00E03846 /* vector_buffer.cc */, + 697E9AA521A4ED6A00E03846 /* erl_estimator.cc */, + 697E9AA621A4ED6A00E03846 /* aec_state.cc */, + 697E9AA721A4ED6A00E03846 /* adaptive_fir_filter.cc */, + 697E9AA821A4ED6A00E03846 /* fft_data.h */, + 697E9AA921A4ED6A00E03846 /* render_delay_controller.cc */, + 697E9AAA21A4ED6A00E03846 /* skew_estimator.cc */, + 697E9AAB21A4ED6A00E03846 /* render_delay_controller_metrics.h */, + 697E9AAC21A4ED6A00E03846 /* comfort_noise_generator.h */, + 697E9AAD21A4ED6A00E03846 /* echo_path_delay_estimator.cc */, + 697E9AAE21A4ED6A00E03846 /* erl_estimator.h */, + 697E9AAF21A4ED6A00E03846 /* echo_remover.h */, + 697E9AB021A4ED6A00E03846 /* block_framer.cc */, + 697E9AB121A4ED6A00E03846 /* erle_estimator.cc */, + 697E9AB221A4ED6A00E03846 /* reverb_model.cc */, + 697E9AB321A4ED6A00E03846 /* cascaded_biquad_filter.cc */, + 697E9AB421A4ED6A00E03846 /* matrix_buffer.h */, + 697E9AB521A4ED6A00E03846 /* render_buffer.cc */, + 697E9AB621A4ED6A00E03846 /* reverb_model_estimator.h */, + 697E9AB721A4ED6A00E03846 /* subtractor_output.cc */, + 697E9AB821A4ED6A00E03846 /* stationarity_estimator.cc */, + 697E9AB921A4ED6A00E03846 /* render_signal_analyzer.cc */, + 697E9ABA21A4ED6A00E03846 /* echo_path_variability.h */, + 697E9ABB21A4ED6A00E03846 /* moving_average.h */, + 697E9ABC21A4ED6A00E03846 /* render_reverb_model.h */, + 697E9ABD21A4ED6A00E03846 /* subtractor_output_analyzer.cc */, + 697E9ABE21A4ED6A00E03846 /* suppression_gain.cc */, + 697E9ABF21A4ED6A00E03846 /* echo_audibility.cc */, + 697E9AC021A4ED6A00E03846 /* block_processor_metrics.cc */, + 697E9AC121A4ED6A00E03846 /* render_delay_controller.h */, + 697E9AC221A4ED6A00E03846 /* suppression_gain.h */, + 697E9AC321A4ED6A00E03846 /* moving_average.cc */, + 697E9AC421A4ED6A00E03846 /* erle_estimator.h */, + 697E9AC521A4ED6A00E03846 /* subband_erle_estimator.h */, + 697E9AC621A4ED6A00E03846 /* reverb_model_estimator.cc */, + 697E9AC721A4ED6A00E03846 /* aec3_common.cc */, + 697E9AC821A4ED6A00E03846 /* residual_echo_estimator.cc */, + 697E9AC921A4ED6A00E03846 /* block_processor.h */, + 697E9ACA21A4ED6A00E03846 /* fullband_erle_estimator.h */, + 697E9ACB21A4ED6A00E03846 /* matched_filter.cc */, + 697E9ACC21A4ED6A00E03846 /* stationarity_estimator.h */, + 697E9ACD21A4ED6A00E03846 /* echo_canceller3.h */, + 697E9ACE21A4ED6A00E03846 /* skew_estimator.h */, + 697E9ACF21A4ED6A00E03846 /* reverb_decay_estimator.cc */, + 697E9AD021A4ED6A00E03846 /* render_delay_controller2.cc */, + 697E9AD121A4ED6A00E03846 /* render_buffer.h */, + 697E9AD221A4ED6A00E03846 /* suppression_gain_limiter.cc */, + 697E9AD321A4ED6A00E03846 /* main_filter_update_gain.cc */, + 697E9AD421A4ED6A00E03846 /* echo_remover.cc */, + 697E9AD521A4ED6A00E03846 /* reverb_model_fallback.h */, + 697E9AD621A4ED6A00E03846 /* downsampled_render_buffer.cc */, + 697E9AD721A4ED6A00E03846 /* vector_buffer.h */, + 697E9AD821A4ED6A00E03846 /* matrix_buffer.cc */, + 697E9AD921A4ED6A00E03846 /* reverb_frequency_response.h */, + 697E9ADA21A4ED6A00E03846 /* echo_audibility.h */, + 697E9ADB21A4ED6A00E03846 /* fft_buffer.h */, + 697E9ADC21A4ED6A00E03846 /* block_processor2.cc */, + 697E9ADD21A4ED6A00E03846 /* echo_canceller3.cc */, + 697E9ADE21A4ED6A00E03846 /* block_delay_buffer.cc */, + 697E9ADF21A4ED6A00E03846 /* aec3_common.h */, + 697E9AE021A4ED6A00E03846 /* fft_buffer.cc */, + 697E9AE121A4ED6A00E03846 /* vector_math.h */, + 697E9AE221A4ED6A00E03846 /* decimator.h */, + 697E9AE321A4ED6A00E03846 /* frame_blocker.h */, + 697E9AE421A4ED6A00E03846 /* block_framer.h */, + 697E9AE521A4ED6A00E03846 /* suppression_gain_limiter.h */, + 697E9AE621A4ED6A00E03846 /* delay_estimate.h */, + 697E9AE721A4ED6A00E03846 /* comfort_noise_generator.cc */, + 697E9AE821A4ED6A00E03846 /* reverb_model.h */, + 697E9AE921A4ED6A00E03846 /* main_filter_update_gain.h */, + 697E9AEA21A4ED6A00E03846 /* matched_filter_lag_aggregator.h */, + 697E9AEB21A4ED6A00E03846 /* shadow_filter_update_gain.cc */, + 697E9AEC21A4ED6A00E03846 /* filter_analyzer.cc */, + 697E9AED21A4ED6A00E03846 /* reverb_decay_estimator.h */, + 697E9AEE21A4ED6A00E03846 /* reverb_frequency_response.cc */, + 697E9AEF21A4ED6A00E03846 /* decimator.cc */, + 697E9AF021A4ED6A00E03846 /* render_delay_buffer.h */, + ); + path = aec3; + sourceTree = ""; + }; + 697E9AF421A4ED6A00E03846 /* logging */ = { + isa = PBXGroup; + children = ( + 697E9AF521A4ED6A00E03846 /* apm_data_dumper.cc */, + 697E9AF621A4ED6A00E03846 /* apm_data_dumper.h */, + ); + path = logging; + sourceTree = ""; + }; + 697E9AF721A4ED6A00E03846 /* vad */ = { + isa = PBXGroup; + children = ( + 697E9AF821A4ED6A00E03846 /* voice_activity_detector.cc */, + 697E9AF921A4ED6A00E03846 /* standalone_vad.cc */, + 697E9AFA21A4ED6A00E03846 /* vad_audio_proc_internal.h */, + 697E9AFB21A4ED6A00E03846 /* pitch_internal.cc */, + 697E9AFC21A4ED6A00E03846 /* vad_circular_buffer.cc */, + 697E9AFD21A4ED6A00E03846 /* vad_circular_buffer.h */, + 697E9AFE21A4ED6A00E03846 /* pitch_based_vad.h */, + 697E9AFF21A4ED6A00E03846 /* vad_audio_proc.cc */, + 697E9B0021A4ED6A00E03846 /* pole_zero_filter.cc */, + 697E9B0121A4ED6A00E03846 /* pole_zero_filter.h */, + 697E9B0221A4ED6A00E03846 /* pitch_based_vad.cc */, + 697E9B0321A4ED6A00E03846 /* gmm.h */, + 697E9B0421A4ED6A00E03846 /* common.h */, + 697E9B0521A4ED6A00E03846 /* vad_audio_proc.h */, + 697E9B0621A4ED6A00E03846 /* voice_gmm_tables.h */, + 697E9B0721A4ED6A00E03846 /* noise_gmm_tables.h */, + 697E9B0821A4ED6A00E03846 /* pitch_internal.h */, + 697E9B0921A4ED6A00E03846 /* gmm.cc */, + 697E9B0A21A4ED6A00E03846 /* standalone_vad.h */, + 697E9B0B21A4ED6A00E03846 /* voice_activity_detector.h */, + ); + path = vad; + sourceTree = ""; + }; + 697E9B0C21A4ED6A00E03846 /* utility */ = { + isa = PBXGroup; + children = ( + 697E9B0D21A4ED6A00E03846 /* ooura_fft_tables_neon_sse2.h */, + 697E9B0E21A4ED6A00E03846 /* delay_estimator_internal.h */, + 697E9B0F21A4ED6A00E03846 /* ooura_fft.cc */, + 697E9B1021A4ED6A00E03846 /* ooura_fft.h */, + 697E9B1121A4ED6A00E03846 /* delay_estimator_wrapper.cc */, + 697E9B1221A4ED6A00E03846 /* ooura_fft_sse2.cc */, + 697E9B1321A4ED6A00E03846 /* delay_estimator.cc */, + 697E9B1421A4ED6A00E03846 /* block_mean_calculator.h */, + 697E9B1521A4ED6A00E03846 /* ooura_fft_neon.cc */, + 697E9B1621A4ED6A00E03846 /* block_mean_calculator.cc */, + 697E9B1721A4ED6A00E03846 /* delay_estimator.h */, + 697E9B1821A4ED6A00E03846 /* ooura_fft_tables_common.h */, + 697E9B1921A4ED6A00E03846 /* delay_estimator_wrapper.h */, + ); + path = utility; + sourceTree = ""; + }; + 697E9B1A21A4ED6A00E03846 /* third_party */ = { + isa = PBXGroup; + children = ( + 697E9B1B21A4ED6A00E03846 /* rnnoise */, + ); + path = third_party; + sourceTree = ""; + }; + 697E9B1B21A4ED6A00E03846 /* rnnoise */ = { + isa = PBXGroup; + children = ( + 697E9B1C21A4ED6A00E03846 /* src */, + ); + path = rnnoise; + sourceTree = ""; + }; + 697E9B1C21A4ED6A00E03846 /* src */ = { + isa = PBXGroup; + children = ( + 697E9B1D21A4ED6A00E03846 /* rnn_vad_weights.cc */, + 697E9B1E21A4ED6A00E03846 /* rnn_activations.h */, + 697E9B1F21A4ED6A00E03846 /* kiss_fft.h */, + 697E9B2021A4ED6A00E03846 /* kiss_fft.cc */, + 697E9B2121A4ED6A00E03846 /* rnn_vad_weights.h */, + ); + path = src; + sourceTree = ""; + }; + 69A6DCFE1E95EC7700000E69 /* webrtc_dsp */ = { + isa = PBXGroup; + children = ( + 697E990B21A4ED6800E03846 /* absl */, + 697E993421A4ED6900E03846 /* api */, + 697E989521A4ED6800E03846 /* common_audio */, + 697E998221A4ED6900E03846 /* modules */, + 697E993E21A4ED6900E03846 /* rtc_base */, + 697E988A21A4ED6800E03846 /* system_wrappers */, + 697E9B1A21A4ED6A00E03846 /* third_party */, + 697E961921A4EA0700E03846 /* typedefs.h */, + ); + path = webrtc_dsp; + sourceTree = ""; + }; 69DD8CFC218CD400001E8140 /* video */ = { isa = PBXGroup; children = ( @@ -901,92 +2327,8 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 69986178209526D400B68BEC /* Buffers.h in Headers */, - 692AB9011E6759DD00706ACC /* threading.h in Headers */, - 692AB8EA1E6759DD00706ACC /* MediaStreamItf.h in Headers */, - 692AB8EE1E6759DD00706ACC /* OpusEncoder.h in Headers */, - 69A6DDEB1E95EC7700000E69 /* echo_control_mobile.h in Headers */, - 692AB8CE1E6759DD00706ACC /* AudioOutput.h in Headers */, - 692AB8D91E6759DD00706ACC /* CongestionControl.h in Headers */, - 69A6DDFE1E95EC7700000E69 /* nsx_defines.h in Headers */, - 692AB8CC1E6759DD00706ACC /* AudioInput.h in Headers */, - 69A6DDA51E95EC7700000E69 /* fft4g.h in Headers */, - 69A6DDC01E95EC7700000E69 /* spl_inl.h in Headers */, - 69A6DE0F1E95EC7800000E69 /* ooura_fft_tables_common.h in Headers */, - 69A6DDDA1E95EC7700000E69 /* sparse_fir_filter.h in Headers */, - 69A6DDE61E95EC7700000E69 /* aecm_core.h in Headers */, - 692AB8EC1E6759DD00706ACC /* OpusDecoder.h in Headers */, - 69A6DE1E1E95ECF000000E69 /* wav_header.h in Headers */, - 69A6DD981E95EC7700000E69 /* checks.h in Headers */, - 69DD8D04218CD401001E8140 /* VideoSource.h in Headers */, - 692AB8E81E6759DD00706ACC /* logging.h in Headers */, - 69A6DDED1E95EC7700000E69 /* analog_agc.h in Headers */, - 69A6DE081E95EC7800000E69 /* delay_estimator_internal.h in Headers */, - 69A6DDE91E95EC7700000E69 /* aecm_defines.h in Headers */, - 69A6DD9C1E95EC7700000E69 /* safe_conversions_impl.h in Headers */, - 69A6DDAE1E95EC7700000E69 /* complex_fft_tables.h in Headers */, - 692AB8FF1E6759DD00706ACC /* TGLogWrapper.h in Headers */, - 69791A4E1EE8262400BB85FB /* NetworkSocketPosix.h in Headers */, - 69DD8D01218CD401001E8140 /* VideoRenderer.h in Headers */, 692AB9051E6759DD00706ACC /* VoIPServerConfig.h in Headers */, - 6998617C2095292A00B68BEC /* PacketReassembler.h in Headers */, - 69A6DDF31E95EC7700000E69 /* defines.h in Headers */, - 69A6DD9D1E95EC7700000E69 /* sanitizer.h in Headers */, 692AB9031E6759DD00706ACC /* VoIPController.h in Headers */, - 69A6DDC11E95EC7700000E69 /* spl_inl_armv7.h in Headers */, - 69A6DE031E95EC7800000E69 /* three_band_filter_bank.h in Headers */, - 69A6DDFB1E95EC7700000E69 /* nsx_core.h in Headers */, - D00ACA4F20222F5D0045D427 /* SetupLogging.h in Headers */, - 69A6DDE41E95EC7700000E69 /* echo_cancellation.h in Headers */, - 69A6DDF71E95EC7700000E69 /* noise_suppression_x.h in Headers */, - 69A6DD9B1E95EC7700000E69 /* safe_conversions.h in Headers */, - 69A6DE071E95EC7800000E69 /* delay_estimator.h in Headers */, - 69A6DDFF1E95EC7700000E69 /* windows_private.h in Headers */, - 69A6DD961E95EC7700000E69 /* basictypes.h in Headers */, - 69A6DE161E95EC7800000E69 /* typedefs.h in Headers */, - 69E357B120F88955002E163B /* AudioIO.h in Headers */, - 69A6DDE21E95EC7700000E69 /* aec_resampler.h in Headers */, - 69A6DD9F1E95EC7700000E69 /* stringutils.h in Headers */, - 69A6DDDB1E95EC7700000E69 /* aec_common.h in Headers */, - 69A6DDDD1E95EC7700000E69 /* aec_core.h in Headers */, - 69A6DE051E95EC7800000E69 /* block_mean_calculator.h in Headers */, - 69A6DD951E95EC7700000E69 /* atomicops.h in Headers */, - 69A6DD991E95EC7700000E69 /* constructormagic.h in Headers */, - 69A6DDA01E95EC7700000E69 /* type_traits.h in Headers */, - 69A6DDBE1E95EC7700000E69 /* real_fft.h in Headers */, - 69FB0B2E20F6860E00827817 /* MessageThread.h in Headers */, - 692AB8FC1E6759DD00706ACC /* AudioOutputAudioUnit.h in Headers */, - 69A6DD941E95EC7700000E69 /* array_view.h in Headers */, - 692AB8D01E6759DD00706ACC /* BlockingQueue.h in Headers */, - 69A6DDF91E95EC7700000E69 /* ns_core.h in Headers */, - 69A6DDA31E95EC7700000E69 /* channel_buffer.h in Headers */, - 69A6DE0A1E95EC7800000E69 /* delay_estimator_wrapper.h in Headers */, - 69A6DE141E95EC7800000E69 /* metrics.h in Headers */, - 692AB8FE1E6759DD00706ACC /* AudioUnitIO.h in Headers */, - 69015D951E9D848700AC9763 /* NetworkSocket.h in Headers */, - 69A6DE131E95EC7800000E69 /* cpu_features_wrapper.h in Headers */, - 69A6DDDF1E95EC7700000E69 /* aec_core_optimized_methods.h in Headers */, - 69A6DE101E95EC7800000E69 /* ooura_fft_tables_neon_sse2.h in Headers */, - 69A6DDBF1E95EC7700000E69 /* signal_processing_library.h in Headers */, - 69A6DDCF1E95EC7700000E69 /* resample_by_2_internal.h in Headers */, - 69A6DDA81E95EC7700000E69 /* ring_buffer.h in Headers */, - 69A6DE111E95EC7800000E69 /* asm_defines.h in Headers */, - 69A6DE011E95EC7800000E69 /* splitting_filter.h in Headers */, - 69A6DE0C1E95EC7800000E69 /* ooura_fft.h in Headers */, - 69A6DDA61E95EC7700000E69 /* audio_util.h in Headers */, - 692AB8FA1E6759DD00706ACC /* AudioInputAudioUnit.h in Headers */, - 69A6DD9A1E95EC7700000E69 /* safe_compare.h in Headers */, - 69A6DDEF1E95EC7700000E69 /* digital_agc.h in Headers */, - 69A6DDF21E95EC7700000E69 /* apm_data_dumper.h in Headers */, - 69960A041EF85C2900F9D091 /* DarwinSpecific.h in Headers */, - 69A6DDC21E95EC7700000E69 /* spl_inl_mips.h in Headers */, - 69791A581EE8272A00BB85FB /* Resampler.h in Headers */, - 692AB8DB1E6759DD00706ACC /* EchoCanceller.h in Headers */, - 69A6DE1C1E95ECF000000E69 /* wav_file.h in Headers */, - 69A6DDF51E95EC7700000E69 /* noise_suppression.h in Headers */, - 692AB8E71E6759DD00706ACC /* JitterBuffer.h in Headers */, - 69A6DE121E95EC7800000E69 /* compile_assert_c.h in Headers */, - 69A6DDF01E95EC7700000E69 /* gain_control.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1116,108 +2458,308 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 697E9D1B21A4ED6D00E03846 /* echo_audibility.cc in Sources */, + 697E9B9821A4ED6B00E03846 /* ascii.cc in Sources */, + 697E9B3C21A4ED6B00E03846 /* sinc_resampler_neon.cc in Sources */, + 697E9D0621A4ED6D00E03846 /* skew_estimator.cc in Sources */, + 697E9C5321A4ED6C00E03846 /* audio_processing_statistics.cc in Sources */, + 697E9BFD21A4ED6C00E03846 /* pitch_estimator.c in Sources */, + 697E9C7C21A4ED6C00E03846 /* fft_util.cc in Sources */, + 697E9D1F21A4ED6D00E03846 /* moving_average.cc in Sources */, + 697E9D1C21A4ED6D00E03846 /* block_processor_metrics.cc in Sources */, + 697E9C7721A4ED6C00E03846 /* spectral_features.cc in Sources */, + 697E9B4721A4ED6B00E03846 /* sinusoidal_linear_chirp_source.cc in Sources */, + 697E9D5A21A4ED6E00E03846 /* pole_zero_filter.cc in Sources */, + 697E9D1321A4ED6D00E03846 /* subtractor_output.cc in Sources */, + 697E9B3821A4ED6B00E03846 /* audio_util.cc in Sources */, + 697E9D5C21A4ED6E00E03846 /* pitch_based_vad.cc in Sources */, + 697E9B9021A4ED6B00E03846 /* vad_core.c in Sources */, + 697E9C9D21A4ED6D00E03846 /* wpd_tree.cc in Sources */, + 697E9C2721A4ED6C00E03846 /* decode_bwe.c in Sources */, + 697E9D6C21A4ED6E00E03846 /* delay_estimator.cc in Sources */, + 697E9C1021A4ED6C00E03846 /* lpc_tables.c in Sources */, + 697E9B5B21A4ED6B00E03846 /* complex_fft.c in Sources */, + 697E9B9321A4ED6B00E03846 /* vad_gmm.c in Sources */, + 697E9D4A21A4ED6D00E03846 /* reverb_frequency_response.cc in Sources */, + 697E9C9721A4ED6D00E03846 /* biquad_filter.cc in Sources */, + 697E9B5021A4ED6B00E03846 /* audio_converter.cc in Sources */, + 697E9CFC21A4ED6D00E03846 /* subband_erle_estimator.cc in Sources */, + 697E9B4E21A4ED6B00E03846 /* fft4g.c in Sources */, + 697E9C6821A4ED6C00E03846 /* spectral_features_internal.cc in Sources */, + 697E9CAE21A4ED6D00E03846 /* aec_resampler.cc in Sources */, + 697E9D3C21A4ED6D00E03846 /* fft_buffer.cc in Sources */, + 697E9CD021A4ED6D00E03846 /* file_audio_generator.cc in Sources */, + 697E9CB921A4ED6D00E03846 /* gain_control_for_experimental_agc.cc in Sources */, + 697E9CDA21A4ED6D00E03846 /* aecm_core.cc in Sources */, + 697E9C6121A4ED6C00E03846 /* gain_applier.cc in Sources */, + 697E9C0C21A4ED6C00E03846 /* filter_functions.c in Sources */, + 697E9CBB21A4ED6D00E03846 /* loudness_histogram.cc in Sources */, 6915307B1E6B5BAB004F643F /* logging.cpp in Sources */, - 69A6DDD31E95EC7700000E69 /* spl_sqrt.c in Sources */, - 69A6DDC51E95EC7700000E69 /* min_max_operations.c in Sources */, + 697E9C0D21A4ED6C00E03846 /* decode.c in Sources */, + 697E9B2821A4ED6B00E03846 /* metrics.cc in Sources */, + 697E9CEA21A4ED6D00E03846 /* echo_path_variability.cc in Sources */, + 697E9B7921A4ED6B00E03846 /* filter_ar.c in Sources */, 692AB9041E6759DD00706ACC /* VoIPServerConfig.cpp in Sources */, - 69A6DD971E95EC7700000E69 /* checks.cc in Sources */, - 69A6DDB11E95EC7700000E69 /* cross_correlation_neon.c in Sources */, - 69A6DDF11E95EC7700000E69 /* apm_data_dumper.cc in Sources */, - 69A6DDFA1E95EC7700000E69 /* nsx_core.c in Sources */, - 69A6DDAD1E95EC7700000E69 /* complex_fft.c in Sources */, - 69A6DDA41E95EC7700000E69 /* fft4g.c in Sources */, + 697E9B7D21A4ED6B00E03846 /* ilbc_specific_functions.c in Sources */, + 697E9C7021A4ED6C00E03846 /* pitch_search_internal.cc in Sources */, + 697E9C7D21A4ED6C00E03846 /* lp_residual.cc in Sources */, + 697E9B5621A4ED6B00E03846 /* smoothing_filter.cc in Sources */, 692AB9021E6759DD00706ACC /* VoIPController.cpp in Sources */, - 69A6DDB61E95EC7700000E69 /* energy.c in Sources */, + 697E9C2B21A4ED6C00E03846 /* isac.c in Sources */, + 697E9CDF21A4ED6D00E03846 /* render_reverb_model.cc in Sources */, + 697E9CCA21A4ED6D00E03846 /* audio_processing_impl.cc in Sources */, + 697E9CAC21A4ED6D00E03846 /* echo_cancellation.cc in Sources */, + 697E9CDE21A4ED6D00E03846 /* echo_control_mobile.cc in Sources */, + 697E9C6B21A4ED6C00E03846 /* rnn.cc in Sources */, + 697E9B4021A4ED6B00E03846 /* sinc_resampler_sse.cc in Sources */, + 697E9D0521A4ED6D00E03846 /* render_delay_controller.cc in Sources */, + 697E9D7621A4ED6E00E03846 /* kiss_fft.cc in Sources */, + 697E9B6521A4ED6B00E03846 /* sqrt_of_one_minus_x_squared.c in Sources */, 69960A051EF85C2900F9D091 /* DarwinSpecific.mm in Sources */, - 69A6DDA11E95EC7700000E69 /* audio_util.cc in Sources */, - 69A6DDE31E95EC7700000E69 /* echo_cancellation.cc in Sources */, - 69A6DDD71E95EC7700000E69 /* sqrt_of_one_minus_x_squared.c in Sources */, 69791A4D1EE8262400BB85FB /* NetworkSocketPosix.cpp in Sources */, + 697E9CBC21A4ED6D00E03846 /* agc_manager_direct.cc in Sources */, + 697E9B5821A4ED6B00E03846 /* ring_buffer.c in Sources */, + 697E9C1E21A4ED6C00E03846 /* isac_vad.c in Sources */, + 697E9B6921A4ED6B00E03846 /* lpc_to_refl_coef.c in Sources */, + 697E9CF321A4ED6D00E03846 /* aec3_fft.cc in Sources */, + 697E9B3A21A4ED6B00E03846 /* fir_filter_sse.cc in Sources */, + 697E9CEC21A4ED6D00E03846 /* subtractor.cc in Sources */, + 697E9C2821A4ED6C00E03846 /* spectrum_ar_model_tables.c in Sources */, + 697E9C1821A4ED6C00E03846 /* arith_routines_hist.c in Sources */, + 697E9B2E21A4ED6B00E03846 /* fir_filter_factory.cc in Sources */, 69DD8D02218CD401001E8140 /* VideoRenderer.cpp in Sources */, + 697E9C8321A4ED6C00E03846 /* agc2_testing_common.cc in Sources */, + 697E9C6621A4ED6C00E03846 /* saturation_protector.cc in Sources */, + 697E9CA521A4ED6D00E03846 /* transient_suppressor.cc in Sources */, + 697E9B6F21A4ED6B00E03846 /* division_operations.c in Sources */, + 697E9CC021A4ED6D00E03846 /* analog_agc.c in Sources */, + 697E9C1D21A4ED6C00E03846 /* entropy_coding.c in Sources */, + 697E9CD521A4ED6D00E03846 /* noise_suppression_impl.cc in Sources */, + 697E9D1A21A4ED6D00E03846 /* suppression_gain.cc in Sources */, + 697E9B7221A4ED6B00E03846 /* min_max_operations_neon.c in Sources */, + 697E9B8921A4ED6B00E03846 /* vad.cc in Sources */, + 697E9BD721A4ED6C00E03846 /* checks.cc in Sources */, + 697E9C7F21A4ED6C00E03846 /* adaptive_mode_level_estimator_agc.cc in Sources */, 692AB8D81E6759DD00706ACC /* CongestionControl.cpp in Sources */, - 69A6DDCD1E95EC7700000E69 /* resample_by_2.c in Sources */, - 69A6DDE51E95EC7700000E69 /* aecm_core.cc in Sources */, - 69A6DDBA1E95EC7700000E69 /* filter_ma_fast_q12.c in Sources */, - 69A6DDE81E95EC7700000E69 /* aecm_core_neon.cc in Sources */, - 69A6DDBB1E95EC7700000E69 /* get_hanning_window.c in Sources */, - 69A6DDB51E95EC7700000E69 /* downsample_fast_neon.c in Sources */, + 697E9BE421A4ED6C00E03846 /* logging_webrtc.cc in Sources */, + 697E9D2F21A4ED6D00E03846 /* main_filter_update_gain.cc in Sources */, + 697E9C0A21A4ED6C00E03846 /* pitch_filter.c in Sources */, + 697E9CDB21A4ED6D00E03846 /* aecm_core_c.cc in Sources */, + 697E9C3421A4ED6C00E03846 /* circular_buffer.cc in Sources */, + 697E9B4B21A4ED6B00E03846 /* spl_sqrt_floor.c in Sources */, + 697E9D5521A4ED6D00E03846 /* pitch_internal.cc in Sources */, + 697E9CF621A4ED6D00E03846 /* fullband_erle_estimator.cc in Sources */, + 697E9C8821A4ED6C00E03846 /* limiter_db_gain_curve.cc in Sources */, + 697E9B4421A4ED6B00E03846 /* push_resampler.cc in Sources */, + 697E9B3D21A4ED6B00E03846 /* push_sinc_resampler.cc in Sources */, + 697E9C5921A4ED6C00E03846 /* audio_processing.cc in Sources */, + 697E9C4B21A4ED6C00E03846 /* typing_detection.cc in Sources */, + 697E9B6121A4ED6B00E03846 /* auto_corr_to_refl_coef.c in Sources */, + 697E9C2521A4ED6C00E03846 /* lpc_shape_swb12_tables.c in Sources */, + 697E9BA521A4ED6B00E03846 /* raw_logging.cc in Sources */, + 697E9D6E21A4ED6E00E03846 /* ooura_fft_neon.cc in Sources */, + 697E9C1521A4ED6C00E03846 /* encode.c in Sources */, + 697E9B5421A4ED6B00E03846 /* sparse_fir_filter.cc in Sources */, + 697E9B5721A4ED6B00E03846 /* fir_filter_c.cc in Sources */, + 697E9D0E21A4ED6D00E03846 /* reverb_model.cc in Sources */, + 697E9C7921A4ED6C00E03846 /* pitch_search.cc in Sources */, + 697E9B5C21A4ED6B00E03846 /* filter_ma_fast_q12.c in Sources */, 69015D941E9D848700AC9763 /* NetworkSocket.cpp in Sources */, - 69A6DDC41E95EC7700000E69 /* lpc_to_refl_coef.c in Sources */, - 69A6DDEC1E95EC7700000E69 /* analog_agc.c in Sources */, - 69A6DDA71E95EC7700000E69 /* ring_buffer.c in Sources */, + 697E9C8021A4ED6C00E03846 /* vector_float_frame.cc in Sources */, + 697E9C3921A4ED6C00E03846 /* gain_control_impl.cc in Sources */, + 697E9B7C21A4ED6B00E03846 /* real_fft.c in Sources */, + 697E9D0F21A4ED6D00E03846 /* cascaded_biquad_filter.cc in Sources */, + 697E9D4821A4ED6D00E03846 /* filter_analyzer.cc in Sources */, + 697E9D5921A4ED6E00E03846 /* vad_audio_proc.cc in Sources */, + 697E9D4321A4ED6D00E03846 /* comfort_noise_generator.cc in Sources */, + 697E9B2721A4ED6B00E03846 /* field_trial.cc in Sources */, + 697E9CFE21A4ED6D00E03846 /* render_delay_buffer.cc in Sources */, + 697E9C5A21A4ED6C00E03846 /* config.cc in Sources */, + 697E9D4721A4ED6D00E03846 /* shadow_filter_update_gain.cc in Sources */, + 697E9CA421A4ED6D00E03846 /* wpd_node.cc in Sources */, + 697E9D1521A4ED6D00E03846 /* render_signal_analyzer.cc in Sources */, + 697E9B5E21A4ED6B00E03846 /* levinson_durbin.c in Sources */, + 697E9D0321A4ED6D00E03846 /* adaptive_fir_filter.cc in Sources */, + 697E9B4A21A4ED6B00E03846 /* wav_file.cc in Sources */, + 697E9CE721A4ED6D00E03846 /* render_delay_buffer2.cc in Sources */, + 697E9C1121A4ED6C00E03846 /* lpc_gain_swb_tables.c in Sources */, + 697E9C3D21A4ED6C00E03846 /* noise_suppression_x.c in Sources */, + 697E9D6F21A4ED6E00E03846 /* block_mean_calculator.cc in Sources */, + 697E9CAB21A4ED6D00E03846 /* three_band_filter_bank.cc in Sources */, 692AB8FB1E6759DD00706ACC /* AudioOutputAudioUnit.cpp in Sources */, + 697E9B7821A4ED6B00E03846 /* refl_coef_to_lpc.c in Sources */, + 697E9B2921A4ED6B00E03846 /* cpu_features.cc in Sources */, + 697E9C1221A4ED6C00E03846 /* bandwidth_estimator.c in Sources */, + 697E9BB821A4ED6B00E03846 /* echo_canceller3_factory.cc in Sources */, + 697E9BF021A4ED6C00E03846 /* event_tracer.cc in Sources */, + 697E9D5021A4ED6D00E03846 /* apm_data_dumper.cc in Sources */, + 697E9B8521A4ED6B00E03846 /* spl_inl.c in Sources */, + 697E9D3A21A4ED6D00E03846 /* block_delay_buffer.cc in Sources */, + 697E9C6321A4ED6C00E03846 /* adaptive_agc.cc in Sources */, + 697E9D4D21A4ED6D00E03846 /* echo_control_mobile_impl.cc in Sources */, + 697E9D0D21A4ED6D00E03846 /* erle_estimator.cc in Sources */, + 697E9B9C21A4ED6B00E03846 /* bad_optional_access.cc in Sources */, + 697E9C4521A4ED6C00E03846 /* nsx_core_neon.c in Sources */, + 697E9B5121A4ED6B00E03846 /* real_fourier.cc in Sources */, + 697E9CB021A4ED6D00E03846 /* aec_core.cc in Sources */, + 697E9B6221A4ED6B00E03846 /* resample_by_2_internal.c in Sources */, + 697E9B6421A4ED6B00E03846 /* energy.c in Sources */, 692AB8EB1E6759DD00706ACC /* OpusDecoder.cpp in Sources */, + 697E9B8821A4ED6B00E03846 /* vad_sp.c in Sources */, + 697E9D2B21A4ED6D00E03846 /* reverb_decay_estimator.cc in Sources */, + 697E9C2321A4ED6C00E03846 /* arith_routines.c in Sources */, 692AB8E61E6759DD00706ACC /* JitterBuffer.cpp in Sources */, - 69A6DE1D1E95ECF000000E69 /* wav_header.cc in Sources */, - 69A6DDBC1E95EC7700000E69 /* get_scaling_square.c in Sources */, - 69A6DDDC1E95EC7700000E69 /* aec_core.cc in Sources */, + 697E9BFA21A4ED6C00E03846 /* fft.c in Sources */, + 697E9B3F21A4ED6B00E03846 /* resampler.cc in Sources */, + 697E9C3821A4ED6C00E03846 /* splitting_filter.cc in Sources */, + 697E9CF721A4ED6D00E03846 /* suppression_filter.cc in Sources */, + 697E9BB221A4ED6B00E03846 /* audio_frame.cc in Sources */, + 697E9C9321A4ED6D00E03846 /* signal_classifier.cc in Sources */, + 697E9C0621A4ED6C00E03846 /* transform.c in Sources */, + 697E9CB721A4ED6D00E03846 /* voice_detection_impl.cc in Sources */, 692AB9001E6759DD00706ACC /* TGLogWrapper.m in Sources */, - 69A6DDC71E95EC7700000E69 /* randomization_functions.c in Sources */, - 69A6DDD51E95EC7700000E69 /* spl_sqrt_floor_arm.S in Sources */, - 69A6DDAF1E95EC7700000E69 /* copy_set_operations.c in Sources */, + 697E9BEE21A4ED6C00E03846 /* event.cc in Sources */, + 697E9D2421A4ED6D00E03846 /* residual_echo_estimator.cc in Sources */, + 697E9CE621A4ED6D00E03846 /* matched_filter_lag_aggregator.cc in Sources */, + 697E9B9D21A4ED6B00E03846 /* optional.cc in Sources */, + 697E9CFD21A4ED6D00E03846 /* render_delay_controller_metrics.cc in Sources */, + 697E9C3521A4ED6C00E03846 /* mean_variance_estimator.cc in Sources */, + 697E9B9521A4ED6B00E03846 /* memutil.cc in Sources */, + 697E9BFE21A4ED6C00E03846 /* lpc_shape_swb16_tables.c in Sources */, + 697E9C6521A4ED6C00E03846 /* limiter.cc in Sources */, + 697E9B7521A4ED6B00E03846 /* resample.c in Sources */, 692AB8F91E6759DD00706ACC /* AudioInputAudioUnit.cpp in Sources */, - 69A6DDFC1E95EC7700000E69 /* nsx_core_c.c in Sources */, - 69A6DDE71E95EC7700000E69 /* aecm_core_c.cc in Sources */, - 69A6DDC61E95EC7700000E69 /* min_max_operations_neon.c in Sources */, - 69A6DDB01E95EC7700000E69 /* cross_correlation.c in Sources */, + 697E9D1921A4ED6D00E03846 /* subtractor_output_analyzer.cc in Sources */, + 697E9BD521A4ED6C00E03846 /* stringencode.cc in Sources */, + 697E9D5321A4ED6D00E03846 /* standalone_vad.cc in Sources */, + 697E9C0B21A4ED6C00E03846 /* encode_lpc_swb.c in Sources */, + 697E9CD121A4ED6D00E03846 /* gain_controller2.cc in Sources */, + 697E9BBC21A4ED6B00E03846 /* race_checker.cc in Sources */, + 697E9D3821A4ED6D00E03846 /* block_processor2.cc in Sources */, + 697E9BEB21A4ED6C00E03846 /* criticalsection.cc in Sources */, 69791A571EE8272A00BB85FB /* Resampler.cpp in Sources */, - 69A6DE0B1E95EC7800000E69 /* ooura_fft.cc in Sources */, + 697E9B8221A4ED6B00E03846 /* resample_by_2.c in Sources */, + 697E9B3521A4ED6B00E03846 /* wav_header.cc in Sources */, + 697E9D5621A4ED6E00E03846 /* vad_circular_buffer.cc in Sources */, + 697E9CEB21A4ED6D00E03846 /* frame_blocker.cc in Sources */, + 697E9B7A21A4ED6B00E03846 /* vector_scaling_operations.c in Sources */, + 697E9BBE21A4ED6B00E03846 /* string_builder.cc in Sources */, + 697E9BC921A4ED6C00E03846 /* platform_file.cc in Sources */, + 697E9C0E21A4ED6C00E03846 /* lattice.c in Sources */, 69DD8D03218CD401001E8140 /* VideoSource.cpp in Sources */, - 69A6DDB21E95EC7700000E69 /* division_operations.c in Sources */, - 69A6DDCA1E95EC7700000E69 /* refl_coef_to_lpc.c in Sources */, - 69A6DDD21E95EC7700000E69 /* spl_inl.c in Sources */, - 69A6DDA21E95EC7700000E69 /* channel_buffer.cc in Sources */, - 69A6DDA91E95EC7700000E69 /* auto_corr_to_refl_coef.c in Sources */, - 69A6DDD01E95EC7700000E69 /* resample_fractional.c in Sources */, - 69A6DDCB1E95EC7700000E69 /* resample.c in Sources */, - 69A6DDD61E95EC7700000E69 /* splitting_filter_impl.c in Sources */, - 69A6DDEE1E95EC7700000E69 /* digital_agc.c in Sources */, - 69A6DDDE1E95EC7700000E69 /* aec_core_neon.cc in Sources */, - 69A6DDF81E95EC7700000E69 /* ns_core.c in Sources */, + 697E9CB421A4ED6D00E03846 /* aec_core_sse2.cc in Sources */, + 697E9B6721A4ED6B00E03846 /* filter_ar_fast_q12.c in Sources */, + 697E9CDC21A4ED6D00E03846 /* aecm_core_neon.cc in Sources */, + 697E9C5521A4ED6C00E03846 /* aec_dump.cc in Sources */, + 697E9D4B21A4ED6D00E03846 /* decimator.cc in Sources */, + 697E9C8521A4ED6C00E03846 /* fixed_gain_controller.cc in Sources */, 692AB8E91E6759DD00706ACC /* MediaStreamItf.cpp in Sources */, - 69A6DDE11E95EC7700000E69 /* aec_resampler.cc in Sources */, + 697E9CE221A4ED6D00E03846 /* reverb_model_fallback.cc in Sources */, + 697E9B8F21A4ED6B00E03846 /* vad_filterbank.c in Sources */, + 697E9C9121A4ED6D00E03846 /* down_sampler.cc in Sources */, + 697E9CA821A4ED6D00E03846 /* low_cut_filter.cc in Sources */, + 697E9C9A21A4ED6D00E03846 /* adaptive_mode_level_estimator.cc in Sources */, + 697E9C9521A4ED6D00E03846 /* compute_interpolated_gain_curve.cc in Sources */, + 697E9C1621A4ED6C00E03846 /* lpc_analysis.c in Sources */, + 697E9B8321A4ED6B00E03846 /* get_hanning_window.c in Sources */, + 697E9C0221A4ED6C00E03846 /* filterbanks.c in Sources */, + 697E9C5E21A4ED6C00E03846 /* agc2_common.cc in Sources */, + 697E9D0021A4ED6D00E03846 /* vector_buffer.cc in Sources */, + 697E9C0021A4ED6C00E03846 /* arith_routines_logist.c in Sources */, + 697E9B8A21A4ED6B00E03846 /* webrtc_vad.c in Sources */, + 697E9D0221A4ED6D00E03846 /* aec_state.cc in Sources */, + 697E9B3621A4ED6B00E03846 /* real_fourier_ooura.cc in Sources */, 692AB8DA1E6759DD00706ACC /* EchoCanceller.cpp in Sources */, - 69A6DDB71E95EC7700000E69 /* filter_ar.c in Sources */, - 69A6DE041E95EC7800000E69 /* block_mean_calculator.cc in Sources */, - 69A6DD9E1E95EC7700000E69 /* stringutils.cc in Sources */, - 69A6DE001E95EC7800000E69 /* splitting_filter.cc in Sources */, - 69A6DDC81E95EC7700000E69 /* real_fft.c in Sources */, - 69A6DDD11E95EC7700000E69 /* spl_init.c in Sources */, - 69A6DE061E95EC7800000E69 /* delay_estimator.cc in Sources */, - 69A6DDD41E95EC7700000E69 /* spl_sqrt_floor.c in Sources */, + 697E9C7B21A4ED6C00E03846 /* features_extraction.cc in Sources */, + 697E9D2C21A4ED6D00E03846 /* render_delay_controller2.cc in Sources */, + 697E9CB321A4ED6D00E03846 /* aec_core_neon.cc in Sources */, + 697E9D3921A4ED6D00E03846 /* echo_canceller3.cc in Sources */, + 697E9CF821A4ED6D00E03846 /* block_processor.cc in Sources */, + 697E9C5D21A4ED6C00E03846 /* interpolated_gain_curve.cc in Sources */, + 697E9C3E21A4ED6C00E03846 /* nsx_core_c.c in Sources */, + 697E9BE221A4ED6C00E03846 /* platform_thread.cc in Sources */, + 697E9B6621A4ED6B00E03846 /* downsample_fast.c in Sources */, + 697E9BEC21A4ED6C00E03846 /* platform_thread_types.cc in Sources */, + 697E9CB821A4ED6D00E03846 /* echo_cancellation_impl.cc in Sources */, + 697E9C2A21A4ED6C00E03846 /* pitch_lag_tables.c in Sources */, + 697E9C3321A4ED6C00E03846 /* moving_max.cc in Sources */, + 697E9BCB21A4ED6C00E03846 /* string_to_number.cc in Sources */, 6998617B2095292A00B68BEC /* PacketReassembler.cpp in Sources */, - 69A6DDB41E95EC7700000E69 /* downsample_fast.c in Sources */, - 69A6DDEA1E95EC7700000E69 /* echo_control_mobile.cc in Sources */, - 69A6DDF41E95EC7700000E69 /* noise_suppression.c in Sources */, + 697E9B8421A4ED6B00E03846 /* resample_48khz.c in Sources */, + 697E9D2721A4ED6D00E03846 /* matched_filter.cc in Sources */, + 697E9C4A21A4ED6C00E03846 /* audio_buffer.cc in Sources */, 69FB0B2D20F6860E00827817 /* MessageThread.cpp in Sources */, + 697E9B8621A4ED6B00E03846 /* spl_sqrt.c in Sources */, + 697E9BC121A4ED6B00E03846 /* aligned_malloc.cc in Sources */, + 697E9CD321A4ED6D00E03846 /* residual_echo_detector.cc in Sources */, + 697E9D0121A4ED6D00E03846 /* erl_estimator.cc in Sources */, + 697E9BD621A4ED6C00E03846 /* stringutils.cc in Sources */, + 697E9D6A21A4ED6E00E03846 /* delay_estimator_wrapper.cc in Sources */, 692AB8CF1E6759DD00706ACC /* BlockingQueue.cpp in Sources */, - 69A6DDC31E95EC7700000E69 /* levinson_durbin.c in Sources */, - 69A6DDF61E95EC7700000E69 /* noise_suppression_x.c in Sources */, - 69A6DE1B1E95ECF000000E69 /* wav_file.cc in Sources */, - 69A6DDCE1E95EC7700000E69 /* resample_by_2_internal.c in Sources */, 692AB8CB1E6759DD00706ACC /* AudioInput.cpp in Sources */, + 697E9B7621A4ED6B00E03846 /* cross_correlation_neon.c in Sources */, + 697E9C4121A4ED6C00E03846 /* ns_core.c in Sources */, 69E357B020F88955002E163B /* AudioIO.cpp in Sources */, - 69A6DDCC1E95EC7700000E69 /* resample_48khz.c in Sources */, - 69A6DDAC1E95EC7700000E69 /* complex_bit_reverse_arm.S in Sources */, - 69A6DDD81E95EC7700000E69 /* vector_scaling_operations.c in Sources */, - 69A6DE0D1E95EC7800000E69 /* ooura_fft_neon.cc in Sources */, + 697E9D3221A4ED6D00E03846 /* downsampled_render_buffer.cc in Sources */, + 697E9D6B21A4ED6E00E03846 /* ooura_fft_sse2.cc in Sources */, + 697E9C6421A4ED6C00E03846 /* adaptive_digital_gain_applier.cc in Sources */, + 697E9C9421A4ED6D00E03846 /* noise_spectrum_estimator.cc in Sources */, + 697E9BCF21A4ED6C00E03846 /* thread_checker_impl.cc in Sources */, + 697E9D6321A4ED6E00E03846 /* gmm.cc in Sources */, + 697E9CAA21A4ED6D00E03846 /* level_estimator_impl.cc in Sources */, + 697E9D3021A4ED6D00E03846 /* echo_remover.cc in Sources */, + 697E9C8721A4ED6C00E03846 /* vad_with_level.cc in Sources */, + 697E9B3721A4ED6B00E03846 /* fir_filter_neon.cc in Sources */, + 697E9C4621A4ED6C00E03846 /* noise_suppression.c in Sources */, + 697E9C2E21A4ED6C00E03846 /* rms_level.cc in Sources */, + 697E9B6821A4ED6B00E03846 /* spl_init.c in Sources */, + 697E9B7721A4ED6B00E03846 /* min_max_operations.c in Sources */, + 697E9D2E21A4ED6D00E03846 /* suppression_gain_limiter.cc in Sources */, + 697E9C8221A4ED6C00E03846 /* noise_level_estimator.cc in Sources */, + 697E9B8121A4ED6B00E03846 /* copy_set_operations.c in Sources */, + 697E9B6021A4ED6B00E03846 /* dot_product_with_scale.cc in Sources */, + 697E9B5D21A4ED6B00E03846 /* splitting_filter1.c in Sources */, + 697E9C3C21A4ED6C00E03846 /* nsx_core.c in Sources */, + 697E9C3221A4ED6C00E03846 /* normalized_covariance_estimator.cc in Sources */, + 697E9B5F21A4ED6B00E03846 /* downsample_fast_neon.c in Sources */, + 697E9D2321A4ED6D00E03846 /* aec3_common.cc in Sources */, + 697E9D1121A4ED6D00E03846 /* render_buffer.cc in Sources */, + 697E9B7B21A4ED6B00E03846 /* resample_fractional.c in Sources */, + 697E9D3421A4ED6D00E03846 /* matrix_buffer.cc in Sources */, + 697E9C8421A4ED6C00E03846 /* fixed_digital_level_estimator.cc in Sources */, + 697E9BFF21A4ED6C00E03846 /* pitch_gain_tables.c in Sources */, + 697E9CA621A4ED6D00E03846 /* transient_detector.cc in Sources */, + 697E9D1421A4ED6D00E03846 /* stationarity_estimator.cc in Sources */, + 697E9C2421A4ED6C00E03846 /* crc.c in Sources */, + 697E9BC321A4ED6B00E03846 /* timeutils.cc in Sources */, + 697E9B9621A4ED6B00E03846 /* string_view.cc in Sources */, 692AB8FD1E6759DD00706ACC /* AudioUnitIO.cpp in Sources */, + 697E9D0C21A4ED6D00E03846 /* block_framer.cc in Sources */, + 697E9B6A21A4ED6B00E03846 /* cross_correlation.c in Sources */, + 697E9D0921A4ED6D00E03846 /* echo_path_delay_estimator.cc in Sources */, 69986177209526D400B68BEC /* Buffers.cpp in Sources */, - 69A6DDB31E95EC7700000E69 /* dot_product_with_scale.c in Sources */, - 69A6DDB91E95EC7700000E69 /* filter_ar_fast_q12_armv7.S in Sources */, - 69A6DDAA1E95EC7700000E69 /* auto_correlation.c in Sources */, - 69A6DDFD1E95EC7700000E69 /* nsx_core_neon.c in Sources */, - 69A6DDE01E95EC7700000E69 /* aec_core_sse2.cc in Sources */, - 69A6DDBD1E95EC7700000E69 /* ilbc_specific_functions.c in Sources */, - 69A6DE0E1E95EC7800000E69 /* ooura_fft_sse2.cc in Sources */, + 697E9B2C21A4ED6B00E03846 /* window_generator.cc in Sources */, + 697E9C0F21A4ED6C00E03846 /* intialize.c in Sources */, 692AB8CD1E6759DD00706ACC /* AudioOutput.cpp in Sources */, - 69A6DE151E95EC7800000E69 /* cpu_features.cc in Sources */, - 69A6DE021E95EC7800000E69 /* three_band_filter_bank.cc in Sources */, - 69A6DDB81E95EC7700000E69 /* filter_ar_fast_q12.c in Sources */, - 69A6DE091E95EC7800000E69 /* delay_estimator_wrapper.cc in Sources */, + 697E9CC221A4ED6D00E03846 /* utility.cc in Sources */, + 697E9B4621A4ED6B00E03846 /* sinc_resampler.cc in Sources */, + 697E9B7021A4ED6B00E03846 /* auto_correlation.c in Sources */, + 697E9B7121A4ED6B00E03846 /* get_scaling_square.c in Sources */, + 697E9D5221A4ED6D00E03846 /* voice_activity_detector.cc in Sources */, + 697E9D2221A4ED6D00E03846 /* reverb_model_estimator.cc in Sources */, + 697E9BA621A4ED6B00E03846 /* throw_delegate.cc in Sources */, + 697E9D6821A4ED6E00E03846 /* ooura_fft.cc in Sources */, + 697E9B7F21A4ED6B00E03846 /* randomization_functions.c in Sources */, + 697E9CE521A4ED6D00E03846 /* echo_remover_metrics.cc in Sources */, + 697E9CBA21A4ED6D00E03846 /* agc.cc in Sources */, + 697E9C9B21A4ED6D00E03846 /* moving_moments.cc in Sources */, + 697E9D7321A4ED6E00E03846 /* rnn_vad_weights.cc in Sources */, + 697E9C5421A4ED6C00E03846 /* audio_generator_factory.cc in Sources */, + 697E9CC121A4ED6D00E03846 /* digital_agc.c in Sources */, + 697E9B2D21A4ED6B00E03846 /* channel_buffer.cc in Sources */, + 697E9BB621A4ED6B00E03846 /* echo_canceller3_config.cc in Sources */, 692AB8ED1E6759DD00706ACC /* OpusEncoder.cpp in Sources */, - 69A6DDAB1E95EC7700000E69 /* complex_bit_reverse.c in Sources */, - 69A6DDD91E95EC7700000E69 /* sparse_fir_filter.cc in Sources */, + 697E9B7E21A4ED6B00E03846 /* complex_bit_reverse.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1349,6 +2891,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1385,6 +2930,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1472,6 +3020,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1553,6 +3104,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1634,6 +3188,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1715,6 +3272,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1802,6 +3362,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1889,6 +3452,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1970,6 +3536,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2137,6 +3706,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2218,6 +3790,9 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DWEBRTC_POSIX", "-DTGVOIP_HAVE_TGLOG", + "-DWEBRTC_NS_FLOAT", + "-DWEBRTC_IOS", + "-DWEBRTC_HAS_NEON", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/libtgvoip_osx.xcodeproj/project.pbxproj b/libtgvoip_osx.xcodeproj/project.pbxproj index ebd5e2cd81..9a0c0aba0a 100644 --- a/libtgvoip_osx.xcodeproj/project.pbxproj +++ b/libtgvoip_osx.xcodeproj/project.pbxproj @@ -8,34 +8,296 @@ /* Begin PBXBuildFile section */ 690725BE1EBBD5DE005D860B /* NetworkSocketPosix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 690725BC1EBBD5DE005D860B /* NetworkSocketPosix.cpp */; }; - 690725BF1EBBD5DE005D860B /* NetworkSocketPosix.h in Headers */ = {isa = PBXBuildFile; fileRef = 690725BD1EBBD5DE005D860B /* NetworkSocketPosix.h */; }; 690725C21EBBD5F2005D860B /* NetworkSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 690725C01EBBD5F2005D860B /* NetworkSocket.cpp */; }; - 690725C31EBBD5F2005D860B /* NetworkSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 690725C11EBBD5F2005D860B /* NetworkSocket.h */; }; 6915307B1E6B5BAB004F643F /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6915307A1E6B5BAB004F643F /* logging.cpp */; }; + 691E05C921A4FD7600F838EF /* memutil.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E033321A4FD7500F838EF /* memutil.cc */; }; + 691E05CA21A4FD7600F838EF /* string_view.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E033421A4FD7500F838EF /* string_view.cc */; }; + 691E05CC21A4FD7600F838EF /* ascii.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E033621A4FD7500F838EF /* ascii.cc */; }; + 691E05D021A4FD7600F838EF /* bad_optional_access.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E033B21A4FD7500F838EF /* bad_optional_access.cc */; }; + 691E05D121A4FD7600F838EF /* optional.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E033C21A4FD7500F838EF /* optional.cc */; }; + 691E05D921A4FD7600F838EF /* raw_logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E034A21A4FD7500F838EF /* raw_logging.cc */; }; + 691E05DA21A4FD7600F838EF /* throw_delegate.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E034B21A4FD7500F838EF /* throw_delegate.cc */; }; + 691E05E821A4FD7600F838EF /* window_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E035C21A4FD7500F838EF /* window_generator.cc */; }; + 691E05E921A4FD7600F838EF /* channel_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E035D21A4FD7500F838EF /* channel_buffer.cc */; }; + 691E05EA21A4FD7600F838EF /* fir_filter_factory.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E035E21A4FD7500F838EF /* fir_filter_factory.cc */; }; + 691E05F121A4FD7600F838EF /* wav_header.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036621A4FD7500F838EF /* wav_header.cc */; }; + 691E05F221A4FD7600F838EF /* real_fourier_ooura.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036721A4FD7500F838EF /* real_fourier_ooura.cc */; }; + 691E05F321A4FD7600F838EF /* fir_filter_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036821A4FD7500F838EF /* fir_filter_neon.cc */; }; + 691E05F421A4FD7600F838EF /* audio_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036921A4FD7500F838EF /* audio_util.cc */; }; + 691E05F621A4FD7600F838EF /* fir_filter_sse.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036B21A4FD7500F838EF /* fir_filter_sse.cc */; }; + 691E05F821A4FD7600F838EF /* sinc_resampler_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036E21A4FD7500F838EF /* sinc_resampler_neon.cc */; }; + 691E05F921A4FD7600F838EF /* push_sinc_resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E036F21A4FD7500F838EF /* push_sinc_resampler.cc */; }; + 691E05FB21A4FD7600F838EF /* resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037121A4FD7500F838EF /* resampler.cc */; }; + 691E05FC21A4FD7600F838EF /* sinc_resampler_sse.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037221A4FD7500F838EF /* sinc_resampler_sse.cc */; }; + 691E060021A4FD7600F838EF /* push_resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037721A4FD7500F838EF /* push_resampler.cc */; }; + 691E060221A4FD7600F838EF /* sinc_resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037921A4FD7500F838EF /* sinc_resampler.cc */; }; + 691E060321A4FD7600F838EF /* sinusoidal_linear_chirp_source.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037A21A4FD7500F838EF /* sinusoidal_linear_chirp_source.cc */; }; + 691E060621A4FD7600F838EF /* wav_file.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E037D21A4FD7500F838EF /* wav_file.cc */; }; + 691E060721A4FD7600F838EF /* spl_sqrt_floor.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E038021A4FD7500F838EF /* spl_sqrt_floor.c */; }; + 691E060A21A4FD7600F838EF /* fft4g.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E038421A4FD7500F838EF /* fft4g.c */; }; + 691E060C21A4FD7600F838EF /* audio_converter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E038621A4FD7500F838EF /* audio_converter.cc */; }; + 691E060D21A4FD7600F838EF /* real_fourier.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E038721A4FD7500F838EF /* real_fourier.cc */; }; + 691E061021A4FD7600F838EF /* sparse_fir_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E038A21A4FD7500F838EF /* sparse_fir_filter.cc */; }; + 691E061221A4FD7600F838EF /* smoothing_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E038C21A4FD7500F838EF /* smoothing_filter.cc */; }; + 691E061321A4FD7600F838EF /* fir_filter_c.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E038D21A4FD7500F838EF /* fir_filter_c.cc */; }; + 691E061421A4FD7600F838EF /* ring_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E038E21A4FD7500F838EF /* ring_buffer.c */; }; + 691E061721A4FD7600F838EF /* complex_fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039221A4FD7500F838EF /* complex_fft.c */; }; + 691E061821A4FD7600F838EF /* filter_ma_fast_q12.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039321A4FD7500F838EF /* filter_ma_fast_q12.c */; }; + 691E061921A4FD7600F838EF /* splitting_filter1.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039421A4FD7500F838EF /* splitting_filter1.c */; }; + 691E061A21A4FD7600F838EF /* levinson_durbin.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039521A4FD7500F838EF /* levinson_durbin.c */; }; + 691E061B21A4FD7600F838EF /* downsample_fast_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039621A4FD7500F838EF /* downsample_fast_neon.c */; }; + 691E061C21A4FD7600F838EF /* dot_product_with_scale.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E039721A4FD7500F838EF /* dot_product_with_scale.cc */; }; + 691E061D21A4FD7600F838EF /* auto_corr_to_refl_coef.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039821A4FD7500F838EF /* auto_corr_to_refl_coef.c */; }; + 691E061E21A4FD7600F838EF /* resample_by_2_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039921A4FD7500F838EF /* resample_by_2_internal.c */; }; + 691E062021A4FD7600F838EF /* energy.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039B21A4FD7500F838EF /* energy.c */; }; + 691E062121A4FD7600F838EF /* sqrt_of_one_minus_x_squared.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039C21A4FD7500F838EF /* sqrt_of_one_minus_x_squared.c */; }; + 691E062221A4FD7600F838EF /* downsample_fast.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039D21A4FD7500F838EF /* downsample_fast.c */; }; + 691E062321A4FD7600F838EF /* filter_ar_fast_q12.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039E21A4FD7500F838EF /* filter_ar_fast_q12.c */; }; + 691E062421A4FD7600F838EF /* spl_init.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E039F21A4FD7500F838EF /* spl_init.c */; }; + 691E062521A4FD7600F838EF /* lpc_to_refl_coef.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03A021A4FD7500F838EF /* lpc_to_refl_coef.c */; }; + 691E062621A4FD7600F838EF /* cross_correlation.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03A121A4FD7500F838EF /* cross_correlation.c */; }; + 691E062B21A4FD7600F838EF /* division_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03A721A4FD7500F838EF /* division_operations.c */; }; + 691E062C21A4FD7600F838EF /* auto_correlation.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03A821A4FD7500F838EF /* auto_correlation.c */; }; + 691E062D21A4FD7600F838EF /* get_scaling_square.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03A921A4FD7500F838EF /* get_scaling_square.c */; }; + 691E062E21A4FD7600F838EF /* min_max_operations_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03AA21A4FD7500F838EF /* min_max_operations_neon.c */; }; + 691E063121A4FD7600F838EF /* resample.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03AD21A4FD7500F838EF /* resample.c */; }; + 691E063221A4FD7600F838EF /* cross_correlation_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03AE21A4FD7500F838EF /* cross_correlation_neon.c */; }; + 691E063321A4FD7600F838EF /* min_max_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03AF21A4FD7500F838EF /* min_max_operations.c */; }; + 691E063421A4FD7600F838EF /* refl_coef_to_lpc.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B021A4FD7500F838EF /* refl_coef_to_lpc.c */; }; + 691E063521A4FD7600F838EF /* filter_ar.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B121A4FD7500F838EF /* filter_ar.c */; }; + 691E063621A4FD7600F838EF /* vector_scaling_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B221A4FD7500F838EF /* vector_scaling_operations.c */; }; + 691E063721A4FD7600F838EF /* resample_fractional.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B321A4FD7500F838EF /* resample_fractional.c */; }; + 691E063821A4FD7600F838EF /* real_fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B421A4FD7500F838EF /* real_fft.c */; }; + 691E063921A4FD7600F838EF /* ilbc_specific_functions.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B521A4FD7500F838EF /* ilbc_specific_functions.c */; }; + 691E063A21A4FD7600F838EF /* complex_bit_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B621A4FD7500F838EF /* complex_bit_reverse.c */; }; + 691E063B21A4FD7600F838EF /* randomization_functions.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B721A4FD7500F838EF /* randomization_functions.c */; }; + 691E063D21A4FD7600F838EF /* copy_set_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03B921A4FD7500F838EF /* copy_set_operations.c */; }; + 691E063E21A4FD7600F838EF /* resample_by_2.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03BA21A4FD7500F838EF /* resample_by_2.c */; }; + 691E063F21A4FD7600F838EF /* get_hanning_window.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03BB21A4FD7500F838EF /* get_hanning_window.c */; }; + 691E064021A4FD7600F838EF /* resample_48khz.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03BC21A4FD7500F838EF /* resample_48khz.c */; }; + 691E064121A4FD7600F838EF /* spl_inl.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03BD21A4FD7500F838EF /* spl_inl.c */; }; + 691E064221A4FD7600F838EF /* spl_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03BE21A4FD7500F838EF /* spl_sqrt.c */; }; + 691E064421A4FD7600F838EF /* vad_sp.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03C121A4FD7500F838EF /* vad_sp.c */; }; + 691E064521A4FD7600F838EF /* vad.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03C221A4FD7500F838EF /* vad.cc */; }; + 691E064621A4FD7600F838EF /* webrtc_vad.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03C321A4FD7500F838EF /* webrtc_vad.c */; }; + 691E064B21A4FD7600F838EF /* vad_filterbank.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03C921A4FD7500F838EF /* vad_filterbank.c */; }; + 691E064C21A4FD7600F838EF /* vad_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03CA21A4FD7500F838EF /* vad_core.c */; }; + 691E064F21A4FD7600F838EF /* vad_gmm.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03CD21A4FD7500F838EF /* vad_gmm.c */; }; + 691E065021A4FD7600F838EF /* audio_frame.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03D021A4FD7500F838EF /* audio_frame.cc */; }; + 691E065421A4FD7600F838EF /* echo_canceller3_config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03D421A4FD7500F838EF /* echo_canceller3_config.cc */; }; + 691E065621A4FD7600F838EF /* echo_canceller3_factory.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03D621A4FD7500F838EF /* echo_canceller3_factory.cc */; }; + 691E065821A4FD7600F838EF /* rnn_vad_weights.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03DB21A4FD7500F838EF /* rnn_vad_weights.cc */; }; + 691E065B21A4FD7600F838EF /* kiss_fft.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03DE21A4FD7500F838EF /* kiss_fft.cc */; }; + 691E066221A4FD7600F838EF /* field_trial.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03E821A4FD7500F838EF /* field_trial.cc */; }; + 691E066321A4FD7600F838EF /* metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03E921A4FD7500F838EF /* metrics.cc */; }; + 691E066421A4FD7600F838EF /* cpu_features.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E03EA21A4FD7500F838EF /* cpu_features.cc */; }; + 691E066621A4FD7600F838EF /* fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03EF21A4FD7500F838EF /* fft.c */; }; + 691E066921A4FD7600F838EF /* pitch_estimator.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03F821A4FD7500F838EF /* pitch_estimator.c */; }; + 691E066A21A4FD7600F838EF /* lpc_shape_swb16_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03F921A4FD7500F838EF /* lpc_shape_swb16_tables.c */; }; + 691E066B21A4FD7600F838EF /* pitch_gain_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03FA21A4FD7500F838EF /* pitch_gain_tables.c */; }; + 691E066C21A4FD7600F838EF /* arith_routines_logist.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03FB21A4FD7500F838EF /* arith_routines_logist.c */; }; + 691E066E21A4FD7600F838EF /* filterbanks.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E03FD21A4FD7500F838EF /* filterbanks.c */; }; + 691E067221A4FD7600F838EF /* transform.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040121A4FD7500F838EF /* transform.c */; }; + 691E067621A4FD7600F838EF /* pitch_filter.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040521A4FD7500F838EF /* pitch_filter.c */; }; + 691E067721A4FD7600F838EF /* encode_lpc_swb.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040621A4FD7500F838EF /* encode_lpc_swb.c */; }; + 691E067821A4FD7600F838EF /* filter_functions.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040721A4FD7500F838EF /* filter_functions.c */; }; + 691E067921A4FD7600F838EF /* decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040821A4FD7500F838EF /* decode.c */; }; + 691E067A21A4FD7600F838EF /* lattice.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040921A4FD7500F838EF /* lattice.c */; }; + 691E067B21A4FD7600F838EF /* intialize.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040A21A4FD7500F838EF /* intialize.c */; }; + 691E067C21A4FD7600F838EF /* lpc_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040B21A4FD7500F838EF /* lpc_tables.c */; }; + 691E067D21A4FD7600F838EF /* lpc_gain_swb_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040C21A4FD7500F838EF /* lpc_gain_swb_tables.c */; }; + 691E067E21A4FD7600F838EF /* bandwidth_estimator.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E040D21A4FD7500F838EF /* bandwidth_estimator.c */; }; + 691E068121A4FD7600F838EF /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041021A4FD7500F838EF /* encode.c */; }; + 691E068221A4FD7600F838EF /* lpc_analysis.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041121A4FD7500F838EF /* lpc_analysis.c */; }; + 691E068421A4FD7600F838EF /* arith_routines_hist.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041321A4FD7500F838EF /* arith_routines_hist.c */; }; + 691E068921A4FD7600F838EF /* entropy_coding.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041821A4FD7500F838EF /* entropy_coding.c */; }; + 691E068A21A4FD7600F838EF /* isac_vad.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041921A4FD7500F838EF /* isac_vad.c */; }; + 691E068F21A4FD7600F838EF /* arith_routines.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041E21A4FD7500F838EF /* arith_routines.c */; }; + 691E069021A4FD7600F838EF /* crc.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E041F21A4FD7500F838EF /* crc.c */; }; + 691E069121A4FD7600F838EF /* lpc_shape_swb12_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E042021A4FD7500F838EF /* lpc_shape_swb12_tables.c */; }; + 691E069321A4FD7600F838EF /* decode_bwe.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E042221A4FD7500F838EF /* decode_bwe.c */; }; + 691E069421A4FD7600F838EF /* spectrum_ar_model_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E042321A4FD7500F838EF /* spectrum_ar_model_tables.c */; }; + 691E069621A4FD7600F838EF /* pitch_lag_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E042521A4FD7500F838EF /* pitch_lag_tables.c */; }; + 691E069721A4FD7600F838EF /* isac.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E042621A4FD7500F838EF /* isac.c */; }; + 691E069A21A4FD7600F838EF /* rms_level.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E042A21A4FD7500F838EF /* rms_level.cc */; }; + 691E069E21A4FD7600F838EF /* normalized_covariance_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E042F21A4FD7600F838EF /* normalized_covariance_estimator.cc */; }; + 691E069F21A4FD7600F838EF /* moving_max.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E043021A4FD7600F838EF /* moving_max.cc */; }; + 691E06A021A4FD7600F838EF /* circular_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E043121A4FD7600F838EF /* circular_buffer.cc */; }; + 691E06A121A4FD7600F838EF /* mean_variance_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E043221A4FD7600F838EF /* mean_variance_estimator.cc */; }; + 691E06A421A4FD7600F838EF /* splitting_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E043521A4FD7600F838EF /* splitting_filter.cc */; }; + 691E06A521A4FD7600F838EF /* gain_control_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E043621A4FD7600F838EF /* gain_control_impl.cc */; }; + 691E06A821A4FD7600F838EF /* nsx_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E043E21A4FD7600F838EF /* nsx_core.c */; }; + 691E06A921A4FD7600F838EF /* noise_suppression_x.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E043F21A4FD7600F838EF /* noise_suppression_x.c */; }; + 691E06AA21A4FD7600F838EF /* nsx_core_c.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E044021A4FD7600F838EF /* nsx_core_c.c */; }; + 691E06AD21A4FD7600F838EF /* ns_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E044321A4FD7600F838EF /* ns_core.c */; }; + 691E06B121A4FD7600F838EF /* nsx_core_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E044721A4FD7600F838EF /* nsx_core_neon.c */; }; + 691E06B221A4FD7600F838EF /* noise_suppression.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E044821A4FD7600F838EF /* noise_suppression.c */; }; + 691E06B621A4FD7600F838EF /* audio_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E044C21A4FD7600F838EF /* audio_buffer.cc */; }; + 691E06B721A4FD7600F838EF /* typing_detection.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E044D21A4FD7600F838EF /* typing_detection.cc */; }; + 691E06BF21A4FD7600F838EF /* audio_processing_statistics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E045721A4FD7600F838EF /* audio_processing_statistics.cc */; }; + 691E06C021A4FD7600F838EF /* audio_generator_factory.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E045821A4FD7600F838EF /* audio_generator_factory.cc */; }; + 691E06C121A4FD7600F838EF /* aec_dump.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E045921A4FD7600F838EF /* aec_dump.cc */; }; + 691E06C521A4FD7600F838EF /* audio_processing.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E045D21A4FD7600F838EF /* audio_processing.cc */; }; + 691E06C621A4FD7600F838EF /* config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E045E21A4FD7600F838EF /* config.cc */; }; + 691E06C921A4FD7600F838EF /* interpolated_gain_curve.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046221A4FD7600F838EF /* interpolated_gain_curve.cc */; }; + 691E06CA21A4FD7600F838EF /* agc2_common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046321A4FD7600F838EF /* agc2_common.cc */; }; + 691E06CD21A4FD7600F838EF /* gain_applier.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046621A4FD7600F838EF /* gain_applier.cc */; }; + 691E06CF21A4FD7600F838EF /* adaptive_agc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046821A4FD7600F838EF /* adaptive_agc.cc */; }; + 691E06D021A4FD7600F838EF /* adaptive_digital_gain_applier.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046921A4FD7600F838EF /* adaptive_digital_gain_applier.cc */; }; + 691E06D121A4FD7600F838EF /* limiter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046A21A4FD7600F838EF /* limiter.cc */; }; + 691E06D221A4FD7600F838EF /* saturation_protector.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046B21A4FD7600F838EF /* saturation_protector.cc */; }; + 691E06D421A4FD7600F838EF /* spectral_features_internal.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E046E21A4FD7600F838EF /* spectral_features_internal.cc */; }; + 691E06D721A4FD7600F838EF /* rnn.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E047121A4FD7600F838EF /* rnn.cc */; }; + 691E06DC21A4FD7600F838EF /* pitch_search_internal.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E047621A4FD7600F838EF /* pitch_search_internal.cc */; }; + 691E06E321A4FD7600F838EF /* spectral_features.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E047D21A4FD7600F838EF /* spectral_features.cc */; }; + 691E06E521A4FD7600F838EF /* pitch_search.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E047F21A4FD7600F838EF /* pitch_search.cc */; }; + 691E06E721A4FD7600F838EF /* features_extraction.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048121A4FD7600F838EF /* features_extraction.cc */; }; + 691E06E821A4FD7600F838EF /* fft_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048221A4FD7600F838EF /* fft_util.cc */; }; + 691E06E921A4FD7600F838EF /* lp_residual.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048321A4FD7600F838EF /* lp_residual.cc */; }; + 691E06EB21A4FD7600F838EF /* adaptive_mode_level_estimator_agc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048521A4FD7600F838EF /* adaptive_mode_level_estimator_agc.cc */; }; + 691E06EC21A4FD7600F838EF /* vector_float_frame.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048621A4FD7600F838EF /* vector_float_frame.cc */; }; + 691E06EE21A4FD7600F838EF /* noise_level_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048821A4FD7600F838EF /* noise_level_estimator.cc */; }; + 691E06EF21A4FD7600F838EF /* agc2_testing_common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048921A4FD7600F838EF /* agc2_testing_common.cc */; }; + 691E06F021A4FD7600F838EF /* fixed_digital_level_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048A21A4FD7600F838EF /* fixed_digital_level_estimator.cc */; }; + 691E06F121A4FD7600F838EF /* fixed_gain_controller.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048B21A4FD7600F838EF /* fixed_gain_controller.cc */; }; + 691E06F321A4FD7600F838EF /* vad_with_level.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048D21A4FD7600F838EF /* vad_with_level.cc */; }; + 691E06F421A4FD7600F838EF /* limiter_db_gain_curve.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E048E21A4FD7600F838EF /* limiter_db_gain_curve.cc */; }; + 691E06FD21A4FD7600F838EF /* down_sampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E049721A4FD7600F838EF /* down_sampler.cc */; }; + 691E06FF21A4FD7600F838EF /* signal_classifier.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E049921A4FD7600F838EF /* signal_classifier.cc */; }; + 691E070021A4FD7600F838EF /* noise_spectrum_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E049A21A4FD7600F838EF /* noise_spectrum_estimator.cc */; }; + 691E070121A4FD7600F838EF /* compute_interpolated_gain_curve.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E049B21A4FD7600F838EF /* compute_interpolated_gain_curve.cc */; }; + 691E070321A4FD7600F838EF /* biquad_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E049D21A4FD7600F838EF /* biquad_filter.cc */; }; + 691E070621A4FD7700F838EF /* adaptive_mode_level_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04A021A4FD7600F838EF /* adaptive_mode_level_estimator.cc */; }; + 691E070721A4FD7700F838EF /* moving_moments.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04A221A4FD7600F838EF /* moving_moments.cc */; }; + 691E070921A4FD7700F838EF /* wpd_tree.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04A421A4FD7600F838EF /* wpd_tree.cc */; }; + 691E071021A4FD7700F838EF /* wpd_node.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04AB21A4FD7600F838EF /* wpd_node.cc */; }; + 691E071121A4FD7700F838EF /* transient_suppressor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04AC21A4FD7600F838EF /* transient_suppressor.cc */; }; + 691E071221A4FD7700F838EF /* transient_detector.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04AD21A4FD7600F838EF /* transient_detector.cc */; }; + 691E071421A4FD7700F838EF /* low_cut_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04AF21A4FD7600F838EF /* low_cut_filter.cc */; }; + 691E071621A4FD7700F838EF /* level_estimator_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04B121A4FD7600F838EF /* level_estimator_impl.cc */; }; + 691E071721A4FD7700F838EF /* three_band_filter_bank.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04B221A4FD7600F838EF /* three_band_filter_bank.cc */; }; + 691E071821A4FD7700F838EF /* echo_cancellation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04B421A4FD7600F838EF /* echo_cancellation.cc */; }; + 691E071A21A4FD7700F838EF /* aec_resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04B621A4FD7600F838EF /* aec_resampler.cc */; }; + 691E071C21A4FD7700F838EF /* aec_core.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04B821A4FD7600F838EF /* aec_core.cc */; }; + 691E071F21A4FD7700F838EF /* aec_core_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04BB21A4FD7600F838EF /* aec_core_neon.cc */; }; + 691E072021A4FD7700F838EF /* aec_core_sse2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04BC21A4FD7600F838EF /* aec_core_sse2.cc */; }; + 691E072321A4FD7700F838EF /* voice_detection_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04BF21A4FD7600F838EF /* voice_detection_impl.cc */; }; + 691E072421A4FD7700F838EF /* echo_cancellation_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04C021A4FD7600F838EF /* echo_cancellation_impl.cc */; }; + 691E072521A4FD7700F838EF /* gain_control_for_experimental_agc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04C121A4FD7600F838EF /* gain_control_for_experimental_agc.cc */; }; + 691E072621A4FD7700F838EF /* agc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04C321A4FD7600F838EF /* agc.cc */; }; + 691E072721A4FD7700F838EF /* loudness_histogram.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04C421A4FD7600F838EF /* loudness_histogram.cc */; }; + 691E072821A4FD7700F838EF /* agc_manager_direct.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04C521A4FD7600F838EF /* agc_manager_direct.cc */; }; + 691E072C21A4FD7700F838EF /* analog_agc.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E04CA21A4FD7600F838EF /* analog_agc.c */; }; + 691E072D21A4FD7700F838EF /* digital_agc.c in Sources */ = {isa = PBXBuildFile; fileRef = 691E04CB21A4FD7600F838EF /* digital_agc.c */; }; + 691E072E21A4FD7700F838EF /* utility.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04CC21A4FD7600F838EF /* utility.cc */; }; + 691E073621A4FD7700F838EF /* audio_processing_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04D421A4FD7600F838EF /* audio_processing_impl.cc */; }; + 691E073C21A4FD7700F838EF /* file_audio_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04DB21A4FD7600F838EF /* file_audio_generator.cc */; }; + 691E073D21A4FD7700F838EF /* gain_controller2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04DC21A4FD7600F838EF /* gain_controller2.cc */; }; + 691E073F21A4FD7700F838EF /* residual_echo_detector.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04DE21A4FD7600F838EF /* residual_echo_detector.cc */; }; + 691E074121A4FD7700F838EF /* noise_suppression_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04E021A4FD7600F838EF /* noise_suppression_impl.cc */; }; + 691E074621A4FD7700F838EF /* aecm_core.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04E621A4FD7600F838EF /* aecm_core.cc */; }; + 691E074721A4FD7700F838EF /* aecm_core_c.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04E721A4FD7600F838EF /* aecm_core_c.cc */; }; + 691E074821A4FD7700F838EF /* aecm_core_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04E821A4FD7600F838EF /* aecm_core_neon.cc */; }; + 691E074A21A4FD7700F838EF /* echo_control_mobile.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04EA21A4FD7600F838EF /* echo_control_mobile.cc */; }; + 691E074B21A4FD7700F838EF /* render_reverb_model.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04EC21A4FD7600F838EF /* render_reverb_model.cc */; }; + 691E074E21A4FD7700F838EF /* reverb_model_fallback.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04EF21A4FD7600F838EF /* reverb_model_fallback.cc */; }; + 691E075121A4FD7700F838EF /* echo_remover_metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F221A4FD7600F838EF /* echo_remover_metrics.cc */; }; + 691E075221A4FD7700F838EF /* matched_filter_lag_aggregator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F321A4FD7600F838EF /* matched_filter_lag_aggregator.cc */; }; + 691E075321A4FD7700F838EF /* render_delay_buffer2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F421A4FD7600F838EF /* render_delay_buffer2.cc */; }; + 691E075621A4FD7700F838EF /* echo_path_variability.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F721A4FD7600F838EF /* echo_path_variability.cc */; }; + 691E075721A4FD7700F838EF /* frame_blocker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F821A4FD7600F838EF /* frame_blocker.cc */; }; + 691E075821A4FD7700F838EF /* subtractor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E04F921A4FD7600F838EF /* subtractor.cc */; }; + 691E075F21A4FD7700F838EF /* aec3_fft.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050021A4FD7600F838EF /* aec3_fft.cc */; }; + 691E076221A4FD7700F838EF /* fullband_erle_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050321A4FD7600F838EF /* fullband_erle_estimator.cc */; }; + 691E076321A4FD7700F838EF /* suppression_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050421A4FD7600F838EF /* suppression_filter.cc */; }; + 691E076421A4FD7700F838EF /* block_processor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050521A4FD7600F838EF /* block_processor.cc */; }; + 691E076821A4FD7700F838EF /* subband_erle_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050921A4FD7600F838EF /* subband_erle_estimator.cc */; }; + 691E076921A4FD7700F838EF /* render_delay_controller_metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050A21A4FD7600F838EF /* render_delay_controller_metrics.cc */; }; + 691E076A21A4FD7700F838EF /* render_delay_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050B21A4FD7600F838EF /* render_delay_buffer.cc */; }; + 691E076C21A4FD7700F838EF /* vector_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050D21A4FD7600F838EF /* vector_buffer.cc */; }; + 691E076D21A4FD7700F838EF /* erl_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050E21A4FD7600F838EF /* erl_estimator.cc */; }; + 691E076E21A4FD7700F838EF /* aec_state.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E050F21A4FD7600F838EF /* aec_state.cc */; }; + 691E076F21A4FD7700F838EF /* adaptive_fir_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051021A4FD7600F838EF /* adaptive_fir_filter.cc */; }; + 691E077121A4FD7700F838EF /* render_delay_controller.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051221A4FD7600F838EF /* render_delay_controller.cc */; }; + 691E077221A4FD7700F838EF /* skew_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051321A4FD7600F838EF /* skew_estimator.cc */; }; + 691E077521A4FD7700F838EF /* echo_path_delay_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051621A4FD7600F838EF /* echo_path_delay_estimator.cc */; }; + 691E077821A4FD7700F838EF /* block_framer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051921A4FD7600F838EF /* block_framer.cc */; }; + 691E077921A4FD7700F838EF /* erle_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051A21A4FD7600F838EF /* erle_estimator.cc */; }; + 691E077A21A4FD7700F838EF /* reverb_model.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051B21A4FD7600F838EF /* reverb_model.cc */; }; + 691E077B21A4FD7700F838EF /* cascaded_biquad_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051C21A4FD7600F838EF /* cascaded_biquad_filter.cc */; }; + 691E077D21A4FD7700F838EF /* render_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E051E21A4FD7600F838EF /* render_buffer.cc */; }; + 691E077F21A4FD7700F838EF /* subtractor_output.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052021A4FD7600F838EF /* subtractor_output.cc */; }; + 691E078021A4FD7700F838EF /* stationarity_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052121A4FD7600F838EF /* stationarity_estimator.cc */; }; + 691E078121A4FD7700F838EF /* render_signal_analyzer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052221A4FD7600F838EF /* render_signal_analyzer.cc */; }; + 691E078521A4FD7700F838EF /* subtractor_output_analyzer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052621A4FD7600F838EF /* subtractor_output_analyzer.cc */; }; + 691E078621A4FD7700F838EF /* suppression_gain.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052721A4FD7600F838EF /* suppression_gain.cc */; }; + 691E078721A4FD7700F838EF /* echo_audibility.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052821A4FD7600F838EF /* echo_audibility.cc */; }; + 691E078821A4FD7700F838EF /* block_processor_metrics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052921A4FD7600F838EF /* block_processor_metrics.cc */; }; + 691E078B21A4FD7700F838EF /* moving_average.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052C21A4FD7600F838EF /* moving_average.cc */; }; + 691E078E21A4FD7700F838EF /* reverb_model_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E052F21A4FD7600F838EF /* reverb_model_estimator.cc */; }; + 691E078F21A4FD7700F838EF /* aec3_common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053021A4FD7600F838EF /* aec3_common.cc */; }; + 691E079021A4FD7700F838EF /* residual_echo_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053121A4FD7600F838EF /* residual_echo_estimator.cc */; }; + 691E079321A4FD7700F838EF /* matched_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053421A4FD7600F838EF /* matched_filter.cc */; }; + 691E079721A4FD7700F838EF /* reverb_decay_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053821A4FD7600F838EF /* reverb_decay_estimator.cc */; }; + 691E079821A4FD7700F838EF /* render_delay_controller2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053921A4FD7600F838EF /* render_delay_controller2.cc */; }; + 691E079A21A4FD7700F838EF /* suppression_gain_limiter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053B21A4FD7600F838EF /* suppression_gain_limiter.cc */; }; + 691E079B21A4FD7700F838EF /* main_filter_update_gain.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053C21A4FD7600F838EF /* main_filter_update_gain.cc */; }; + 691E079C21A4FD7700F838EF /* echo_remover.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053D21A4FD7600F838EF /* echo_remover.cc */; }; + 691E079E21A4FD7700F838EF /* downsampled_render_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E053F21A4FD7600F838EF /* downsampled_render_buffer.cc */; }; + 691E07A021A4FD7700F838EF /* matrix_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E054121A4FD7600F838EF /* matrix_buffer.cc */; }; + 691E07A421A4FD7700F838EF /* block_processor2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E054521A4FD7600F838EF /* block_processor2.cc */; }; + 691E07A521A4FD7700F838EF /* echo_canceller3.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E054621A4FD7600F838EF /* echo_canceller3.cc */; }; + 691E07A621A4FD7700F838EF /* block_delay_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E054721A4FD7600F838EF /* block_delay_buffer.cc */; }; + 691E07A821A4FD7700F838EF /* fft_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E054921A4FD7600F838EF /* fft_buffer.cc */; }; + 691E07AF21A4FD7700F838EF /* comfort_noise_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055021A4FD7600F838EF /* comfort_noise_generator.cc */; }; + 691E07B321A4FD7700F838EF /* shadow_filter_update_gain.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055421A4FD7600F838EF /* shadow_filter_update_gain.cc */; }; + 691E07B421A4FD7700F838EF /* filter_analyzer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055521A4FD7600F838EF /* filter_analyzer.cc */; }; + 691E07B621A4FD7700F838EF /* reverb_frequency_response.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055721A4FD7600F838EF /* reverb_frequency_response.cc */; }; + 691E07B721A4FD7700F838EF /* decimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055821A4FD7600F838EF /* decimator.cc */; }; + 691E07B921A4FD7700F838EF /* echo_control_mobile_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055A21A4FD7600F838EF /* echo_control_mobile_impl.cc */; }; + 691E07BC21A4FD7700F838EF /* apm_data_dumper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E055E21A4FD7600F838EF /* apm_data_dumper.cc */; }; + 691E07BE21A4FD7700F838EF /* voice_activity_detector.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056121A4FD7600F838EF /* voice_activity_detector.cc */; }; + 691E07BF21A4FD7700F838EF /* standalone_vad.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056221A4FD7600F838EF /* standalone_vad.cc */; }; + 691E07C121A4FD7700F838EF /* pitch_internal.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056421A4FD7600F838EF /* pitch_internal.cc */; }; + 691E07C221A4FD7700F838EF /* vad_circular_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056521A4FD7600F838EF /* vad_circular_buffer.cc */; }; + 691E07C521A4FD7700F838EF /* vad_audio_proc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056821A4FD7600F838EF /* vad_audio_proc.cc */; }; + 691E07C621A4FD7700F838EF /* pole_zero_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056921A4FD7600F838EF /* pole_zero_filter.cc */; }; + 691E07C821A4FD7700F838EF /* pitch_based_vad.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E056B21A4FD7600F838EF /* pitch_based_vad.cc */; }; + 691E07CF21A4FD7700F838EF /* gmm.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057221A4FD7600F838EF /* gmm.cc */; }; + 691E07D421A4FD7700F838EF /* ooura_fft.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057821A4FD7600F838EF /* ooura_fft.cc */; }; + 691E07D621A4FD7700F838EF /* delay_estimator_wrapper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057A21A4FD7600F838EF /* delay_estimator_wrapper.cc */; }; + 691E07D721A4FD7700F838EF /* ooura_fft_sse2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057B21A4FD7600F838EF /* ooura_fft_sse2.cc */; }; + 691E07D821A4FD7700F838EF /* delay_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057C21A4FD7600F838EF /* delay_estimator.cc */; }; + 691E07DA21A4FD7700F838EF /* ooura_fft_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057E21A4FD7600F838EF /* ooura_fft_neon.cc */; }; + 691E07DB21A4FD7700F838EF /* block_mean_calculator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E057F21A4FD7600F838EF /* block_mean_calculator.cc */; }; + 691E07E121A4FD7700F838EF /* race_checker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E058621A4FD7600F838EF /* race_checker.cc */; }; + 691E07E321A4FD7700F838EF /* string_builder.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E058921A4FD7600F838EF /* string_builder.cc */; }; + 691E07E621A4FD7700F838EF /* aligned_malloc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E058D21A4FD7600F838EF /* aligned_malloc.cc */; }; + 691E07E821A4FD7700F838EF /* timeutils.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E058F21A4FD7600F838EF /* timeutils.cc */; }; + 691E07EA21A4FD7700F838EF /* logging_mac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 691E059121A4FD7600F838EF /* logging_mac.mm */; }; + 691E07EE21A4FD7700F838EF /* platform_file.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E059521A4FD7600F838EF /* platform_file.cc */; }; + 691E07F021A4FD7700F838EF /* string_to_number.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E059721A4FD7600F838EF /* string_to_number.cc */; }; + 691E07F421A4FD7700F838EF /* thread_checker_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E059B21A4FD7600F838EF /* thread_checker_impl.cc */; }; + 691E07FA21A4FD7700F838EF /* stringencode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05A121A4FD7600F838EF /* stringencode.cc */; }; + 691E07FB21A4FD7700F838EF /* stringutils.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05A221A4FD7600F838EF /* stringutils.cc */; }; + 691E07FC21A4FD7700F838EF /* checks.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05A321A4FD7600F838EF /* checks.cc */; }; + 691E080721A4FD7700F838EF /* platform_thread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05B021A4FD7600F838EF /* platform_thread.cc */; }; + 691E080921A4FD7700F838EF /* logging_webrtc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05B221A4FD7600F838EF /* logging_webrtc.cc */; }; + 691E081021A4FD7700F838EF /* criticalsection.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05B921A4FD7600F838EF /* criticalsection.cc */; }; + 691E081121A4FD7700F838EF /* platform_thread_types.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05BA21A4FD7600F838EF /* platform_thread_types.cc */; }; + 691E081321A4FD7700F838EF /* event.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05BC21A4FD7600F838EF /* event.cc */; }; + 691E081521A4FD7700F838EF /* event_tracer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691E05BE21A4FD7600F838EF /* event_tracer.cc */; }; 692AB8CB1E6759DD00706ACC /* AudioInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8881E6759DD00706ACC /* AudioInput.cpp */; }; - 692AB8CC1E6759DD00706ACC /* AudioInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8891E6759DD00706ACC /* AudioInput.h */; }; 692AB8CD1E6759DD00706ACC /* AudioOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB88A1E6759DD00706ACC /* AudioOutput.cpp */; }; - 692AB8CE1E6759DD00706ACC /* AudioOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB88B1E6759DD00706ACC /* AudioOutput.h */; }; 692AB8CF1E6759DD00706ACC /* BlockingQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB88C1E6759DD00706ACC /* BlockingQueue.cpp */; }; - 692AB8D01E6759DD00706ACC /* BlockingQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB88D1E6759DD00706ACC /* BlockingQueue.h */; }; 692AB8D11E6759DD00706ACC /* Buffers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB88E1E6759DD00706ACC /* Buffers.cpp */; }; - 692AB8D21E6759DD00706ACC /* Buffers.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB88F1E6759DD00706ACC /* Buffers.h */; }; 692AB8D31E6759DD00706ACC /* VoIPGroupController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8901E6759DD00706ACC /* VoIPGroupController.cpp */; }; - 692AB8D41E6759DD00706ACC /* PrivateDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8911E6759DD00706ACC /* PrivateDefines.h */; }; 692AB8D81E6759DD00706ACC /* CongestionControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8971E6759DD00706ACC /* CongestionControl.cpp */; }; - 692AB8D91E6759DD00706ACC /* CongestionControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8981E6759DD00706ACC /* CongestionControl.h */; }; 692AB8DA1E6759DD00706ACC /* EchoCanceller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8991E6759DD00706ACC /* EchoCanceller.cpp */; }; - 692AB8DB1E6759DD00706ACC /* EchoCanceller.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB89A1E6759DD00706ACC /* EchoCanceller.h */; }; 692AB8E61E6759DD00706ACC /* JitterBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8A81E6759DD00706ACC /* JitterBuffer.cpp */; }; - 692AB8E71E6759DD00706ACC /* JitterBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8A91E6759DD00706ACC /* JitterBuffer.h */; }; - 692AB8E81E6759DD00706ACC /* logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8AA1E6759DD00706ACC /* logging.h */; }; 692AB8E91E6759DD00706ACC /* MediaStreamItf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8AB1E6759DD00706ACC /* MediaStreamItf.cpp */; }; - 692AB8EA1E6759DD00706ACC /* MediaStreamItf.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8AC1E6759DD00706ACC /* MediaStreamItf.h */; }; 692AB8EB1E6759DD00706ACC /* OpusDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8AD1E6759DD00706ACC /* OpusDecoder.cpp */; }; - 692AB8EC1E6759DD00706ACC /* OpusDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8AE1E6759DD00706ACC /* OpusDecoder.h */; }; 692AB8ED1E6759DD00706ACC /* OpusEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8AF1E6759DD00706ACC /* OpusEncoder.cpp */; }; - 692AB8EE1E6759DD00706ACC /* OpusEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8B01E6759DD00706ACC /* OpusEncoder.h */; }; - 692AB9011E6759DD00706ACC /* threading.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8C61E6759DD00706ACC /* threading.h */; }; 692AB9021E6759DD00706ACC /* VoIPController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8C71E6759DD00706ACC /* VoIPController.cpp */; }; 692AB9031E6759DD00706ACC /* VoIPController.h in Headers */ = {isa = PBXBuildFile; fileRef = 692AB8C81E6759DD00706ACC /* VoIPController.h */; }; 692AB9041E6759DD00706ACC /* VoIPServerConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 692AB8C91E6759DD00706ACC /* VoIPServerConfig.cpp */; }; @@ -43,162 +305,20 @@ 692AB91F1E675F7000706ACC /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 692AB91C1E675F7000706ACC /* AudioToolbox.framework */; }; 692AB9201E675F7000706ACC /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 692AB91D1E675F7000706ACC /* AudioUnit.framework */; }; 692AB9211E675F7000706ACC /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 692AB91E1E675F7000706ACC /* CoreAudio.framework */; }; - 694DE8A0219F2265009C09A7 /* VideoRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 694DE89C219F2265009C09A7 /* VideoRenderer.h */; }; 694DE8A1219F2265009C09A7 /* VideoRenderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 694DE89D219F2265009C09A7 /* VideoRenderer.cpp */; }; 694DE8A2219F2265009C09A7 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 694DE89E219F2265009C09A7 /* VideoSource.cpp */; }; - 694DE8A3219F2265009C09A7 /* VideoSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 694DE89F219F2265009C09A7 /* VideoSource.h */; }; - 695B20621EBD39FF00E31757 /* DarwinSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 695B20601EBD39FF00E31757 /* DarwinSpecific.h */; }; 6971220F20C8107F00971C2C /* PacketReassembler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6971220D20C8107E00971C2C /* PacketReassembler.cpp */; }; - 6971221020C8107F00971C2C /* PacketReassembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6971220E20C8107F00971C2C /* PacketReassembler.h */; }; 6976FD0320F6A7060019939E /* MessageThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6976FD0120F6A7050019939E /* MessageThread.cpp */; }; - 6976FD0420F6A7060019939E /* MessageThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 6976FD0220F6A7060019939E /* MessageThread.h */; }; 697B6FC72136DBA4004C8E54 /* libtgvoipTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 697B6FC62136DBA4004C8E54 /* libtgvoipTests.mm */; }; 697B6FC92136DBA4004C8E54 /* libtgvoip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 69F842361E67540700C110F7 /* libtgvoip.framework */; }; - 697B6FD32136E18A004C8E54 /* AudioUnitIO.h in Headers */ = {isa = PBXBuildFile; fileRef = 697B6FD22136E18A004C8E54 /* AudioUnitIO.h */; }; 697B6FD62136E1F3004C8E54 /* AudioIO.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 697B6FD42136E1F3004C8E54 /* AudioIO.cpp */; }; - 697B6FD72136E1F3004C8E54 /* AudioIO.h in Headers */ = {isa = PBXBuildFile; fileRef = 697B6FD52136E1F3004C8E54 /* AudioIO.h */; }; 697B6FDA2136E2D9004C8E54 /* AudioIOCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 697B6FD82136E2D9004C8E54 /* AudioIOCallback.cpp */; }; - 697B6FDB2136E2D9004C8E54 /* AudioIOCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 697B6FD92136E2D9004C8E54 /* AudioIOCallback.h */; }; 697B6FDF2136F01E004C8E54 /* MockReflector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 697B6FDE2136F01E004C8E54 /* MockReflector.cpp */; }; - 69A6DEB91E96149300000E69 /* array_view.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE231E96149300000E69 /* array_view.h */; }; - 69A6DEBA1E96149300000E69 /* atomicops.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE241E96149300000E69 /* atomicops.h */; }; - 69A6DEBB1E96149300000E69 /* basictypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE251E96149300000E69 /* basictypes.h */; }; - 69A6DEBC1E96149300000E69 /* checks.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE261E96149300000E69 /* checks.cc */; }; - 69A6DEBD1E96149300000E69 /* checks.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE271E96149300000E69 /* checks.h */; }; - 69A6DEBE1E96149300000E69 /* constructormagic.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE281E96149300000E69 /* constructormagic.h */; }; - 69A6DEBF1E96149300000E69 /* safe_compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE291E96149300000E69 /* safe_compare.h */; }; - 69A6DEC01E96149300000E69 /* safe_conversions.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE2A1E96149300000E69 /* safe_conversions.h */; }; - 69A6DEC11E96149300000E69 /* safe_conversions_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE2B1E96149300000E69 /* safe_conversions_impl.h */; }; - 69A6DEC21E96149300000E69 /* sanitizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE2C1E96149300000E69 /* sanitizer.h */; }; - 69A6DEC31E96149300000E69 /* stringutils.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE2D1E96149300000E69 /* stringutils.cc */; }; - 69A6DEC41E96149300000E69 /* stringutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE2E1E96149300000E69 /* stringutils.h */; }; - 69A6DEC51E96149300000E69 /* type_traits.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE2F1E96149300000E69 /* type_traits.h */; }; - 69A6DEC61E96149300000E69 /* audio_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE311E96149300000E69 /* audio_util.cc */; }; - 69A6DEC71E96149300000E69 /* channel_buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE321E96149300000E69 /* channel_buffer.cc */; }; - 69A6DEC81E96149300000E69 /* channel_buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE331E96149300000E69 /* channel_buffer.h */; }; - 69A6DEC91E96149300000E69 /* fft4g.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE341E96149300000E69 /* fft4g.c */; }; - 69A6DECA1E96149300000E69 /* fft4g.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE351E96149300000E69 /* fft4g.h */; }; - 69A6DECB1E96149300000E69 /* audio_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE371E96149300000E69 /* audio_util.h */; }; - 69A6DECC1E96149300000E69 /* ring_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE381E96149300000E69 /* ring_buffer.c */; }; - 69A6DECD1E96149300000E69 /* ring_buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE391E96149300000E69 /* ring_buffer.h */; }; - 69A6DECE1E96149300000E69 /* auto_corr_to_refl_coef.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE3B1E96149300000E69 /* auto_corr_to_refl_coef.c */; }; - 69A6DECF1E96149300000E69 /* auto_correlation.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE3C1E96149300000E69 /* auto_correlation.c */; }; - 69A6DED01E96149300000E69 /* complex_bit_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE3D1E96149300000E69 /* complex_bit_reverse.c */; }; - 69A6DED21E96149300000E69 /* complex_fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE3F1E96149300000E69 /* complex_fft.c */; }; - 69A6DED31E96149300000E69 /* complex_fft_tables.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE401E96149300000E69 /* complex_fft_tables.h */; }; - 69A6DED41E96149300000E69 /* copy_set_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE411E96149300000E69 /* copy_set_operations.c */; }; - 69A6DED51E96149300000E69 /* cross_correlation.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE421E96149300000E69 /* cross_correlation.c */; }; - 69A6DED61E96149300000E69 /* cross_correlation_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE431E96149300000E69 /* cross_correlation_neon.c */; }; - 69A6DED71E96149300000E69 /* division_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE441E96149300000E69 /* division_operations.c */; }; - 69A6DED81E96149300000E69 /* dot_product_with_scale.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE451E96149300000E69 /* dot_product_with_scale.c */; }; - 69A6DED91E96149300000E69 /* downsample_fast.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE461E96149300000E69 /* downsample_fast.c */; }; - 69A6DEDA1E96149300000E69 /* downsample_fast_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE471E96149300000E69 /* downsample_fast_neon.c */; }; - 69A6DEDB1E96149300000E69 /* energy.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE481E96149300000E69 /* energy.c */; }; - 69A6DEDC1E96149300000E69 /* filter_ar.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE491E96149300000E69 /* filter_ar.c */; }; - 69A6DEDD1E96149300000E69 /* filter_ar_fast_q12.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE4A1E96149300000E69 /* filter_ar_fast_q12.c */; }; - 69A6DEDF1E96149300000E69 /* filter_ma_fast_q12.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE4C1E96149300000E69 /* filter_ma_fast_q12.c */; }; - 69A6DEE01E96149300000E69 /* get_hanning_window.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE4D1E96149300000E69 /* get_hanning_window.c */; }; - 69A6DEE11E96149300000E69 /* get_scaling_square.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE4E1E96149300000E69 /* get_scaling_square.c */; }; - 69A6DEE21E96149300000E69 /* ilbc_specific_functions.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE4F1E96149300000E69 /* ilbc_specific_functions.c */; }; - 69A6DEE31E96149300000E69 /* real_fft.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE511E96149300000E69 /* real_fft.h */; }; - 69A6DEE41E96149300000E69 /* signal_processing_library.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE521E96149300000E69 /* signal_processing_library.h */; }; - 69A6DEE51E96149300000E69 /* spl_inl.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE531E96149300000E69 /* spl_inl.h */; }; - 69A6DEE61E96149300000E69 /* spl_inl_armv7.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE541E96149300000E69 /* spl_inl_armv7.h */; }; - 69A6DEE71E96149300000E69 /* spl_inl_mips.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE551E96149300000E69 /* spl_inl_mips.h */; }; - 69A6DEE81E96149300000E69 /* levinson_durbin.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE561E96149300000E69 /* levinson_durbin.c */; }; - 69A6DEE91E96149300000E69 /* lpc_to_refl_coef.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE571E96149300000E69 /* lpc_to_refl_coef.c */; }; - 69A6DEEA1E96149300000E69 /* min_max_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE581E96149300000E69 /* min_max_operations.c */; }; - 69A6DEEB1E96149300000E69 /* min_max_operations_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE591E96149300000E69 /* min_max_operations_neon.c */; }; - 69A6DEEC1E96149300000E69 /* randomization_functions.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5A1E96149300000E69 /* randomization_functions.c */; }; - 69A6DEED1E96149300000E69 /* real_fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5B1E96149300000E69 /* real_fft.c */; }; - 69A6DEEE1E96149300000E69 /* refl_coef_to_lpc.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5C1E96149300000E69 /* refl_coef_to_lpc.c */; }; - 69A6DEEF1E96149300000E69 /* resample.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5D1E96149300000E69 /* resample.c */; }; - 69A6DEF01E96149300000E69 /* resample_48khz.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5E1E96149300000E69 /* resample_48khz.c */; }; - 69A6DEF11E96149300000E69 /* resample_by_2.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE5F1E96149300000E69 /* resample_by_2.c */; }; - 69A6DEF21E96149300000E69 /* resample_by_2_internal.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE601E96149300000E69 /* resample_by_2_internal.c */; }; - 69A6DEF31E96149300000E69 /* resample_by_2_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE611E96149300000E69 /* resample_by_2_internal.h */; }; - 69A6DEF41E96149300000E69 /* resample_fractional.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE621E96149300000E69 /* resample_fractional.c */; }; - 69A6DEF51E96149300000E69 /* spl_init.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE631E96149300000E69 /* spl_init.c */; }; - 69A6DEF61E96149300000E69 /* spl_inl.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE641E96149300000E69 /* spl_inl.c */; }; - 69A6DEF71E96149300000E69 /* spl_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE651E96149300000E69 /* spl_sqrt.c */; }; - 69A6DEF81E96149300000E69 /* spl_sqrt_floor.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE661E96149300000E69 /* spl_sqrt_floor.c */; }; - 69A6DEFA1E96149300000E69 /* splitting_filter_impl.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE681E96149300000E69 /* splitting_filter_impl.c */; }; - 69A6DEFB1E96149300000E69 /* sqrt_of_one_minus_x_squared.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE691E96149300000E69 /* sqrt_of_one_minus_x_squared.c */; }; - 69A6DEFC1E96149300000E69 /* vector_scaling_operations.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE6A1E96149300000E69 /* vector_scaling_operations.c */; }; - 69A6DEFD1E96149300000E69 /* sparse_fir_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE6B1E96149300000E69 /* sparse_fir_filter.cc */; }; - 69A6DEFE1E96149300000E69 /* sparse_fir_filter.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE6C1E96149300000E69 /* sparse_fir_filter.h */; }; - 69A6DEFF1E96149300000E69 /* wav_file.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE6D1E96149300000E69 /* wav_file.cc */; }; - 69A6DF001E96149300000E69 /* wav_file.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE6E1E96149300000E69 /* wav_file.h */; }; - 69A6DF011E96149300000E69 /* wav_header.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE6F1E96149300000E69 /* wav_header.cc */; }; - 69A6DF021E96149300000E69 /* wav_header.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE701E96149300000E69 /* wav_header.h */; }; - 69A6DF031E96149300000E69 /* aec_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE741E96149300000E69 /* aec_common.h */; }; - 69A6DF041E96149300000E69 /* aec_core.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE751E96149300000E69 /* aec_core.cc */; }; - 69A6DF051E96149300000E69 /* aec_core.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE761E96149300000E69 /* aec_core.h */; }; - 69A6DF061E96149300000E69 /* aec_core_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE771E96149300000E69 /* aec_core_neon.cc */; }; - 69A6DF071E96149300000E69 /* aec_core_optimized_methods.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE781E96149300000E69 /* aec_core_optimized_methods.h */; }; - 69A6DF081E96149300000E69 /* aec_core_sse2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE791E96149300000E69 /* aec_core_sse2.cc */; }; - 69A6DF091E96149300000E69 /* aec_resampler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE7A1E96149300000E69 /* aec_resampler.cc */; }; - 69A6DF0A1E96149300000E69 /* aec_resampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE7B1E96149300000E69 /* aec_resampler.h */; }; - 69A6DF0B1E96149300000E69 /* echo_cancellation.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE7C1E96149300000E69 /* echo_cancellation.cc */; }; - 69A6DF0C1E96149300000E69 /* echo_cancellation.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE7D1E96149300000E69 /* echo_cancellation.h */; }; - 69A6DF0D1E96149300000E69 /* aecm_core.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE7F1E96149300000E69 /* aecm_core.cc */; }; - 69A6DF0E1E96149300000E69 /* aecm_core.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE801E96149300000E69 /* aecm_core.h */; }; - 69A6DF0F1E96149300000E69 /* aecm_core_c.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE811E96149300000E69 /* aecm_core_c.cc */; }; - 69A6DF101E96149300000E69 /* aecm_core_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE821E96149300000E69 /* aecm_core_neon.cc */; }; - 69A6DF111E96149300000E69 /* aecm_defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE831E96149300000E69 /* aecm_defines.h */; }; - 69A6DF121E96149300000E69 /* echo_control_mobile.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE841E96149300000E69 /* echo_control_mobile.cc */; }; - 69A6DF131E96149300000E69 /* echo_control_mobile.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE851E96149300000E69 /* echo_control_mobile.h */; }; - 69A6DF141E96149300000E69 /* analog_agc.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE881E96149300000E69 /* analog_agc.c */; }; - 69A6DF151E96149300000E69 /* analog_agc.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE891E96149300000E69 /* analog_agc.h */; }; - 69A6DF161E96149300000E69 /* digital_agc.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE8A1E96149300000E69 /* digital_agc.c */; }; - 69A6DF171E96149300000E69 /* digital_agc.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE8B1E96149300000E69 /* digital_agc.h */; }; - 69A6DF181E96149300000E69 /* gain_control.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE8C1E96149300000E69 /* gain_control.h */; }; - 69A6DF191E96149300000E69 /* apm_data_dumper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE8E1E96149300000E69 /* apm_data_dumper.cc */; }; - 69A6DF1A1E96149300000E69 /* apm_data_dumper.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE8F1E96149300000E69 /* apm_data_dumper.h */; }; - 69A6DF1B1E96149300000E69 /* defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE911E96149300000E69 /* defines.h */; }; - 69A6DF1C1E96149300000E69 /* noise_suppression.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE921E96149300000E69 /* noise_suppression.c */; }; - 69A6DF1D1E96149300000E69 /* noise_suppression.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE931E96149300000E69 /* noise_suppression.h */; }; - 69A6DF1E1E96149300000E69 /* noise_suppression_x.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE941E96149300000E69 /* noise_suppression_x.c */; }; - 69A6DF1F1E96149300000E69 /* noise_suppression_x.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE951E96149300000E69 /* noise_suppression_x.h */; }; - 69A6DF201E96149300000E69 /* ns_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE961E96149300000E69 /* ns_core.c */; }; - 69A6DF211E96149300000E69 /* ns_core.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE971E96149300000E69 /* ns_core.h */; }; - 69A6DF221E96149300000E69 /* nsx_core.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE981E96149300000E69 /* nsx_core.c */; }; - 69A6DF231E96149300000E69 /* nsx_core.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE991E96149300000E69 /* nsx_core.h */; }; - 69A6DF241E96149300000E69 /* nsx_core_c.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE9A1E96149300000E69 /* nsx_core_c.c */; }; - 69A6DF251E96149300000E69 /* nsx_core_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE9B1E96149300000E69 /* nsx_core_neon.c */; }; - 69A6DF261E96149300000E69 /* nsx_defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE9C1E96149300000E69 /* nsx_defines.h */; }; - 69A6DF271E96149300000E69 /* windows_private.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE9D1E96149300000E69 /* windows_private.h */; }; - 69A6DF281E96149300000E69 /* splitting_filter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DE9E1E96149300000E69 /* splitting_filter.cc */; }; - 69A6DF291E96149300000E69 /* splitting_filter.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DE9F1E96149300000E69 /* splitting_filter.h */; }; - 69A6DF2A1E96149300000E69 /* three_band_filter_bank.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEA01E96149300000E69 /* three_band_filter_bank.cc */; }; - 69A6DF2B1E96149300000E69 /* three_band_filter_bank.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEA11E96149300000E69 /* three_band_filter_bank.h */; }; - 69A6DF2C1E96149300000E69 /* block_mean_calculator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEA31E96149300000E69 /* block_mean_calculator.cc */; }; - 69A6DF2D1E96149300000E69 /* block_mean_calculator.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEA41E96149300000E69 /* block_mean_calculator.h */; }; - 69A6DF2E1E96149300000E69 /* delay_estimator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEA51E96149300000E69 /* delay_estimator.cc */; }; - 69A6DF2F1E96149300000E69 /* delay_estimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEA61E96149300000E69 /* delay_estimator.h */; }; - 69A6DF301E96149300000E69 /* delay_estimator_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEA71E96149300000E69 /* delay_estimator_internal.h */; }; - 69A6DF311E96149300000E69 /* delay_estimator_wrapper.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEA81E96149300000E69 /* delay_estimator_wrapper.cc */; }; - 69A6DF321E96149300000E69 /* delay_estimator_wrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEA91E96149300000E69 /* delay_estimator_wrapper.h */; }; - 69A6DF331E96149300000E69 /* ooura_fft.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEAA1E96149300000E69 /* ooura_fft.cc */; }; - 69A6DF341E96149300000E69 /* ooura_fft.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEAB1E96149300000E69 /* ooura_fft.h */; }; - 69A6DF351E96149300000E69 /* ooura_fft_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEAC1E96149300000E69 /* ooura_fft_neon.cc */; }; - 69A6DF361E96149300000E69 /* ooura_fft_sse2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEAD1E96149300000E69 /* ooura_fft_sse2.cc */; }; - 69A6DF371E96149300000E69 /* ooura_fft_tables_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEAE1E96149300000E69 /* ooura_fft_tables_common.h */; }; - 69A6DF381E96149300000E69 /* ooura_fft_tables_neon_sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEAF1E96149300000E69 /* ooura_fft_tables_neon_sse2.h */; }; - 69A6DF391E96149300000E69 /* asm_defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEB21E96149300000E69 /* asm_defines.h */; }; - 69A6DF3A1E96149300000E69 /* compile_assert_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEB31E96149300000E69 /* compile_assert_c.h */; }; - 69A6DF3B1E96149300000E69 /* cpu_features_wrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEB41E96149300000E69 /* cpu_features_wrapper.h */; }; - 69A6DF3C1E96149300000E69 /* metrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEB51E96149300000E69 /* metrics.h */; }; - 69A6DF3D1E96149300000E69 /* cpu_features.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DEB71E96149300000E69 /* cpu_features.cc */; }; - 69A6DF3E1E96149300000E69 /* typedefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DEB81E96149300000E69 /* typedefs.h */; }; 69A6DF431E9614B700000E69 /* AudioInputAudioUnitOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DF3F1E9614B700000E69 /* AudioInputAudioUnitOSX.cpp */; }; - 69A6DF441E9614B700000E69 /* AudioInputAudioUnitOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DF401E9614B700000E69 /* AudioInputAudioUnitOSX.h */; }; 69A6DF451E9614B700000E69 /* AudioOutputAudioUnitOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69A6DF411E9614B700000E69 /* AudioOutputAudioUnitOSX.cpp */; }; - 69A6DF461E9614B700000E69 /* AudioOutputAudioUnitOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A6DF421E9614B700000E69 /* AudioOutputAudioUnitOSX.h */; }; 69EBC7912136D220003CFE90 /* AudioInputAudioUnitOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A87DDC1F4B6A61002D3F73 /* AudioInputAudioUnitOSX.cpp */; }; 69EBC7922136D220003CFE90 /* AudioOutputAudioUnitOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A87DDE1F4B6A61002D3F73 /* AudioOutputAudioUnitOSX.cpp */; }; 69EBC7942136D277003CFE90 /* DarwinSpecific.mm in Sources */ = {isa = PBXBuildFile; fileRef = 69EBC7932136D277003CFE90 /* DarwinSpecific.mm */; }; - 69EBC7962136D2A9003CFE90 /* Resampler.h in Headers */ = {isa = PBXBuildFile; fileRef = 69EBC7952136D2A9003CFE90 /* Resampler.h */; }; C2A87DD81F4B6A33002D3F73 /* Resampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A87DD71F4B6A33002D3F73 /* Resampler.cpp */; }; C2A87DDF1F4B6A61002D3F73 /* AudioInputAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A87DDB1F4B6A61002D3F73 /* AudioInputAudioUnit.cpp */; }; C2A87DE01F4B6A61002D3F73 /* AudioOutputAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2A87DDD1F4B6A61002D3F73 /* AudioOutputAudioUnit.cpp */; }; @@ -270,6 +390,602 @@ 690725C01EBBD5F2005D860B /* NetworkSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkSocket.cpp; sourceTree = SOURCE_ROOT; }; 690725C11EBBD5F2005D860B /* NetworkSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkSocket.h; sourceTree = SOURCE_ROOT; }; 6915307A1E6B5BAB004F643F /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = SOURCE_ROOT; }; + 691E032E21A4FD7500F838EF /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = ""; }; + 691E033221A4FD7500F838EF /* memutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memutil.h; sourceTree = ""; }; + 691E033321A4FD7500F838EF /* memutil.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memutil.cc; sourceTree = ""; }; + 691E033421A4FD7500F838EF /* string_view.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_view.cc; sourceTree = ""; }; + 691E033521A4FD7500F838EF /* ascii.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ascii.h; sourceTree = ""; }; + 691E033621A4FD7500F838EF /* ascii.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ascii.cc; sourceTree = ""; }; + 691E033721A4FD7500F838EF /* string_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_view.h; sourceTree = ""; }; + 691E033921A4FD7500F838EF /* optional.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = optional.h; sourceTree = ""; }; + 691E033A21A4FD7500F838EF /* bad_optional_access.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bad_optional_access.h; sourceTree = ""; }; + 691E033B21A4FD7500F838EF /* bad_optional_access.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bad_optional_access.cc; sourceTree = ""; }; + 691E033C21A4FD7500F838EF /* optional.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = optional.cc; sourceTree = ""; }; + 691E033E21A4FD7500F838EF /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = ""; }; + 691E034021A4FD7500F838EF /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; + 691E034221A4FD7500F838EF /* algorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = algorithm.h; sourceTree = ""; }; + 691E034421A4FD7500F838EF /* inlined_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inlined_vector.h; sourceTree = ""; }; + 691E034621A4FD7500F838EF /* policy_checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = policy_checks.h; sourceTree = ""; }; + 691E034721A4FD7500F838EF /* port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = port.h; sourceTree = ""; }; + 691E034821A4FD7500F838EF /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 691E034A21A4FD7500F838EF /* raw_logging.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = raw_logging.cc; sourceTree = ""; }; + 691E034B21A4FD7500F838EF /* throw_delegate.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = throw_delegate.cc; sourceTree = ""; }; + 691E034C21A4FD7500F838EF /* invoke.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = invoke.h; sourceTree = ""; }; + 691E034D21A4FD7500F838EF /* inline_variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline_variable.h; sourceTree = ""; }; + 691E034E21A4FD7500F838EF /* atomic_hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomic_hook.h; sourceTree = ""; }; + 691E034F21A4FD7500F838EF /* identity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = identity.h; sourceTree = ""; }; + 691E035021A4FD7500F838EF /* raw_logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = raw_logging.h; sourceTree = ""; }; + 691E035121A4FD7500F838EF /* throw_delegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = throw_delegate.h; sourceTree = ""; }; + 691E035221A4FD7500F838EF /* attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attributes.h; sourceTree = ""; }; + 691E035321A4FD7500F838EF /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = ""; }; + 691E035421A4FD7500F838EF /* optimization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = optimization.h; sourceTree = ""; }; + 691E035521A4FD7500F838EF /* log_severity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log_severity.h; sourceTree = ""; }; + 691E035721A4FD7500F838EF /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + 691E035A21A4FD7500F838EF /* mock_smoothing_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_smoothing_filter.h; sourceTree = ""; }; + 691E035B21A4FD7500F838EF /* wav_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_file.h; sourceTree = ""; }; + 691E035C21A4FD7500F838EF /* window_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = window_generator.cc; sourceTree = ""; }; + 691E035D21A4FD7500F838EF /* channel_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = channel_buffer.cc; sourceTree = ""; }; + 691E035E21A4FD7500F838EF /* fir_filter_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_factory.cc; sourceTree = ""; }; + 691E035F21A4FD7500F838EF /* sparse_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sparse_fir_filter.h; sourceTree = ""; }; + 691E036021A4FD7500F838EF /* fir_filter_sse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_sse.h; sourceTree = ""; }; + 691E036121A4FD7500F838EF /* window_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = window_generator.h; sourceTree = ""; }; + 691E036221A4FD7500F838EF /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; + 691E036321A4FD7500F838EF /* fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter.h; sourceTree = ""; }; + 691E036521A4FD7500F838EF /* audio_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_util.h; sourceTree = ""; }; + 691E036621A4FD7500F838EF /* wav_header.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_header.cc; sourceTree = ""; }; + 691E036721A4FD7500F838EF /* real_fourier_ooura.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = real_fourier_ooura.cc; sourceTree = ""; }; + 691E036821A4FD7500F838EF /* fir_filter_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_neon.cc; sourceTree = ""; }; + 691E036921A4FD7500F838EF /* audio_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_util.cc; sourceTree = ""; }; + 691E036A21A4FD7500F838EF /* real_fourier_ooura.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fourier_ooura.h; sourceTree = ""; }; + 691E036B21A4FD7500F838EF /* fir_filter_sse.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_sse.cc; sourceTree = ""; }; + 691E036C21A4FD7500F838EF /* smoothing_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smoothing_filter.h; sourceTree = ""; }; + 691E036E21A4FD7500F838EF /* sinc_resampler_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler_neon.cc; sourceTree = ""; }; + 691E036F21A4FD7500F838EF /* push_sinc_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = push_sinc_resampler.cc; sourceTree = ""; }; + 691E037021A4FD7500F838EF /* sinc_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sinc_resampler.h; sourceTree = ""; }; + 691E037121A4FD7500F838EF /* resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resampler.cc; sourceTree = ""; }; + 691E037221A4FD7500F838EF /* sinc_resampler_sse.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler_sse.cc; sourceTree = ""; }; + 691E037421A4FD7500F838EF /* push_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = push_resampler.h; sourceTree = ""; }; + 691E037521A4FD7500F838EF /* resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resampler.h; sourceTree = ""; }; + 691E037621A4FD7500F838EF /* push_sinc_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = push_sinc_resampler.h; sourceTree = ""; }; + 691E037721A4FD7500F838EF /* push_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = push_resampler.cc; sourceTree = ""; }; + 691E037821A4FD7500F838EF /* sinusoidal_linear_chirp_source.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sinusoidal_linear_chirp_source.h; sourceTree = ""; }; + 691E037921A4FD7500F838EF /* sinc_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinc_resampler.cc; sourceTree = ""; }; + 691E037A21A4FD7500F838EF /* sinusoidal_linear_chirp_source.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sinusoidal_linear_chirp_source.cc; sourceTree = ""; }; + 691E037B21A4FD7500F838EF /* fir_filter_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_factory.h; sourceTree = ""; }; + 691E037C21A4FD7500F838EF /* audio_converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_converter.h; sourceTree = ""; }; + 691E037D21A4FD7500F838EF /* wav_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_file.cc; sourceTree = ""; }; + 691E038021A4FD7500F838EF /* spl_sqrt_floor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt_floor.c; sourceTree = ""; }; + 691E038221A4FD7500F838EF /* spl_sqrt_floor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_sqrt_floor.h; sourceTree = ""; }; + 691E038421A4FD7500F838EF /* fft4g.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft4g.c; sourceTree = ""; }; + 691E038521A4FD7500F838EF /* fft4g.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft4g.h; sourceTree = ""; }; + 691E038621A4FD7500F838EF /* audio_converter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_converter.cc; sourceTree = ""; }; + 691E038721A4FD7500F838EF /* real_fourier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = real_fourier.cc; sourceTree = ""; }; + 691E038821A4FD7500F838EF /* channel_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_buffer.h; sourceTree = ""; }; + 691E038921A4FD7500F838EF /* real_fourier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fourier.h; sourceTree = ""; }; + 691E038A21A4FD7500F838EF /* sparse_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sparse_fir_filter.cc; sourceTree = ""; }; + 691E038B21A4FD7500F838EF /* fir_filter_neon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_neon.h; sourceTree = ""; }; + 691E038C21A4FD7500F838EF /* smoothing_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = smoothing_filter.cc; sourceTree = ""; }; + 691E038D21A4FD7500F838EF /* fir_filter_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fir_filter_c.cc; sourceTree = ""; }; + 691E038E21A4FD7500F838EF /* ring_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ring_buffer.c; sourceTree = ""; }; + 691E038F21A4FD7500F838EF /* fir_filter_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fir_filter_c.h; sourceTree = ""; }; + 691E039121A4FD7500F838EF /* complex_fft_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = complex_fft_tables.h; sourceTree = ""; }; + 691E039221A4FD7500F838EF /* complex_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_fft.c; sourceTree = ""; }; + 691E039321A4FD7500F838EF /* filter_ma_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ma_fast_q12.c; sourceTree = ""; }; + 691E039421A4FD7500F838EF /* splitting_filter1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = splitting_filter1.c; sourceTree = ""; }; + 691E039521A4FD7500F838EF /* levinson_durbin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = levinson_durbin.c; sourceTree = ""; }; + 691E039621A4FD7500F838EF /* downsample_fast_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast_neon.c; sourceTree = ""; }; + 691E039721A4FD7500F838EF /* dot_product_with_scale.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = dot_product_with_scale.cc; sourceTree = ""; }; + 691E039821A4FD7500F838EF /* auto_corr_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_corr_to_refl_coef.c; sourceTree = ""; }; + 691E039921A4FD7500F838EF /* resample_by_2_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2_internal.c; sourceTree = ""; }; + 691E039B21A4FD7500F838EF /* energy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = energy.c; sourceTree = ""; }; + 691E039C21A4FD7500F838EF /* sqrt_of_one_minus_x_squared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sqrt_of_one_minus_x_squared.c; sourceTree = ""; }; + 691E039D21A4FD7500F838EF /* downsample_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast.c; sourceTree = ""; }; + 691E039E21A4FD7500F838EF /* filter_ar_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar_fast_q12.c; sourceTree = ""; }; + 691E039F21A4FD7500F838EF /* spl_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_init.c; sourceTree = ""; }; + 691E03A021A4FD7500F838EF /* lpc_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_to_refl_coef.c; sourceTree = ""; }; + 691E03A121A4FD7500F838EF /* cross_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation.c; sourceTree = ""; }; + 691E03A321A4FD7500F838EF /* signal_processing_library.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_processing_library.h; sourceTree = ""; }; + 691E03A421A4FD7500F838EF /* real_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fft.h; sourceTree = ""; }; + 691E03A521A4FD7500F838EF /* spl_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl.h; sourceTree = ""; }; + 691E03A621A4FD7500F838EF /* spl_inl_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_armv7.h; sourceTree = ""; }; + 691E03A721A4FD7500F838EF /* division_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = division_operations.c; sourceTree = ""; }; + 691E03A821A4FD7500F838EF /* auto_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_correlation.c; sourceTree = ""; }; + 691E03A921A4FD7500F838EF /* get_scaling_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_scaling_square.c; sourceTree = ""; }; + 691E03AA21A4FD7500F838EF /* min_max_operations_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations_neon.c; sourceTree = ""; }; + 691E03AB21A4FD7500F838EF /* dot_product_with_scale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dot_product_with_scale.h; sourceTree = ""; }; + 691E03AC21A4FD7500F838EF /* resample_by_2_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resample_by_2_internal.h; sourceTree = ""; }; + 691E03AD21A4FD7500F838EF /* resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample.c; sourceTree = ""; }; + 691E03AE21A4FD7500F838EF /* cross_correlation_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation_neon.c; sourceTree = ""; }; + 691E03AF21A4FD7500F838EF /* min_max_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations.c; sourceTree = ""; }; + 691E03B021A4FD7500F838EF /* refl_coef_to_lpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = refl_coef_to_lpc.c; sourceTree = ""; }; + 691E03B121A4FD7500F838EF /* filter_ar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar.c; sourceTree = ""; }; + 691E03B221A4FD7500F838EF /* vector_scaling_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vector_scaling_operations.c; sourceTree = ""; }; + 691E03B321A4FD7500F838EF /* resample_fractional.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_fractional.c; sourceTree = ""; }; + 691E03B421A4FD7500F838EF /* real_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_fft.c; sourceTree = ""; }; + 691E03B521A4FD7500F838EF /* ilbc_specific_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ilbc_specific_functions.c; sourceTree = ""; }; + 691E03B621A4FD7500F838EF /* complex_bit_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_bit_reverse.c; sourceTree = ""; }; + 691E03B721A4FD7500F838EF /* randomization_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = randomization_functions.c; sourceTree = ""; }; + 691E03B921A4FD7500F838EF /* copy_set_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = copy_set_operations.c; sourceTree = ""; }; + 691E03BA21A4FD7500F838EF /* resample_by_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2.c; sourceTree = ""; }; + 691E03BB21A4FD7500F838EF /* get_hanning_window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_hanning_window.c; sourceTree = ""; }; + 691E03BC21A4FD7500F838EF /* resample_48khz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_48khz.c; sourceTree = ""; }; + 691E03BD21A4FD7500F838EF /* spl_inl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_inl.c; sourceTree = ""; }; + 691E03BE21A4FD7500F838EF /* spl_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt.c; sourceTree = ""; }; + 691E03BF21A4FD7500F838EF /* wav_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_header.h; sourceTree = ""; }; + 691E03C121A4FD7500F838EF /* vad_sp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_sp.c; sourceTree = ""; }; + 691E03C221A4FD7500F838EF /* vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad.cc; sourceTree = ""; }; + 691E03C321A4FD7500F838EF /* webrtc_vad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = webrtc_vad.c; sourceTree = ""; }; + 691E03C421A4FD7500F838EF /* vad_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_core.h; sourceTree = ""; }; + 691E03C621A4FD7500F838EF /* vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad.h; sourceTree = ""; }; + 691E03C721A4FD7500F838EF /* webrtc_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = webrtc_vad.h; sourceTree = ""; }; + 691E03C821A4FD7500F838EF /* vad_gmm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_gmm.h; sourceTree = ""; }; + 691E03C921A4FD7500F838EF /* vad_filterbank.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_filterbank.c; sourceTree = ""; }; + 691E03CA21A4FD7500F838EF /* vad_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_core.c; sourceTree = ""; }; + 691E03CB21A4FD7500F838EF /* vad_sp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_sp.h; sourceTree = ""; }; + 691E03CC21A4FD7500F838EF /* vad_filterbank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_filterbank.h; sourceTree = ""; }; + 691E03CD21A4FD7500F838EF /* vad_gmm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vad_gmm.c; sourceTree = ""; }; + 691E03D021A4FD7500F838EF /* audio_frame.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_frame.cc; sourceTree = ""; }; + 691E03D121A4FD7500F838EF /* echo_canceller3_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3_config.h; sourceTree = ""; }; + 691E03D221A4FD7500F838EF /* echo_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control.h; sourceTree = ""; }; + 691E03D321A4FD7500F838EF /* audio_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_frame.h; sourceTree = ""; }; + 691E03D421A4FD7500F838EF /* echo_canceller3_config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3_config.cc; sourceTree = ""; }; + 691E03D521A4FD7500F838EF /* echo_canceller3_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3_factory.h; sourceTree = ""; }; + 691E03D621A4FD7500F838EF /* echo_canceller3_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3_factory.cc; sourceTree = ""; }; + 691E03D721A4FD7500F838EF /* array_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = array_view.h; sourceTree = ""; }; + 691E03DB21A4FD7500F838EF /* rnn_vad_weights.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rnn_vad_weights.cc; sourceTree = ""; }; + 691E03DC21A4FD7500F838EF /* rnn_activations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn_activations.h; sourceTree = ""; }; + 691E03DD21A4FD7500F838EF /* kiss_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kiss_fft.h; sourceTree = ""; }; + 691E03DE21A4FD7500F838EF /* kiss_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = kiss_fft.cc; sourceTree = ""; }; + 691E03DF21A4FD7500F838EF /* rnn_vad_weights.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn_vad_weights.h; sourceTree = ""; }; + 691E03E221A4FD7500F838EF /* field_trial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = field_trial.h; sourceTree = ""; }; + 691E03E321A4FD7500F838EF /* cpu_features_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu_features_wrapper.h; sourceTree = ""; }; + 691E03E421A4FD7500F838EF /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_defines.h; sourceTree = ""; }; + 691E03E521A4FD7500F838EF /* metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = metrics.h; sourceTree = ""; }; + 691E03E621A4FD7500F838EF /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile_assert_c.h; sourceTree = ""; }; + 691E03E821A4FD7500F838EF /* field_trial.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = field_trial.cc; sourceTree = ""; }; + 691E03E921A4FD7500F838EF /* metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = metrics.cc; sourceTree = ""; }; + 691E03EA21A4FD7500F838EF /* cpu_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cpu_features.cc; sourceTree = ""; }; + 691E03EE21A4FD7500F838EF /* fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft.h; sourceTree = ""; }; + 691E03EF21A4FD7500F838EF /* fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft.c; sourceTree = ""; }; + 691E03F321A4FD7500F838EF /* bandwidth_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bandwidth_info.h; sourceTree = ""; }; + 691E03F621A4FD7500F838EF /* isac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac.h; sourceTree = ""; }; + 691E03F821A4FD7500F838EF /* pitch_estimator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_estimator.c; sourceTree = ""; }; + 691E03F921A4FD7500F838EF /* lpc_shape_swb16_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_shape_swb16_tables.c; sourceTree = ""; }; + 691E03FA21A4FD7500F838EF /* pitch_gain_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_gain_tables.c; sourceTree = ""; }; + 691E03FB21A4FD7500F838EF /* arith_routines_logist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines_logist.c; sourceTree = ""; }; + 691E03FC21A4FD7500F838EF /* os_specific_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = os_specific_inline.h; sourceTree = ""; }; + 691E03FD21A4FD7500F838EF /* filterbanks.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filterbanks.c; sourceTree = ""; }; + 691E03FE21A4FD7500F838EF /* entropy_coding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = entropy_coding.h; sourceTree = ""; }; + 691E03FF21A4FD7500F838EF /* isac_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac_vad.h; sourceTree = ""; }; + 691E040021A4FD7500F838EF /* settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = settings.h; sourceTree = ""; }; + 691E040121A4FD7500F838EF /* transform.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = transform.c; sourceTree = ""; }; + 691E040221A4FD7500F838EF /* lpc_shape_swb12_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_shape_swb12_tables.h; sourceTree = ""; }; + 691E040321A4FD7500F838EF /* arith_routines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arith_routines.h; sourceTree = ""; }; + 691E040421A4FD7500F838EF /* crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc.h; sourceTree = ""; }; + 691E040521A4FD7500F838EF /* pitch_filter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_filter.c; sourceTree = ""; }; + 691E040621A4FD7500F838EF /* encode_lpc_swb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = encode_lpc_swb.c; sourceTree = ""; }; + 691E040721A4FD7500F838EF /* filter_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_functions.c; sourceTree = ""; }; + 691E040821A4FD7500F838EF /* decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decode.c; sourceTree = ""; }; + 691E040921A4FD7500F838EF /* lattice.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lattice.c; sourceTree = ""; }; + 691E040A21A4FD7500F838EF /* intialize.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = intialize.c; sourceTree = ""; }; + 691E040B21A4FD7500F838EF /* lpc_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_tables.c; sourceTree = ""; }; + 691E040C21A4FD7500F838EF /* lpc_gain_swb_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_gain_swb_tables.c; sourceTree = ""; }; + 691E040D21A4FD7500F838EF /* bandwidth_estimator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bandwidth_estimator.c; sourceTree = ""; }; + 691E040E21A4FD7500F838EF /* isac_float_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isac_float_type.h; sourceTree = ""; }; + 691E040F21A4FD7500F838EF /* pitch_lag_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_lag_tables.h; sourceTree = ""; }; + 691E041021A4FD7500F838EF /* encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = encode.c; sourceTree = ""; }; + 691E041121A4FD7500F838EF /* lpc_analysis.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_analysis.c; sourceTree = ""; }; + 691E041221A4FD7500F838EF /* spectrum_ar_model_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectrum_ar_model_tables.h; sourceTree = ""; }; + 691E041321A4FD7500F838EF /* arith_routines_hist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines_hist.c; sourceTree = ""; }; + 691E041421A4FD7500F838EF /* codec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = codec.h; sourceTree = ""; }; + 691E041521A4FD7500F838EF /* pitch_gain_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_gain_tables.h; sourceTree = ""; }; + 691E041621A4FD7500F838EF /* lpc_shape_swb16_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_shape_swb16_tables.h; sourceTree = ""; }; + 691E041721A4FD7500F838EF /* pitch_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_estimator.h; sourceTree = ""; }; + 691E041821A4FD7500F838EF /* entropy_coding.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = entropy_coding.c; sourceTree = ""; }; + 691E041921A4FD7500F838EF /* isac_vad.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = isac_vad.c; sourceTree = ""; }; + 691E041A21A4FD7500F838EF /* structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = structs.h; sourceTree = ""; }; + 691E041B21A4FD7500F838EF /* filter_functions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filter_functions.h; sourceTree = ""; }; + 691E041C21A4FD7500F838EF /* encode_lpc_swb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encode_lpc_swb.h; sourceTree = ""; }; + 691E041D21A4FD7500F838EF /* pitch_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_filter.h; sourceTree = ""; }; + 691E041E21A4FD7500F838EF /* arith_routines.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = arith_routines.c; sourceTree = ""; }; + 691E041F21A4FD7500F838EF /* crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc.c; sourceTree = ""; }; + 691E042021A4FD7500F838EF /* lpc_shape_swb12_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_shape_swb12_tables.c; sourceTree = ""; }; + 691E042121A4FD7500F838EF /* lpc_analysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_analysis.h; sourceTree = ""; }; + 691E042221A4FD7500F838EF /* decode_bwe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decode_bwe.c; sourceTree = ""; }; + 691E042321A4FD7500F838EF /* spectrum_ar_model_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spectrum_ar_model_tables.c; sourceTree = ""; }; + 691E042421A4FD7500F838EF /* bandwidth_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bandwidth_estimator.h; sourceTree = ""; }; + 691E042521A4FD7500F838EF /* pitch_lag_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pitch_lag_tables.c; sourceTree = ""; }; + 691E042621A4FD7500F838EF /* isac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = isac.c; sourceTree = ""; }; + 691E042721A4FD7500F838EF /* lpc_gain_swb_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_gain_swb_tables.h; sourceTree = ""; }; + 691E042821A4FD7500F838EF /* lpc_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lpc_tables.h; sourceTree = ""; }; + 691E042A21A4FD7500F838EF /* rms_level.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rms_level.cc; sourceTree = ""; }; + 691E042C21A4FD7500F838EF /* moving_max.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_max.h; sourceTree = ""; }; + 691E042D21A4FD7600F838EF /* circular_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = circular_buffer.h; sourceTree = ""; }; + 691E042E21A4FD7600F838EF /* normalized_covariance_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = normalized_covariance_estimator.h; sourceTree = ""; }; + 691E042F21A4FD7600F838EF /* normalized_covariance_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = normalized_covariance_estimator.cc; sourceTree = ""; }; + 691E043021A4FD7600F838EF /* moving_max.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_max.cc; sourceTree = ""; }; + 691E043121A4FD7600F838EF /* circular_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = circular_buffer.cc; sourceTree = ""; }; + 691E043221A4FD7600F838EF /* mean_variance_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mean_variance_estimator.cc; sourceTree = ""; }; + 691E043321A4FD7600F838EF /* mean_variance_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mean_variance_estimator.h; sourceTree = ""; }; + 691E043421A4FD7600F838EF /* gain_control_for_experimental_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control_for_experimental_agc.h; sourceTree = ""; }; + 691E043521A4FD7600F838EF /* splitting_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = splitting_filter.cc; sourceTree = ""; }; + 691E043621A4FD7600F838EF /* gain_control_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_control_impl.cc; sourceTree = ""; }; + 691E043721A4FD7600F838EF /* rms_level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rms_level.h; sourceTree = ""; }; + 691E043D21A4FD7600F838EF /* ns_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ns_core.h; sourceTree = ""; }; + 691E043E21A4FD7600F838EF /* nsx_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core.c; sourceTree = ""; }; + 691E043F21A4FD7600F838EF /* noise_suppression_x.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression_x.c; sourceTree = ""; }; + 691E044021A4FD7600F838EF /* nsx_core_c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_c.c; sourceTree = ""; }; + 691E044121A4FD7600F838EF /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defines.h; sourceTree = ""; }; + 691E044221A4FD7600F838EF /* noise_suppression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression.h; sourceTree = ""; }; + 691E044321A4FD7600F838EF /* ns_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ns_core.c; sourceTree = ""; }; + 691E044421A4FD7600F838EF /* nsx_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_core.h; sourceTree = ""; }; + 691E044521A4FD7600F838EF /* windows_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = windows_private.h; sourceTree = ""; }; + 691E044621A4FD7600F838EF /* noise_suppression_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression_x.h; sourceTree = ""; }; + 691E044721A4FD7600F838EF /* nsx_core_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nsx_core_neon.c; sourceTree = ""; }; + 691E044821A4FD7600F838EF /* noise_suppression.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = noise_suppression.c; sourceTree = ""; }; + 691E044921A4FD7600F838EF /* nsx_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nsx_defines.h; sourceTree = ""; }; + 691E044A21A4FD7600F838EF /* residual_echo_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = residual_echo_detector.h; sourceTree = ""; }; + 691E044B21A4FD7600F838EF /* audio_processing_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing_impl.h; sourceTree = ""; }; + 691E044C21A4FD7600F838EF /* audio_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_buffer.cc; sourceTree = ""; }; + 691E044D21A4FD7600F838EF /* typing_detection.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = typing_detection.cc; sourceTree = ""; }; + 691E044E21A4FD7600F838EF /* render_queue_item_verifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_queue_item_verifier.h; sourceTree = ""; }; + 691E045121A4FD7600F838EF /* audio_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_generator.h; sourceTree = ""; }; + 691E045221A4FD7600F838EF /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 691E045321A4FD7600F838EF /* audio_frame_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_frame_view.h; sourceTree = ""; }; + 691E045421A4FD7600F838EF /* mock_audio_processing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_audio_processing.h; sourceTree = ""; }; + 691E045521A4FD7600F838EF /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control.h; sourceTree = ""; }; + 691E045621A4FD7600F838EF /* audio_generator_factory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_generator_factory.h; sourceTree = ""; }; + 691E045721A4FD7600F838EF /* audio_processing_statistics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing_statistics.cc; sourceTree = ""; }; + 691E045821A4FD7600F838EF /* audio_generator_factory.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_generator_factory.cc; sourceTree = ""; }; + 691E045921A4FD7600F838EF /* aec_dump.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_dump.cc; sourceTree = ""; }; + 691E045A21A4FD7600F838EF /* aec_dump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_dump.h; sourceTree = ""; }; + 691E045B21A4FD7600F838EF /* audio_processing_statistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing_statistics.h; sourceTree = ""; }; + 691E045C21A4FD7600F838EF /* audio_processing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_processing.h; sourceTree = ""; }; + 691E045D21A4FD7600F838EF /* audio_processing.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing.cc; sourceTree = ""; }; + 691E045E21A4FD7600F838EF /* config.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = config.cc; sourceTree = ""; }; + 691E046021A4FD7600F838EF /* interpolated_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = interpolated_gain_curve.h; sourceTree = ""; }; + 691E046121A4FD7600F838EF /* biquad_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = biquad_filter.h; sourceTree = ""; }; + 691E046221A4FD7600F838EF /* interpolated_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = interpolated_gain_curve.cc; sourceTree = ""; }; + 691E046321A4FD7600F838EF /* agc2_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc2_common.cc; sourceTree = ""; }; + 691E046421A4FD7600F838EF /* agc2_testing_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc2_testing_common.h; sourceTree = ""; }; + 691E046521A4FD7600F838EF /* adaptive_mode_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_mode_level_estimator.h; sourceTree = ""; }; + 691E046621A4FD7600F838EF /* gain_applier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_applier.cc; sourceTree = ""; }; + 691E046721A4FD7600F838EF /* signal_classifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_classifier.h; sourceTree = ""; }; + 691E046821A4FD7600F838EF /* adaptive_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_agc.cc; sourceTree = ""; }; + 691E046921A4FD7600F838EF /* adaptive_digital_gain_applier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_digital_gain_applier.cc; sourceTree = ""; }; + 691E046A21A4FD7600F838EF /* limiter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limiter.cc; sourceTree = ""; }; + 691E046B21A4FD7600F838EF /* saturation_protector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = saturation_protector.cc; sourceTree = ""; }; + 691E046C21A4FD7600F838EF /* vector_float_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_float_frame.h; sourceTree = ""; }; + 691E046E21A4FD7600F838EF /* spectral_features_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spectral_features_internal.cc; sourceTree = ""; }; + 691E046F21A4FD7600F838EF /* sequence_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sequence_buffer.h; sourceTree = ""; }; + 691E047021A4FD7600F838EF /* rnn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rnn.h; sourceTree = ""; }; + 691E047121A4FD7600F838EF /* rnn.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rnn.cc; sourceTree = ""; }; + 691E047221A4FD7600F838EF /* test_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test_utils.h; sourceTree = ""; }; + 691E047321A4FD7600F838EF /* pitch_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_info.h; sourceTree = ""; }; + 691E047421A4FD7600F838EF /* lp_residual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lp_residual.h; sourceTree = ""; }; + 691E047521A4FD7600F838EF /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; + 691E047621A4FD7600F838EF /* pitch_search_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_search_internal.cc; sourceTree = ""; }; + 691E047721A4FD7600F838EF /* symmetric_matrix_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symmetric_matrix_buffer.h; sourceTree = ""; }; + 691E047821A4FD7600F838EF /* spectral_features.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectral_features.h; sourceTree = ""; }; + 691E047921A4FD7600F838EF /* features_extraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = features_extraction.h; sourceTree = ""; }; + 691E047A21A4FD7600F838EF /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 691E047B21A4FD7600F838EF /* spectral_features_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spectral_features_internal.h; sourceTree = ""; }; + 691E047C21A4FD7600F838EF /* fft_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_util.h; sourceTree = ""; }; + 691E047D21A4FD7600F838EF /* spectral_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spectral_features.cc; sourceTree = ""; }; + 691E047E21A4FD7600F838EF /* pitch_search_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_search_internal.h; sourceTree = ""; }; + 691E047F21A4FD7600F838EF /* pitch_search.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_search.cc; sourceTree = ""; }; + 691E048021A4FD7600F838EF /* pitch_search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_search.h; sourceTree = ""; }; + 691E048121A4FD7600F838EF /* features_extraction.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = features_extraction.cc; sourceTree = ""; }; + 691E048221A4FD7600F838EF /* fft_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft_util.cc; sourceTree = ""; }; + 691E048321A4FD7600F838EF /* lp_residual.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lp_residual.cc; sourceTree = ""; }; + 691E048421A4FD7600F838EF /* fixed_gain_controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fixed_gain_controller.h; sourceTree = ""; }; + 691E048521A4FD7600F838EF /* adaptive_mode_level_estimator_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_mode_level_estimator_agc.cc; sourceTree = ""; }; + 691E048621A4FD7600F838EF /* vector_float_frame.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_float_frame.cc; sourceTree = ""; }; + 691E048721A4FD7600F838EF /* down_sampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = down_sampler.h; sourceTree = ""; }; + 691E048821A4FD7600F838EF /* noise_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_level_estimator.cc; sourceTree = ""; }; + 691E048921A4FD7600F838EF /* agc2_testing_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc2_testing_common.cc; sourceTree = ""; }; + 691E048A21A4FD7600F838EF /* fixed_digital_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fixed_digital_level_estimator.cc; sourceTree = ""; }; + 691E048B21A4FD7600F838EF /* fixed_gain_controller.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fixed_gain_controller.cc; sourceTree = ""; }; + 691E048C21A4FD7600F838EF /* saturation_protector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saturation_protector.h; sourceTree = ""; }; + 691E048D21A4FD7600F838EF /* vad_with_level.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_with_level.cc; sourceTree = ""; }; + 691E048E21A4FD7600F838EF /* limiter_db_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limiter_db_gain_curve.cc; sourceTree = ""; }; + 691E048F21A4FD7600F838EF /* agc2_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc2_common.h; sourceTree = ""; }; + 691E049021A4FD7600F838EF /* adaptive_mode_level_estimator_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_mode_level_estimator_agc.h; sourceTree = ""; }; + 691E049121A4FD7600F838EF /* adaptive_digital_gain_applier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_digital_gain_applier.h; sourceTree = ""; }; + 691E049221A4FD7600F838EF /* vad_with_level.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_with_level.h; sourceTree = ""; }; + 691E049321A4FD7600F838EF /* limiter_db_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limiter_db_gain_curve.h; sourceTree = ""; }; + 691E049421A4FD7600F838EF /* fixed_digital_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fixed_digital_level_estimator.h; sourceTree = ""; }; + 691E049521A4FD7600F838EF /* adaptive_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_agc.h; sourceTree = ""; }; + 691E049621A4FD7600F838EF /* gain_applier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_applier.h; sourceTree = ""; }; + 691E049721A4FD7600F838EF /* down_sampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = down_sampler.cc; sourceTree = ""; }; + 691E049821A4FD7600F838EF /* noise_level_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_level_estimator.h; sourceTree = ""; }; + 691E049921A4FD7600F838EF /* signal_classifier.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = signal_classifier.cc; sourceTree = ""; }; + 691E049A21A4FD7600F838EF /* noise_spectrum_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_spectrum_estimator.cc; sourceTree = ""; }; + 691E049B21A4FD7600F838EF /* compute_interpolated_gain_curve.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = compute_interpolated_gain_curve.cc; sourceTree = ""; }; + 691E049C21A4FD7600F838EF /* compute_interpolated_gain_curve.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compute_interpolated_gain_curve.h; sourceTree = ""; }; + 691E049D21A4FD7600F838EF /* biquad_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = biquad_filter.cc; sourceTree = ""; }; + 691E049E21A4FD7600F838EF /* noise_spectrum_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_spectrum_estimator.h; sourceTree = ""; }; + 691E049F21A4FD7600F838EF /* limiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limiter.h; sourceTree = ""; }; + 691E04A021A4FD7600F838EF /* adaptive_mode_level_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_mode_level_estimator.cc; sourceTree = ""; }; + 691E04A221A4FD7600F838EF /* moving_moments.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_moments.cc; sourceTree = ""; }; + 691E04A321A4FD7600F838EF /* transient_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transient_detector.h; sourceTree = ""; }; + 691E04A421A4FD7600F838EF /* wpd_tree.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wpd_tree.cc; sourceTree = ""; }; + 691E04A521A4FD7600F838EF /* transient_suppressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = transient_suppressor.h; sourceTree = ""; }; + 691E04A621A4FD7600F838EF /* daubechies_8_wavelet_coeffs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = daubechies_8_wavelet_coeffs.h; sourceTree = ""; }; + 691E04A721A4FD7600F838EF /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 691E04A821A4FD7600F838EF /* wpd_node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wpd_node.h; sourceTree = ""; }; + 691E04A921A4FD7600F838EF /* moving_moments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_moments.h; sourceTree = ""; }; + 691E04AA21A4FD7600F838EF /* wpd_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wpd_tree.h; sourceTree = ""; }; + 691E04AB21A4FD7600F838EF /* wpd_node.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wpd_node.cc; sourceTree = ""; }; + 691E04AC21A4FD7600F838EF /* transient_suppressor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transient_suppressor.cc; sourceTree = ""; }; + 691E04AD21A4FD7600F838EF /* transient_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = transient_detector.cc; sourceTree = ""; }; + 691E04AE21A4FD7600F838EF /* dyadic_decimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dyadic_decimator.h; sourceTree = ""; }; + 691E04AF21A4FD7600F838EF /* low_cut_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = low_cut_filter.cc; sourceTree = ""; }; + 691E04B021A4FD7600F838EF /* noise_suppression_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_suppression_impl.h; sourceTree = ""; }; + 691E04B121A4FD7600F838EF /* level_estimator_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = level_estimator_impl.cc; sourceTree = ""; }; + 691E04B221A4FD7600F838EF /* three_band_filter_bank.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = three_band_filter_bank.cc; sourceTree = ""; }; + 691E04B421A4FD7600F838EF /* echo_cancellation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_cancellation.cc; sourceTree = ""; }; + 691E04B521A4FD7600F838EF /* aec_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_resampler.h; sourceTree = ""; }; + 691E04B621A4FD7600F838EF /* aec_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_resampler.cc; sourceTree = ""; }; + 691E04B721A4FD7600F838EF /* echo_cancellation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_cancellation.h; sourceTree = ""; }; + 691E04B821A4FD7600F838EF /* aec_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core.cc; sourceTree = ""; }; + 691E04B921A4FD7600F838EF /* aec_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core.h; sourceTree = ""; }; + 691E04BA21A4FD7600F838EF /* aec_core_optimized_methods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_core_optimized_methods.h; sourceTree = ""; }; + 691E04BB21A4FD7600F838EF /* aec_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_neon.cc; sourceTree = ""; }; + 691E04BC21A4FD7600F838EF /* aec_core_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_core_sse2.cc; sourceTree = ""; }; + 691E04BD21A4FD7600F838EF /* aec_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_common.h; sourceTree = ""; }; + 691E04BE21A4FD7600F838EF /* voice_detection_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_detection_impl.h; sourceTree = ""; }; + 691E04BF21A4FD7600F838EF /* voice_detection_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = voice_detection_impl.cc; sourceTree = ""; }; + 691E04C021A4FD7600F838EF /* echo_cancellation_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_cancellation_impl.cc; sourceTree = ""; }; + 691E04C121A4FD7600F838EF /* gain_control_for_experimental_agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_control_for_experimental_agc.cc; sourceTree = ""; }; + 691E04C321A4FD7600F838EF /* agc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc.cc; sourceTree = ""; }; + 691E04C421A4FD7600F838EF /* loudness_histogram.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loudness_histogram.cc; sourceTree = ""; }; + 691E04C521A4FD7600F838EF /* agc_manager_direct.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = agc_manager_direct.cc; sourceTree = ""; }; + 691E04C721A4FD7600F838EF /* analog_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = analog_agc.h; sourceTree = ""; }; + 691E04C821A4FD7600F838EF /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control.h; sourceTree = ""; }; + 691E04C921A4FD7600F838EF /* digital_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = digital_agc.h; sourceTree = ""; }; + 691E04CA21A4FD7600F838EF /* analog_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = analog_agc.c; sourceTree = ""; }; + 691E04CB21A4FD7600F838EF /* digital_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = digital_agc.c; sourceTree = ""; }; + 691E04CC21A4FD7600F838EF /* utility.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utility.cc; sourceTree = ""; }; + 691E04CD21A4FD7600F838EF /* mock_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mock_agc.h; sourceTree = ""; }; + 691E04CE21A4FD7600F838EF /* loudness_histogram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loudness_histogram.h; sourceTree = ""; }; + 691E04CF21A4FD7600F838EF /* gain_map_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_map_internal.h; sourceTree = ""; }; + 691E04D021A4FD7600F838EF /* utility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utility.h; sourceTree = ""; }; + 691E04D121A4FD7600F838EF /* agc_manager_direct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc_manager_direct.h; sourceTree = ""; }; + 691E04D221A4FD7600F838EF /* agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = agc.h; sourceTree = ""; }; + 691E04D321A4FD7600F838EF /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 691E04D421A4FD7600F838EF /* audio_processing_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_processing_impl.cc; sourceTree = ""; }; + 691E04D521A4FD7600F838EF /* audio_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_buffer.h; sourceTree = ""; }; + 691E04D621A4FD7600F838EF /* echo_control_mobile_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control_mobile_impl.h; sourceTree = ""; }; + 691E04D721A4FD7600F838EF /* splitting_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = splitting_filter.h; sourceTree = ""; }; + 691E04D821A4FD7600F838EF /* low_cut_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = low_cut_filter.h; sourceTree = ""; }; + 691E04DA21A4FD7600F838EF /* file_audio_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file_audio_generator.h; sourceTree = ""; }; + 691E04DB21A4FD7600F838EF /* file_audio_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = file_audio_generator.cc; sourceTree = ""; }; + 691E04DC21A4FD7600F838EF /* gain_controller2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gain_controller2.cc; sourceTree = ""; }; + 691E04DD21A4FD7600F838EF /* three_band_filter_bank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = three_band_filter_bank.h; sourceTree = ""; }; + 691E04DE21A4FD7600F838EF /* residual_echo_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = residual_echo_detector.cc; sourceTree = ""; }; + 691E04DF21A4FD7600F838EF /* echo_cancellation_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_cancellation_impl.h; sourceTree = ""; }; + 691E04E021A4FD7600F838EF /* noise_suppression_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = noise_suppression_impl.cc; sourceTree = ""; }; + 691E04E121A4FD7600F838EF /* level_estimator_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = level_estimator_impl.h; sourceTree = ""; }; + 691E04E221A4FD7600F838EF /* gain_controller2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_controller2.h; sourceTree = ""; }; + 691E04E421A4FD7600F838EF /* aecm_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_core.h; sourceTree = ""; }; + 691E04E521A4FD7600F838EF /* aecm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aecm_defines.h; sourceTree = ""; }; + 691E04E621A4FD7600F838EF /* aecm_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core.cc; sourceTree = ""; }; + 691E04E721A4FD7600F838EF /* aecm_core_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_c.cc; sourceTree = ""; }; + 691E04E821A4FD7600F838EF /* aecm_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aecm_core_neon.cc; sourceTree = ""; }; + 691E04E921A4FD7600F838EF /* echo_control_mobile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_control_mobile.h; sourceTree = ""; }; + 691E04EA21A4FD7600F838EF /* echo_control_mobile.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_control_mobile.cc; sourceTree = ""; }; + 691E04EC21A4FD7600F838EF /* render_reverb_model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_reverb_model.cc; sourceTree = ""; }; + 691E04ED21A4FD7600F838EF /* downsampled_render_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = downsampled_render_buffer.h; sourceTree = ""; }; + 691E04EE21A4FD7600F838EF /* subtractor_output_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor_output_analyzer.h; sourceTree = ""; }; + 691E04EF21A4FD7600F838EF /* reverb_model_fallback.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model_fallback.cc; sourceTree = ""; }; + 691E04F021A4FD7600F838EF /* residual_echo_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = residual_echo_estimator.h; sourceTree = ""; }; + 691E04F121A4FD7600F838EF /* shadow_filter_update_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shadow_filter_update_gain.h; sourceTree = ""; }; + 691E04F221A4FD7600F838EF /* echo_remover_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_remover_metrics.cc; sourceTree = ""; }; + 691E04F321A4FD7600F838EF /* matched_filter_lag_aggregator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matched_filter_lag_aggregator.cc; sourceTree = ""; }; + 691E04F421A4FD7600F838EF /* render_delay_buffer2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_buffer2.cc; sourceTree = ""; }; + 691E04F521A4FD7600F838EF /* aec_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec_state.h; sourceTree = ""; }; + 691E04F621A4FD7600F838EF /* suppression_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_filter.h; sourceTree = ""; }; + 691E04F721A4FD7600F838EF /* echo_path_variability.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_path_variability.cc; sourceTree = ""; }; + 691E04F821A4FD7600F838EF /* frame_blocker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = frame_blocker.cc; sourceTree = ""; }; + 691E04F921A4FD7600F838EF /* subtractor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor.cc; sourceTree = ""; }; + 691E04FA21A4FD7600F838EF /* block_delay_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_delay_buffer.h; sourceTree = ""; }; + 691E04FB21A4FD7600F838EF /* adaptive_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adaptive_fir_filter.h; sourceTree = ""; }; + 691E04FC21A4FD7600F838EF /* cascaded_biquad_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cascaded_biquad_filter.h; sourceTree = ""; }; + 691E04FD21A4FD7600F838EF /* matched_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matched_filter.h; sourceTree = ""; }; + 691E04FE21A4FD7600F838EF /* subtractor_output.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor_output.h; sourceTree = ""; }; + 691E04FF21A4FD7600F838EF /* render_signal_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_signal_analyzer.h; sourceTree = ""; }; + 691E050021A4FD7600F838EF /* aec3_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec3_fft.cc; sourceTree = ""; }; + 691E050121A4FD7600F838EF /* aec3_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec3_fft.h; sourceTree = ""; }; + 691E050221A4FD7600F838EF /* echo_remover_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_remover_metrics.h; sourceTree = ""; }; + 691E050321A4FD7600F838EF /* fullband_erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fullband_erle_estimator.cc; sourceTree = ""; }; + 691E050421A4FD7600F838EF /* suppression_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_filter.cc; sourceTree = ""; }; + 691E050521A4FD7600F838EF /* block_processor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor.cc; sourceTree = ""; }; + 691E050621A4FD7600F838EF /* filter_analyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = filter_analyzer.h; sourceTree = ""; }; + 691E050721A4FD7600F838EF /* subtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subtractor.h; sourceTree = ""; }; + 691E050821A4FD7600F838EF /* echo_path_delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_path_delay_estimator.h; sourceTree = ""; }; + 691E050921A4FD7600F838EF /* subband_erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subband_erle_estimator.cc; sourceTree = ""; }; + 691E050A21A4FD7600F838EF /* render_delay_controller_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller_metrics.cc; sourceTree = ""; }; + 691E050B21A4FD7600F838EF /* render_delay_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_buffer.cc; sourceTree = ""; }; + 691E050C21A4FD7600F838EF /* block_processor_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_processor_metrics.h; sourceTree = ""; }; + 691E050D21A4FD7600F838EF /* vector_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector_buffer.cc; sourceTree = ""; }; + 691E050E21A4FD7600F838EF /* erl_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = erl_estimator.cc; sourceTree = ""; }; + 691E050F21A4FD7600F838EF /* aec_state.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec_state.cc; sourceTree = ""; }; + 691E051021A4FD7600F838EF /* adaptive_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adaptive_fir_filter.cc; sourceTree = ""; }; + 691E051121A4FD7600F838EF /* fft_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_data.h; sourceTree = ""; }; + 691E051221A4FD7600F838EF /* render_delay_controller.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller.cc; sourceTree = ""; }; + 691E051321A4FD7600F838EF /* skew_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = skew_estimator.cc; sourceTree = ""; }; + 691E051421A4FD7600F838EF /* render_delay_controller_metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_controller_metrics.h; sourceTree = ""; }; + 691E051521A4FD7600F838EF /* comfort_noise_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comfort_noise_generator.h; sourceTree = ""; }; + 691E051621A4FD7600F838EF /* echo_path_delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_path_delay_estimator.cc; sourceTree = ""; }; + 691E051721A4FD7600F838EF /* erl_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = erl_estimator.h; sourceTree = ""; }; + 691E051821A4FD7600F838EF /* echo_remover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_remover.h; sourceTree = ""; }; + 691E051921A4FD7600F838EF /* block_framer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_framer.cc; sourceTree = ""; }; + 691E051A21A4FD7600F838EF /* erle_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = erle_estimator.cc; sourceTree = ""; }; + 691E051B21A4FD7600F838EF /* reverb_model.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model.cc; sourceTree = ""; }; + 691E051C21A4FD7600F838EF /* cascaded_biquad_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cascaded_biquad_filter.cc; sourceTree = ""; }; + 691E051D21A4FD7600F838EF /* matrix_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matrix_buffer.h; sourceTree = ""; }; + 691E051E21A4FD7600F838EF /* render_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_buffer.cc; sourceTree = ""; }; + 691E051F21A4FD7600F838EF /* reverb_model_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model_estimator.h; sourceTree = ""; }; + 691E052021A4FD7600F838EF /* subtractor_output.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor_output.cc; sourceTree = ""; }; + 691E052121A4FD7600F838EF /* stationarity_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stationarity_estimator.cc; sourceTree = ""; }; + 691E052221A4FD7600F838EF /* render_signal_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_signal_analyzer.cc; sourceTree = ""; }; + 691E052321A4FD7600F838EF /* echo_path_variability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_path_variability.h; sourceTree = ""; }; + 691E052421A4FD7600F838EF /* moving_average.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = moving_average.h; sourceTree = ""; }; + 691E052521A4FD7600F838EF /* render_reverb_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_reverb_model.h; sourceTree = ""; }; + 691E052621A4FD7600F838EF /* subtractor_output_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subtractor_output_analyzer.cc; sourceTree = ""; }; + 691E052721A4FD7600F838EF /* suppression_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_gain.cc; sourceTree = ""; }; + 691E052821A4FD7600F838EF /* echo_audibility.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_audibility.cc; sourceTree = ""; }; + 691E052921A4FD7600F838EF /* block_processor_metrics.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor_metrics.cc; sourceTree = ""; }; + 691E052A21A4FD7600F838EF /* render_delay_controller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_controller.h; sourceTree = ""; }; + 691E052B21A4FD7600F838EF /* suppression_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_gain.h; sourceTree = ""; }; + 691E052C21A4FD7600F838EF /* moving_average.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = moving_average.cc; sourceTree = ""; }; + 691E052D21A4FD7600F838EF /* erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = erle_estimator.h; sourceTree = ""; }; + 691E052E21A4FD7600F838EF /* subband_erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = subband_erle_estimator.h; sourceTree = ""; }; + 691E052F21A4FD7600F838EF /* reverb_model_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_model_estimator.cc; sourceTree = ""; }; + 691E053021A4FD7600F838EF /* aec3_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aec3_common.cc; sourceTree = ""; }; + 691E053121A4FD7600F838EF /* residual_echo_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = residual_echo_estimator.cc; sourceTree = ""; }; + 691E053221A4FD7600F838EF /* block_processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_processor.h; sourceTree = ""; }; + 691E053321A4FD7600F838EF /* fullband_erle_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fullband_erle_estimator.h; sourceTree = ""; }; + 691E053421A4FD7600F838EF /* matched_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matched_filter.cc; sourceTree = ""; }; + 691E053521A4FD7600F838EF /* stationarity_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stationarity_estimator.h; sourceTree = ""; }; + 691E053621A4FD7600F838EF /* echo_canceller3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_canceller3.h; sourceTree = ""; }; + 691E053721A4FD7600F838EF /* skew_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = skew_estimator.h; sourceTree = ""; }; + 691E053821A4FD7600F838EF /* reverb_decay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_decay_estimator.cc; sourceTree = ""; }; + 691E053921A4FD7600F838EF /* render_delay_controller2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = render_delay_controller2.cc; sourceTree = ""; }; + 691E053A21A4FD7600F838EF /* render_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_buffer.h; sourceTree = ""; }; + 691E053B21A4FD7600F838EF /* suppression_gain_limiter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = suppression_gain_limiter.cc; sourceTree = ""; }; + 691E053C21A4FD7600F838EF /* main_filter_update_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_filter_update_gain.cc; sourceTree = ""; }; + 691E053D21A4FD7600F838EF /* echo_remover.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_remover.cc; sourceTree = ""; }; + 691E053E21A4FD7600F838EF /* reverb_model_fallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model_fallback.h; sourceTree = ""; }; + 691E053F21A4FD7600F838EF /* downsampled_render_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = downsampled_render_buffer.cc; sourceTree = ""; }; + 691E054021A4FD7600F838EF /* vector_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_buffer.h; sourceTree = ""; }; + 691E054121A4FD7600F838EF /* matrix_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = matrix_buffer.cc; sourceTree = ""; }; + 691E054221A4FD7600F838EF /* reverb_frequency_response.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_frequency_response.h; sourceTree = ""; }; + 691E054321A4FD7600F838EF /* echo_audibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echo_audibility.h; sourceTree = ""; }; + 691E054421A4FD7600F838EF /* fft_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft_buffer.h; sourceTree = ""; }; + 691E054521A4FD7600F838EF /* block_processor2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_processor2.cc; sourceTree = ""; }; + 691E054621A4FD7600F838EF /* echo_canceller3.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_canceller3.cc; sourceTree = ""; }; + 691E054721A4FD7600F838EF /* block_delay_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_delay_buffer.cc; sourceTree = ""; }; + 691E054821A4FD7600F838EF /* aec3_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aec3_common.h; sourceTree = ""; }; + 691E054921A4FD7600F838EF /* fft_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fft_buffer.cc; sourceTree = ""; }; + 691E054A21A4FD7600F838EF /* vector_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector_math.h; sourceTree = ""; }; + 691E054B21A4FD7600F838EF /* decimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decimator.h; sourceTree = ""; }; + 691E054C21A4FD7600F838EF /* frame_blocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame_blocker.h; sourceTree = ""; }; + 691E054D21A4FD7600F838EF /* block_framer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_framer.h; sourceTree = ""; }; + 691E054E21A4FD7600F838EF /* suppression_gain_limiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = suppression_gain_limiter.h; sourceTree = ""; }; + 691E054F21A4FD7600F838EF /* delay_estimate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimate.h; sourceTree = ""; }; + 691E055021A4FD7600F838EF /* comfort_noise_generator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = comfort_noise_generator.cc; sourceTree = ""; }; + 691E055121A4FD7600F838EF /* reverb_model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_model.h; sourceTree = ""; }; + 691E055221A4FD7600F838EF /* main_filter_update_gain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = main_filter_update_gain.h; sourceTree = ""; }; + 691E055321A4FD7600F838EF /* matched_filter_lag_aggregator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matched_filter_lag_aggregator.h; sourceTree = ""; }; + 691E055421A4FD7600F838EF /* shadow_filter_update_gain.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shadow_filter_update_gain.cc; sourceTree = ""; }; + 691E055521A4FD7600F838EF /* filter_analyzer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = filter_analyzer.cc; sourceTree = ""; }; + 691E055621A4FD7600F838EF /* reverb_decay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reverb_decay_estimator.h; sourceTree = ""; }; + 691E055721A4FD7600F838EF /* reverb_frequency_response.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = reverb_frequency_response.cc; sourceTree = ""; }; + 691E055821A4FD7600F838EF /* decimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decimator.cc; sourceTree = ""; }; + 691E055921A4FD7600F838EF /* render_delay_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = render_delay_buffer.h; sourceTree = ""; }; + 691E055A21A4FD7600F838EF /* echo_control_mobile_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = echo_control_mobile_impl.cc; sourceTree = ""; }; + 691E055B21A4FD7600F838EF /* gain_control_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gain_control_impl.h; sourceTree = ""; }; + 691E055C21A4FD7600F838EF /* typing_detection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typing_detection.h; sourceTree = ""; }; + 691E055E21A4FD7600F838EF /* apm_data_dumper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = apm_data_dumper.cc; sourceTree = ""; }; + 691E055F21A4FD7600F838EF /* apm_data_dumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = apm_data_dumper.h; sourceTree = ""; }; + 691E056121A4FD7600F838EF /* voice_activity_detector.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = voice_activity_detector.cc; sourceTree = ""; }; + 691E056221A4FD7600F838EF /* standalone_vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = standalone_vad.cc; sourceTree = ""; }; + 691E056321A4FD7600F838EF /* vad_audio_proc_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_audio_proc_internal.h; sourceTree = ""; }; + 691E056421A4FD7600F838EF /* pitch_internal.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_internal.cc; sourceTree = ""; }; + 691E056521A4FD7600F838EF /* vad_circular_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_circular_buffer.cc; sourceTree = ""; }; + 691E056621A4FD7600F838EF /* vad_circular_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_circular_buffer.h; sourceTree = ""; }; + 691E056721A4FD7600F838EF /* pitch_based_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_based_vad.h; sourceTree = ""; }; + 691E056821A4FD7600F838EF /* vad_audio_proc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vad_audio_proc.cc; sourceTree = ""; }; + 691E056921A4FD7600F838EF /* pole_zero_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pole_zero_filter.cc; sourceTree = ""; }; + 691E056A21A4FD7600F838EF /* pole_zero_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pole_zero_filter.h; sourceTree = ""; }; + 691E056B21A4FD7600F838EF /* pitch_based_vad.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pitch_based_vad.cc; sourceTree = ""; }; + 691E056C21A4FD7600F838EF /* gmm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmm.h; sourceTree = ""; }; + 691E056D21A4FD7600F838EF /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 691E056E21A4FD7600F838EF /* vad_audio_proc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vad_audio_proc.h; sourceTree = ""; }; + 691E056F21A4FD7600F838EF /* voice_gmm_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_gmm_tables.h; sourceTree = ""; }; + 691E057021A4FD7600F838EF /* noise_gmm_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = noise_gmm_tables.h; sourceTree = ""; }; + 691E057121A4FD7600F838EF /* pitch_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_internal.h; sourceTree = ""; }; + 691E057221A4FD7600F838EF /* gmm.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gmm.cc; sourceTree = ""; }; + 691E057321A4FD7600F838EF /* standalone_vad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = standalone_vad.h; sourceTree = ""; }; + 691E057421A4FD7600F838EF /* voice_activity_detector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_activity_detector.h; sourceTree = ""; }; + 691E057621A4FD7600F838EF /* ooura_fft_tables_neon_sse2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_neon_sse2.h; sourceTree = ""; }; + 691E057721A4FD7600F838EF /* delay_estimator_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_internal.h; sourceTree = ""; }; + 691E057821A4FD7600F838EF /* ooura_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft.cc; sourceTree = ""; }; + 691E057921A4FD7600F838EF /* ooura_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft.h; sourceTree = ""; }; + 691E057A21A4FD7600F838EF /* delay_estimator_wrapper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator_wrapper.cc; sourceTree = ""; }; + 691E057B21A4FD7600F838EF /* ooura_fft_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_sse2.cc; sourceTree = ""; }; + 691E057C21A4FD7600F838EF /* delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = delay_estimator.cc; sourceTree = ""; }; + 691E057D21A4FD7600F838EF /* block_mean_calculator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = block_mean_calculator.h; sourceTree = ""; }; + 691E057E21A4FD7600F838EF /* ooura_fft_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ooura_fft_neon.cc; sourceTree = ""; }; + 691E057F21A4FD7600F838EF /* block_mean_calculator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = block_mean_calculator.cc; sourceTree = ""; }; + 691E058021A4FD7600F838EF /* delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator.h; sourceTree = ""; }; + 691E058121A4FD7600F838EF /* ooura_fft_tables_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ooura_fft_tables_common.h; sourceTree = ""; }; + 691E058221A4FD7600F838EF /* delay_estimator_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = delay_estimator_wrapper.h; sourceTree = ""; }; + 691E058421A4FD7600F838EF /* string_to_number.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_to_number.h; sourceTree = ""; }; + 691E058521A4FD7600F838EF /* constructormagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constructormagic.h; sourceTree = ""; }; + 691E058621A4FD7600F838EF /* race_checker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = race_checker.cc; sourceTree = ""; }; + 691E058821A4FD7600F838EF /* string_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string_builder.h; sourceTree = ""; }; + 691E058921A4FD7600F838EF /* string_builder.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_builder.cc; sourceTree = ""; }; + 691E058A21A4FD7600F838EF /* event_tracer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event_tracer.h; sourceTree = ""; }; + 691E058B21A4FD7600F838EF /* stringencode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringencode.h; sourceTree = ""; }; + 691E058D21A4FD7600F838EF /* aligned_malloc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aligned_malloc.cc; sourceTree = ""; }; + 691E058E21A4FD7600F838EF /* aligned_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aligned_malloc.h; sourceTree = ""; }; + 691E058F21A4FD7600F838EF /* timeutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = timeutils.cc; sourceTree = ""; }; + 691E059021A4FD7600F838EF /* event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = event.h; sourceTree = ""; }; + 691E059121A4FD7600F838EF /* logging_mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = logging_mac.mm; sourceTree = ""; }; + 691E059221A4FD7600F838EF /* ignore_wundef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ignore_wundef.h; sourceTree = ""; }; + 691E059321A4FD7600F838EF /* stringutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringutils.h; sourceTree = ""; }; + 691E059421A4FD7600F838EF /* arraysize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraysize.h; sourceTree = ""; }; + 691E059521A4FD7600F838EF /* platform_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_file.cc; sourceTree = ""; }; + 691E059621A4FD7600F838EF /* swap_queue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap_queue.h; sourceTree = ""; }; + 691E059721A4FD7600F838EF /* string_to_number.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string_to_number.cc; sourceTree = ""; }; + 691E059821A4FD7600F838EF /* trace_event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trace_event.h; sourceTree = ""; }; + 691E059921A4FD7600F838EF /* checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checks.h; sourceTree = ""; }; + 691E059A21A4FD7600F838EF /* deprecation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deprecation.h; sourceTree = ""; }; + 691E059B21A4FD7600F838EF /* thread_checker_impl.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thread_checker_impl.cc; sourceTree = ""; }; + 691E059C21A4FD7600F838EF /* sanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sanitizer.h; sourceTree = ""; }; + 691E059D21A4FD7600F838EF /* scoped_ref_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scoped_ref_ptr.h; sourceTree = ""; }; + 691E059E21A4FD7600F838EF /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = ""; }; + 691E059F21A4FD7600F838EF /* timeutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timeutils.h; sourceTree = ""; }; + 691E05A021A4FD7600F838EF /* atomicops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops.h; sourceTree = ""; }; + 691E05A121A4FD7600F838EF /* stringencode.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringencode.cc; sourceTree = ""; }; + 691E05A221A4FD7600F838EF /* stringutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringutils.cc; sourceTree = ""; }; + 691E05A321A4FD7600F838EF /* checks.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = checks.cc; sourceTree = ""; }; + 691E05A521A4FD7600F838EF /* safe_minmax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_minmax.h; sourceTree = ""; }; + 691E05A621A4FD7600F838EF /* safe_conversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions.h; sourceTree = ""; }; + 691E05A721A4FD7600F838EF /* safe_conversions_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions_impl.h; sourceTree = ""; }; + 691E05A821A4FD7600F838EF /* safe_compare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_compare.h; sourceTree = ""; }; + 691E05AA21A4FD7600F838EF /* unused.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unused.h; sourceTree = ""; }; + 691E05AB21A4FD7600F838EF /* inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inline.h; sourceTree = ""; }; + 691E05AC21A4FD7600F838EF /* ignore_warnings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ignore_warnings.h; sourceTree = ""; }; + 691E05AD21A4FD7600F838EF /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_defines.h; sourceTree = ""; }; + 691E05AE21A4FD7600F838EF /* rtc_export.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtc_export.h; sourceTree = ""; }; + 691E05AF21A4FD7600F838EF /* arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arch.h; sourceTree = ""; }; + 691E05B021A4FD7600F838EF /* platform_thread.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_thread.cc; sourceTree = ""; }; + 691E05B121A4FD7600F838EF /* platform_thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_thread.h; sourceTree = ""; }; + 691E05B221A4FD7600F838EF /* logging_webrtc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging_webrtc.cc; sourceTree = ""; }; + 691E05B321A4FD7600F838EF /* platform_thread_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_thread_types.h; sourceTree = ""; }; + 691E05B421A4FD7600F838EF /* protobuf_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = protobuf_utils.h; sourceTree = ""; }; + 691E05B521A4FD7600F838EF /* thread_annotations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_annotations.h; sourceTree = ""; }; + 691E05B621A4FD7600F838EF /* gtest_prod_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gtest_prod_util.h; sourceTree = ""; }; + 691E05B721A4FD7600F838EF /* function_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = function_view.h; sourceTree = ""; }; + 691E05B821A4FD7600F838EF /* criticalsection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = criticalsection.h; sourceTree = ""; }; + 691E05B921A4FD7600F838EF /* criticalsection.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = criticalsection.cc; sourceTree = ""; }; + 691E05BA21A4FD7600F838EF /* platform_thread_types.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = platform_thread_types.cc; sourceTree = ""; }; + 691E05BB21A4FD7600F838EF /* refcount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcount.h; sourceTree = ""; }; + 691E05BC21A4FD7600F838EF /* event.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = event.cc; sourceTree = ""; }; + 691E05BD21A4FD7600F838EF /* thread_checker_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_checker_impl.h; sourceTree = ""; }; + 691E05BE21A4FD7600F838EF /* event_tracer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = event_tracer.cc; sourceTree = ""; }; + 691E05BF21A4FD7600F838EF /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile_assert_c.h; sourceTree = ""; }; + 691E05C021A4FD7600F838EF /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; + 691E05C121A4FD7600F838EF /* platform_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_file.h; sourceTree = ""; }; + 691E05C221A4FD7600F838EF /* refcounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcounter.h; sourceTree = ""; }; + 691E05C321A4FD7600F838EF /* logging_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging_mac.h; sourceTree = ""; }; + 691E05C421A4FD7600F838EF /* thread_checker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_checker.h; sourceTree = ""; }; + 691E05C521A4FD7600F838EF /* race_checker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = race_checker.h; sourceTree = ""; }; + 691E05C621A4FD7600F838EF /* refcountedobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = refcountedobject.h; sourceTree = ""; }; 692AB8881E6759DD00706ACC /* AudioInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioInput.cpp; path = audio/AudioInput.cpp; sourceTree = SOURCE_ROOT; }; 692AB8891E6759DD00706ACC /* AudioInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioInput.h; path = audio/AudioInput.h; sourceTree = SOURCE_ROOT; }; 692AB88A1E6759DD00706ACC /* AudioOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioOutput.cpp; path = audio/AudioOutput.cpp; sourceTree = SOURCE_ROOT; }; @@ -323,137 +1039,6 @@ 697B6FDC2136E673004C8E54 /* utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = ""; }; 697B6FDD2136F01E004C8E54 /* MockReflector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockReflector.h; sourceTree = ""; }; 697B6FDE2136F01E004C8E54 /* MockReflector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MockReflector.cpp; sourceTree = ""; }; - 69A6DE231E96149300000E69 /* array_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = array_view.h; sourceTree = ""; }; - 69A6DE241E96149300000E69 /* atomicops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops.h; sourceTree = ""; }; - 69A6DE251E96149300000E69 /* basictypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basictypes.h; sourceTree = ""; }; - 69A6DE261E96149300000E69 /* checks.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = checks.cc; sourceTree = ""; }; - 69A6DE271E96149300000E69 /* checks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = checks.h; sourceTree = ""; }; - 69A6DE281E96149300000E69 /* constructormagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = constructormagic.h; sourceTree = ""; }; - 69A6DE291E96149300000E69 /* safe_compare.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_compare.h; sourceTree = ""; }; - 69A6DE2A1E96149300000E69 /* safe_conversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions.h; sourceTree = ""; }; - 69A6DE2B1E96149300000E69 /* safe_conversions_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safe_conversions_impl.h; sourceTree = ""; }; - 69A6DE2C1E96149300000E69 /* sanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sanitizer.h; sourceTree = ""; }; - 69A6DE2D1E96149300000E69 /* stringutils.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringutils.cc; sourceTree = ""; }; - 69A6DE2E1E96149300000E69 /* stringutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringutils.h; sourceTree = ""; }; - 69A6DE2F1E96149300000E69 /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; - 69A6DE311E96149300000E69 /* audio_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audio_util.cc; sourceTree = ""; }; - 69A6DE321E96149300000E69 /* channel_buffer.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = channel_buffer.cc; sourceTree = ""; }; - 69A6DE331E96149300000E69 /* channel_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_buffer.h; sourceTree = ""; }; - 69A6DE341E96149300000E69 /* fft4g.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fft4g.c; sourceTree = ""; }; - 69A6DE351E96149300000E69 /* fft4g.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fft4g.h; sourceTree = ""; }; - 69A6DE371E96149300000E69 /* audio_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_util.h; sourceTree = ""; }; - 69A6DE381E96149300000E69 /* ring_buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ring_buffer.c; sourceTree = ""; }; - 69A6DE391E96149300000E69 /* ring_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ring_buffer.h; sourceTree = ""; }; - 69A6DE3B1E96149300000E69 /* auto_corr_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_corr_to_refl_coef.c; sourceTree = ""; }; - 69A6DE3C1E96149300000E69 /* auto_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto_correlation.c; sourceTree = ""; }; - 69A6DE3D1E96149300000E69 /* complex_bit_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_bit_reverse.c; sourceTree = ""; }; - 69A6DE3F1E96149300000E69 /* complex_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = complex_fft.c; sourceTree = ""; }; - 69A6DE401E96149300000E69 /* complex_fft_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = complex_fft_tables.h; sourceTree = ""; }; - 69A6DE411E96149300000E69 /* copy_set_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = copy_set_operations.c; sourceTree = ""; }; - 69A6DE421E96149300000E69 /* cross_correlation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation.c; sourceTree = ""; }; - 69A6DE431E96149300000E69 /* cross_correlation_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cross_correlation_neon.c; sourceTree = ""; }; - 69A6DE441E96149300000E69 /* division_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = division_operations.c; sourceTree = ""; }; - 69A6DE451E96149300000E69 /* dot_product_with_scale.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dot_product_with_scale.c; sourceTree = ""; }; - 69A6DE461E96149300000E69 /* downsample_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast.c; sourceTree = ""; }; - 69A6DE471E96149300000E69 /* downsample_fast_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = downsample_fast_neon.c; sourceTree = ""; }; - 69A6DE481E96149300000E69 /* energy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = energy.c; sourceTree = ""; }; - 69A6DE491E96149300000E69 /* filter_ar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar.c; sourceTree = ""; }; - 69A6DE4A1E96149300000E69 /* filter_ar_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ar_fast_q12.c; sourceTree = ""; }; - 69A6DE4C1E96149300000E69 /* filter_ma_fast_q12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_ma_fast_q12.c; sourceTree = ""; }; - 69A6DE4D1E96149300000E69 /* get_hanning_window.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_hanning_window.c; sourceTree = ""; }; - 69A6DE4E1E96149300000E69 /* get_scaling_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = get_scaling_square.c; sourceTree = ""; }; - 69A6DE4F1E96149300000E69 /* ilbc_specific_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ilbc_specific_functions.c; sourceTree = ""; }; - 69A6DE511E96149300000E69 /* real_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = real_fft.h; sourceTree = ""; }; - 69A6DE521E96149300000E69 /* signal_processing_library.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal_processing_library.h; sourceTree = ""; }; - 69A6DE531E96149300000E69 /* spl_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl.h; sourceTree = ""; }; - 69A6DE541E96149300000E69 /* spl_inl_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_armv7.h; sourceTree = ""; }; - 69A6DE551E96149300000E69 /* spl_inl_mips.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spl_inl_mips.h; sourceTree = ""; }; - 69A6DE561E96149300000E69 /* levinson_durbin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = levinson_durbin.c; sourceTree = ""; }; - 69A6DE571E96149300000E69 /* lpc_to_refl_coef.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lpc_to_refl_coef.c; sourceTree = ""; }; - 69A6DE581E96149300000E69 /* min_max_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations.c; sourceTree = ""; }; - 69A6DE591E96149300000E69 /* min_max_operations_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = min_max_operations_neon.c; sourceTree = ""; }; - 69A6DE5A1E96149300000E69 /* randomization_functions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = randomization_functions.c; sourceTree = ""; }; - 69A6DE5B1E96149300000E69 /* real_fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = real_fft.c; sourceTree = ""; }; - 69A6DE5C1E96149300000E69 /* refl_coef_to_lpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = refl_coef_to_lpc.c; sourceTree = ""; }; - 69A6DE5D1E96149300000E69 /* resample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample.c; sourceTree = ""; }; - 69A6DE5E1E96149300000E69 /* resample_48khz.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_48khz.c; sourceTree = ""; }; - 69A6DE5F1E96149300000E69 /* resample_by_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2.c; sourceTree = ""; }; - 69A6DE601E96149300000E69 /* resample_by_2_internal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_by_2_internal.c; sourceTree = ""; }; - 69A6DE611E96149300000E69 /* resample_by_2_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = resample_by_2_internal.h; sourceTree = ""; }; - 69A6DE621E96149300000E69 /* resample_fractional.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resample_fractional.c; sourceTree = ""; }; - 69A6DE631E96149300000E69 /* spl_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_init.c; sourceTree = ""; }; - 69A6DE641E96149300000E69 /* spl_inl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_inl.c; sourceTree = ""; }; - 69A6DE651E96149300000E69 /* spl_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt.c; sourceTree = ""; }; - 69A6DE661E96149300000E69 /* spl_sqrt_floor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spl_sqrt_floor.c; sourceTree = ""; }; - 69A6DE681E96149300000E69 /* splitting_filter_impl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = splitting_filter_impl.c; sourceTree = ""; }; - 69A6DE691E96149300000E69 /* sqrt_of_one_minus_x_squared.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sqrt_of_one_minus_x_squared.c; sourceTree = ""; }; - 69A6DE6A1E96149300000E69 /* vector_scaling_operations.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vector_scaling_operations.c; sourceTree = ""; }; - 69A6DE6B1E96149300000E69 /* sparse_fir_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sparse_fir_filter.cc; sourceTree = ""; }; - 69A6DE6C1E96149300000E69 /* sparse_fir_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sparse_fir_filter.h; sourceTree = ""; }; - 69A6DE6D1E96149300000E69 /* wav_file.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_file.cc; sourceTree = ""; }; - 69A6DE6E1E96149300000E69 /* wav_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_file.h; sourceTree = ""; }; - 69A6DE6F1E96149300000E69 /* wav_header.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wav_header.cc; sourceTree = ""; }; - 69A6DE701E96149300000E69 /* wav_header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wav_header.h; sourceTree = ""; }; - 69A6DE741E96149300000E69 /* aec_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aec_common.h; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h; sourceTree = SOURCE_ROOT; }; - 69A6DE751E96149300000E69 /* aec_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aec_core.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE761E96149300000E69 /* aec_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aec_core.h; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h; sourceTree = SOURCE_ROOT; }; - 69A6DE771E96149300000E69 /* aec_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aec_core_neon.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE781E96149300000E69 /* aec_core_optimized_methods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aec_core_optimized_methods.h; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h; sourceTree = SOURCE_ROOT; }; - 69A6DE791E96149300000E69 /* aec_core_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aec_core_sse2.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE7A1E96149300000E69 /* aec_resampler.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aec_resampler.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE7B1E96149300000E69 /* aec_resampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aec_resampler.h; path = webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h; sourceTree = SOURCE_ROOT; }; - 69A6DE7C1E96149300000E69 /* echo_cancellation.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = echo_cancellation.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE7D1E96149300000E69 /* echo_cancellation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = echo_cancellation.h; path = webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h; sourceTree = SOURCE_ROOT; }; - 69A6DE7F1E96149300000E69 /* aecm_core.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aecm_core.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE801E96149300000E69 /* aecm_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aecm_core.h; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h; sourceTree = SOURCE_ROOT; }; - 69A6DE811E96149300000E69 /* aecm_core_c.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aecm_core_c.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE821E96149300000E69 /* aecm_core_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aecm_core_neon.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE831E96149300000E69 /* aecm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aecm_defines.h; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h; sourceTree = SOURCE_ROOT; }; - 69A6DE841E96149300000E69 /* echo_control_mobile.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = echo_control_mobile.cc; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE851E96149300000E69 /* echo_control_mobile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = echo_control_mobile.h; path = webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h; sourceTree = SOURCE_ROOT; }; - 69A6DE881E96149300000E69 /* analog_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = analog_agc.c; path = webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c; sourceTree = SOURCE_ROOT; }; - 69A6DE891E96149300000E69 /* analog_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = analog_agc.h; path = webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h; sourceTree = SOURCE_ROOT; }; - 69A6DE8A1E96149300000E69 /* digital_agc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = digital_agc.c; path = webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c; sourceTree = SOURCE_ROOT; }; - 69A6DE8B1E96149300000E69 /* digital_agc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = digital_agc.h; path = webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h; sourceTree = SOURCE_ROOT; }; - 69A6DE8C1E96149300000E69 /* gain_control.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gain_control.h; path = webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h; sourceTree = SOURCE_ROOT; }; - 69A6DE8E1E96149300000E69 /* apm_data_dumper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = apm_data_dumper.cc; path = webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE8F1E96149300000E69 /* apm_data_dumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = apm_data_dumper.h; path = webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h; sourceTree = SOURCE_ROOT; }; - 69A6DE911E96149300000E69 /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = defines.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h; sourceTree = SOURCE_ROOT; }; - 69A6DE921E96149300000E69 /* noise_suppression.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = noise_suppression.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c; sourceTree = SOURCE_ROOT; }; - 69A6DE931E96149300000E69 /* noise_suppression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = noise_suppression.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h; sourceTree = SOURCE_ROOT; }; - 69A6DE941E96149300000E69 /* noise_suppression_x.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = noise_suppression_x.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c; sourceTree = SOURCE_ROOT; }; - 69A6DE951E96149300000E69 /* noise_suppression_x.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = noise_suppression_x.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h; sourceTree = SOURCE_ROOT; }; - 69A6DE961E96149300000E69 /* ns_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ns_core.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c; sourceTree = SOURCE_ROOT; }; - 69A6DE971E96149300000E69 /* ns_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ns_core.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h; sourceTree = SOURCE_ROOT; }; - 69A6DE981E96149300000E69 /* nsx_core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nsx_core.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c; sourceTree = SOURCE_ROOT; }; - 69A6DE991E96149300000E69 /* nsx_core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nsx_core.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h; sourceTree = SOURCE_ROOT; }; - 69A6DE9A1E96149300000E69 /* nsx_core_c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nsx_core_c.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c; sourceTree = SOURCE_ROOT; }; - 69A6DE9B1E96149300000E69 /* nsx_core_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nsx_core_neon.c; path = webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c; sourceTree = SOURCE_ROOT; }; - 69A6DE9C1E96149300000E69 /* nsx_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nsx_defines.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h; sourceTree = SOURCE_ROOT; }; - 69A6DE9D1E96149300000E69 /* windows_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = windows_private.h; path = webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h; sourceTree = SOURCE_ROOT; }; - 69A6DE9E1E96149300000E69 /* splitting_filter.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = splitting_filter.cc; path = webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc; sourceTree = SOURCE_ROOT; }; - 69A6DE9F1E96149300000E69 /* splitting_filter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = splitting_filter.h; path = webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h; sourceTree = SOURCE_ROOT; }; - 69A6DEA01E96149300000E69 /* three_band_filter_bank.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = three_band_filter_bank.cc; path = webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEA11E96149300000E69 /* three_band_filter_bank.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = three_band_filter_bank.h; path = webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h; sourceTree = SOURCE_ROOT; }; - 69A6DEA31E96149300000E69 /* block_mean_calculator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = block_mean_calculator.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEA41E96149300000E69 /* block_mean_calculator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = block_mean_calculator.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h; sourceTree = SOURCE_ROOT; }; - 69A6DEA51E96149300000E69 /* delay_estimator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = delay_estimator.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEA61E96149300000E69 /* delay_estimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = delay_estimator.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h; sourceTree = SOURCE_ROOT; }; - 69A6DEA71E96149300000E69 /* delay_estimator_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = delay_estimator_internal.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h; sourceTree = SOURCE_ROOT; }; - 69A6DEA81E96149300000E69 /* delay_estimator_wrapper.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = delay_estimator_wrapper.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEA91E96149300000E69 /* delay_estimator_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = delay_estimator_wrapper.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h; sourceTree = SOURCE_ROOT; }; - 69A6DEAA1E96149300000E69 /* ooura_fft.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ooura_fft.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEAB1E96149300000E69 /* ooura_fft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ooura_fft.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h; sourceTree = SOURCE_ROOT; }; - 69A6DEAC1E96149300000E69 /* ooura_fft_neon.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ooura_fft_neon.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEAD1E96149300000E69 /* ooura_fft_sse2.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ooura_fft_sse2.cc; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEAE1E96149300000E69 /* ooura_fft_tables_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ooura_fft_tables_common.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h; sourceTree = SOURCE_ROOT; }; - 69A6DEAF1E96149300000E69 /* ooura_fft_tables_neon_sse2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ooura_fft_tables_neon_sse2.h; path = webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h; sourceTree = SOURCE_ROOT; }; - 69A6DEB21E96149300000E69 /* asm_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = asm_defines.h; path = webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h; sourceTree = SOURCE_ROOT; }; - 69A6DEB31E96149300000E69 /* compile_assert_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = compile_assert_c.h; path = webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h; sourceTree = SOURCE_ROOT; }; - 69A6DEB41E96149300000E69 /* cpu_features_wrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cpu_features_wrapper.h; path = webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h; sourceTree = SOURCE_ROOT; }; - 69A6DEB51E96149300000E69 /* metrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = metrics.h; path = webrtc_dsp/webrtc/system_wrappers/include/metrics.h; sourceTree = SOURCE_ROOT; }; - 69A6DEB71E96149300000E69 /* cpu_features.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cpu_features.cc; path = webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc; sourceTree = SOURCE_ROOT; }; - 69A6DEB81E96149300000E69 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = typedefs.h; path = webrtc_dsp/webrtc/typedefs.h; sourceTree = SOURCE_ROOT; }; 69A6DF3F1E9614B700000E69 /* AudioInputAudioUnitOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioInputAudioUnitOSX.cpp; path = os/darwin/AudioInputAudioUnitOSX.cpp; sourceTree = SOURCE_ROOT; }; 69A6DF401E9614B700000E69 /* AudioInputAudioUnitOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AudioInputAudioUnitOSX.h; path = os/darwin/AudioInputAudioUnitOSX.h; sourceTree = SOURCE_ROOT; }; 69A6DF411E9614B700000E69 /* AudioOutputAudioUnitOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AudioOutputAudioUnitOSX.cpp; path = os/darwin/AudioOutputAudioUnitOSX.cpp; sourceTree = SOURCE_ROOT; }; @@ -500,6 +1085,1122 @@ path = posix; sourceTree = ""; }; + 691E032F21A4FD7500F838EF /* absl */ = { + isa = PBXGroup; + children = ( + 691E033021A4FD7500F838EF /* strings */, + 691E033821A4FD7500F838EF /* types */, + 691E033D21A4FD7500F838EF /* memory */, + 691E033F21A4FD7500F838EF /* meta */, + 691E034121A4FD7500F838EF /* algorithm */, + 691E034321A4FD7500F838EF /* container */, + 691E034521A4FD7500F838EF /* base */, + 691E035621A4FD7500F838EF /* utility */, + ); + path = absl; + sourceTree = ""; + }; + 691E033021A4FD7500F838EF /* strings */ = { + isa = PBXGroup; + children = ( + 691E033121A4FD7500F838EF /* internal */, + 691E033421A4FD7500F838EF /* string_view.cc */, + 691E033521A4FD7500F838EF /* ascii.h */, + 691E033621A4FD7500F838EF /* ascii.cc */, + 691E033721A4FD7500F838EF /* string_view.h */, + ); + path = strings; + sourceTree = ""; + }; + 691E033121A4FD7500F838EF /* internal */ = { + isa = PBXGroup; + children = ( + 691E033221A4FD7500F838EF /* memutil.h */, + 691E033321A4FD7500F838EF /* memutil.cc */, + ); + path = internal; + sourceTree = ""; + }; + 691E033821A4FD7500F838EF /* types */ = { + isa = PBXGroup; + children = ( + 691E033921A4FD7500F838EF /* optional.h */, + 691E033A21A4FD7500F838EF /* bad_optional_access.h */, + 691E033B21A4FD7500F838EF /* bad_optional_access.cc */, + 691E033C21A4FD7500F838EF /* optional.cc */, + ); + path = types; + sourceTree = ""; + }; + 691E033D21A4FD7500F838EF /* memory */ = { + isa = PBXGroup; + children = ( + 691E033E21A4FD7500F838EF /* memory.h */, + ); + path = memory; + sourceTree = ""; + }; + 691E033F21A4FD7500F838EF /* meta */ = { + isa = PBXGroup; + children = ( + 691E034021A4FD7500F838EF /* type_traits.h */, + ); + path = meta; + sourceTree = ""; + }; + 691E034121A4FD7500F838EF /* algorithm */ = { + isa = PBXGroup; + children = ( + 691E034221A4FD7500F838EF /* algorithm.h */, + ); + path = algorithm; + sourceTree = ""; + }; + 691E034321A4FD7500F838EF /* container */ = { + isa = PBXGroup; + children = ( + 691E034421A4FD7500F838EF /* inlined_vector.h */, + ); + path = container; + sourceTree = ""; + }; + 691E034521A4FD7500F838EF /* base */ = { + isa = PBXGroup; + children = ( + 691E034621A4FD7500F838EF /* policy_checks.h */, + 691E034721A4FD7500F838EF /* port.h */, + 691E034821A4FD7500F838EF /* config.h */, + 691E034921A4FD7500F838EF /* internal */, + 691E035221A4FD7500F838EF /* attributes.h */, + 691E035321A4FD7500F838EF /* macros.h */, + 691E035421A4FD7500F838EF /* optimization.h */, + 691E035521A4FD7500F838EF /* log_severity.h */, + ); + path = base; + sourceTree = ""; + }; + 691E034921A4FD7500F838EF /* internal */ = { + isa = PBXGroup; + children = ( + 691E034A21A4FD7500F838EF /* raw_logging.cc */, + 691E034B21A4FD7500F838EF /* throw_delegate.cc */, + 691E034C21A4FD7500F838EF /* invoke.h */, + 691E034D21A4FD7500F838EF /* inline_variable.h */, + 691E034E21A4FD7500F838EF /* atomic_hook.h */, + 691E034F21A4FD7500F838EF /* identity.h */, + 691E035021A4FD7500F838EF /* raw_logging.h */, + 691E035121A4FD7500F838EF /* throw_delegate.h */, + ); + path = internal; + sourceTree = ""; + }; + 691E035621A4FD7500F838EF /* utility */ = { + isa = PBXGroup; + children = ( + 691E035721A4FD7500F838EF /* utility.h */, + ); + path = utility; + sourceTree = ""; + }; + 691E035821A4FD7500F838EF /* common_audio */ = { + isa = PBXGroup; + children = ( + 691E035921A4FD7500F838EF /* mocks */, + 691E035B21A4FD7500F838EF /* wav_file.h */, + 691E035C21A4FD7500F838EF /* window_generator.cc */, + 691E035D21A4FD7500F838EF /* channel_buffer.cc */, + 691E035E21A4FD7500F838EF /* fir_filter_factory.cc */, + 691E035F21A4FD7500F838EF /* sparse_fir_filter.h */, + 691E036021A4FD7500F838EF /* fir_filter_sse.h */, + 691E036121A4FD7500F838EF /* window_generator.h */, + 691E036221A4FD7500F838EF /* ring_buffer.h */, + 691E036321A4FD7500F838EF /* fir_filter.h */, + 691E036421A4FD7500F838EF /* include */, + 691E036621A4FD7500F838EF /* wav_header.cc */, + 691E036721A4FD7500F838EF /* real_fourier_ooura.cc */, + 691E036821A4FD7500F838EF /* fir_filter_neon.cc */, + 691E036921A4FD7500F838EF /* audio_util.cc */, + 691E036A21A4FD7500F838EF /* real_fourier_ooura.h */, + 691E036B21A4FD7500F838EF /* fir_filter_sse.cc */, + 691E036C21A4FD7500F838EF /* smoothing_filter.h */, + 691E036D21A4FD7500F838EF /* resampler */, + 691E037B21A4FD7500F838EF /* fir_filter_factory.h */, + 691E037C21A4FD7500F838EF /* audio_converter.h */, + 691E037D21A4FD7500F838EF /* wav_file.cc */, + 691E037E21A4FD7500F838EF /* third_party */, + 691E038621A4FD7500F838EF /* audio_converter.cc */, + 691E038721A4FD7500F838EF /* real_fourier.cc */, + 691E038821A4FD7500F838EF /* channel_buffer.h */, + 691E038921A4FD7500F838EF /* real_fourier.h */, + 691E038A21A4FD7500F838EF /* sparse_fir_filter.cc */, + 691E038B21A4FD7500F838EF /* fir_filter_neon.h */, + 691E038C21A4FD7500F838EF /* smoothing_filter.cc */, + 691E038D21A4FD7500F838EF /* fir_filter_c.cc */, + 691E038E21A4FD7500F838EF /* ring_buffer.c */, + 691E038F21A4FD7500F838EF /* fir_filter_c.h */, + 691E039021A4FD7500F838EF /* signal_processing */, + 691E03BF21A4FD7500F838EF /* wav_header.h */, + 691E03C021A4FD7500F838EF /* vad */, + ); + path = common_audio; + sourceTree = ""; + }; + 691E035921A4FD7500F838EF /* mocks */ = { + isa = PBXGroup; + children = ( + 691E035A21A4FD7500F838EF /* mock_smoothing_filter.h */, + ); + path = mocks; + sourceTree = ""; + }; + 691E036421A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E036521A4FD7500F838EF /* audio_util.h */, + ); + path = include; + sourceTree = ""; + }; + 691E036D21A4FD7500F838EF /* resampler */ = { + isa = PBXGroup; + children = ( + 691E036E21A4FD7500F838EF /* sinc_resampler_neon.cc */, + 691E036F21A4FD7500F838EF /* push_sinc_resampler.cc */, + 691E037021A4FD7500F838EF /* sinc_resampler.h */, + 691E037121A4FD7500F838EF /* resampler.cc */, + 691E037221A4FD7500F838EF /* sinc_resampler_sse.cc */, + 691E037321A4FD7500F838EF /* include */, + 691E037621A4FD7500F838EF /* push_sinc_resampler.h */, + 691E037721A4FD7500F838EF /* push_resampler.cc */, + 691E037821A4FD7500F838EF /* sinusoidal_linear_chirp_source.h */, + 691E037921A4FD7500F838EF /* sinc_resampler.cc */, + 691E037A21A4FD7500F838EF /* sinusoidal_linear_chirp_source.cc */, + ); + path = resampler; + sourceTree = ""; + }; + 691E037321A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E037421A4FD7500F838EF /* push_resampler.h */, + 691E037521A4FD7500F838EF /* resampler.h */, + ); + path = include; + sourceTree = ""; + }; + 691E037E21A4FD7500F838EF /* third_party */ = { + isa = PBXGroup; + children = ( + 691E037F21A4FD7500F838EF /* spl_sqrt_floor */, + 691E038321A4FD7500F838EF /* fft4g */, + ); + path = third_party; + sourceTree = ""; + }; + 691E037F21A4FD7500F838EF /* spl_sqrt_floor */ = { + isa = PBXGroup; + children = ( + 691E038021A4FD7500F838EF /* spl_sqrt_floor.c */, + 691E038221A4FD7500F838EF /* spl_sqrt_floor.h */, + ); + path = spl_sqrt_floor; + sourceTree = ""; + }; + 691E038321A4FD7500F838EF /* fft4g */ = { + isa = PBXGroup; + children = ( + 691E038421A4FD7500F838EF /* fft4g.c */, + 691E038521A4FD7500F838EF /* fft4g.h */, + ); + path = fft4g; + sourceTree = ""; + }; + 691E039021A4FD7500F838EF /* signal_processing */ = { + isa = PBXGroup; + children = ( + 691E039121A4FD7500F838EF /* complex_fft_tables.h */, + 691E039221A4FD7500F838EF /* complex_fft.c */, + 691E039321A4FD7500F838EF /* filter_ma_fast_q12.c */, + 691E039421A4FD7500F838EF /* splitting_filter1.c */, + 691E039521A4FD7500F838EF /* levinson_durbin.c */, + 691E039621A4FD7500F838EF /* downsample_fast_neon.c */, + 691E039721A4FD7500F838EF /* dot_product_with_scale.cc */, + 691E039821A4FD7500F838EF /* auto_corr_to_refl_coef.c */, + 691E039921A4FD7500F838EF /* resample_by_2_internal.c */, + 691E039B21A4FD7500F838EF /* energy.c */, + 691E039C21A4FD7500F838EF /* sqrt_of_one_minus_x_squared.c */, + 691E039D21A4FD7500F838EF /* downsample_fast.c */, + 691E039E21A4FD7500F838EF /* filter_ar_fast_q12.c */, + 691E039F21A4FD7500F838EF /* spl_init.c */, + 691E03A021A4FD7500F838EF /* lpc_to_refl_coef.c */, + 691E03A121A4FD7500F838EF /* cross_correlation.c */, + 691E03A221A4FD7500F838EF /* include */, + 691E03A721A4FD7500F838EF /* division_operations.c */, + 691E03A821A4FD7500F838EF /* auto_correlation.c */, + 691E03A921A4FD7500F838EF /* get_scaling_square.c */, + 691E03AA21A4FD7500F838EF /* min_max_operations_neon.c */, + 691E03AB21A4FD7500F838EF /* dot_product_with_scale.h */, + 691E03AC21A4FD7500F838EF /* resample_by_2_internal.h */, + 691E03AD21A4FD7500F838EF /* resample.c */, + 691E03AE21A4FD7500F838EF /* cross_correlation_neon.c */, + 691E03AF21A4FD7500F838EF /* min_max_operations.c */, + 691E03B021A4FD7500F838EF /* refl_coef_to_lpc.c */, + 691E03B121A4FD7500F838EF /* filter_ar.c */, + 691E03B221A4FD7500F838EF /* vector_scaling_operations.c */, + 691E03B321A4FD7500F838EF /* resample_fractional.c */, + 691E03B421A4FD7500F838EF /* real_fft.c */, + 691E03B521A4FD7500F838EF /* ilbc_specific_functions.c */, + 691E03B621A4FD7500F838EF /* complex_bit_reverse.c */, + 691E03B721A4FD7500F838EF /* randomization_functions.c */, + 691E03B921A4FD7500F838EF /* copy_set_operations.c */, + 691E03BA21A4FD7500F838EF /* resample_by_2.c */, + 691E03BB21A4FD7500F838EF /* get_hanning_window.c */, + 691E03BC21A4FD7500F838EF /* resample_48khz.c */, + 691E03BD21A4FD7500F838EF /* spl_inl.c */, + 691E03BE21A4FD7500F838EF /* spl_sqrt.c */, + ); + path = signal_processing; + sourceTree = ""; + }; + 691E03A221A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E03A321A4FD7500F838EF /* signal_processing_library.h */, + 691E03A421A4FD7500F838EF /* real_fft.h */, + 691E03A521A4FD7500F838EF /* spl_inl.h */, + 691E03A621A4FD7500F838EF /* spl_inl_armv7.h */, + ); + path = include; + sourceTree = ""; + }; + 691E03C021A4FD7500F838EF /* vad */ = { + isa = PBXGroup; + children = ( + 691E03C121A4FD7500F838EF /* vad_sp.c */, + 691E03C221A4FD7500F838EF /* vad.cc */, + 691E03C321A4FD7500F838EF /* webrtc_vad.c */, + 691E03C421A4FD7500F838EF /* vad_core.h */, + 691E03C521A4FD7500F838EF /* include */, + 691E03C821A4FD7500F838EF /* vad_gmm.h */, + 691E03C921A4FD7500F838EF /* vad_filterbank.c */, + 691E03CA21A4FD7500F838EF /* vad_core.c */, + 691E03CB21A4FD7500F838EF /* vad_sp.h */, + 691E03CC21A4FD7500F838EF /* vad_filterbank.h */, + 691E03CD21A4FD7500F838EF /* vad_gmm.c */, + ); + path = vad; + sourceTree = ""; + }; + 691E03C521A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E03C621A4FD7500F838EF /* vad.h */, + 691E03C721A4FD7500F838EF /* webrtc_vad.h */, + ); + path = include; + sourceTree = ""; + }; + 691E03CE21A4FD7500F838EF /* api */ = { + isa = PBXGroup; + children = ( + 691E03CF21A4FD7500F838EF /* audio */, + 691E03D721A4FD7500F838EF /* array_view.h */, + ); + path = api; + sourceTree = ""; + }; + 691E03CF21A4FD7500F838EF /* audio */ = { + isa = PBXGroup; + children = ( + 691E03D021A4FD7500F838EF /* audio_frame.cc */, + 691E03D121A4FD7500F838EF /* echo_canceller3_config.h */, + 691E03D221A4FD7500F838EF /* echo_control.h */, + 691E03D321A4FD7500F838EF /* audio_frame.h */, + 691E03D421A4FD7500F838EF /* echo_canceller3_config.cc */, + 691E03D521A4FD7500F838EF /* echo_canceller3_factory.h */, + 691E03D621A4FD7500F838EF /* echo_canceller3_factory.cc */, + ); + path = audio; + sourceTree = ""; + }; + 691E03D821A4FD7500F838EF /* third_party */ = { + isa = PBXGroup; + children = ( + 691E03D921A4FD7500F838EF /* rnnoise */, + ); + path = third_party; + sourceTree = ""; + }; + 691E03D921A4FD7500F838EF /* rnnoise */ = { + isa = PBXGroup; + children = ( + 691E03DA21A4FD7500F838EF /* src */, + ); + path = rnnoise; + sourceTree = ""; + }; + 691E03DA21A4FD7500F838EF /* src */ = { + isa = PBXGroup; + children = ( + 691E03DB21A4FD7500F838EF /* rnn_vad_weights.cc */, + 691E03DC21A4FD7500F838EF /* rnn_activations.h */, + 691E03DD21A4FD7500F838EF /* kiss_fft.h */, + 691E03DE21A4FD7500F838EF /* kiss_fft.cc */, + 691E03DF21A4FD7500F838EF /* rnn_vad_weights.h */, + ); + path = src; + sourceTree = ""; + }; + 691E03E021A4FD7500F838EF /* system_wrappers */ = { + isa = PBXGroup; + children = ( + 691E03E121A4FD7500F838EF /* include */, + 691E03E721A4FD7500F838EF /* source */, + ); + path = system_wrappers; + sourceTree = ""; + }; + 691E03E121A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E03E221A4FD7500F838EF /* field_trial.h */, + 691E03E321A4FD7500F838EF /* cpu_features_wrapper.h */, + 691E03E421A4FD7500F838EF /* asm_defines.h */, + 691E03E521A4FD7500F838EF /* metrics.h */, + 691E03E621A4FD7500F838EF /* compile_assert_c.h */, + ); + path = include; + sourceTree = ""; + }; + 691E03E721A4FD7500F838EF /* source */ = { + isa = PBXGroup; + children = ( + 691E03E821A4FD7500F838EF /* field_trial.cc */, + 691E03E921A4FD7500F838EF /* metrics.cc */, + 691E03EA21A4FD7500F838EF /* cpu_features.cc */, + ); + path = source; + sourceTree = ""; + }; + 691E03EB21A4FD7500F838EF /* modules */ = { + isa = PBXGroup; + children = ( + 691E03EC21A4FD7500F838EF /* third_party */, + 691E03F021A4FD7500F838EF /* audio_coding */, + 691E042921A4FD7500F838EF /* audio_processing */, + ); + path = modules; + sourceTree = ""; + }; + 691E03EC21A4FD7500F838EF /* third_party */ = { + isa = PBXGroup; + children = ( + 691E03ED21A4FD7500F838EF /* fft */, + ); + path = third_party; + sourceTree = ""; + }; + 691E03ED21A4FD7500F838EF /* fft */ = { + isa = PBXGroup; + children = ( + 691E03EE21A4FD7500F838EF /* fft.h */, + 691E03EF21A4FD7500F838EF /* fft.c */, + ); + path = fft; + sourceTree = ""; + }; + 691E03F021A4FD7500F838EF /* audio_coding */ = { + isa = PBXGroup; + children = ( + 691E03F121A4FD7500F838EF /* codecs */, + ); + path = audio_coding; + sourceTree = ""; + }; + 691E03F121A4FD7500F838EF /* codecs */ = { + isa = PBXGroup; + children = ( + 691E03F221A4FD7500F838EF /* isac */, + ); + path = codecs; + sourceTree = ""; + }; + 691E03F221A4FD7500F838EF /* isac */ = { + isa = PBXGroup; + children = ( + 691E03F321A4FD7500F838EF /* bandwidth_info.h */, + 691E03F421A4FD7500F838EF /* main */, + ); + path = isac; + sourceTree = ""; + }; + 691E03F421A4FD7500F838EF /* main */ = { + isa = PBXGroup; + children = ( + 691E03F521A4FD7500F838EF /* include */, + 691E03F721A4FD7500F838EF /* source */, + ); + path = main; + sourceTree = ""; + }; + 691E03F521A4FD7500F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E03F621A4FD7500F838EF /* isac.h */, + ); + path = include; + sourceTree = ""; + }; + 691E03F721A4FD7500F838EF /* source */ = { + isa = PBXGroup; + children = ( + 691E03F821A4FD7500F838EF /* pitch_estimator.c */, + 691E03F921A4FD7500F838EF /* lpc_shape_swb16_tables.c */, + 691E03FA21A4FD7500F838EF /* pitch_gain_tables.c */, + 691E03FB21A4FD7500F838EF /* arith_routines_logist.c */, + 691E03FC21A4FD7500F838EF /* os_specific_inline.h */, + 691E03FD21A4FD7500F838EF /* filterbanks.c */, + 691E03FE21A4FD7500F838EF /* entropy_coding.h */, + 691E03FF21A4FD7500F838EF /* isac_vad.h */, + 691E040021A4FD7500F838EF /* settings.h */, + 691E040121A4FD7500F838EF /* transform.c */, + 691E040221A4FD7500F838EF /* lpc_shape_swb12_tables.h */, + 691E040321A4FD7500F838EF /* arith_routines.h */, + 691E040421A4FD7500F838EF /* crc.h */, + 691E040521A4FD7500F838EF /* pitch_filter.c */, + 691E040621A4FD7500F838EF /* encode_lpc_swb.c */, + 691E040721A4FD7500F838EF /* filter_functions.c */, + 691E040821A4FD7500F838EF /* decode.c */, + 691E040921A4FD7500F838EF /* lattice.c */, + 691E040A21A4FD7500F838EF /* intialize.c */, + 691E040B21A4FD7500F838EF /* lpc_tables.c */, + 691E040C21A4FD7500F838EF /* lpc_gain_swb_tables.c */, + 691E040D21A4FD7500F838EF /* bandwidth_estimator.c */, + 691E040E21A4FD7500F838EF /* isac_float_type.h */, + 691E040F21A4FD7500F838EF /* pitch_lag_tables.h */, + 691E041021A4FD7500F838EF /* encode.c */, + 691E041121A4FD7500F838EF /* lpc_analysis.c */, + 691E041221A4FD7500F838EF /* spectrum_ar_model_tables.h */, + 691E041321A4FD7500F838EF /* arith_routines_hist.c */, + 691E041421A4FD7500F838EF /* codec.h */, + 691E041521A4FD7500F838EF /* pitch_gain_tables.h */, + 691E041621A4FD7500F838EF /* lpc_shape_swb16_tables.h */, + 691E041721A4FD7500F838EF /* pitch_estimator.h */, + 691E041821A4FD7500F838EF /* entropy_coding.c */, + 691E041921A4FD7500F838EF /* isac_vad.c */, + 691E041A21A4FD7500F838EF /* structs.h */, + 691E041B21A4FD7500F838EF /* filter_functions.h */, + 691E041C21A4FD7500F838EF /* encode_lpc_swb.h */, + 691E041D21A4FD7500F838EF /* pitch_filter.h */, + 691E041E21A4FD7500F838EF /* arith_routines.c */, + 691E041F21A4FD7500F838EF /* crc.c */, + 691E042021A4FD7500F838EF /* lpc_shape_swb12_tables.c */, + 691E042121A4FD7500F838EF /* lpc_analysis.h */, + 691E042221A4FD7500F838EF /* decode_bwe.c */, + 691E042321A4FD7500F838EF /* spectrum_ar_model_tables.c */, + 691E042421A4FD7500F838EF /* bandwidth_estimator.h */, + 691E042521A4FD7500F838EF /* pitch_lag_tables.c */, + 691E042621A4FD7500F838EF /* isac.c */, + 691E042721A4FD7500F838EF /* lpc_gain_swb_tables.h */, + 691E042821A4FD7500F838EF /* lpc_tables.h */, + ); + path = source; + sourceTree = ""; + }; + 691E042921A4FD7500F838EF /* audio_processing */ = { + isa = PBXGroup; + children = ( + 691E042A21A4FD7500F838EF /* rms_level.cc */, + 691E042B21A4FD7500F838EF /* echo_detector */, + 691E043421A4FD7600F838EF /* gain_control_for_experimental_agc.h */, + 691E043521A4FD7600F838EF /* splitting_filter.cc */, + 691E043621A4FD7600F838EF /* gain_control_impl.cc */, + 691E043721A4FD7600F838EF /* rms_level.h */, + 691E043821A4FD7600F838EF /* test */, + 691E043C21A4FD7600F838EF /* ns */, + 691E044A21A4FD7600F838EF /* residual_echo_detector.h */, + 691E044B21A4FD7600F838EF /* audio_processing_impl.h */, + 691E044C21A4FD7600F838EF /* audio_buffer.cc */, + 691E044D21A4FD7600F838EF /* typing_detection.cc */, + 691E044E21A4FD7600F838EF /* render_queue_item_verifier.h */, + 691E044F21A4FD7600F838EF /* aec_dump */, + 691E045021A4FD7600F838EF /* include */, + 691E045F21A4FD7600F838EF /* agc2 */, + 691E04A121A4FD7600F838EF /* transient */, + 691E04AF21A4FD7600F838EF /* low_cut_filter.cc */, + 691E04B021A4FD7600F838EF /* noise_suppression_impl.h */, + 691E04B121A4FD7600F838EF /* level_estimator_impl.cc */, + 691E04B221A4FD7600F838EF /* three_band_filter_bank.cc */, + 691E04B321A4FD7600F838EF /* aec */, + 691E04BE21A4FD7600F838EF /* voice_detection_impl.h */, + 691E04BF21A4FD7600F838EF /* voice_detection_impl.cc */, + 691E04C021A4FD7600F838EF /* echo_cancellation_impl.cc */, + 691E04C121A4FD7600F838EF /* gain_control_for_experimental_agc.cc */, + 691E04C221A4FD7600F838EF /* agc */, + 691E04D321A4FD7600F838EF /* common.h */, + 691E04D421A4FD7600F838EF /* audio_processing_impl.cc */, + 691E04D521A4FD7600F838EF /* audio_buffer.h */, + 691E04D621A4FD7600F838EF /* echo_control_mobile_impl.h */, + 691E04D721A4FD7600F838EF /* splitting_filter.h */, + 691E04D821A4FD7600F838EF /* low_cut_filter.h */, + 691E04D921A4FD7600F838EF /* audio_generator */, + 691E04DC21A4FD7600F838EF /* gain_controller2.cc */, + 691E04DD21A4FD7600F838EF /* three_band_filter_bank.h */, + 691E04DE21A4FD7600F838EF /* residual_echo_detector.cc */, + 691E04DF21A4FD7600F838EF /* echo_cancellation_impl.h */, + 691E04E021A4FD7600F838EF /* noise_suppression_impl.cc */, + 691E04E121A4FD7600F838EF /* level_estimator_impl.h */, + 691E04E221A4FD7600F838EF /* gain_controller2.h */, + 691E04E321A4FD7600F838EF /* aecm */, + 691E04EB21A4FD7600F838EF /* aec3 */, + 691E055A21A4FD7600F838EF /* echo_control_mobile_impl.cc */, + 691E055B21A4FD7600F838EF /* gain_control_impl.h */, + 691E055C21A4FD7600F838EF /* typing_detection.h */, + 691E055D21A4FD7600F838EF /* logging */, + 691E056021A4FD7600F838EF /* vad */, + 691E057521A4FD7600F838EF /* utility */, + ); + path = audio_processing; + sourceTree = ""; + }; + 691E042B21A4FD7500F838EF /* echo_detector */ = { + isa = PBXGroup; + children = ( + 691E042C21A4FD7500F838EF /* moving_max.h */, + 691E042D21A4FD7600F838EF /* circular_buffer.h */, + 691E042E21A4FD7600F838EF /* normalized_covariance_estimator.h */, + 691E042F21A4FD7600F838EF /* normalized_covariance_estimator.cc */, + 691E043021A4FD7600F838EF /* moving_max.cc */, + 691E043121A4FD7600F838EF /* circular_buffer.cc */, + 691E043221A4FD7600F838EF /* mean_variance_estimator.cc */, + 691E043321A4FD7600F838EF /* mean_variance_estimator.h */, + ); + path = echo_detector; + sourceTree = ""; + }; + 691E043821A4FD7600F838EF /* test */ = { + isa = PBXGroup; + children = ( + 691E043921A4FD7600F838EF /* android */, + ); + path = test; + sourceTree = ""; + }; + 691E043921A4FD7600F838EF /* android */ = { + isa = PBXGroup; + children = ( + 691E043A21A4FD7600F838EF /* apmtest */, + ); + path = android; + sourceTree = ""; + }; + 691E043A21A4FD7600F838EF /* apmtest */ = { + isa = PBXGroup; + children = ( + 691E043B21A4FD7600F838EF /* jni */, + ); + path = apmtest; + sourceTree = ""; + }; + 691E043B21A4FD7600F838EF /* jni */ = { + isa = PBXGroup; + children = ( + ); + path = jni; + sourceTree = ""; + }; + 691E043C21A4FD7600F838EF /* ns */ = { + isa = PBXGroup; + children = ( + 691E043D21A4FD7600F838EF /* ns_core.h */, + 691E043E21A4FD7600F838EF /* nsx_core.c */, + 691E043F21A4FD7600F838EF /* noise_suppression_x.c */, + 691E044021A4FD7600F838EF /* nsx_core_c.c */, + 691E044121A4FD7600F838EF /* defines.h */, + 691E044221A4FD7600F838EF /* noise_suppression.h */, + 691E044321A4FD7600F838EF /* ns_core.c */, + 691E044421A4FD7600F838EF /* nsx_core.h */, + 691E044521A4FD7600F838EF /* windows_private.h */, + 691E044621A4FD7600F838EF /* noise_suppression_x.h */, + 691E044721A4FD7600F838EF /* nsx_core_neon.c */, + 691E044821A4FD7600F838EF /* noise_suppression.c */, + 691E044921A4FD7600F838EF /* nsx_defines.h */, + ); + path = ns; + sourceTree = ""; + }; + 691E044F21A4FD7600F838EF /* aec_dump */ = { + isa = PBXGroup; + children = ( + ); + path = aec_dump; + sourceTree = ""; + }; + 691E045021A4FD7600F838EF /* include */ = { + isa = PBXGroup; + children = ( + 691E045121A4FD7600F838EF /* audio_generator.h */, + 691E045221A4FD7600F838EF /* config.h */, + 691E045321A4FD7600F838EF /* audio_frame_view.h */, + 691E045421A4FD7600F838EF /* mock_audio_processing.h */, + 691E045521A4FD7600F838EF /* gain_control.h */, + 691E045621A4FD7600F838EF /* audio_generator_factory.h */, + 691E045721A4FD7600F838EF /* audio_processing_statistics.cc */, + 691E045821A4FD7600F838EF /* audio_generator_factory.cc */, + 691E045921A4FD7600F838EF /* aec_dump.cc */, + 691E045A21A4FD7600F838EF /* aec_dump.h */, + 691E045B21A4FD7600F838EF /* audio_processing_statistics.h */, + 691E045C21A4FD7600F838EF /* audio_processing.h */, + 691E045D21A4FD7600F838EF /* audio_processing.cc */, + 691E045E21A4FD7600F838EF /* config.cc */, + ); + path = include; + sourceTree = ""; + }; + 691E045F21A4FD7600F838EF /* agc2 */ = { + isa = PBXGroup; + children = ( + 691E046021A4FD7600F838EF /* interpolated_gain_curve.h */, + 691E046121A4FD7600F838EF /* biquad_filter.h */, + 691E046221A4FD7600F838EF /* interpolated_gain_curve.cc */, + 691E046321A4FD7600F838EF /* agc2_common.cc */, + 691E046421A4FD7600F838EF /* agc2_testing_common.h */, + 691E046521A4FD7600F838EF /* adaptive_mode_level_estimator.h */, + 691E046621A4FD7600F838EF /* gain_applier.cc */, + 691E046721A4FD7600F838EF /* signal_classifier.h */, + 691E046821A4FD7600F838EF /* adaptive_agc.cc */, + 691E046921A4FD7600F838EF /* adaptive_digital_gain_applier.cc */, + 691E046A21A4FD7600F838EF /* limiter.cc */, + 691E046B21A4FD7600F838EF /* saturation_protector.cc */, + 691E046C21A4FD7600F838EF /* vector_float_frame.h */, + 691E046D21A4FD7600F838EF /* rnn_vad */, + 691E048421A4FD7600F838EF /* fixed_gain_controller.h */, + 691E048521A4FD7600F838EF /* adaptive_mode_level_estimator_agc.cc */, + 691E048621A4FD7600F838EF /* vector_float_frame.cc */, + 691E048721A4FD7600F838EF /* down_sampler.h */, + 691E048821A4FD7600F838EF /* noise_level_estimator.cc */, + 691E048921A4FD7600F838EF /* agc2_testing_common.cc */, + 691E048A21A4FD7600F838EF /* fixed_digital_level_estimator.cc */, + 691E048B21A4FD7600F838EF /* fixed_gain_controller.cc */, + 691E048C21A4FD7600F838EF /* saturation_protector.h */, + 691E048D21A4FD7600F838EF /* vad_with_level.cc */, + 691E048E21A4FD7600F838EF /* limiter_db_gain_curve.cc */, + 691E048F21A4FD7600F838EF /* agc2_common.h */, + 691E049021A4FD7600F838EF /* adaptive_mode_level_estimator_agc.h */, + 691E049121A4FD7600F838EF /* adaptive_digital_gain_applier.h */, + 691E049221A4FD7600F838EF /* vad_with_level.h */, + 691E049321A4FD7600F838EF /* limiter_db_gain_curve.h */, + 691E049421A4FD7600F838EF /* fixed_digital_level_estimator.h */, + 691E049521A4FD7600F838EF /* adaptive_agc.h */, + 691E049621A4FD7600F838EF /* gain_applier.h */, + 691E049721A4FD7600F838EF /* down_sampler.cc */, + 691E049821A4FD7600F838EF /* noise_level_estimator.h */, + 691E049921A4FD7600F838EF /* signal_classifier.cc */, + 691E049A21A4FD7600F838EF /* noise_spectrum_estimator.cc */, + 691E049B21A4FD7600F838EF /* compute_interpolated_gain_curve.cc */, + 691E049C21A4FD7600F838EF /* compute_interpolated_gain_curve.h */, + 691E049D21A4FD7600F838EF /* biquad_filter.cc */, + 691E049E21A4FD7600F838EF /* noise_spectrum_estimator.h */, + 691E049F21A4FD7600F838EF /* limiter.h */, + 691E04A021A4FD7600F838EF /* adaptive_mode_level_estimator.cc */, + ); + path = agc2; + sourceTree = ""; + }; + 691E046D21A4FD7600F838EF /* rnn_vad */ = { + isa = PBXGroup; + children = ( + 691E046E21A4FD7600F838EF /* spectral_features_internal.cc */, + 691E046F21A4FD7600F838EF /* sequence_buffer.h */, + 691E047021A4FD7600F838EF /* rnn.h */, + 691E047121A4FD7600F838EF /* rnn.cc */, + 691E047221A4FD7600F838EF /* test_utils.h */, + 691E047321A4FD7600F838EF /* pitch_info.h */, + 691E047421A4FD7600F838EF /* lp_residual.h */, + 691E047521A4FD7600F838EF /* ring_buffer.h */, + 691E047621A4FD7600F838EF /* pitch_search_internal.cc */, + 691E047721A4FD7600F838EF /* symmetric_matrix_buffer.h */, + 691E047821A4FD7600F838EF /* spectral_features.h */, + 691E047921A4FD7600F838EF /* features_extraction.h */, + 691E047A21A4FD7600F838EF /* common.h */, + 691E047B21A4FD7600F838EF /* spectral_features_internal.h */, + 691E047C21A4FD7600F838EF /* fft_util.h */, + 691E047D21A4FD7600F838EF /* spectral_features.cc */, + 691E047E21A4FD7600F838EF /* pitch_search_internal.h */, + 691E047F21A4FD7600F838EF /* pitch_search.cc */, + 691E048021A4FD7600F838EF /* pitch_search.h */, + 691E048121A4FD7600F838EF /* features_extraction.cc */, + 691E048221A4FD7600F838EF /* fft_util.cc */, + 691E048321A4FD7600F838EF /* lp_residual.cc */, + ); + path = rnn_vad; + sourceTree = ""; + }; + 691E04A121A4FD7600F838EF /* transient */ = { + isa = PBXGroup; + children = ( + 691E04A221A4FD7600F838EF /* moving_moments.cc */, + 691E04A321A4FD7600F838EF /* transient_detector.h */, + 691E04A421A4FD7600F838EF /* wpd_tree.cc */, + 691E04A521A4FD7600F838EF /* transient_suppressor.h */, + 691E04A621A4FD7600F838EF /* daubechies_8_wavelet_coeffs.h */, + 691E04A721A4FD7600F838EF /* common.h */, + 691E04A821A4FD7600F838EF /* wpd_node.h */, + 691E04A921A4FD7600F838EF /* moving_moments.h */, + 691E04AA21A4FD7600F838EF /* wpd_tree.h */, + 691E04AB21A4FD7600F838EF /* wpd_node.cc */, + 691E04AC21A4FD7600F838EF /* transient_suppressor.cc */, + 691E04AD21A4FD7600F838EF /* transient_detector.cc */, + 691E04AE21A4FD7600F838EF /* dyadic_decimator.h */, + ); + path = transient; + sourceTree = ""; + }; + 691E04B321A4FD7600F838EF /* aec */ = { + isa = PBXGroup; + children = ( + 691E04B421A4FD7600F838EF /* echo_cancellation.cc */, + 691E04B521A4FD7600F838EF /* aec_resampler.h */, + 691E04B621A4FD7600F838EF /* aec_resampler.cc */, + 691E04B721A4FD7600F838EF /* echo_cancellation.h */, + 691E04B821A4FD7600F838EF /* aec_core.cc */, + 691E04B921A4FD7600F838EF /* aec_core.h */, + 691E04BA21A4FD7600F838EF /* aec_core_optimized_methods.h */, + 691E04BB21A4FD7600F838EF /* aec_core_neon.cc */, + 691E04BC21A4FD7600F838EF /* aec_core_sse2.cc */, + 691E04BD21A4FD7600F838EF /* aec_common.h */, + ); + path = aec; + sourceTree = ""; + }; + 691E04C221A4FD7600F838EF /* agc */ = { + isa = PBXGroup; + children = ( + 691E04C321A4FD7600F838EF /* agc.cc */, + 691E04C421A4FD7600F838EF /* loudness_histogram.cc */, + 691E04C521A4FD7600F838EF /* agc_manager_direct.cc */, + 691E04C621A4FD7600F838EF /* legacy */, + 691E04CC21A4FD7600F838EF /* utility.cc */, + 691E04CD21A4FD7600F838EF /* mock_agc.h */, + 691E04CE21A4FD7600F838EF /* loudness_histogram.h */, + 691E04CF21A4FD7600F838EF /* gain_map_internal.h */, + 691E04D021A4FD7600F838EF /* utility.h */, + 691E04D121A4FD7600F838EF /* agc_manager_direct.h */, + 691E04D221A4FD7600F838EF /* agc.h */, + ); + path = agc; + sourceTree = ""; + }; + 691E04C621A4FD7600F838EF /* legacy */ = { + isa = PBXGroup; + children = ( + 691E04C721A4FD7600F838EF /* analog_agc.h */, + 691E04C821A4FD7600F838EF /* gain_control.h */, + 691E04C921A4FD7600F838EF /* digital_agc.h */, + 691E04CA21A4FD7600F838EF /* analog_agc.c */, + 691E04CB21A4FD7600F838EF /* digital_agc.c */, + ); + path = legacy; + sourceTree = ""; + }; + 691E04D921A4FD7600F838EF /* audio_generator */ = { + isa = PBXGroup; + children = ( + 691E04DA21A4FD7600F838EF /* file_audio_generator.h */, + 691E04DB21A4FD7600F838EF /* file_audio_generator.cc */, + ); + path = audio_generator; + sourceTree = ""; + }; + 691E04E321A4FD7600F838EF /* aecm */ = { + isa = PBXGroup; + children = ( + 691E04E421A4FD7600F838EF /* aecm_core.h */, + 691E04E521A4FD7600F838EF /* aecm_defines.h */, + 691E04E621A4FD7600F838EF /* aecm_core.cc */, + 691E04E721A4FD7600F838EF /* aecm_core_c.cc */, + 691E04E821A4FD7600F838EF /* aecm_core_neon.cc */, + 691E04E921A4FD7600F838EF /* echo_control_mobile.h */, + 691E04EA21A4FD7600F838EF /* echo_control_mobile.cc */, + ); + path = aecm; + sourceTree = ""; + }; + 691E04EB21A4FD7600F838EF /* aec3 */ = { + isa = PBXGroup; + children = ( + 691E04EC21A4FD7600F838EF /* render_reverb_model.cc */, + 691E04ED21A4FD7600F838EF /* downsampled_render_buffer.h */, + 691E04EE21A4FD7600F838EF /* subtractor_output_analyzer.h */, + 691E04EF21A4FD7600F838EF /* reverb_model_fallback.cc */, + 691E04F021A4FD7600F838EF /* residual_echo_estimator.h */, + 691E04F121A4FD7600F838EF /* shadow_filter_update_gain.h */, + 691E04F221A4FD7600F838EF /* echo_remover_metrics.cc */, + 691E04F321A4FD7600F838EF /* matched_filter_lag_aggregator.cc */, + 691E04F421A4FD7600F838EF /* render_delay_buffer2.cc */, + 691E04F521A4FD7600F838EF /* aec_state.h */, + 691E04F621A4FD7600F838EF /* suppression_filter.h */, + 691E04F721A4FD7600F838EF /* echo_path_variability.cc */, + 691E04F821A4FD7600F838EF /* frame_blocker.cc */, + 691E04F921A4FD7600F838EF /* subtractor.cc */, + 691E04FA21A4FD7600F838EF /* block_delay_buffer.h */, + 691E04FB21A4FD7600F838EF /* adaptive_fir_filter.h */, + 691E04FC21A4FD7600F838EF /* cascaded_biquad_filter.h */, + 691E04FD21A4FD7600F838EF /* matched_filter.h */, + 691E04FE21A4FD7600F838EF /* subtractor_output.h */, + 691E04FF21A4FD7600F838EF /* render_signal_analyzer.h */, + 691E050021A4FD7600F838EF /* aec3_fft.cc */, + 691E050121A4FD7600F838EF /* aec3_fft.h */, + 691E050221A4FD7600F838EF /* echo_remover_metrics.h */, + 691E050321A4FD7600F838EF /* fullband_erle_estimator.cc */, + 691E050421A4FD7600F838EF /* suppression_filter.cc */, + 691E050521A4FD7600F838EF /* block_processor.cc */, + 691E050621A4FD7600F838EF /* filter_analyzer.h */, + 691E050721A4FD7600F838EF /* subtractor.h */, + 691E050821A4FD7600F838EF /* echo_path_delay_estimator.h */, + 691E050921A4FD7600F838EF /* subband_erle_estimator.cc */, + 691E050A21A4FD7600F838EF /* render_delay_controller_metrics.cc */, + 691E050B21A4FD7600F838EF /* render_delay_buffer.cc */, + 691E050C21A4FD7600F838EF /* block_processor_metrics.h */, + 691E050D21A4FD7600F838EF /* vector_buffer.cc */, + 691E050E21A4FD7600F838EF /* erl_estimator.cc */, + 691E050F21A4FD7600F838EF /* aec_state.cc */, + 691E051021A4FD7600F838EF /* adaptive_fir_filter.cc */, + 691E051121A4FD7600F838EF /* fft_data.h */, + 691E051221A4FD7600F838EF /* render_delay_controller.cc */, + 691E051321A4FD7600F838EF /* skew_estimator.cc */, + 691E051421A4FD7600F838EF /* render_delay_controller_metrics.h */, + 691E051521A4FD7600F838EF /* comfort_noise_generator.h */, + 691E051621A4FD7600F838EF /* echo_path_delay_estimator.cc */, + 691E051721A4FD7600F838EF /* erl_estimator.h */, + 691E051821A4FD7600F838EF /* echo_remover.h */, + 691E051921A4FD7600F838EF /* block_framer.cc */, + 691E051A21A4FD7600F838EF /* erle_estimator.cc */, + 691E051B21A4FD7600F838EF /* reverb_model.cc */, + 691E051C21A4FD7600F838EF /* cascaded_biquad_filter.cc */, + 691E051D21A4FD7600F838EF /* matrix_buffer.h */, + 691E051E21A4FD7600F838EF /* render_buffer.cc */, + 691E051F21A4FD7600F838EF /* reverb_model_estimator.h */, + 691E052021A4FD7600F838EF /* subtractor_output.cc */, + 691E052121A4FD7600F838EF /* stationarity_estimator.cc */, + 691E052221A4FD7600F838EF /* render_signal_analyzer.cc */, + 691E052321A4FD7600F838EF /* echo_path_variability.h */, + 691E052421A4FD7600F838EF /* moving_average.h */, + 691E052521A4FD7600F838EF /* render_reverb_model.h */, + 691E052621A4FD7600F838EF /* subtractor_output_analyzer.cc */, + 691E052721A4FD7600F838EF /* suppression_gain.cc */, + 691E052821A4FD7600F838EF /* echo_audibility.cc */, + 691E052921A4FD7600F838EF /* block_processor_metrics.cc */, + 691E052A21A4FD7600F838EF /* render_delay_controller.h */, + 691E052B21A4FD7600F838EF /* suppression_gain.h */, + 691E052C21A4FD7600F838EF /* moving_average.cc */, + 691E052D21A4FD7600F838EF /* erle_estimator.h */, + 691E052E21A4FD7600F838EF /* subband_erle_estimator.h */, + 691E052F21A4FD7600F838EF /* reverb_model_estimator.cc */, + 691E053021A4FD7600F838EF /* aec3_common.cc */, + 691E053121A4FD7600F838EF /* residual_echo_estimator.cc */, + 691E053221A4FD7600F838EF /* block_processor.h */, + 691E053321A4FD7600F838EF /* fullband_erle_estimator.h */, + 691E053421A4FD7600F838EF /* matched_filter.cc */, + 691E053521A4FD7600F838EF /* stationarity_estimator.h */, + 691E053621A4FD7600F838EF /* echo_canceller3.h */, + 691E053721A4FD7600F838EF /* skew_estimator.h */, + 691E053821A4FD7600F838EF /* reverb_decay_estimator.cc */, + 691E053921A4FD7600F838EF /* render_delay_controller2.cc */, + 691E053A21A4FD7600F838EF /* render_buffer.h */, + 691E053B21A4FD7600F838EF /* suppression_gain_limiter.cc */, + 691E053C21A4FD7600F838EF /* main_filter_update_gain.cc */, + 691E053D21A4FD7600F838EF /* echo_remover.cc */, + 691E053E21A4FD7600F838EF /* reverb_model_fallback.h */, + 691E053F21A4FD7600F838EF /* downsampled_render_buffer.cc */, + 691E054021A4FD7600F838EF /* vector_buffer.h */, + 691E054121A4FD7600F838EF /* matrix_buffer.cc */, + 691E054221A4FD7600F838EF /* reverb_frequency_response.h */, + 691E054321A4FD7600F838EF /* echo_audibility.h */, + 691E054421A4FD7600F838EF /* fft_buffer.h */, + 691E054521A4FD7600F838EF /* block_processor2.cc */, + 691E054621A4FD7600F838EF /* echo_canceller3.cc */, + 691E054721A4FD7600F838EF /* block_delay_buffer.cc */, + 691E054821A4FD7600F838EF /* aec3_common.h */, + 691E054921A4FD7600F838EF /* fft_buffer.cc */, + 691E054A21A4FD7600F838EF /* vector_math.h */, + 691E054B21A4FD7600F838EF /* decimator.h */, + 691E054C21A4FD7600F838EF /* frame_blocker.h */, + 691E054D21A4FD7600F838EF /* block_framer.h */, + 691E054E21A4FD7600F838EF /* suppression_gain_limiter.h */, + 691E054F21A4FD7600F838EF /* delay_estimate.h */, + 691E055021A4FD7600F838EF /* comfort_noise_generator.cc */, + 691E055121A4FD7600F838EF /* reverb_model.h */, + 691E055221A4FD7600F838EF /* main_filter_update_gain.h */, + 691E055321A4FD7600F838EF /* matched_filter_lag_aggregator.h */, + 691E055421A4FD7600F838EF /* shadow_filter_update_gain.cc */, + 691E055521A4FD7600F838EF /* filter_analyzer.cc */, + 691E055621A4FD7600F838EF /* reverb_decay_estimator.h */, + 691E055721A4FD7600F838EF /* reverb_frequency_response.cc */, + 691E055821A4FD7600F838EF /* decimator.cc */, + 691E055921A4FD7600F838EF /* render_delay_buffer.h */, + ); + path = aec3; + sourceTree = ""; + }; + 691E055D21A4FD7600F838EF /* logging */ = { + isa = PBXGroup; + children = ( + 691E055E21A4FD7600F838EF /* apm_data_dumper.cc */, + 691E055F21A4FD7600F838EF /* apm_data_dumper.h */, + ); + path = logging; + sourceTree = ""; + }; + 691E056021A4FD7600F838EF /* vad */ = { + isa = PBXGroup; + children = ( + 691E056121A4FD7600F838EF /* voice_activity_detector.cc */, + 691E056221A4FD7600F838EF /* standalone_vad.cc */, + 691E056321A4FD7600F838EF /* vad_audio_proc_internal.h */, + 691E056421A4FD7600F838EF /* pitch_internal.cc */, + 691E056521A4FD7600F838EF /* vad_circular_buffer.cc */, + 691E056621A4FD7600F838EF /* vad_circular_buffer.h */, + 691E056721A4FD7600F838EF /* pitch_based_vad.h */, + 691E056821A4FD7600F838EF /* vad_audio_proc.cc */, + 691E056921A4FD7600F838EF /* pole_zero_filter.cc */, + 691E056A21A4FD7600F838EF /* pole_zero_filter.h */, + 691E056B21A4FD7600F838EF /* pitch_based_vad.cc */, + 691E056C21A4FD7600F838EF /* gmm.h */, + 691E056D21A4FD7600F838EF /* common.h */, + 691E056E21A4FD7600F838EF /* vad_audio_proc.h */, + 691E056F21A4FD7600F838EF /* voice_gmm_tables.h */, + 691E057021A4FD7600F838EF /* noise_gmm_tables.h */, + 691E057121A4FD7600F838EF /* pitch_internal.h */, + 691E057221A4FD7600F838EF /* gmm.cc */, + 691E057321A4FD7600F838EF /* standalone_vad.h */, + 691E057421A4FD7600F838EF /* voice_activity_detector.h */, + ); + path = vad; + sourceTree = ""; + }; + 691E057521A4FD7600F838EF /* utility */ = { + isa = PBXGroup; + children = ( + 691E057621A4FD7600F838EF /* ooura_fft_tables_neon_sse2.h */, + 691E057721A4FD7600F838EF /* delay_estimator_internal.h */, + 691E057821A4FD7600F838EF /* ooura_fft.cc */, + 691E057921A4FD7600F838EF /* ooura_fft.h */, + 691E057A21A4FD7600F838EF /* delay_estimator_wrapper.cc */, + 691E057B21A4FD7600F838EF /* ooura_fft_sse2.cc */, + 691E057C21A4FD7600F838EF /* delay_estimator.cc */, + 691E057D21A4FD7600F838EF /* block_mean_calculator.h */, + 691E057E21A4FD7600F838EF /* ooura_fft_neon.cc */, + 691E057F21A4FD7600F838EF /* block_mean_calculator.cc */, + 691E058021A4FD7600F838EF /* delay_estimator.h */, + 691E058121A4FD7600F838EF /* ooura_fft_tables_common.h */, + 691E058221A4FD7600F838EF /* delay_estimator_wrapper.h */, + ); + path = utility; + sourceTree = ""; + }; + 691E058321A4FD7600F838EF /* rtc_base */ = { + isa = PBXGroup; + children = ( + 691E058421A4FD7600F838EF /* string_to_number.h */, + 691E058521A4FD7600F838EF /* constructormagic.h */, + 691E058621A4FD7600F838EF /* race_checker.cc */, + 691E058721A4FD7600F838EF /* strings */, + 691E058A21A4FD7600F838EF /* event_tracer.h */, + 691E058B21A4FD7600F838EF /* stringencode.h */, + 691E058C21A4FD7600F838EF /* memory */, + 691E058F21A4FD7600F838EF /* timeutils.cc */, + 691E059021A4FD7600F838EF /* event.h */, + 691E059121A4FD7600F838EF /* logging_mac.mm */, + 691E059221A4FD7600F838EF /* ignore_wundef.h */, + 691E059321A4FD7600F838EF /* stringutils.h */, + 691E059421A4FD7600F838EF /* arraysize.h */, + 691E059521A4FD7600F838EF /* platform_file.cc */, + 691E059621A4FD7600F838EF /* swap_queue.h */, + 691E059721A4FD7600F838EF /* string_to_number.cc */, + 691E059821A4FD7600F838EF /* trace_event.h */, + 691E059921A4FD7600F838EF /* checks.h */, + 691E059A21A4FD7600F838EF /* deprecation.h */, + 691E059B21A4FD7600F838EF /* thread_checker_impl.cc */, + 691E059C21A4FD7600F838EF /* sanitizer.h */, + 691E059D21A4FD7600F838EF /* scoped_ref_ptr.h */, + 691E059E21A4FD7600F838EF /* logging.h */, + 691E059F21A4FD7600F838EF /* timeutils.h */, + 691E05A021A4FD7600F838EF /* atomicops.h */, + 691E05A121A4FD7600F838EF /* stringencode.cc */, + 691E05A221A4FD7600F838EF /* stringutils.cc */, + 691E05A321A4FD7600F838EF /* checks.cc */, + 691E05A421A4FD7600F838EF /* numerics */, + 691E05A921A4FD7600F838EF /* system */, + 691E05B021A4FD7600F838EF /* platform_thread.cc */, + 691E05B121A4FD7600F838EF /* platform_thread.h */, + 691E05B221A4FD7600F838EF /* logging_webrtc.cc */, + 691E05B321A4FD7600F838EF /* platform_thread_types.h */, + 691E05B421A4FD7600F838EF /* protobuf_utils.h */, + 691E05B521A4FD7600F838EF /* thread_annotations.h */, + 691E05B621A4FD7600F838EF /* gtest_prod_util.h */, + 691E05B721A4FD7600F838EF /* function_view.h */, + 691E05B821A4FD7600F838EF /* criticalsection.h */, + 691E05B921A4FD7600F838EF /* criticalsection.cc */, + 691E05BA21A4FD7600F838EF /* platform_thread_types.cc */, + 691E05BB21A4FD7600F838EF /* refcount.h */, + 691E05BC21A4FD7600F838EF /* event.cc */, + 691E05BD21A4FD7600F838EF /* thread_checker_impl.h */, + 691E05BE21A4FD7600F838EF /* event_tracer.cc */, + 691E05BF21A4FD7600F838EF /* compile_assert_c.h */, + 691E05C021A4FD7600F838EF /* type_traits.h */, + 691E05C121A4FD7600F838EF /* platform_file.h */, + 691E05C221A4FD7600F838EF /* refcounter.h */, + 691E05C321A4FD7600F838EF /* logging_mac.h */, + 691E05C421A4FD7600F838EF /* thread_checker.h */, + 691E05C521A4FD7600F838EF /* race_checker.h */, + 691E05C621A4FD7600F838EF /* refcountedobject.h */, + ); + path = rtc_base; + sourceTree = ""; + }; + 691E058721A4FD7600F838EF /* strings */ = { + isa = PBXGroup; + children = ( + 691E058821A4FD7600F838EF /* string_builder.h */, + 691E058921A4FD7600F838EF /* string_builder.cc */, + ); + path = strings; + sourceTree = ""; + }; + 691E058C21A4FD7600F838EF /* memory */ = { + isa = PBXGroup; + children = ( + 691E058D21A4FD7600F838EF /* aligned_malloc.cc */, + 691E058E21A4FD7600F838EF /* aligned_malloc.h */, + ); + path = memory; + sourceTree = ""; + }; + 691E05A421A4FD7600F838EF /* numerics */ = { + isa = PBXGroup; + children = ( + 691E05A521A4FD7600F838EF /* safe_minmax.h */, + 691E05A621A4FD7600F838EF /* safe_conversions.h */, + 691E05A721A4FD7600F838EF /* safe_conversions_impl.h */, + 691E05A821A4FD7600F838EF /* safe_compare.h */, + ); + path = numerics; + sourceTree = ""; + }; + 691E05A921A4FD7600F838EF /* system */ = { + isa = PBXGroup; + children = ( + 691E05AA21A4FD7600F838EF /* unused.h */, + 691E05AB21A4FD7600F838EF /* inline.h */, + 691E05AC21A4FD7600F838EF /* ignore_warnings.h */, + 691E05AD21A4FD7600F838EF /* asm_defines.h */, + 691E05AE21A4FD7600F838EF /* rtc_export.h */, + 691E05AF21A4FD7600F838EF /* arch.h */, + ); + path = system; + sourceTree = ""; + }; 692AB8861E6759BF00706ACC /* libtgvoip */ = { isa = PBXGroup; children = ( @@ -640,292 +2341,18 @@ 69A6DE201E96149300000E69 /* webrtc_dsp */ = { isa = PBXGroup; children = ( - 69A6DE211E96149300000E69 /* webrtc */, + 691E032F21A4FD7500F838EF /* absl */, + 691E03CE21A4FD7500F838EF /* api */, + 691E035821A4FD7500F838EF /* common_audio */, + 691E03EB21A4FD7500F838EF /* modules */, + 691E058321A4FD7600F838EF /* rtc_base */, + 691E03E021A4FD7500F838EF /* system_wrappers */, + 691E03D821A4FD7500F838EF /* third_party */, + 691E032E21A4FD7500F838EF /* typedefs.h */, ); path = webrtc_dsp; sourceTree = SOURCE_ROOT; }; - 69A6DE211E96149300000E69 /* webrtc */ = { - isa = PBXGroup; - children = ( - 69A6DE221E96149300000E69 /* base */, - 69A6DE301E96149300000E69 /* common_audio */, - 69A6DE711E96149300000E69 /* modules */, - 69A6DEB01E96149300000E69 /* system_wrappers */, - 69A6DEB81E96149300000E69 /* typedefs.h */, - ); - path = webrtc; - sourceTree = ""; - }; - 69A6DE221E96149300000E69 /* base */ = { - isa = PBXGroup; - children = ( - 69A6DE231E96149300000E69 /* array_view.h */, - 69A6DE241E96149300000E69 /* atomicops.h */, - 69A6DE251E96149300000E69 /* basictypes.h */, - 69A6DE261E96149300000E69 /* checks.cc */, - 69A6DE271E96149300000E69 /* checks.h */, - 69A6DE281E96149300000E69 /* constructormagic.h */, - 69A6DE291E96149300000E69 /* safe_compare.h */, - 69A6DE2A1E96149300000E69 /* safe_conversions.h */, - 69A6DE2B1E96149300000E69 /* safe_conversions_impl.h */, - 69A6DE2C1E96149300000E69 /* sanitizer.h */, - 69A6DE2D1E96149300000E69 /* stringutils.cc */, - 69A6DE2E1E96149300000E69 /* stringutils.h */, - 69A6DE2F1E96149300000E69 /* type_traits.h */, - ); - path = base; - sourceTree = ""; - }; - 69A6DE301E96149300000E69 /* common_audio */ = { - isa = PBXGroup; - children = ( - 69A6DE311E96149300000E69 /* audio_util.cc */, - 69A6DE321E96149300000E69 /* channel_buffer.cc */, - 69A6DE331E96149300000E69 /* channel_buffer.h */, - 69A6DE341E96149300000E69 /* fft4g.c */, - 69A6DE351E96149300000E69 /* fft4g.h */, - 69A6DE361E96149300000E69 /* include */, - 69A6DE381E96149300000E69 /* ring_buffer.c */, - 69A6DE391E96149300000E69 /* ring_buffer.h */, - 69A6DE3A1E96149300000E69 /* signal_processing */, - 69A6DE6B1E96149300000E69 /* sparse_fir_filter.cc */, - 69A6DE6C1E96149300000E69 /* sparse_fir_filter.h */, - 69A6DE6D1E96149300000E69 /* wav_file.cc */, - 69A6DE6E1E96149300000E69 /* wav_file.h */, - 69A6DE6F1E96149300000E69 /* wav_header.cc */, - 69A6DE701E96149300000E69 /* wav_header.h */, - ); - path = common_audio; - sourceTree = ""; - }; - 69A6DE361E96149300000E69 /* include */ = { - isa = PBXGroup; - children = ( - 69A6DE371E96149300000E69 /* audio_util.h */, - ); - path = include; - sourceTree = ""; - }; - 69A6DE3A1E96149300000E69 /* signal_processing */ = { - isa = PBXGroup; - children = ( - 69A6DE3B1E96149300000E69 /* auto_corr_to_refl_coef.c */, - 69A6DE3C1E96149300000E69 /* auto_correlation.c */, - 69A6DE3D1E96149300000E69 /* complex_bit_reverse.c */, - 69A6DE3F1E96149300000E69 /* complex_fft.c */, - 69A6DE401E96149300000E69 /* complex_fft_tables.h */, - 69A6DE411E96149300000E69 /* copy_set_operations.c */, - 69A6DE421E96149300000E69 /* cross_correlation.c */, - 69A6DE431E96149300000E69 /* cross_correlation_neon.c */, - 69A6DE441E96149300000E69 /* division_operations.c */, - 69A6DE451E96149300000E69 /* dot_product_with_scale.c */, - 69A6DE461E96149300000E69 /* downsample_fast.c */, - 69A6DE471E96149300000E69 /* downsample_fast_neon.c */, - 69A6DE481E96149300000E69 /* energy.c */, - 69A6DE491E96149300000E69 /* filter_ar.c */, - 69A6DE4A1E96149300000E69 /* filter_ar_fast_q12.c */, - 69A6DE4C1E96149300000E69 /* filter_ma_fast_q12.c */, - 69A6DE4D1E96149300000E69 /* get_hanning_window.c */, - 69A6DE4E1E96149300000E69 /* get_scaling_square.c */, - 69A6DE4F1E96149300000E69 /* ilbc_specific_functions.c */, - 69A6DE501E96149300000E69 /* include */, - 69A6DE561E96149300000E69 /* levinson_durbin.c */, - 69A6DE571E96149300000E69 /* lpc_to_refl_coef.c */, - 69A6DE581E96149300000E69 /* min_max_operations.c */, - 69A6DE591E96149300000E69 /* min_max_operations_neon.c */, - 69A6DE5A1E96149300000E69 /* randomization_functions.c */, - 69A6DE5B1E96149300000E69 /* real_fft.c */, - 69A6DE5C1E96149300000E69 /* refl_coef_to_lpc.c */, - 69A6DE5D1E96149300000E69 /* resample.c */, - 69A6DE5E1E96149300000E69 /* resample_48khz.c */, - 69A6DE5F1E96149300000E69 /* resample_by_2.c */, - 69A6DE601E96149300000E69 /* resample_by_2_internal.c */, - 69A6DE611E96149300000E69 /* resample_by_2_internal.h */, - 69A6DE621E96149300000E69 /* resample_fractional.c */, - 69A6DE631E96149300000E69 /* spl_init.c */, - 69A6DE641E96149300000E69 /* spl_inl.c */, - 69A6DE651E96149300000E69 /* spl_sqrt.c */, - 69A6DE661E96149300000E69 /* spl_sqrt_floor.c */, - 69A6DE681E96149300000E69 /* splitting_filter_impl.c */, - 69A6DE691E96149300000E69 /* sqrt_of_one_minus_x_squared.c */, - 69A6DE6A1E96149300000E69 /* vector_scaling_operations.c */, - ); - path = signal_processing; - sourceTree = ""; - }; - 69A6DE501E96149300000E69 /* include */ = { - isa = PBXGroup; - children = ( - 69A6DE511E96149300000E69 /* real_fft.h */, - 69A6DE521E96149300000E69 /* signal_processing_library.h */, - 69A6DE531E96149300000E69 /* spl_inl.h */, - 69A6DE541E96149300000E69 /* spl_inl_armv7.h */, - 69A6DE551E96149300000E69 /* spl_inl_mips.h */, - ); - path = include; - sourceTree = ""; - }; - 69A6DE711E96149300000E69 /* modules */ = { - isa = PBXGroup; - children = ( - 69A6DE721E96149300000E69 /* audio_processing */, - ); - name = modules; - path = webrtc_dsp/webrtc/modules; - sourceTree = SOURCE_ROOT; - }; - 69A6DE721E96149300000E69 /* audio_processing */ = { - isa = PBXGroup; - children = ( - 69A6DE731E96149300000E69 /* aec */, - 69A6DE7E1E96149300000E69 /* aecm */, - 69A6DE861E96149300000E69 /* agc */, - 69A6DE8D1E96149300000E69 /* logging */, - 69A6DE901E96149300000E69 /* ns */, - 69A6DE9E1E96149300000E69 /* splitting_filter.cc */, - 69A6DE9F1E96149300000E69 /* splitting_filter.h */, - 69A6DEA01E96149300000E69 /* three_band_filter_bank.cc */, - 69A6DEA11E96149300000E69 /* three_band_filter_bank.h */, - 69A6DEA21E96149300000E69 /* utility */, - ); - path = audio_processing; - sourceTree = ""; - }; - 69A6DE731E96149300000E69 /* aec */ = { - isa = PBXGroup; - children = ( - 69A6DE741E96149300000E69 /* aec_common.h */, - 69A6DE751E96149300000E69 /* aec_core.cc */, - 69A6DE761E96149300000E69 /* aec_core.h */, - 69A6DE771E96149300000E69 /* aec_core_neon.cc */, - 69A6DE781E96149300000E69 /* aec_core_optimized_methods.h */, - 69A6DE791E96149300000E69 /* aec_core_sse2.cc */, - 69A6DE7A1E96149300000E69 /* aec_resampler.cc */, - 69A6DE7B1E96149300000E69 /* aec_resampler.h */, - 69A6DE7C1E96149300000E69 /* echo_cancellation.cc */, - 69A6DE7D1E96149300000E69 /* echo_cancellation.h */, - ); - name = aec; - path = webrtc_dsp/webrtc/modules/audio_processing/aec; - sourceTree = SOURCE_ROOT; - }; - 69A6DE7E1E96149300000E69 /* aecm */ = { - isa = PBXGroup; - children = ( - 69A6DE7F1E96149300000E69 /* aecm_core.cc */, - 69A6DE801E96149300000E69 /* aecm_core.h */, - 69A6DE811E96149300000E69 /* aecm_core_c.cc */, - 69A6DE821E96149300000E69 /* aecm_core_neon.cc */, - 69A6DE831E96149300000E69 /* aecm_defines.h */, - 69A6DE841E96149300000E69 /* echo_control_mobile.cc */, - 69A6DE851E96149300000E69 /* echo_control_mobile.h */, - ); - name = aecm; - path = webrtc_dsp/webrtc/modules/audio_processing/aecm; - sourceTree = SOURCE_ROOT; - }; - 69A6DE861E96149300000E69 /* agc */ = { - isa = PBXGroup; - children = ( - 69A6DE871E96149300000E69 /* legacy */, - ); - name = agc; - path = webrtc_dsp/webrtc/modules/audio_processing/agc; - sourceTree = SOURCE_ROOT; - }; - 69A6DE871E96149300000E69 /* legacy */ = { - isa = PBXGroup; - children = ( - 69A6DE881E96149300000E69 /* analog_agc.c */, - 69A6DE891E96149300000E69 /* analog_agc.h */, - 69A6DE8A1E96149300000E69 /* digital_agc.c */, - 69A6DE8B1E96149300000E69 /* digital_agc.h */, - 69A6DE8C1E96149300000E69 /* gain_control.h */, - ); - path = legacy; - sourceTree = ""; - }; - 69A6DE8D1E96149300000E69 /* logging */ = { - isa = PBXGroup; - children = ( - 69A6DE8E1E96149300000E69 /* apm_data_dumper.cc */, - 69A6DE8F1E96149300000E69 /* apm_data_dumper.h */, - ); - name = logging; - path = webrtc_dsp/webrtc/modules/audio_processing/logging; - sourceTree = SOURCE_ROOT; - }; - 69A6DE901E96149300000E69 /* ns */ = { - isa = PBXGroup; - children = ( - 69A6DE911E96149300000E69 /* defines.h */, - 69A6DE921E96149300000E69 /* noise_suppression.c */, - 69A6DE931E96149300000E69 /* noise_suppression.h */, - 69A6DE941E96149300000E69 /* noise_suppression_x.c */, - 69A6DE951E96149300000E69 /* noise_suppression_x.h */, - 69A6DE961E96149300000E69 /* ns_core.c */, - 69A6DE971E96149300000E69 /* ns_core.h */, - 69A6DE981E96149300000E69 /* nsx_core.c */, - 69A6DE991E96149300000E69 /* nsx_core.h */, - 69A6DE9A1E96149300000E69 /* nsx_core_c.c */, - 69A6DE9B1E96149300000E69 /* nsx_core_neon.c */, - 69A6DE9C1E96149300000E69 /* nsx_defines.h */, - 69A6DE9D1E96149300000E69 /* windows_private.h */, - ); - name = ns; - path = webrtc_dsp/webrtc/modules/audio_processing/ns; - sourceTree = SOURCE_ROOT; - }; - 69A6DEA21E96149300000E69 /* utility */ = { - isa = PBXGroup; - children = ( - 69A6DEA31E96149300000E69 /* block_mean_calculator.cc */, - 69A6DEA41E96149300000E69 /* block_mean_calculator.h */, - 69A6DEA51E96149300000E69 /* delay_estimator.cc */, - 69A6DEA61E96149300000E69 /* delay_estimator.h */, - 69A6DEA71E96149300000E69 /* delay_estimator_internal.h */, - 69A6DEA81E96149300000E69 /* delay_estimator_wrapper.cc */, - 69A6DEA91E96149300000E69 /* delay_estimator_wrapper.h */, - 69A6DEAA1E96149300000E69 /* ooura_fft.cc */, - 69A6DEAB1E96149300000E69 /* ooura_fft.h */, - 69A6DEAC1E96149300000E69 /* ooura_fft_neon.cc */, - 69A6DEAD1E96149300000E69 /* ooura_fft_sse2.cc */, - 69A6DEAE1E96149300000E69 /* ooura_fft_tables_common.h */, - 69A6DEAF1E96149300000E69 /* ooura_fft_tables_neon_sse2.h */, - ); - name = utility; - path = webrtc_dsp/webrtc/modules/audio_processing/utility; - sourceTree = SOURCE_ROOT; - }; - 69A6DEB01E96149300000E69 /* system_wrappers */ = { - isa = PBXGroup; - children = ( - 69A6DEB11E96149300000E69 /* include */, - 69A6DEB61E96149300000E69 /* source */, - ); - path = system_wrappers; - sourceTree = ""; - }; - 69A6DEB11E96149300000E69 /* include */ = { - isa = PBXGroup; - children = ( - 69A6DEB21E96149300000E69 /* asm_defines.h */, - 69A6DEB31E96149300000E69 /* compile_assert_c.h */, - 69A6DEB41E96149300000E69 /* cpu_features_wrapper.h */, - 69A6DEB51E96149300000E69 /* metrics.h */, - ); - path = include; - sourceTree = ""; - }; - 69A6DEB61E96149300000E69 /* source */ = { - isa = PBXGroup; - children = ( - 69A6DEB71E96149300000E69 /* cpu_features.cc */, - ); - path = source; - sourceTree = ""; - }; 69F8422C1E67540700C110F7 = { isa = PBXGroup; children = ( @@ -952,92 +2379,8 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 69A6DF181E96149300000E69 /* gain_control.h in Headers */, - 69A6DF231E96149300000E69 /* nsx_core.h in Headers */, - 692AB9011E6759DD00706ACC /* threading.h in Headers */, - 697B6FD32136E18A004C8E54 /* AudioUnitIO.h in Headers */, - 69A6DF2B1E96149300000E69 /* three_band_filter_bank.h in Headers */, - 692AB8EA1E6759DD00706ACC /* MediaStreamItf.h in Headers */, - 69A6DF3E1E96149300000E69 /* typedefs.h in Headers */, - 69A6DF001E96149300000E69 /* wav_file.h in Headers */, - 692AB8EE1E6759DD00706ACC /* OpusEncoder.h in Headers */, - 692AB8CE1E6759DD00706ACC /* AudioOutput.h in Headers */, - 69A6DF321E96149300000E69 /* delay_estimator_wrapper.h in Headers */, - 69A6DEBD1E96149300000E69 /* checks.h in Headers */, - 69A6DF1B1E96149300000E69 /* defines.h in Headers */, - 69A6DEF31E96149300000E69 /* resample_by_2_internal.h in Headers */, - 69A6DF341E96149300000E69 /* ooura_fft.h in Headers */, - 69A6DEBA1E96149300000E69 /* atomicops.h in Headers */, - 69A6DF0A1E96149300000E69 /* aec_resampler.h in Headers */, - 694DE8A3219F2265009C09A7 /* VideoSource.h in Headers */, - 695B20621EBD39FF00E31757 /* DarwinSpecific.h in Headers */, - 69A6DEE51E96149300000E69 /* spl_inl.h in Headers */, - 69A6DF3B1E96149300000E69 /* cpu_features_wrapper.h in Headers */, - 69A6DF211E96149300000E69 /* ns_core.h in Headers */, - 69A6DF051E96149300000E69 /* aec_core.h in Headers */, - 6976FD0420F6A7060019939E /* MessageThread.h in Headers */, - 69A6DF441E9614B700000E69 /* AudioInputAudioUnitOSX.h in Headers */, - 692AB8D91E6759DD00706ACC /* CongestionControl.h in Headers */, - 694DE8A0219F2265009C09A7 /* VideoRenderer.h in Headers */, - 69A6DF031E96149300000E69 /* aec_common.h in Headers */, - 69A6DEBE1E96149300000E69 /* constructormagic.h in Headers */, - 69A6DED31E96149300000E69 /* complex_fft_tables.h in Headers */, - 69A6DF021E96149300000E69 /* wav_header.h in Headers */, - 69A6DECB1E96149300000E69 /* audio_util.h in Headers */, - 692AB8CC1E6759DD00706ACC /* AudioInput.h in Headers */, - 69A6DEC51E96149300000E69 /* type_traits.h in Headers */, - 692AB8EC1E6759DD00706ACC /* OpusDecoder.h in Headers */, - 692AB8E81E6759DD00706ACC /* logging.h in Headers */, - 69A6DF3A1E96149300000E69 /* compile_assert_c.h in Headers */, - 69A6DF071E96149300000E69 /* aec_core_optimized_methods.h in Headers */, - 69A6DEC81E96149300000E69 /* channel_buffer.h in Headers */, - 692AB8D41E6759DD00706ACC /* PrivateDefines.h in Headers */, 692AB9051E6759DD00706ACC /* VoIPServerConfig.h in Headers */, - 69A6DF461E9614B700000E69 /* AudioOutputAudioUnitOSX.h in Headers */, 692AB9031E6759DD00706ACC /* VoIPController.h in Headers */, - 69A6DEB91E96149300000E69 /* array_view.h in Headers */, - 692AB8D01E6759DD00706ACC /* BlockingQueue.h in Headers */, - 69EBC7962136D2A9003CFE90 /* Resampler.h in Headers */, - 69A6DECD1E96149300000E69 /* ring_buffer.h in Headers */, - 69A6DEE61E96149300000E69 /* spl_inl_armv7.h in Headers */, - 69A6DF171E96149300000E69 /* digital_agc.h in Headers */, - 69A6DF0C1E96149300000E69 /* echo_cancellation.h in Headers */, - 69A6DEFE1E96149300000E69 /* sparse_fir_filter.h in Headers */, - 69A6DEC21E96149300000E69 /* sanitizer.h in Headers */, - 69A6DF151E96149300000E69 /* analog_agc.h in Headers */, - 69A6DF381E96149300000E69 /* ooura_fft_tables_neon_sse2.h in Headers */, - 69A6DF271E96149300000E69 /* windows_private.h in Headers */, - 69A6DF291E96149300000E69 /* splitting_filter.h in Headers */, - 692AB8DB1E6759DD00706ACC /* EchoCanceller.h in Headers */, - 69A6DF391E96149300000E69 /* asm_defines.h in Headers */, - 690725C31EBBD5F2005D860B /* NetworkSocket.h in Headers */, - 69A6DF1D1E96149300000E69 /* noise_suppression.h in Headers */, - 69A6DEBF1E96149300000E69 /* safe_compare.h in Headers */, - 69A6DF111E96149300000E69 /* aecm_defines.h in Headers */, - 69A6DEE31E96149300000E69 /* real_fft.h in Headers */, - 69A6DECA1E96149300000E69 /* fft4g.h in Headers */, - 69A6DF2D1E96149300000E69 /* block_mean_calculator.h in Headers */, - 69A6DF3C1E96149300000E69 /* metrics.h in Headers */, - 69A6DF0E1E96149300000E69 /* aecm_core.h in Headers */, - 69A6DF2F1E96149300000E69 /* delay_estimator.h in Headers */, - 69A6DEC41E96149300000E69 /* stringutils.h in Headers */, - 69A6DF1F1E96149300000E69 /* noise_suppression_x.h in Headers */, - 692AB8E71E6759DD00706ACC /* JitterBuffer.h in Headers */, - 690725BF1EBBD5DE005D860B /* NetworkSocketPosix.h in Headers */, - 69A6DF131E96149300000E69 /* echo_control_mobile.h in Headers */, - 69A6DEE41E96149300000E69 /* signal_processing_library.h in Headers */, - 697B6FDB2136E2D9004C8E54 /* AudioIOCallback.h in Headers */, - 69A6DF1A1E96149300000E69 /* apm_data_dumper.h in Headers */, - 692AB8D21E6759DD00706ACC /* Buffers.h in Headers */, - 697B6FD72136E1F3004C8E54 /* AudioIO.h in Headers */, - 69A6DF371E96149300000E69 /* ooura_fft_tables_common.h in Headers */, - 69A6DF301E96149300000E69 /* delay_estimator_internal.h in Headers */, - 69A6DEBB1E96149300000E69 /* basictypes.h in Headers */, - 69A6DEE71E96149300000E69 /* spl_inl_mips.h in Headers */, - 69A6DF261E96149300000E69 /* nsx_defines.h in Headers */, - 6971221020C8107F00971C2C /* PacketReassembler.h in Headers */, - 69A6DEC11E96149300000E69 /* safe_conversions_impl.h in Headers */, - 69A6DEC01E96149300000E69 /* safe_conversions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1206,110 +2549,314 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 691E075321A4FD7700F838EF /* render_delay_buffer2.cc in Sources */, + 691E067721A4FD7600F838EF /* encode_lpc_swb.c in Sources */, + 691E05F921A4FD7600F838EF /* push_sinc_resampler.cc in Sources */, + 691E079021A4FD7700F838EF /* residual_echo_estimator.cc in Sources */, + 691E072421A4FD7700F838EF /* echo_cancellation_impl.cc in Sources */, + 691E071621A4FD7700F838EF /* level_estimator_impl.cc in Sources */, + 691E079E21A4FD7700F838EF /* downsampled_render_buffer.cc in Sources */, + 691E06D021A4FD7600F838EF /* adaptive_digital_gain_applier.cc in Sources */, + 691E07E121A4FD7700F838EF /* race_checker.cc in Sources */, + 691E062D21A4FD7600F838EF /* get_scaling_square.c in Sources */, + 691E080721A4FD7700F838EF /* platform_thread.cc in Sources */, + 691E078021A4FD7700F838EF /* stationarity_estimator.cc in Sources */, + 691E062121A4FD7600F838EF /* sqrt_of_one_minus_x_squared.c in Sources */, + 691E06F321A4FD7600F838EF /* vad_with_level.cc in Sources */, + 691E061D21A4FD7600F838EF /* auto_corr_to_refl_coef.c in Sources */, 694DE8A2219F2265009C09A7 /* VideoSource.cpp in Sources */, - 69A6DEFB1E96149300000E69 /* sqrt_of_one_minus_x_squared.c in Sources */, - 69A6DEDD1E96149300000E69 /* filter_ar_fast_q12.c in Sources */, - 69A6DEF41E96149300000E69 /* resample_fractional.c in Sources */, 6915307B1E6B5BAB004F643F /* logging.cpp in Sources */, - 69A6DEE11E96149300000E69 /* get_scaling_square.c in Sources */, + 691E067C21A4FD7600F838EF /* lpc_tables.c in Sources */, + 691E066221A4FD7600F838EF /* field_trial.cc in Sources */, + 691E067621A4FD7600F838EF /* pitch_filter.c in Sources */, + 691E070321A4FD7600F838EF /* biquad_filter.cc in Sources */, + 691E064621A4FD7600F838EF /* webrtc_vad.c in Sources */, + 691E064221A4FD7600F838EF /* spl_sqrt.c in Sources */, + 691E062321A4FD7600F838EF /* filter_ar_fast_q12.c in Sources */, + 691E07A821A4FD7700F838EF /* fft_buffer.cc in Sources */, + 691E05CA21A4FD7600F838EF /* string_view.cc in Sources */, + 691E079C21A4FD7700F838EF /* echo_remover.cc in Sources */, + 691E061921A4FD7600F838EF /* splitting_filter1.c in Sources */, + 691E07BF21A4FD7700F838EF /* standalone_vad.cc in Sources */, + 691E07CF21A4FD7700F838EF /* gmm.cc in Sources */, + 691E080921A4FD7700F838EF /* logging_webrtc.cc in Sources */, + 691E05F121A4FD7600F838EF /* wav_header.cc in Sources */, + 691E062021A4FD7600F838EF /* energy.c in Sources */, + 691E074621A4FD7700F838EF /* aecm_core.cc in Sources */, + 691E06FD21A4FD7600F838EF /* down_sampler.cc in Sources */, + 691E07C821A4FD7700F838EF /* pitch_based_vad.cc in Sources */, + 691E077A21A4FD7700F838EF /* reverb_model.cc in Sources */, + 691E064B21A4FD7600F838EF /* vad_filterbank.c in Sources */, + 691E069621A4FD7600F838EF /* pitch_lag_tables.c in Sources */, + 691E076421A4FD7700F838EF /* block_processor.cc in Sources */, + 691E069021A4FD7600F838EF /* crc.c in Sources */, + 691E064121A4FD7600F838EF /* spl_inl.c in Sources */, + 691E06AA21A4FD7600F838EF /* nsx_core_c.c in Sources */, + 691E06A421A4FD7600F838EF /* splitting_filter.cc in Sources */, + 691E07E321A4FD7700F838EF /* string_builder.cc in Sources */, + 691E071421A4FD7700F838EF /* low_cut_filter.cc in Sources */, + 691E074B21A4FD7700F838EF /* render_reverb_model.cc in Sources */, + 691E081521A4FD7700F838EF /* event_tracer.cc in Sources */, C2A87DE41F4B6AD3002D3F73 /* AudioUnitIO.cpp in Sources */, + 691E060D21A4FD7600F838EF /* real_fourier.cc in Sources */, + 691E076321A4FD7700F838EF /* suppression_filter.cc in Sources */, + 691E065621A4FD7600F838EF /* echo_canceller3_factory.cc in Sources */, + 691E05D021A4FD7600F838EF /* bad_optional_access.cc in Sources */, + 691E06D221A4FD7600F838EF /* saturation_protector.cc in Sources */, + 691E076C21A4FD7700F838EF /* vector_buffer.cc in Sources */, + 691E071121A4FD7700F838EF /* transient_suppressor.cc in Sources */, + 691E074A21A4FD7700F838EF /* echo_control_mobile.cc in Sources */, + 691E078621A4FD7700F838EF /* suppression_gain.cc in Sources */, + 691E072521A4FD7700F838EF /* gain_control_for_experimental_agc.cc in Sources */, + 691E081021A4FD7700F838EF /* criticalsection.cc in Sources */, + 691E05D121A4FD7600F838EF /* optional.cc in Sources */, + 691E061E21A4FD7600F838EF /* resample_by_2_internal.c in Sources */, + 691E066B21A4FD7600F838EF /* pitch_gain_tables.c in Sources */, 690725C21EBBD5F2005D860B /* NetworkSocket.cpp in Sources */, - 69A6DEC71E96149300000E69 /* channel_buffer.cc in Sources */, + 691E05E921A4FD7600F838EF /* channel_buffer.cc in Sources */, + 691E078721A4FD7700F838EF /* echo_audibility.cc in Sources */, + 691E068921A4FD7600F838EF /* entropy_coding.c in Sources */, 69EBC7922136D220003CFE90 /* AudioOutputAudioUnitOSX.cpp in Sources */, - 69A6DF191E96149300000E69 /* apm_data_dumper.cc in Sources */, - 69A6DF221E96149300000E69 /* nsx_core.c in Sources */, - 69A6DEDC1E96149300000E69 /* filter_ar.c in Sources */, - 69A6DEEB1E96149300000E69 /* min_max_operations_neon.c in Sources */, - 69A6DEE81E96149300000E69 /* levinson_durbin.c in Sources */, - 69A6DEE21E96149300000E69 /* ilbc_specific_functions.c in Sources */, + 691E061821A4FD7600F838EF /* filter_ma_fast_q12.c in Sources */, + 691E05D921A4FD7600F838EF /* raw_logging.cc in Sources */, + 691E079A21A4FD7700F838EF /* suppression_gain_limiter.cc in Sources */, + 691E079821A4FD7700F838EF /* render_delay_controller2.cc in Sources */, + 691E063E21A4FD7600F838EF /* resample_by_2.c in Sources */, + 691E067921A4FD7600F838EF /* decode.c in Sources */, + 691E06D121A4FD7600F838EF /* limiter.cc in Sources */, + 691E073F21A4FD7700F838EF /* residual_echo_detector.cc in Sources */, + 691E078521A4FD7700F838EF /* subtractor_output_analyzer.cc in Sources */, + 691E075721A4FD7700F838EF /* frame_blocker.cc in Sources */, + 691E07FB21A4FD7700F838EF /* stringutils.cc in Sources */, + 691E07C521A4FD7700F838EF /* vad_audio_proc.cc in Sources */, + 691E062E21A4FD7600F838EF /* min_max_operations_neon.c in Sources */, + 691E05F321A4FD7600F838EF /* fir_filter_neon.cc in Sources */, + 691E06E521A4FD7600F838EF /* pitch_search.cc in Sources */, + 691E062421A4FD7600F838EF /* spl_init.c in Sources */, + 691E06EF21A4FD7600F838EF /* agc2_testing_common.cc in Sources */, + 691E066421A4FD7600F838EF /* cpu_features.cc in Sources */, + 691E07DB21A4FD7700F838EF /* block_mean_calculator.cc in Sources */, 692AB9041E6759DD00706ACC /* VoIPServerConfig.cpp in Sources */, + 691E066A21A4FD7600F838EF /* lpc_shape_swb16_tables.c in Sources */, 69EBC7912136D220003CFE90 /* AudioInputAudioUnitOSX.cpp in Sources */, - 69A6DF0B1E96149300000E69 /* echo_cancellation.cc in Sources */, - 69A6DED61E96149300000E69 /* cross_correlation_neon.c in Sources */, + 691E071021A4FD7700F838EF /* wpd_node.cc in Sources */, + 691E062621A4FD7600F838EF /* cross_correlation.c in Sources */, + 691E07EE21A4FD7700F838EF /* platform_file.cc in Sources */, + 691E072C21A4FD7700F838EF /* analog_agc.c in Sources */, + 691E067D21A4FD7600F838EF /* lpc_gain_swb_tables.c in Sources */, + 691E06EB21A4FD7600F838EF /* adaptive_mode_level_estimator_agc.cc in Sources */, + 691E068421A4FD7600F838EF /* arith_routines_hist.c in Sources */, + 691E068121A4FD7600F838EF /* encode.c in Sources */, + 691E06E821A4FD7600F838EF /* fft_util.cc in Sources */, + 691E06C121A4FD7600F838EF /* aec_dump.cc in Sources */, + 691E075821A4FD7700F838EF /* subtractor.cc in Sources */, + 691E07BC21A4FD7700F838EF /* apm_data_dumper.cc in Sources */, + 691E076D21A4FD7700F838EF /* erl_estimator.cc in Sources */, + 691E074121A4FD7700F838EF /* noise_suppression_impl.cc in Sources */, 6976FD0320F6A7060019939E /* MessageThread.cpp in Sources */, - 69A6DEF71E96149300000E69 /* spl_sqrt.c in Sources */, - 69A6DEED1E96149300000E69 /* real_fft.c in Sources */, 692AB9021E6759DD00706ACC /* VoIPController.cpp in Sources */, - 69A6DF0D1E96149300000E69 /* aecm_core.cc in Sources */, - 69A6DF101E96149300000E69 /* aecm_core_neon.cc in Sources */, - 69A6DED71E96149300000E69 /* division_operations.c in Sources */, - 69A6DEDB1E96149300000E69 /* energy.c in Sources */, - 69A6DEC61E96149300000E69 /* audio_util.cc in Sources */, - 69A6DF141E96149300000E69 /* analog_agc.c in Sources */, - 69A6DEF81E96149300000E69 /* spl_sqrt_floor.c in Sources */, - 69A6DEF61E96149300000E69 /* spl_inl.c in Sources */, - 69A6DEEF1E96149300000E69 /* resample.c in Sources */, - 69A6DEF21E96149300000E69 /* resample_by_2_internal.c in Sources */, - 69A6DF011E96149300000E69 /* wav_header.cc in Sources */, - 69A6DF041E96149300000E69 /* aec_core.cc in Sources */, + 691E06F421A4FD7600F838EF /* limiter_db_gain_curve.cc in Sources */, + 691E05F821A4FD7600F838EF /* sinc_resampler_neon.cc in Sources */, + 691E07F021A4FD7700F838EF /* string_to_number.cc in Sources */, + 691E060621A4FD7600F838EF /* wav_file.cc in Sources */, + 691E07C621A4FD7700F838EF /* pole_zero_filter.cc in Sources */, + 691E06A921A4FD7600F838EF /* noise_suppression_x.c in Sources */, + 691E078121A4FD7700F838EF /* render_signal_analyzer.cc in Sources */, + 691E06CA21A4FD7600F838EF /* agc2_common.cc in Sources */, + 691E071221A4FD7700F838EF /* transient_detector.cc in Sources */, + 691E069721A4FD7600F838EF /* isac.c in Sources */, + 691E071C21A4FD7700F838EF /* aec_core.cc in Sources */, + 691E069E21A4FD7600F838EF /* normalized_covariance_estimator.cc in Sources */, 692AB8D81E6759DD00706ACC /* CongestionControl.cpp in Sources */, - 69A6DEE91E96149300000E69 /* lpc_to_refl_coef.c in Sources */, - 69A6DEF51E96149300000E69 /* spl_init.c in Sources */, - 69A6DF241E96149300000E69 /* nsx_core_c.c in Sources */, - 69A6DF0F1E96149300000E69 /* aecm_core_c.cc in Sources */, - 69A6DECC1E96149300000E69 /* ring_buffer.c in Sources */, 692AB8EB1E6759DD00706ACC /* OpusDecoder.cpp in Sources */, - 69A6DED81E96149300000E69 /* dot_product_with_scale.c in Sources */, + 691E071821A4FD7700F838EF /* echo_cancellation.cc in Sources */, + 691E077821A4FD7700F838EF /* block_framer.cc in Sources */, + 691E081121A4FD7700F838EF /* platform_thread_types.cc in Sources */, + 691E07E821A4FD7700F838EF /* timeutils.cc in Sources */, + 691E075121A4FD7700F838EF /* echo_remover_metrics.cc in Sources */, + 691E066621A4FD7600F838EF /* fft.c in Sources */, + 691E06F121A4FD7600F838EF /* fixed_gain_controller.cc in Sources */, + 691E077F21A4FD7700F838EF /* subtractor_output.cc in Sources */, 697B6FD62136E1F3004C8E54 /* AudioIO.cpp in Sources */, - 69A6DF331E96149300000E69 /* ooura_fft.cc in Sources */, - 69A6DEF11E96149300000E69 /* resample_by_2.c in Sources */, - 69A6DEEC1E96149300000E69 /* randomization_functions.c in Sources */, - 69A6DEEE1E96149300000E69 /* refl_coef_to_lpc.c in Sources */, + 691E072D21A4FD7700F838EF /* digital_agc.c in Sources */, + 691E064421A4FD7600F838EF /* vad_sp.c in Sources */, + 691E070021A4FD7600F838EF /* noise_spectrum_estimator.cc in Sources */, + 691E06B621A4FD7600F838EF /* audio_buffer.cc in Sources */, + 691E064F21A4FD7600F838EF /* vad_gmm.c in Sources */, + 691E05FB21A4FD7600F838EF /* resampler.cc in Sources */, + 691E069421A4FD7600F838EF /* spectrum_ar_model_tables.c in Sources */, + 691E067821A4FD7600F838EF /* filter_functions.c in Sources */, + 691E06E321A4FD7600F838EF /* spectral_features.cc in Sources */, + 691E063521A4FD7600F838EF /* filter_ar.c in Sources */, + 691E07D421A4FD7700F838EF /* ooura_fft.cc in Sources */, + 691E05FC21A4FD7600F838EF /* sinc_resampler_sse.cc in Sources */, + 691E06C621A4FD7600F838EF /* config.cc in Sources */, C2A87DDF1F4B6A61002D3F73 /* AudioInputAudioUnit.cpp in Sources */, + 691E067E21A4FD7600F838EF /* bandwidth_estimator.c in Sources */, + 691E05DA21A4FD7600F838EF /* throw_delegate.cc in Sources */, + 691E05E821A4FD7600F838EF /* window_generator.cc in Sources */, 69A6DF431E9614B700000E69 /* AudioInputAudioUnitOSX.cpp in Sources */, + 691E06F021A4FD7600F838EF /* fixed_digital_level_estimator.cc in Sources */, + 691E061321A4FD7600F838EF /* fir_filter_c.cc in Sources */, + 691E07F421A4FD7700F838EF /* thread_checker_impl.cc in Sources */, + 691E07D721A4FD7700F838EF /* ooura_fft_sse2.cc in Sources */, + 691E078F21A4FD7700F838EF /* aec3_common.cc in Sources */, + 691E063721A4FD7600F838EF /* resample_fractional.c in Sources */, + 691E073C21A4FD7700F838EF /* file_audio_generator.cc in Sources */, + 691E063621A4FD7600F838EF /* vector_scaling_operations.c in Sources */, + 691E06A121A4FD7600F838EF /* mean_variance_estimator.cc in Sources */, + 691E077B21A4FD7700F838EF /* cascaded_biquad_filter.cc in Sources */, + 691E06A521A4FD7600F838EF /* gain_control_impl.cc in Sources */, + 691E07D621A4FD7700F838EF /* delay_estimator_wrapper.cc in Sources */, + 691E076221A4FD7700F838EF /* fullband_erle_estimator.cc in Sources */, + 691E075621A4FD7700F838EF /* echo_path_variability.cc in Sources */, + 691E063B21A4FD7600F838EF /* randomization_functions.c in Sources */, + 691E07C121A4FD7700F838EF /* pitch_internal.cc in Sources */, + 691E077D21A4FD7700F838EF /* render_buffer.cc in Sources */, + 691E06C921A4FD7600F838EF /* interpolated_gain_curve.cc in Sources */, + 691E071721A4FD7700F838EF /* three_band_filter_bank.cc in Sources */, + 691E061C21A4FD7600F838EF /* dot_product_with_scale.cc in Sources */, + 691E06B721A4FD7600F838EF /* typing_detection.cc in Sources */, + 691E060721A4FD7600F838EF /* spl_sqrt_floor.c in Sources */, + 691E072721A4FD7700F838EF /* loudness_histogram.cc in Sources */, + 691E07DA21A4FD7700F838EF /* ooura_fft_neon.cc in Sources */, + 691E063121A4FD7600F838EF /* resample.c in Sources */, + 691E061B21A4FD7600F838EF /* downsample_fast_neon.c in Sources */, + 691E066E21A4FD7600F838EF /* filterbanks.c in Sources */, C2A87DE01F4B6A61002D3F73 /* AudioOutputAudioUnit.cpp in Sources */, + 691E07E621A4FD7700F838EF /* aligned_malloc.cc in Sources */, + 691E07EA21A4FD7700F838EF /* logging_mac.mm in Sources */, + 691E06EC21A4FD7600F838EF /* vector_float_frame.cc in Sources */, + 691E07A421A4FD7700F838EF /* block_processor2.cc in Sources */, + 691E065821A4FD7600F838EF /* rnn_vad_weights.cc in Sources */, + 691E07A621A4FD7700F838EF /* block_delay_buffer.cc in Sources */, + 691E06EE21A4FD7600F838EF /* noise_level_estimator.cc in Sources */, + 691E072621A4FD7700F838EF /* agc.cc in Sources */, + 691E072321A4FD7700F838EF /* voice_detection_impl.cc in Sources */, + 691E073621A4FD7700F838EF /* audio_processing_impl.cc in Sources */, + 691E081321A4FD7700F838EF /* event.cc in Sources */, + 691E072821A4FD7700F838EF /* agc_manager_direct.cc in Sources */, + 691E06A821A4FD7600F838EF /* nsx_core.c in Sources */, + 691E06CF21A4FD7600F838EF /* adaptive_agc.cc in Sources */, + 691E061021A4FD7600F838EF /* sparse_fir_filter.cc in Sources */, + 691E070921A4FD7700F838EF /* wpd_tree.cc in Sources */, + 691E060021A4FD7600F838EF /* push_resampler.cc in Sources */, + 691E064021A4FD7600F838EF /* resample_48khz.c in Sources */, + 691E062B21A4FD7600F838EF /* division_operations.c in Sources */, + 691E077221A4FD7700F838EF /* skew_estimator.cc in Sources */, + 691E07D821A4FD7700F838EF /* delay_estimator.cc in Sources */, + 691E063921A4FD7600F838EF /* ilbc_specific_functions.c in Sources */, 69A6DF451E9614B700000E69 /* AudioOutputAudioUnitOSX.cpp in Sources */, - 69A6DEFC1E96149300000E69 /* vector_scaling_operations.c in Sources */, + 691E063421A4FD7600F838EF /* refl_coef_to_lpc.c in Sources */, + 691E075221A4FD7700F838EF /* matched_filter_lag_aggregator.cc in Sources */, + 691E071F21A4FD7700F838EF /* aec_core_neon.cc in Sources */, + 691E063A21A4FD7600F838EF /* complex_bit_reverse.c in Sources */, + 691E07B921A4FD7700F838EF /* echo_control_mobile_impl.cc in Sources */, + 691E069321A4FD7600F838EF /* decode_bwe.c in Sources */, + 691E062521A4FD7600F838EF /* lpc_to_refl_coef.c in Sources */, 692AB8E61E6759DD00706ACC /* JitterBuffer.cpp in Sources */, + 691E075F21A4FD7700F838EF /* aec3_fft.cc in Sources */, + 691E07B621A4FD7700F838EF /* reverb_frequency_response.cc in Sources */, + 691E060C21A4FD7600F838EF /* audio_converter.cc in Sources */, + 691E065021A4FD7600F838EF /* audio_frame.cc in Sources */, + 691E07FA21A4FD7700F838EF /* stringencode.cc in Sources */, + 691E076E21A4FD7700F838EF /* aec_state.cc in Sources */, + 691E062C21A4FD7600F838EF /* auto_correlation.c in Sources */, 692AB8CB1E6759DD00706ACC /* AudioInput.cpp in Sources */, + 691E068F21A4FD7600F838EF /* arith_routines.c in Sources */, + 691E072021A4FD7700F838EF /* aec_core_sse2.cc in Sources */, + 691E06B221A4FD7600F838EF /* noise_suppression.c in Sources */, + 691E076A21A4FD7700F838EF /* render_delay_buffer.cc in Sources */, + 691E072E21A4FD7700F838EF /* utility.cc in Sources */, + 691E05F421A4FD7600F838EF /* audio_util.cc in Sources */, 692AB8CD1E6759DD00706ACC /* AudioOutput.cpp in Sources */, + 691E074821A4FD7700F838EF /* aecm_core_neon.cc in Sources */, + 691E065421A4FD7600F838EF /* echo_canceller3_config.cc in Sources */, + 691E06D421A4FD7600F838EF /* spectral_features_internal.cc in Sources */, + 691E06DC21A4FD7600F838EF /* pitch_search_internal.cc in Sources */, + 691E061421A4FD7600F838EF /* ring_buffer.c in Sources */, + 691E07C221A4FD7700F838EF /* vad_circular_buffer.cc in Sources */, C2A87DD81F4B6A33002D3F73 /* Resampler.cpp in Sources */, 697B6FDA2136E2D9004C8E54 /* AudioIOCallback.cpp in Sources */, + 691E079721A4FD7700F838EF /* reverb_decay_estimator.cc in Sources */, + 691E060321A4FD7600F838EF /* sinusoidal_linear_chirp_source.cc in Sources */, + 691E07B421A4FD7700F838EF /* filter_analyzer.cc in Sources */, 69EBC7942136D277003CFE90 /* DarwinSpecific.mm in Sources */, - 69A6DEFA1E96149300000E69 /* splitting_filter_impl.c in Sources */, - 69A6DEE01E96149300000E69 /* get_hanning_window.c in Sources */, - 69A6DF161E96149300000E69 /* digital_agc.c in Sources */, - 69A6DF061E96149300000E69 /* aec_core_neon.cc in Sources */, - 69A6DF201E96149300000E69 /* ns_core.c in Sources */, - 69A6DF091E96149300000E69 /* aec_resampler.cc in Sources */, 692AB8D11E6759DD00706ACC /* Buffers.cpp in Sources */, + 691E067A21A4FD7600F838EF /* lattice.c in Sources */, + 691E064521A4FD7600F838EF /* vad.cc in Sources */, + 691E05EA21A4FD7600F838EF /* fir_filter_factory.cc in Sources */, + 691E063F21A4FD7600F838EF /* get_hanning_window.c in Sources */, + 691E07AF21A4FD7700F838EF /* comfort_noise_generator.cc in Sources */, 692AB8E91E6759DD00706ACC /* MediaStreamItf.cpp in Sources */, - 69A6DF2C1E96149300000E69 /* block_mean_calculator.cc in Sources */, - 69A6DEBC1E96149300000E69 /* checks.cc in Sources */, 692AB8DA1E6759DD00706ACC /* EchoCanceller.cpp in Sources */, - 69A6DF281E96149300000E69 /* splitting_filter.cc in Sources */, + 691E07BE21A4FD7700F838EF /* voice_activity_detector.cc in Sources */, + 691E05F221A4FD7600F838EF /* real_fourier_ooura.cc in Sources */, + 691E077521A4FD7700F838EF /* echo_path_delay_estimator.cc in Sources */, + 691E068221A4FD7600F838EF /* lpc_analysis.c in Sources */, + 691E077921A4FD7700F838EF /* erle_estimator.cc in Sources */, + 691E074721A4FD7700F838EF /* aecm_core_c.cc in Sources */, + 691E074E21A4FD7700F838EF /* reverb_model_fallback.cc in Sources */, + 691E07B321A4FD7700F838EF /* shadow_filter_update_gain.cc in Sources */, + 691E06FF21A4FD7600F838EF /* signal_classifier.cc in Sources */, + 691E070721A4FD7700F838EF /* moving_moments.cc in Sources */, + 691E073D21A4FD7700F838EF /* gain_controller2.cc in Sources */, + 691E067B21A4FD7600F838EF /* intialize.c in Sources */, + 691E06C021A4FD7600F838EF /* audio_generator_factory.cc in Sources */, + 691E07B721A4FD7700F838EF /* decimator.cc in Sources */, + 691E06B121A4FD7600F838EF /* nsx_core_neon.c in Sources */, + 691E06D721A4FD7600F838EF /* rnn.cc in Sources */, + 691E068A21A4FD7600F838EF /* isac_vad.c in Sources */, + 691E06C521A4FD7600F838EF /* audio_processing.cc in Sources */, + 691E060A21A4FD7600F838EF /* fft4g.c in Sources */, + 691E061221A4FD7600F838EF /* smoothing_filter.cc in Sources */, 694DE8A1219F2265009C09A7 /* VideoRenderer.cpp in Sources */, + 691E063D21A4FD7600F838EF /* copy_set_operations.c in Sources */, + 691E069121A4FD7600F838EF /* lpc_shape_swb12_tables.c in Sources */, + 691E078821A4FD7700F838EF /* block_processor_metrics.cc in Sources */, + 691E07A021A4FD7700F838EF /* matrix_buffer.cc in Sources */, + 691E07FC21A4FD7700F838EF /* checks.cc in Sources */, + 691E066321A4FD7600F838EF /* metrics.cc in Sources */, + 691E061721A4FD7600F838EF /* complex_fft.c in Sources */, + 691E076921A4FD7700F838EF /* render_delay_controller_metrics.cc in Sources */, 692AB8D31E6759DD00706ACC /* VoIPGroupController.cpp in Sources */, + 691E062221A4FD7600F838EF /* downsample_fast.c in Sources */, + 691E064C21A4FD7600F838EF /* vad_core.c in Sources */, + 691E063821A4FD7600F838EF /* real_fft.c in Sources */, + 691E066C21A4FD7600F838EF /* arith_routines_logist.c in Sources */, + 691E060221A4FD7600F838EF /* sinc_resampler.cc in Sources */, + 691E076821A4FD7700F838EF /* subband_erle_estimator.cc in Sources */, + 691E07A521A4FD7700F838EF /* echo_canceller3.cc in Sources */, + 691E070621A4FD7700F838EF /* adaptive_mode_level_estimator.cc in Sources */, + 691E076F21A4FD7700F838EF /* adaptive_fir_filter.cc in Sources */, + 691E05C921A4FD7600F838EF /* memutil.cc in Sources */, + 691E079B21A4FD7700F838EF /* main_filter_update_gain.cc in Sources */, 692AB8CF1E6759DD00706ACC /* BlockingQueue.cpp in Sources */, - 69A6DF2E1E96149300000E69 /* delay_estimator.cc in Sources */, - 69A6DEF01E96149300000E69 /* resample_48khz.c in Sources */, - 69A6DECF1E96149300000E69 /* auto_correlation.c in Sources */, - 69A6DF121E96149300000E69 /* echo_control_mobile.cc in Sources */, + 691E077121A4FD7700F838EF /* render_delay_controller.cc in Sources */, + 691E06E921A4FD7600F838EF /* lp_residual.cc in Sources */, 690725BE1EBBD5DE005D860B /* NetworkSocketPosix.cpp in Sources */, - 69A6DF1C1E96149300000E69 /* noise_suppression.c in Sources */, - 69A6DED41E96149300000E69 /* copy_set_operations.c in Sources */, - 69A6DEC31E96149300000E69 /* stringutils.cc in Sources */, - 69A6DF1E1E96149300000E69 /* noise_suppression_x.c in Sources */, - 69A6DED01E96149300000E69 /* complex_bit_reverse.c in Sources */, - 69A6DEDF1E96149300000E69 /* filter_ma_fast_q12.c in Sources */, - 69A6DEFF1E96149300000E69 /* wav_file.cc in Sources */, - 69A6DF351E96149300000E69 /* ooura_fft_neon.cc in Sources */, - 69A6DECE1E96149300000E69 /* auto_corr_to_refl_coef.c in Sources */, - 69A6DEFD1E96149300000E69 /* sparse_fir_filter.cc in Sources */, - 69A6DED91E96149300000E69 /* downsample_fast.c in Sources */, - 69A6DF251E96149300000E69 /* nsx_core_neon.c in Sources */, - 69A6DF081E96149300000E69 /* aec_core_sse2.cc in Sources */, - 69A6DEEA1E96149300000E69 /* min_max_operations.c in Sources */, + 691E06BF21A4FD7600F838EF /* audio_processing_statistics.cc in Sources */, 6971220F20C8107F00971C2C /* PacketReassembler.cpp in Sources */, - 69A6DF361E96149300000E69 /* ooura_fft_sse2.cc in Sources */, - 69A6DED51E96149300000E69 /* cross_correlation.c in Sources */, - 69A6DF3D1E96149300000E69 /* cpu_features.cc in Sources */, - 69A6DF2A1E96149300000E69 /* three_band_filter_bank.cc in Sources */, - 69A6DED21E96149300000E69 /* complex_fft.c in Sources */, - 69A6DF311E96149300000E69 /* delay_estimator_wrapper.cc in Sources */, - 69A6DEDA1E96149300000E69 /* downsample_fast_neon.c in Sources */, - 69A6DEC91E96149300000E69 /* fft4g.c in Sources */, + 691E065B21A4FD7600F838EF /* kiss_fft.cc in Sources */, + 691E06CD21A4FD7600F838EF /* gain_applier.cc in Sources */, + 691E05F621A4FD7600F838EF /* fir_filter_sse.cc in Sources */, + 691E063321A4FD7600F838EF /* min_max_operations.c in Sources */, + 691E071A21A4FD7700F838EF /* aec_resampler.cc in Sources */, + 691E06A021A4FD7600F838EF /* circular_buffer.cc in Sources */, + 691E06AD21A4FD7600F838EF /* ns_core.c in Sources */, + 691E078B21A4FD7700F838EF /* moving_average.cc in Sources */, + 691E069A21A4FD7600F838EF /* rms_level.cc in Sources */, + 691E078E21A4FD7700F838EF /* reverb_model_estimator.cc in Sources */, + 691E070121A4FD7600F838EF /* compute_interpolated_gain_curve.cc in Sources */, 692AB8ED1E6759DD00706ACC /* OpusEncoder.cpp in Sources */, + 691E06E721A4FD7600F838EF /* features_extraction.cc in Sources */, + 691E061A21A4FD7600F838EF /* levinson_durbin.c in Sources */, + 691E066921A4FD7600F838EF /* pitch_estimator.c in Sources */, + 691E05CC21A4FD7600F838EF /* ascii.cc in Sources */, + 691E079321A4FD7700F838EF /* matched_filter.cc in Sources */, + 691E067221A4FD7600F838EF /* transform.c in Sources */, + 691E069F21A4FD7600F838EF /* moving_max.cc in Sources */, + 691E063221A4FD7600F838EF /* cross_correlation_neon.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1775,6 +3322,7 @@ "-DTGVOIP_USE_DESKTOP_DSP", "-DWEBRTC_MAC", "-DTGVOIP_USE_CALLBACK_AUDIO_IO", + "-DWEBRTC_NS_FLOAT", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1910,6 +3458,7 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DTGVOIP_USE_DESKTOP_DSP", "-DWEBRTC_MAC", + "-DWEBRTC_NS_FLOAT", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1949,6 +3498,7 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DTGVOIP_USE_DESKTOP_DSP", "-DWEBRTC_MAC", + "-DWEBRTC_NS_FLOAT", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2039,6 +3589,7 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DTGVOIP_USE_DESKTOP_DSP", "-DWEBRTC_MAC", + "-DWEBRTC_NS_FLOAT", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2123,6 +3674,7 @@ "-DWEBRTC_APM_DEBUG_DUMP=0", "-DTGVOIP_USE_DESKTOP_DSP", "-DWEBRTC_MAC", + "-DWEBRTC_NS_FLOAT", ); PRODUCT_BUNDLE_IDENTIFIER = me.grishka.libtgvoip; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/os/android/AudioInputAndroid.cpp b/os/android/AudioInputAndroid.cpp index 44f215e867..313a244526 100644 --- a/os/android/AudioInputAndroid.cpp +++ b/os/android/AudioInputAndroid.cpp @@ -7,6 +7,7 @@ #include "AudioInputAndroid.h" #include #include "../../logging.h" +#include "JNIUtilities.h" extern JavaVM* sharedJVM; @@ -17,84 +18,46 @@ jmethodID AudioInputAndroid::initMethod=NULL; jmethodID AudioInputAndroid::releaseMethod=NULL; jmethodID AudioInputAndroid::startMethod=NULL; jmethodID AudioInputAndroid::stopMethod=NULL; +jmethodID AudioInputAndroid::getEnabledEffectsMaskMethod=NULL; jclass AudioInputAndroid::jniClass=NULL; AudioInputAndroid::AudioInputAndroid(){ - JNIEnv* env=NULL; - bool didAttach=false; - sharedJVM->GetEnv((void**) &env, JNI_VERSION_1_6); - if(!env){ - sharedJVM->AttachCurrentThread(&env, NULL); - didAttach=true; - } + jni::DoWithJNI([this](JNIEnv* env){ + jmethodID ctor=env->GetMethodID(jniClass, "", "(J)V"); + jobject obj=env->NewObject(jniClass, ctor, (jlong)(intptr_t)this); + javaObject=env->NewGlobalRef(obj); - jmethodID ctor=env->GetMethodID(jniClass, "", "(J)V"); - jobject obj=env->NewObject(jniClass, ctor, (jlong)(intptr_t)this); - javaObject=env->NewGlobalRef(obj); - - env->CallVoidMethod(javaObject, initMethod, 48000, 16, 1, 960*2); - - if(didAttach){ - sharedJVM->DetachCurrentThread(); - } + env->CallVoidMethod(javaObject, initMethod, 48000, 16, 1, 960*2); + enabledEffects=(unsigned int)env->CallIntMethod(javaObject, getEnabledEffectsMaskMethod); + }); running=false; } AudioInputAndroid::~AudioInputAndroid(){ { MutexGuard guard(mutex); - JNIEnv *env=NULL; - bool didAttach=false; - sharedJVM->GetEnv((void **) &env, JNI_VERSION_1_6); - if(!env){ - sharedJVM->AttachCurrentThread(&env, NULL); - didAttach=true; - } - - env->CallVoidMethod(javaObject, releaseMethod); - env->DeleteGlobalRef(javaObject); - javaObject=NULL; - - if(didAttach){ - sharedJVM->DetachCurrentThread(); - } + jni::DoWithJNI([this](JNIEnv* env){ + env->CallVoidMethod(javaObject, releaseMethod); + env->DeleteGlobalRef(javaObject); + javaObject=NULL; + }); } } void AudioInputAndroid::Start(){ MutexGuard guard(mutex); - JNIEnv* env=NULL; - bool didAttach=false; - sharedJVM->GetEnv((void**) &env, JNI_VERSION_1_6); - if(!env){ - sharedJVM->AttachCurrentThread(&env, NULL); - didAttach=true; - } - - failed=!env->CallBooleanMethod(javaObject, startMethod); - - if(didAttach){ - sharedJVM->DetachCurrentThread(); - } + jni::DoWithJNI([this](JNIEnv* env){ + failed=!env->CallBooleanMethod(javaObject, startMethod); + }); running=true; } void AudioInputAndroid::Stop(){ MutexGuard guard(mutex); running=false; - JNIEnv* env=NULL; - bool didAttach=false; - sharedJVM->GetEnv((void**) &env, JNI_VERSION_1_6); - if(!env){ - sharedJVM->AttachCurrentThread(&env, NULL); - didAttach=true; - } - - env->CallVoidMethod(javaObject, stopMethod); - - if(didAttach){ - sharedJVM->DetachCurrentThread(); - } + jni::DoWithJNI([this](JNIEnv* env){ + env->CallVoidMethod(javaObject, stopMethod); + }); } void AudioInputAndroid::HandleCallback(JNIEnv* env, jobject buffer){ @@ -103,4 +66,8 @@ void AudioInputAndroid::HandleCallback(JNIEnv* env, jobject buffer){ unsigned char* buf=(unsigned char*) env->GetDirectBufferAddress(buffer); size_t len=(size_t) env->GetDirectBufferCapacity(buffer); InvokeCallback(buf, len); -} \ No newline at end of file +} + +unsigned int AudioInputAndroid::GetEnabledEffects(){ + return enabledEffects; +} diff --git a/os/android/AudioInputAndroid.h b/os/android/AudioInputAndroid.h index 173f53808b..8ee7615743 100644 --- a/os/android/AudioInputAndroid.h +++ b/os/android/AudioInputAndroid.h @@ -20,16 +20,22 @@ public: virtual void Start(); virtual void Stop(); void HandleCallback(JNIEnv* env, jobject buffer); + unsigned int GetEnabledEffects(); static jmethodID initMethod; static jmethodID releaseMethod; static jmethodID startMethod; static jmethodID stopMethod; + static jmethodID getEnabledEffectsMaskMethod; static jclass jniClass; + static constexpr unsigned int EFFECT_AEC=1; + static constexpr unsigned int EFFECT_NS=2; + private: jobject javaObject; bool running; Mutex mutex; + unsigned int enabledEffects=0; }; }} diff --git a/os/android/AudioOutputAndroid.cpp b/os/android/AudioOutputAndroid.cpp index e9c3717eb7..c1dc2d5df1 100644 --- a/os/android/AudioOutputAndroid.cpp +++ b/os/android/AudioOutputAndroid.cpp @@ -103,5 +103,5 @@ void AudioOutputAndroid::HandleCallback(JNIEnv* env, jbyteArray buffer){ bool AudioOutputAndroid::IsPlaying(){ - return false; + return running; } diff --git a/os/linux/AudioInputPulse.cpp b/os/linux/AudioInputPulse.cpp index f54f49bdb4..e9b7a4f688 100644 --- a/os/linux/AudioInputPulse.cpp +++ b/os/linux/AudioInputPulse.cpp @@ -157,6 +157,10 @@ void AudioInputPulse::StreamReadCallback(pa_stream *stream, size_t requestedByte void AudioInputPulse::StreamReadCallback(pa_stream *stream, size_t requestedBytes) { size_t bytesRemaining = requestedBytes; uint8_t *buffer = NULL; + pa_usec_t latency; + if(pa_stream_get_latency(stream, &latency, NULL)==0){ + estimatedDelay=(int32_t)(latency/100); + } while (bytesRemaining > 0) { size_t bytesToFill = 102400; diff --git a/os/linux/AudioOutputPulse.cpp b/os/linux/AudioOutputPulse.cpp index cb3fb8300c..6086731d6d 100644 --- a/os/linux/AudioOutputPulse.cpp +++ b/os/linux/AudioOutputPulse.cpp @@ -161,6 +161,10 @@ void AudioOutputPulse::StreamWriteCallback(pa_stream *stream, size_t requestedBy if(requestedBytes>sizeof(remainingData)){ requestedBytes=960*2; // force buffer size to 20ms. This probably wrecks the jitter buffer, but still better than crashing } + pa_usec_t latency; + if(pa_stream_get_latency(stream, &latency, NULL)==0){ + estimatedDelay=(int32_t)(latency/100); + } while(requestedBytes>remainingDataSize){ if(isPlaying){ InvokeCallback(remainingData+remainingDataSize, 960*2); diff --git a/os/linux/AudioPulse.cpp b/os/linux/AudioPulse.cpp index 4265d35171..701d851556 100644 --- a/os/linux/AudioPulse.cpp +++ b/os/linux/AudioPulse.cpp @@ -61,6 +61,7 @@ DECLARE_DL_FUNCTION(pa_operation_get_state); DECLARE_DL_FUNCTION(pa_proplist_new); DECLARE_DL_FUNCTION(pa_proplist_sets); DECLARE_DL_FUNCTION(pa_proplist_free); +DECLARE_DL_FUNCTION(pa_stream_get_latency); #include "PulseFunctions.h" @@ -118,6 +119,7 @@ bool AudioPulse::Load(){ LOAD_DL_FUNCTION(pa_proplist_new); LOAD_DL_FUNCTION(pa_proplist_sets); LOAD_DL_FUNCTION(pa_proplist_free); + LOAD_DL_FUNCTION(pa_stream_get_latency); loaded=true; return true; @@ -283,4 +285,4 @@ bool AudioPulse::DoOneOperation(std::function f){ } pa_mainloop_iterate(ml, 1, NULL); } -} \ No newline at end of file +} diff --git a/os/linux/AudioPulse.h b/os/linux/AudioPulse.h index 395967aa53..26fb2b7b2a 100644 --- a/os/linux/AudioPulse.h +++ b/os/linux/AudioPulse.h @@ -73,6 +73,8 @@ namespace tgvoip{ DECLARE_DL_FUNCTION(pa_proplist_sets); DECLARE_DL_FUNCTION(pa_proplist_free); + DECLARE_DL_FUNCTION(pa_stream_get_latency); + private: static void* lib; static bool loaded; @@ -90,4 +92,4 @@ namespace tgvoip{ #undef DECLARE_DL_FUNCTION -#endif // LIBTGVOIP_PULSEAUDIOLOADER_H \ No newline at end of file +#endif // LIBTGVOIP_PULSEAUDIOLOADER_H diff --git a/os/linux/PulseFunctions.h b/os/linux/PulseFunctions.h index a71a87d038..9e754f99ac 100644 --- a/os/linux/PulseFunctions.h +++ b/os/linux/PulseFunctions.h @@ -43,5 +43,6 @@ #define pa_proplist_new AudioPulse::_import_pa_proplist_new #define pa_proplist_sets AudioPulse::_import_pa_proplist_sets #define pa_proplist_free AudioPulse::_import_pa_proplist_free +#define pa_stream_get_latency AudioPulse::_import_pa_stream_get_latency -#endif //LIBTGVOIP_PULSE_FUNCTIONS_H \ No newline at end of file +#endif //LIBTGVOIP_PULSE_FUNCTIONS_H diff --git a/os/windows/AudioInputWASAPI.cpp b/os/windows/AudioInputWASAPI.cpp index 4c9f40b7a3..ee0547749b 100755 --- a/os/windows/AudioInputWASAPI.cpp +++ b/os/windows/AudioInputWASAPI.cpp @@ -283,8 +283,8 @@ void AudioInputWASAPI::ActuallySetCurrentDevice(std::string deviceID){ // {2C693079-3F59-49FD-964F-61C005EAA5D3} const GUID guid = { 0x2c693079, 0x3f59, 0x49fd, { 0x96, 0x4f, 0x61, 0xc0, 0x5, 0xea, 0xa5, 0xd3 } }; - // Use 500ms buffer to avoid resampling glitches on Windows 8.1 and older. This should not increase latency. - res = audioClient->Initialize(AUDCLNT_SHAREMODE_SHARED, AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST | AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY, 500*10000, 0, &format, &guid); + // Use 1000ms buffer to avoid resampling glitches on Windows 8.1 and older. This should not increase latency. + res = audioClient->Initialize(AUDCLNT_SHAREMODE_SHARED, AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST | AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY, 1000*10000, 0, &format, &guid); CHECK_RES(res, "audioClient->Initialize"); uint32_t bufSize; @@ -292,12 +292,12 @@ void AudioInputWASAPI::ActuallySetCurrentDevice(std::string deviceID){ CHECK_RES(res, "audioClient->GetBufferSize"); LOGV("buffer size: %u", bufSize); - REFERENCE_TIME latency; + estimatedDelay=0; + REFERENCE_TIME latency, devicePeriod; if(SUCCEEDED(audioClient->GetStreamLatency(&latency))){ - estimatedDelay=latency ? (int32_t)(latency/10000) : 60; - LOGD("capture latency: %d", estimatedDelay); - }else{ - estimatedDelay=60; + if(SUCCEEDED(audioClient->GetDevicePeriod(&devicePeriod, NULL))){ + estimatedDelay=(int32_t)(latency/10000+devicePeriod/10000); + } } res = audioClient->SetEventHandle(audioSamplesReadyEvent); @@ -336,7 +336,7 @@ void AudioInputWASAPI::RunThread() { CHECK_RES(res, "CoInitializeEx in capture thread"); uint32_t bufferSize=0; - uint32_t framesWritten=0; + uint64_t framesWritten=0; bool running=true; //double prevCallback=VoIPController::GetCurrentTime(); @@ -387,6 +387,7 @@ void AudioInputWASAPI::RunThread() { res=captureClient->ReleaseBuffer(framesAvailable); CHECK_RES(res, "captureClient->ReleaseBuffer"); + //estimatedDelay=(int32_t)((devicePosition-framesWritten)/48); framesWritten+=framesAvailable; } diff --git a/os/windows/AudioInputWASAPI.h b/os/windows/AudioInputWASAPI.h old mode 100644 new mode 100755 diff --git a/os/windows/AudioOutputWASAPI.cpp b/os/windows/AudioOutputWASAPI.cpp index ec4d3f4be2..f4e624ca45 100755 --- a/os/windows/AudioOutputWASAPI.cpp +++ b/os/windows/AudioOutputWASAPI.cpp @@ -287,12 +287,12 @@ void AudioOutputWASAPI::ActuallySetCurrentDevice(std::string deviceID){ CHECK_RES(res, "audioClient->GetBufferSize"); LOGV("buffer size: %u", bufSize); - REFERENCE_TIME latency; + estimatedDelay=0; + REFERENCE_TIME latency, devicePeriod; if(SUCCEEDED(audioClient->GetStreamLatency(&latency))){ - estimatedDelay=latency ? (int32_t)(latency/10000) : 60; - LOGD("playback latency: %d", estimatedDelay); - }else{ - estimatedDelay=60; + if(SUCCEEDED(audioClient->GetDevicePeriod(&devicePeriod, NULL))){ + estimatedDelay=(int32_t)(latency/10000+devicePeriod/10000); + } } res = audioClient->SetEventHandle(audioSamplesReadyEvent); @@ -336,7 +336,7 @@ void AudioOutputWASAPI::RunThread() { uint32_t bufferSize; res=audioClient->GetBufferSize(&bufferSize); CHECK_RES(res, "audioClient->GetBufferSize"); - uint32_t framesWritten=0; + uint64_t framesWritten=0; bool running=true; //double prevCallback=VoIPController::GetCurrentTime(); @@ -354,6 +354,7 @@ void AudioOutputWASAPI::RunThread() { }else if(waitResult==WAIT_OBJECT_0+2){ // audioSamplesReadyEvent if(!audioClient) continue; + BYTE* data; uint32_t padding; uint32_t framesAvailable; diff --git a/os/windows/AudioOutputWASAPI.h b/os/windows/AudioOutputWASAPI.h old mode 100644 new mode 100755 diff --git a/tests/libtgvoipTests.mm b/tests/libtgvoipTests.mm index 7b93a7ea8b..cbb9c54915 100644 --- a/tests/libtgvoipTests.mm +++ b/tests/libtgvoipTests.mm @@ -9,7 +9,7 @@ #import "MockReflector.h" #include "../VoIPController.h" #include -#include "../webrtc_dsp/webrtc/common_audio/wav_file.h" +#include "../webrtc_dsp/common_audio/wav_file.h" @interface libtgvoipTests : XCTestCase diff --git a/webrtc_dsp/absl/algorithm/algorithm.h b/webrtc_dsp/absl/algorithm/algorithm.h new file mode 100755 index 0000000000..3d6586439f --- /dev/null +++ b/webrtc_dsp/absl/algorithm/algorithm.h @@ -0,0 +1,150 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: algorithm.h +// ----------------------------------------------------------------------------- +// +// This header file contains Google extensions to the standard C++ +// header. + +#ifndef ABSL_ALGORITHM_ALGORITHM_H_ +#define ABSL_ALGORITHM_ALGORITHM_H_ + +#include +#include +#include + +namespace absl { + +namespace algorithm_internal { + +// Performs comparisons with operator==, similar to C++14's `std::equal_to<>`. +struct EqualTo { + template + bool operator()(const T& a, const U& b) const { + return a == b; + } +}; + +template +bool EqualImpl(InputIter1 first1, InputIter1 last1, InputIter2 first2, + InputIter2 last2, Pred pred, std::input_iterator_tag, + std::input_iterator_tag) { + while (true) { + if (first1 == last1) return first2 == last2; + if (first2 == last2) return false; + if (!pred(*first1, *first2)) return false; + ++first1; + ++first2; + } +} + +template +bool EqualImpl(InputIter1 first1, InputIter1 last1, InputIter2 first2, + InputIter2 last2, Pred&& pred, std::random_access_iterator_tag, + std::random_access_iterator_tag) { + return (last1 - first1 == last2 - first2) && + std::equal(first1, last1, first2, std::forward(pred)); +} + +// When we are using our own internal predicate that just applies operator==, we +// forward to the non-predicate form of std::equal. This enables an optimization +// in libstdc++ that can result in std::memcmp being used for integer types. +template +bool EqualImpl(InputIter1 first1, InputIter1 last1, InputIter2 first2, + InputIter2 last2, algorithm_internal::EqualTo /* unused */, + std::random_access_iterator_tag, + std::random_access_iterator_tag) { + return (last1 - first1 == last2 - first2) && + std::equal(first1, last1, first2); +} + +template +It RotateImpl(It first, It middle, It last, std::true_type) { + return std::rotate(first, middle, last); +} + +template +It RotateImpl(It first, It middle, It last, std::false_type) { + std::rotate(first, middle, last); + return std::next(first, std::distance(middle, last)); +} + +} // namespace algorithm_internal + +// Compares the equality of two ranges specified by pairs of iterators, using +// the given predicate, returning true iff for each corresponding iterator i1 +// and i2 in the first and second range respectively, pred(*i1, *i2) == true +// +// This comparison takes at most min(`last1` - `first1`, `last2` - `first2`) +// invocations of the predicate. Additionally, if InputIter1 and InputIter2 are +// both random-access iterators, and `last1` - `first1` != `last2` - `first2`, +// then the predicate is never invoked and the function returns false. +// +// This is a C++11-compatible implementation of C++14 `std::equal`. See +// http://en.cppreference.com/w/cpp/algorithm/equal for more information. +template +bool equal(InputIter1 first1, InputIter1 last1, InputIter2 first2, + InputIter2 last2, Pred&& pred) { + return algorithm_internal::EqualImpl( + first1, last1, first2, last2, std::forward(pred), + typename std::iterator_traits::iterator_category{}, + typename std::iterator_traits::iterator_category{}); +} + +// Performs comparison of two ranges specified by pairs of iterators using +// operator==. +template +bool equal(InputIter1 first1, InputIter1 last1, InputIter2 first2, + InputIter2 last2) { + return absl::equal(first1, last1, first2, last2, + algorithm_internal::EqualTo{}); +} + +// Performs a linear search for `value` using the iterator `first` up to +// but not including `last`, returning true if [`first`, `last`) contains an +// element equal to `value`. +// +// A linear search is of O(n) complexity which is guaranteed to make at most +// n = (`last` - `first`) comparisons. A linear search over short containers +// may be faster than a binary search, even when the container is sorted. +template +bool linear_search(InputIterator first, InputIterator last, + const EqualityComparable& value) { + return std::find(first, last, value) != last; +} + +// Performs a left rotation on a range of elements (`first`, `last`) such that +// `middle` is now the first element. `rotate()` returns an iterator pointing to +// the first element before rotation. This function is exactly the same as +// `std::rotate`, but fixes a bug in gcc +// <= 4.9 where `std::rotate` returns `void` instead of an iterator. +// +// The complexity of this algorithm is the same as that of `std::rotate`, but if +// `ForwardIterator` is not a random-access iterator, then `absl::rotate` +// performs an additional pass over the range to construct the return value. + +template +ForwardIterator rotate(ForwardIterator first, ForwardIterator middle, + ForwardIterator last) { + return algorithm_internal::RotateImpl( + first, middle, last, + std::is_same()); +} + +} // namespace absl + +#endif // ABSL_ALGORITHM_ALGORITHM_H_ diff --git a/webrtc_dsp/absl/base/attributes.h b/webrtc_dsp/absl/base/attributes.h new file mode 100755 index 0000000000..291ad89ee7 --- /dev/null +++ b/webrtc_dsp/absl/base/attributes.h @@ -0,0 +1,597 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// This header file defines macros for declaring attributes for functions, +// types, and variables. +// +// These macros are used within Abseil and allow the compiler to optimize, where +// applicable, certain function calls. +// +// This file is used for both C and C++! +// +// Most macros here are exposing GCC or Clang features, and are stubbed out for +// other compilers. +// +// GCC attributes documentation: +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Function-Attributes.html +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Variable-Attributes.html +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Type-Attributes.html +// +// Most attributes in this file are already supported by GCC 4.7. However, some +// of them are not supported in older version of Clang. Thus, we check +// `__has_attribute()` first. If the check fails, we check if we are on GCC and +// assume the attribute exists on GCC (which is verified on GCC 4.7). +// +// ----------------------------------------------------------------------------- +// Sanitizer Attributes +// ----------------------------------------------------------------------------- +// +// Sanitizer-related attributes are not "defined" in this file (and indeed +// are not defined as such in any file). To utilize the following +// sanitizer-related attributes within your builds, define the following macros +// within your build using a `-D` flag, along with the given value for +// `-fsanitize`: +// +// * `ADDRESS_SANITIZER` + `-fsanitize=address` (Clang, GCC 4.8) +// * `MEMORY_SANITIZER` + `-fsanitize=memory` (Clang-only) +// * `THREAD_SANITIZER + `-fsanitize=thread` (Clang, GCC 4.8+) +// * `UNDEFINED_BEHAVIOR_SANITIZER` + `-fsanitize=undefined` (Clang, GCC 4.9+) +// * `CONTROL_FLOW_INTEGRITY` + -fsanitize=cfi (Clang-only) +// +// Example: +// +// // Enable branches in the Abseil code that are tagged for ASan: +// $ bazel build --copt=-DADDRESS_SANITIZER --copt=-fsanitize=address +// --linkopt=-fsanitize=address *target* +// +// Since these macro names are only supported by GCC and Clang, we only check +// for `__GNUC__` (GCC or Clang) and the above macros. +#ifndef ABSL_BASE_ATTRIBUTES_H_ +#define ABSL_BASE_ATTRIBUTES_H_ + +// ABSL_HAVE_ATTRIBUTE +// +// A function-like feature checking macro that is a wrapper around +// `__has_attribute`, which is defined by GCC 5+ and Clang and evaluates to a +// nonzero constant integer if the attribute is supported or 0 if not. +// +// It evaluates to zero if `__has_attribute` is not defined by the compiler. +// +// GCC: https://gcc.gnu.org/gcc-5/changes.html +// Clang: https://clang.llvm.org/docs/LanguageExtensions.html +#ifdef __has_attribute +#define ABSL_HAVE_ATTRIBUTE(x) __has_attribute(x) +#else +#define ABSL_HAVE_ATTRIBUTE(x) 0 +#endif + +// ABSL_HAVE_CPP_ATTRIBUTE +// +// A function-like feature checking macro that accepts C++11 style attributes. +// It's a wrapper around `__has_cpp_attribute`, defined by ISO C++ SD-6 +// (http://en.cppreference.com/w/cpp/experimental/feature_test). If we don't +// find `__has_cpp_attribute`, will evaluate to 0. +#if defined(__cplusplus) && defined(__has_cpp_attribute) +// NOTE: requiring __cplusplus above should not be necessary, but +// works around https://bugs.llvm.org/show_bug.cgi?id=23435. +#define ABSL_HAVE_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#else +#define ABSL_HAVE_CPP_ATTRIBUTE(x) 0 +#endif + +// ----------------------------------------------------------------------------- +// Function Attributes +// ----------------------------------------------------------------------------- +// +// GCC: https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html +// Clang: https://clang.llvm.org/docs/AttributeReference.html + +// ABSL_PRINTF_ATTRIBUTE +// ABSL_SCANF_ATTRIBUTE +// +// Tells the compiler to perform `printf` format string checking if the +// compiler supports it; see the 'format' attribute in +// . +// +// Note: As the GCC manual states, "[s]ince non-static C++ methods +// have an implicit 'this' argument, the arguments of such methods +// should be counted from two, not one." +#if ABSL_HAVE_ATTRIBUTE(format) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_PRINTF_ATTRIBUTE(string_index, first_to_check) \ + __attribute__((__format__(__printf__, string_index, first_to_check))) +#define ABSL_SCANF_ATTRIBUTE(string_index, first_to_check) \ + __attribute__((__format__(__scanf__, string_index, first_to_check))) +#else +#define ABSL_PRINTF_ATTRIBUTE(string_index, first_to_check) +#define ABSL_SCANF_ATTRIBUTE(string_index, first_to_check) +#endif + +// ABSL_ATTRIBUTE_ALWAYS_INLINE +// ABSL_ATTRIBUTE_NOINLINE +// +// Forces functions to either inline or not inline. Introduced in gcc 3.1. +#if ABSL_HAVE_ATTRIBUTE(always_inline) || \ + (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline)) +#define ABSL_HAVE_ATTRIBUTE_ALWAYS_INLINE 1 +#else +#define ABSL_ATTRIBUTE_ALWAYS_INLINE +#endif + +#if ABSL_HAVE_ATTRIBUTE(noinline) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NOINLINE __attribute__((noinline)) +#define ABSL_HAVE_ATTRIBUTE_NOINLINE 1 +#else +#define ABSL_ATTRIBUTE_NOINLINE +#endif + +// ABSL_ATTRIBUTE_NO_TAIL_CALL +// +// Prevents the compiler from optimizing away stack frames for functions which +// end in a call to another function. +#if ABSL_HAVE_ATTRIBUTE(disable_tail_calls) +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1 +#define ABSL_ATTRIBUTE_NO_TAIL_CALL __attribute__((disable_tail_calls)) +#elif defined(__GNUC__) && !defined(__clang__) +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1 +#define ABSL_ATTRIBUTE_NO_TAIL_CALL \ + __attribute__((optimize("no-optimize-sibling-calls"))) +#else +#define ABSL_ATTRIBUTE_NO_TAIL_CALL +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 0 +#endif + +// ABSL_ATTRIBUTE_WEAK +// +// Tags a function as weak for the purposes of compilation and linking. +// Weak attributes currently do not work properly in LLVM's Windows backend, +// so disable them there. See https://bugs.llvm.org/show_bug.cgi?id=37598 +// for futher information. +#if (ABSL_HAVE_ATTRIBUTE(weak) || \ + (defined(__GNUC__) && !defined(__clang__))) && \ + !(defined(__llvm__) && defined(_WIN32)) +#undef ABSL_ATTRIBUTE_WEAK +#define ABSL_ATTRIBUTE_WEAK __attribute__((weak)) +#define ABSL_HAVE_ATTRIBUTE_WEAK 1 +#else +#define ABSL_ATTRIBUTE_WEAK +#define ABSL_HAVE_ATTRIBUTE_WEAK 0 +#endif + +// ABSL_ATTRIBUTE_NONNULL +// +// Tells the compiler either (a) that a particular function parameter +// should be a non-null pointer, or (b) that all pointer arguments should +// be non-null. +// +// Note: As the GCC manual states, "[s]ince non-static C++ methods +// have an implicit 'this' argument, the arguments of such methods +// should be counted from two, not one." +// +// Args are indexed starting at 1. +// +// For non-static class member functions, the implicit `this` argument +// is arg 1, and the first explicit argument is arg 2. For static class member +// functions, there is no implicit `this`, and the first explicit argument is +// arg 1. +// +// Example: +// +// /* arg_a cannot be null, but arg_b can */ +// void Function(void* arg_a, void* arg_b) ABSL_ATTRIBUTE_NONNULL(1); +// +// class C { +// /* arg_a cannot be null, but arg_b can */ +// void Method(void* arg_a, void* arg_b) ABSL_ATTRIBUTE_NONNULL(2); +// +// /* arg_a cannot be null, but arg_b can */ +// static void StaticMethod(void* arg_a, void* arg_b) +// ABSL_ATTRIBUTE_NONNULL(1); +// }; +// +// If no arguments are provided, then all pointer arguments should be non-null. +// +// /* No pointer arguments may be null. */ +// void Function(void* arg_a, void* arg_b, int arg_c) ABSL_ATTRIBUTE_NONNULL(); +// +// NOTE: The GCC nonnull attribute actually accepts a list of arguments, but +// ABSL_ATTRIBUTE_NONNULL does not. +#if ABSL_HAVE_ATTRIBUTE(nonnull) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NONNULL(arg_index) __attribute__((nonnull(arg_index))) +#else +#define ABSL_ATTRIBUTE_NONNULL(...) +#endif + +// ABSL_ATTRIBUTE_NORETURN +// +// Tells the compiler that a given function never returns. +#if ABSL_HAVE_ATTRIBUTE(noreturn) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#elif defined(_MSC_VER) +#define ABSL_ATTRIBUTE_NORETURN __declspec(noreturn) +#else +#define ABSL_ATTRIBUTE_NORETURN +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS +// +// Tells the AddressSanitizer (or other memory testing tools) to ignore a given +// function. Useful for cases when a function reads random locations on stack, +// calls _exit from a cloned subprocess, deliberately accesses buffer +// out of bounds or does other scary things with memory. +// NOTE: GCC supports AddressSanitizer(asan) since 4.8. +// https://gcc.gnu.org/gcc-4.8/changes.html +#if defined(__GNUC__) && defined(ADDRESS_SANITIZER) +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY +// +// Tells the MemorySanitizer to relax the handling of a given function. All +// "Use of uninitialized value" warnings from such functions will be suppressed, +// and all values loaded from memory will be considered fully initialized. +// This attribute is similar to the ADDRESS_SANITIZER attribute above, but deals +// with initialized-ness rather than addressability issues. +// NOTE: MemorySanitizer(msan) is supported by Clang but not GCC. +#if defined(__GNUC__) && defined(MEMORY_SANITIZER) +#define ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY __attribute__((no_sanitize_memory)) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_THREAD +// +// Tells the ThreadSanitizer to not instrument a given function. +// NOTE: GCC supports ThreadSanitizer(tsan) since 4.8. +// https://gcc.gnu.org/gcc-4.8/changes.html +#if defined(__GNUC__) && defined(THREAD_SANITIZER) +#define ABSL_ATTRIBUTE_NO_SANITIZE_THREAD __attribute__((no_sanitize_thread)) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_THREAD +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED +// +// Tells the UndefinedSanitizer to ignore a given function. Useful for cases +// where certain behavior (eg. division by zero) is being used intentionally. +// NOTE: GCC supports UndefinedBehaviorSanitizer(ubsan) since 4.9. +// https://gcc.gnu.org/gcc-4.9/changes.html +#if defined(__GNUC__) && \ + (defined(UNDEFINED_BEHAVIOR_SANITIZER) || defined(ADDRESS_SANITIZER)) +#define ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED \ + __attribute__((no_sanitize("undefined"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_CFI +// +// Tells the ControlFlowIntegrity sanitizer to not instrument a given function. +// See https://clang.llvm.org/docs/ControlFlowIntegrity.html for details. +#if defined(__GNUC__) && defined(CONTROL_FLOW_INTEGRITY) +#define ABSL_ATTRIBUTE_NO_SANITIZE_CFI __attribute__((no_sanitize("cfi"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_CFI +#endif + +// ABSL_ATTRIBUTE_RETURNS_NONNULL +// +// Tells the compiler that a particular function never returns a null pointer. +#if ABSL_HAVE_ATTRIBUTE(returns_nonnull) || \ + (defined(__GNUC__) && \ + (__GNUC__ > 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) && \ + !defined(__clang__)) +#define ABSL_ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull)) +#else +#define ABSL_ATTRIBUTE_RETURNS_NONNULL +#endif + +// ABSL_HAVE_ATTRIBUTE_SECTION +// +// Indicates whether labeled sections are supported. Weak symbol support is +// a prerequisite. Labeled sections are not supported on Darwin/iOS. +#ifdef ABSL_HAVE_ATTRIBUTE_SECTION +#error ABSL_HAVE_ATTRIBUTE_SECTION cannot be directly set +#elif (ABSL_HAVE_ATTRIBUTE(section) || \ + (defined(__GNUC__) && !defined(__clang__))) && \ + !defined(__APPLE__) && ABSL_HAVE_ATTRIBUTE_WEAK +#define ABSL_HAVE_ATTRIBUTE_SECTION 1 + +// ABSL_ATTRIBUTE_SECTION +// +// Tells the compiler/linker to put a given function into a section and define +// `__start_ ## name` and `__stop_ ## name` symbols to bracket the section. +// This functionality is supported by GNU linker. Any function annotated with +// `ABSL_ATTRIBUTE_SECTION` must not be inlined, or it will be placed into +// whatever section its caller is placed into. +// +#ifndef ABSL_ATTRIBUTE_SECTION +#define ABSL_ATTRIBUTE_SECTION(name) \ + __attribute__((section(#name))) __attribute__((noinline)) +#endif + + +// ABSL_ATTRIBUTE_SECTION_VARIABLE +// +// Tells the compiler/linker to put a given variable into a section and define +// `__start_ ## name` and `__stop_ ## name` symbols to bracket the section. +// This functionality is supported by GNU linker. +#ifndef ABSL_ATTRIBUTE_SECTION_VARIABLE +#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) __attribute__((section(#name))) +#endif + +// ABSL_DECLARE_ATTRIBUTE_SECTION_VARS +// +// A weak section declaration to be used as a global declaration +// for ABSL_ATTRIBUTE_SECTION_START|STOP(name) to compile and link +// even without functions with ABSL_ATTRIBUTE_SECTION(name). +// ABSL_DEFINE_ATTRIBUTE_SECTION should be in the exactly one file; it's +// a no-op on ELF but not on Mach-O. +// +#ifndef ABSL_DECLARE_ATTRIBUTE_SECTION_VARS +#define ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) \ + extern char __start_##name[] ABSL_ATTRIBUTE_WEAK; \ + extern char __stop_##name[] ABSL_ATTRIBUTE_WEAK +#endif +#ifndef ABSL_DEFINE_ATTRIBUTE_SECTION_VARS +#define ABSL_INIT_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DEFINE_ATTRIBUTE_SECTION_VARS(name) +#endif + +// ABSL_ATTRIBUTE_SECTION_START +// +// Returns `void*` pointers to start/end of a section of code with +// functions having ABSL_ATTRIBUTE_SECTION(name). +// Returns 0 if no such functions exist. +// One must ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) for this to compile and +// link. +// +#define ABSL_ATTRIBUTE_SECTION_START(name) \ + (reinterpret_cast(__start_##name)) +#define ABSL_ATTRIBUTE_SECTION_STOP(name) \ + (reinterpret_cast(__stop_##name)) + +#else // !ABSL_HAVE_ATTRIBUTE_SECTION + +#define ABSL_HAVE_ATTRIBUTE_SECTION 0 + +// provide dummy definitions +#define ABSL_ATTRIBUTE_SECTION(name) +#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) +#define ABSL_INIT_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DEFINE_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_ATTRIBUTE_SECTION_START(name) (reinterpret_cast(0)) +#define ABSL_ATTRIBUTE_SECTION_STOP(name) (reinterpret_cast(0)) + +#endif // ABSL_ATTRIBUTE_SECTION + +// ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +// +// Support for aligning the stack on 32-bit x86. +#if ABSL_HAVE_ATTRIBUTE(force_align_arg_pointer) || \ + (defined(__GNUC__) && !defined(__clang__)) +#if defined(__i386__) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC \ + __attribute__((force_align_arg_pointer)) +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#elif defined(__x86_64__) +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (1) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#else // !__i386__ && !__x86_64 +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#endif // __i386__ +#else +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#endif + +// ABSL_MUST_USE_RESULT +// +// Tells the compiler to warn about unused results. +// +// When annotating a function, it must appear as the first part of the +// declaration or definition. The compiler will warn if the return value from +// such a function is unused: +// +// ABSL_MUST_USE_RESULT Sprocket* AllocateSprocket(); +// AllocateSprocket(); // Triggers a warning. +// +// When annotating a class, it is equivalent to annotating every function which +// returns an instance. +// +// class ABSL_MUST_USE_RESULT Sprocket {}; +// Sprocket(); // Triggers a warning. +// +// Sprocket MakeSprocket(); +// MakeSprocket(); // Triggers a warning. +// +// Note that references and pointers are not instances: +// +// Sprocket* SprocketPointer(); +// SprocketPointer(); // Does *not* trigger a warning. +// +// ABSL_MUST_USE_RESULT allows using cast-to-void to suppress the unused result +// warning. For that, warn_unused_result is used only for clang but not for gcc. +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 +// +// Note: past advice was to place the macro after the argument list. +#if ABSL_HAVE_ATTRIBUTE(nodiscard) +#define ABSL_MUST_USE_RESULT [[nodiscard]] +#elif defined(__clang__) && ABSL_HAVE_ATTRIBUTE(warn_unused_result) +#define ABSL_MUST_USE_RESULT __attribute__((warn_unused_result)) +#else +#define ABSL_MUST_USE_RESULT +#endif + +// ABSL_ATTRIBUTE_HOT, ABSL_ATTRIBUTE_COLD +// +// Tells GCC that a function is hot or cold. GCC can use this information to +// improve static analysis, i.e. a conditional branch to a cold function +// is likely to be not-taken. +// This annotation is used for function declarations. +// +// Example: +// +// int foo() ABSL_ATTRIBUTE_HOT; +#if ABSL_HAVE_ATTRIBUTE(hot) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_HOT __attribute__((hot)) +#else +#define ABSL_ATTRIBUTE_HOT +#endif + +#if ABSL_HAVE_ATTRIBUTE(cold) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_COLD __attribute__((cold)) +#else +#define ABSL_ATTRIBUTE_COLD +#endif + +// ABSL_XRAY_ALWAYS_INSTRUMENT, ABSL_XRAY_NEVER_INSTRUMENT, ABSL_XRAY_LOG_ARGS +// +// We define the ABSL_XRAY_ALWAYS_INSTRUMENT and ABSL_XRAY_NEVER_INSTRUMENT +// macro used as an attribute to mark functions that must always or never be +// instrumented by XRay. Currently, this is only supported in Clang/LLVM. +// +// For reference on the LLVM XRay instrumentation, see +// http://llvm.org/docs/XRay.html. +// +// A function with the XRAY_ALWAYS_INSTRUMENT macro attribute in its declaration +// will always get the XRay instrumentation sleds. These sleds may introduce +// some binary size and runtime overhead and must be used sparingly. +// +// These attributes only take effect when the following conditions are met: +// +// * The file/target is built in at least C++11 mode, with a Clang compiler +// that supports XRay attributes. +// * The file/target is built with the -fxray-instrument flag set for the +// Clang/LLVM compiler. +// * The function is defined in the translation unit (the compiler honors the +// attribute in either the definition or the declaration, and must match). +// +// There are cases when, even when building with XRay instrumentation, users +// might want to control specifically which functions are instrumented for a +// particular build using special-case lists provided to the compiler. These +// special case lists are provided to Clang via the +// -fxray-always-instrument=... and -fxray-never-instrument=... flags. The +// attributes in source take precedence over these special-case lists. +// +// To disable the XRay attributes at build-time, users may define +// ABSL_NO_XRAY_ATTRIBUTES. Do NOT define ABSL_NO_XRAY_ATTRIBUTES on specific +// packages/targets, as this may lead to conflicting definitions of functions at +// link-time. +// +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::xray_always_instrument) && \ + !defined(ABSL_NO_XRAY_ATTRIBUTES) +#define ABSL_XRAY_ALWAYS_INSTRUMENT [[clang::xray_always_instrument]] +#define ABSL_XRAY_NEVER_INSTRUMENT [[clang::xray_never_instrument]] +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::xray_log_args) +#define ABSL_XRAY_LOG_ARGS(N) \ + [[clang::xray_always_instrument, clang::xray_log_args(N)]] +#else +#define ABSL_XRAY_LOG_ARGS(N) [[clang::xray_always_instrument]] +#endif +#else +#define ABSL_XRAY_ALWAYS_INSTRUMENT +#define ABSL_XRAY_NEVER_INSTRUMENT +#define ABSL_XRAY_LOG_ARGS(N) +#endif + +// ABSL_ATTRIBUTE_REINITIALIZES +// +// Indicates that a member function reinitializes the entire object to a known +// state, independent of the previous state of the object. +// +// The clang-tidy check bugprone-use-after-move allows member functions marked +// with this attribute to be called on objects that have been moved from; +// without the attribute, this would result in a use-after-move warning. +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::reinitializes) +#define ABSL_ATTRIBUTE_REINITIALIZES [[clang::reinitializes]] +#else +#define ABSL_ATTRIBUTE_REINITIALIZES +#endif + +// ----------------------------------------------------------------------------- +// Variable Attributes +// ----------------------------------------------------------------------------- + +// ABSL_ATTRIBUTE_UNUSED +// +// Prevents the compiler from complaining about variables that appear unused. +#if ABSL_HAVE_ATTRIBUTE(unused) || (defined(__GNUC__) && !defined(__clang__)) +#undef ABSL_ATTRIBUTE_UNUSED +#define ABSL_ATTRIBUTE_UNUSED __attribute__((__unused__)) +#else +#define ABSL_ATTRIBUTE_UNUSED +#endif + +// ABSL_ATTRIBUTE_INITIAL_EXEC +// +// Tells the compiler to use "initial-exec" mode for a thread-local variable. +// See http://people.redhat.com/drepper/tls.pdf for the gory details. +#if ABSL_HAVE_ATTRIBUTE(tls_model) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_INITIAL_EXEC __attribute__((tls_model("initial-exec"))) +#else +#define ABSL_ATTRIBUTE_INITIAL_EXEC +#endif + +// ABSL_ATTRIBUTE_PACKED +// +// Prevents the compiler from padding a structure to natural alignment +#if ABSL_HAVE_ATTRIBUTE(packed) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_PACKED __attribute__((__packed__)) +#else +#define ABSL_ATTRIBUTE_PACKED +#endif + +// ABSL_ATTRIBUTE_FUNC_ALIGN +// +// Tells the compiler to align the function start at least to certain +// alignment boundary +#if ABSL_HAVE_ATTRIBUTE(aligned) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes) __attribute__((aligned(bytes))) +#else +#define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes) +#endif + +// ABSL_CONST_INIT +// +// A variable declaration annotated with the `ABSL_CONST_INIT` attribute will +// not compile (on supported platforms) unless the variable has a constant +// initializer. This is useful for variables with static and thread storage +// duration, because it guarantees that they will not suffer from the so-called +// "static init order fiasco". Prefer to put this attribute on the most visible +// declaration of the variable, if there's more than one, because code that +// accesses the variable can then use the attribute for optimization. +// +// Example: +// +// class MyClass { +// public: +// ABSL_CONST_INIT static MyType my_var; +// }; +// +// MyType MyClass::my_var = MakeMyType(...); +// +// Note that this attribute is redundant if the variable is declared constexpr. +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization) +// NOLINTNEXTLINE(whitespace/braces) +#define ABSL_CONST_INIT [[clang::require_constant_initialization]] +#else +#define ABSL_CONST_INIT +#endif // ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization) + +#endif // ABSL_BASE_ATTRIBUTES_H_ diff --git a/webrtc_dsp/absl/base/config.h b/webrtc_dsp/absl/base/config.h new file mode 100755 index 0000000000..ca089f6d06 --- /dev/null +++ b/webrtc_dsp/absl/base/config.h @@ -0,0 +1,443 @@ +// +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: config.h +// ----------------------------------------------------------------------------- +// +// This header file defines a set of macros for checking the presence of +// important compiler and platform features. Such macros can be used to +// produce portable code by parameterizing compilation based on the presence or +// lack of a given feature. +// +// We define a "feature" as some interface we wish to program to: for example, +// a library function or system call. A value of `1` indicates support for +// that feature; any other value indicates the feature support is undefined. +// +// Example: +// +// Suppose a programmer wants to write a program that uses the 'mmap()' system +// call. The Abseil macro for that feature (`ABSL_HAVE_MMAP`) allows you to +// selectively include the `mmap.h` header and bracket code using that feature +// in the macro: +// +// #include "absl/base/config.h" +// +// #ifdef ABSL_HAVE_MMAP +// #include "sys/mman.h" +// #endif //ABSL_HAVE_MMAP +// +// ... +// #ifdef ABSL_HAVE_MMAP +// void *ptr = mmap(...); +// ... +// #endif // ABSL_HAVE_MMAP + +#ifndef ABSL_BASE_CONFIG_H_ +#define ABSL_BASE_CONFIG_H_ + +// Included for the __GLIBC__ macro (or similar macros on other systems). +#include + +#ifdef __cplusplus +// Included for __GLIBCXX__, _LIBCPP_VERSION +#include +#endif // __cplusplus + +#if defined(__APPLE__) +// Included for TARGET_OS_IPHONE, __IPHONE_OS_VERSION_MIN_REQUIRED, +// __IPHONE_8_0. +#include +#include +#endif + +#include "absl/base/policy_checks.h" + +// ----------------------------------------------------------------------------- +// Compiler Feature Checks +// ----------------------------------------------------------------------------- + +// ABSL_HAVE_BUILTIN() +// +// Checks whether the compiler supports a Clang Feature Checking Macro, and if +// so, checks whether it supports the provided builtin function "x" where x +// is one of the functions noted in +// https://clang.llvm.org/docs/LanguageExtensions.html +// +// Note: Use this macro to avoid an extra level of #ifdef __has_builtin check. +// http://releases.llvm.org/3.3/tools/clang/docs/LanguageExtensions.html +#ifdef __has_builtin +#define ABSL_HAVE_BUILTIN(x) __has_builtin(x) +#else +#define ABSL_HAVE_BUILTIN(x) 0 +#endif + +// ABSL_HAVE_TLS is defined to 1 when __thread should be supported. +// We assume __thread is supported on Linux when compiled with Clang or compiled +// against libstdc++ with _GLIBCXX_HAVE_TLS defined. +#ifdef ABSL_HAVE_TLS +#error ABSL_HAVE_TLS cannot be directly set +#elif defined(__linux__) && (defined(__clang__) || defined(_GLIBCXX_HAVE_TLS)) +#define ABSL_HAVE_TLS 1 +#endif + +// ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE +// +// Checks whether `std::is_trivially_destructible` is supported. +// +// Notes: All supported compilers using libc++ support this feature, as does +// gcc >= 4.8.1 using libstdc++, and Visual Studio. +#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE +#error ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE cannot be directly set +#elif defined(_LIBCPP_VERSION) || \ + (!defined(__clang__) && defined(__GNUC__) && defined(__GLIBCXX__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) || \ + defined(_MSC_VER) +#define ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE 1 +#endif + +// ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE +// +// Checks whether `std::is_trivially_default_constructible` and +// `std::is_trivially_copy_constructible` are supported. + +// ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE +// +// Checks whether `std::is_trivially_copy_assignable` is supported. + +// Notes: Clang with libc++ supports these features, as does gcc >= 5.1 with +// either libc++ or libstdc++, and Visual Studio. +#if defined(ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE) +#error ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE cannot be directly set +#elif defined(ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE) +#error ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE cannot directly set +#elif (defined(__clang__) && defined(_LIBCPP_VERSION)) || \ + (!defined(__clang__) && defined(__GNUC__) && \ + (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ >= 1)) && \ + (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__))) || \ + defined(_MSC_VER) +#define ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE 1 +#define ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE 1 +#endif + +// ABSL_HAVE_THREAD_LOCAL +// +// Checks whether C++11's `thread_local` storage duration specifier is +// supported. +#ifdef ABSL_HAVE_THREAD_LOCAL +#error ABSL_HAVE_THREAD_LOCAL cannot be directly set +#elif defined(__APPLE__) +// Notes: +// * Xcode's clang did not support `thread_local` until version 8, and +// even then not for all iOS < 9.0. +// * Xcode 9.3 started disallowing `thread_local` for 32-bit iOS simulator +// targeting iOS 9.x. +// * Xcode 10 moves the deployment target check for iOS < 9.0 to link time +// making __has_feature unreliable there. +// +// Otherwise, `__has_feature` is only supported by Clang so it has be inside +// `defined(__APPLE__)` check. +#if __has_feature(cxx_thread_local) && \ + !(TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0) +#define ABSL_HAVE_THREAD_LOCAL 1 +#endif +#else // !defined(__APPLE__) +#define ABSL_HAVE_THREAD_LOCAL 1 +#endif + +// There are platforms for which TLS should not be used even though the compiler +// makes it seem like it's supported (Android NDK < r12b for example). +// This is primarily because of linker problems and toolchain misconfiguration: +// Abseil does not intend to support this indefinitely. Currently, the newest +// toolchain that we intend to support that requires this behavior is the +// r11 NDK - allowing for a 5 year support window on that means this option +// is likely to be removed around June of 2021. +// TLS isn't supported until NDK r12b per +// https://developer.android.com/ndk/downloads/revision_history.html +// Since NDK r16, `__NDK_MAJOR__` and `__NDK_MINOR__` are defined in +// . For NDK < r16, users should define these macros, +// e.g. `-D__NDK_MAJOR__=11 -D__NKD_MINOR__=0` for NDK r11. +#if defined(__ANDROID__) && defined(__clang__) +#if __has_include() +#include +#endif // __has_include() +#if defined(__ANDROID__) && defined(__clang__) && defined(__NDK_MAJOR__) && \ + defined(__NDK_MINOR__) && \ + ((__NDK_MAJOR__ < 12) || ((__NDK_MAJOR__ == 12) && (__NDK_MINOR__ < 1))) +#undef ABSL_HAVE_TLS +#undef ABSL_HAVE_THREAD_LOCAL +#endif +#endif // defined(__ANDROID__) && defined(__clang__) + +// ABSL_HAVE_INTRINSIC_INT128 +// +// Checks whether the __int128 compiler extension for a 128-bit integral type is +// supported. +// +// Note: __SIZEOF_INT128__ is defined by Clang and GCC when __int128 is +// supported, but we avoid using it in certain cases: +// * On Clang: +// * Building using Clang for Windows, where the Clang runtime library has +// 128-bit support only on LP64 architectures, but Windows is LLP64. +// * Building for aarch64, where __int128 exists but has exhibits a sporadic +// compiler crashing bug. +// * On Nvidia's nvcc: +// * nvcc also defines __GNUC__ and __SIZEOF_INT128__, but not all versions +// actually support __int128. +#ifdef ABSL_HAVE_INTRINSIC_INT128 +#error ABSL_HAVE_INTRINSIC_INT128 cannot be directly set +#elif defined(__SIZEOF_INT128__) +#if (defined(__clang__) && !defined(_WIN32) && !defined(__aarch64__)) || \ + (defined(__CUDACC__) && __CUDACC_VER_MAJOR__ >= 9) || \ + (defined(__GNUC__) && !defined(__clang__) && !defined(__CUDACC__)) +#define ABSL_HAVE_INTRINSIC_INT128 1 +#elif defined(__CUDACC__) +// __CUDACC_VER__ is a full version number before CUDA 9, and is defined to a +// string explaining that it has been removed starting with CUDA 9. We use +// nested #ifs because there is no short-circuiting in the preprocessor. +// NOTE: `__CUDACC__` could be undefined while `__CUDACC_VER__` is defined. +#if __CUDACC_VER__ >= 70000 +#define ABSL_HAVE_INTRINSIC_INT128 1 +#endif // __CUDACC_VER__ >= 70000 +#endif // defined(__CUDACC__) +#endif // ABSL_HAVE_INTRINSIC_INT128 + +// ABSL_HAVE_EXCEPTIONS +// +// Checks whether the compiler both supports and enables exceptions. Many +// compilers support a "no exceptions" mode that disables exceptions. +// +// Generally, when ABSL_HAVE_EXCEPTIONS is not defined: +// +// * Code using `throw` and `try` may not compile. +// * The `noexcept` specifier will still compile and behave as normal. +// * The `noexcept` operator may still return `false`. +// +// For further details, consult the compiler's documentation. +#ifdef ABSL_HAVE_EXCEPTIONS +#error ABSL_HAVE_EXCEPTIONS cannot be directly set. + +#elif defined(__clang__) +// TODO(calabrese) +// Switch to using __cpp_exceptions when we no longer support versions < 3.6. +// For details on this check, see: +// http://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html#the-exceptions-macro +#if defined(__EXCEPTIONS) && __has_feature(cxx_exceptions) +#define ABSL_HAVE_EXCEPTIONS 1 +#endif // defined(__EXCEPTIONS) && __has_feature(cxx_exceptions) + +// Handle remaining special cases and default to exceptions being supported. +#elif !(defined(__GNUC__) && (__GNUC__ < 5) && !defined(__EXCEPTIONS)) && \ + !(defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__cpp_exceptions)) && \ + !(defined(_MSC_VER) && !defined(_CPPUNWIND)) +#define ABSL_HAVE_EXCEPTIONS 1 +#endif + +// ----------------------------------------------------------------------------- +// Platform Feature Checks +// ----------------------------------------------------------------------------- + +// Currently supported operating systems and associated preprocessor +// symbols: +// +// Linux and Linux-derived __linux__ +// Android __ANDROID__ (implies __linux__) +// Linux (non-Android) __linux__ && !__ANDROID__ +// Darwin (Mac OS X and iOS) __APPLE__ +// Akaros (http://akaros.org) __ros__ +// Windows _WIN32 +// NaCL __native_client__ +// AsmJS __asmjs__ +// WebAssembly __wasm__ +// Fuchsia __Fuchsia__ +// +// Note that since Android defines both __ANDROID__ and __linux__, one +// may probe for either Linux or Android by simply testing for __linux__. + +// ABSL_HAVE_MMAP +// +// Checks whether the platform has an mmap(2) implementation as defined in +// POSIX.1-2001. +#ifdef ABSL_HAVE_MMAP +#error ABSL_HAVE_MMAP cannot be directly set +#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ + defined(__ros__) || defined(__native_client__) || defined(__asmjs__) || \ + defined(__wasm__) || defined(__Fuchsia__) || defined(__sun) || \ + defined(__ASYLO__) +#define ABSL_HAVE_MMAP 1 +#endif + +// ABSL_HAVE_PTHREAD_GETSCHEDPARAM +// +// Checks whether the platform implements the pthread_(get|set)schedparam(3) +// functions as defined in POSIX.1-2001. +#ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM +#error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set +#elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ + defined(__ros__) +#define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1 +#endif + +// ABSL_HAVE_SCHED_YIELD +// +// Checks whether the platform implements sched_yield(2) as defined in +// POSIX.1-2001. +#ifdef ABSL_HAVE_SCHED_YIELD +#error ABSL_HAVE_SCHED_YIELD cannot be directly set +#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) +#define ABSL_HAVE_SCHED_YIELD 1 +#endif + +// ABSL_HAVE_SEMAPHORE_H +// +// Checks whether the platform supports the header and sem_open(3) +// family of functions as standardized in POSIX.1-2001. +// +// Note: While Apple provides for both iOS and macOS, it is +// explicitly deprecated and will cause build failures if enabled for those +// platforms. We side-step the issue by not defining it here for Apple +// platforms. +#ifdef ABSL_HAVE_SEMAPHORE_H +#error ABSL_HAVE_SEMAPHORE_H cannot be directly set +#elif defined(__linux__) || defined(__ros__) +#define ABSL_HAVE_SEMAPHORE_H 1 +#endif + +// ABSL_HAVE_ALARM +// +// Checks whether the platform supports the header and alarm(2) +// function as standardized in POSIX.1-2001. +#ifdef ABSL_HAVE_ALARM +#error ABSL_HAVE_ALARM cannot be directly set +#elif defined(__GOOGLE_GRTE_VERSION__) +// feature tests for Google's GRTE +#define ABSL_HAVE_ALARM 1 +#elif defined(__GLIBC__) +// feature test for glibc +#define ABSL_HAVE_ALARM 1 +#elif defined(_MSC_VER) +// feature tests for Microsoft's library +#elif defined(__EMSCRIPTEN__) +// emscripten doesn't support signals +#elif defined(__native_client__) +#else +// other standard libraries +#define ABSL_HAVE_ALARM 1 +#endif + +// ABSL_IS_LITTLE_ENDIAN +// ABSL_IS_BIG_ENDIAN +// +// Checks the endianness of the platform. +// +// Notes: uses the built in endian macros provided by GCC (since 4.6) and +// Clang (since 3.2); see +// https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html. +// Otherwise, if _WIN32, assume little endian. Otherwise, bail with an error. +#if defined(ABSL_IS_BIG_ENDIAN) +#error "ABSL_IS_BIG_ENDIAN cannot be directly set." +#endif +#if defined(ABSL_IS_LITTLE_ENDIAN) +#error "ABSL_IS_LITTLE_ENDIAN cannot be directly set." +#endif + +#if (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ + __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#define ABSL_IS_LITTLE_ENDIAN 1 +#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \ + __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define ABSL_IS_BIG_ENDIAN 1 +#elif defined(_WIN32) +#define ABSL_IS_LITTLE_ENDIAN 1 +#else +#error "absl endian detection needs to be set up for your compiler" +#endif + +// ABSL_HAVE_STD_ANY +// +// Checks whether C++17 std::any is available by checking whether exists. +#ifdef ABSL_HAVE_STD_ANY +#error "ABSL_HAVE_STD_ANY cannot be directly set." +#endif + +#ifdef __has_include +#if __has_include() && __cplusplus >= 201703L +#define ABSL_HAVE_STD_ANY 1 +#endif +#endif + +// ABSL_HAVE_STD_OPTIONAL +// +// Checks whether C++17 std::optional is available. +#ifdef ABSL_HAVE_STD_OPTIONAL +#error "ABSL_HAVE_STD_OPTIONAL cannot be directly set." +#endif + +#ifdef __has_include +#if __has_include() && __cplusplus >= 201703L +#define ABSL_HAVE_STD_OPTIONAL 1 +#endif +#endif + +// ABSL_HAVE_STD_VARIANT +// +// Checks whether C++17 std::variant is available. +#ifdef ABSL_HAVE_STD_VARIANT +#error "ABSL_HAVE_STD_VARIANT cannot be directly set." +#endif + +#ifdef __has_include +#if __has_include() && __cplusplus >= 201703L +#define ABSL_HAVE_STD_VARIANT 1 +#endif +#endif + +// ABSL_HAVE_STD_STRING_VIEW +// +// Checks whether C++17 std::string_view is available. +#ifdef ABSL_HAVE_STD_STRING_VIEW +#error "ABSL_HAVE_STD_STRING_VIEW cannot be directly set." +#endif + +#ifdef __has_include +#if __has_include() && __cplusplus >= 201703L +#define ABSL_HAVE_STD_STRING_VIEW 1 +#endif +#endif + +// For MSVC, `__has_include` is supported in VS 2017 15.3, which is later than +// the support for , , , . So we use +// _MSC_VER to check whether we have VS 2017 RTM (when , , +// , is implemented) or higher. Also, `__cplusplus` is +// not correctly set by MSVC, so we use `_MSVC_LANG` to check the language +// version. +// TODO(zhangxy): fix tests before enabling aliasing for `std::any`. +#if defined(_MSC_VER) && _MSC_VER >= 1910 && \ + ((defined(_MSVC_LANG) && _MSVC_LANG > 201402) || __cplusplus > 201402) +// #define ABSL_HAVE_STD_ANY 1 +#define ABSL_HAVE_STD_OPTIONAL 1 +#define ABSL_HAVE_STD_VARIANT 1 +#define ABSL_HAVE_STD_STRING_VIEW 1 +#endif + +// In debug mode, MSVC 2017's std::variant throws a EXCEPTION_ACCESS_VIOLATION +// SEH exception from emplace for variant when constructing the +// struct can throw. This defeats some of variant_test and +// variant_exception_safety_test. +#if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_DEBUG) +#define ABSL_INTERNAL_MSVC_2017_DBG_MODE +#endif + +#endif // ABSL_BASE_CONFIG_H_ diff --git a/webrtc_dsp/absl/base/internal/atomic_hook.h b/webrtc_dsp/absl/base/internal/atomic_hook.h new file mode 100755 index 0000000000..b458511b0c --- /dev/null +++ b/webrtc_dsp/absl/base/internal/atomic_hook.h @@ -0,0 +1,165 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef ABSL_BASE_INTERNAL_ATOMIC_HOOK_H_ +#define ABSL_BASE_INTERNAL_ATOMIC_HOOK_H_ + +#include +#include +#include +#include + +#ifdef _MSC_FULL_VER +#define ABSL_HAVE_WORKING_ATOMIC_POINTER 0 +#else +#define ABSL_HAVE_WORKING_ATOMIC_POINTER 1 +#endif + +namespace absl { +namespace base_internal { + +template +class AtomicHook; + +// AtomicHook is a helper class, templatized on a raw function pointer type, for +// implementing Abseil customization hooks. It is a callable object that +// dispatches to the registered hook. +// +// A default constructed object performs a no-op (and returns a default +// constructed object) if no hook has been registered. +// +// Hooks can be pre-registered via constant initialization, for example, +// ABSL_CONST_INIT static AtomicHook my_hook(DefaultAction); +// and then changed at runtime via a call to Store(). +// +// Reads and writes guarantee memory_order_acquire/memory_order_release +// semantics. +template +class AtomicHook { + public: + using FnPtr = ReturnType (*)(Args...); + + // Constructs an object that by default performs a no-op (and + // returns a default constructed object) when no hook as been registered. + constexpr AtomicHook() : AtomicHook(DummyFunction) {} + + // Constructs an object that by default dispatches to/returns the + // pre-registered default_fn when no hook has been registered at runtime. +#if ABSL_HAVE_WORKING_ATOMIC_POINTER + explicit constexpr AtomicHook(FnPtr default_fn) + : hook_(default_fn), default_fn_(default_fn) {} +#else + explicit constexpr AtomicHook(FnPtr default_fn) + : hook_(kUninitialized), default_fn_(default_fn) {} +#endif + + // Stores the provided function pointer as the value for this hook. + // + // This is intended to be called once. Multiple calls are legal only if the + // same function pointer is provided for each call. The store is implemented + // as a memory_order_release operation, and read accesses are implemented as + // memory_order_acquire. + void Store(FnPtr fn) { + bool success = DoStore(fn); + static_cast(success); + assert(success); + } + + // Invokes the registered callback. If no callback has yet been registered, a + // default-constructed object of the appropriate type is returned instead. + template + ReturnType operator()(CallArgs&&... args) const { + return DoLoad()(std::forward(args)...); + } + + // Returns the registered callback, or nullptr if none has been registered. + // Useful if client code needs to conditionalize behavior based on whether a + // callback was registered. + // + // Note that atomic_hook.Load()() and atomic_hook() have different semantics: + // operator()() will perform a no-op if no callback was registered, while + // Load()() will dereference a null function pointer. Prefer operator()() to + // Load()() unless you must conditionalize behavior on whether a hook was + // registered. + FnPtr Load() const { + FnPtr ptr = DoLoad(); + return (ptr == DummyFunction) ? nullptr : ptr; + } + + private: + static ReturnType DummyFunction(Args...) { + return ReturnType(); + } + + // Current versions of MSVC (as of September 2017) have a broken + // implementation of std::atomic: Its constructor attempts to do the + // equivalent of a reinterpret_cast in a constexpr context, which is not + // allowed. + // + // This causes an issue when building with LLVM under Windows. To avoid this, + // we use a less-efficient, intptr_t-based implementation on Windows. +#if ABSL_HAVE_WORKING_ATOMIC_POINTER + // Return the stored value, or DummyFunction if no value has been stored. + FnPtr DoLoad() const { return hook_.load(std::memory_order_acquire); } + + // Store the given value. Returns false if a different value was already + // stored to this object. + bool DoStore(FnPtr fn) { + assert(fn); + FnPtr expected = default_fn_; + const bool store_succeeded = hook_.compare_exchange_strong( + expected, fn, std::memory_order_acq_rel, std::memory_order_acquire); + const bool same_value_already_stored = (expected == fn); + return store_succeeded || same_value_already_stored; + } + + std::atomic hook_; +#else // !ABSL_HAVE_WORKING_ATOMIC_POINTER + // Use a sentinel value unlikely to be the address of an actual function. + static constexpr intptr_t kUninitialized = 0; + + static_assert(sizeof(intptr_t) >= sizeof(FnPtr), + "intptr_t can't contain a function pointer"); + + FnPtr DoLoad() const { + const intptr_t value = hook_.load(std::memory_order_acquire); + if (value == kUninitialized) { + return default_fn_; + } + return reinterpret_cast(value); + } + + bool DoStore(FnPtr fn) { + assert(fn); + const auto value = reinterpret_cast(fn); + intptr_t expected = kUninitialized; + const bool store_succeeded = hook_.compare_exchange_strong( + expected, value, std::memory_order_acq_rel, std::memory_order_acquire); + const bool same_value_already_stored = (expected == value); + return store_succeeded || same_value_already_stored; + } + + std::atomic hook_; +#endif + + const FnPtr default_fn_; +}; + +#undef ABSL_HAVE_WORKING_ATOMIC_POINTER + +} // namespace base_internal +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_ATOMIC_HOOK_H_ diff --git a/webrtc_dsp/absl/base/internal/identity.h b/webrtc_dsp/absl/base/internal/identity.h new file mode 100755 index 0000000000..a1a5d70a84 --- /dev/null +++ b/webrtc_dsp/absl/base/internal/identity.h @@ -0,0 +1,33 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef ABSL_BASE_INTERNAL_IDENTITY_H_ +#define ABSL_BASE_INTERNAL_IDENTITY_H_ + +namespace absl { +namespace internal { + +template +struct identity { + typedef T type; +}; + +template +using identity_t = typename identity::type; + +} // namespace internal +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_IDENTITY_H_ diff --git a/webrtc_dsp/absl/base/internal/inline_variable.h b/webrtc_dsp/absl/base/internal/inline_variable.h new file mode 100755 index 0000000000..f7bb8c5652 --- /dev/null +++ b/webrtc_dsp/absl/base/internal/inline_variable.h @@ -0,0 +1,107 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef ABSL_BASE_INTERNAL_INLINE_VARIABLE_EMULATION_H_ +#define ABSL_BASE_INTERNAL_INLINE_VARIABLE_EMULATION_H_ + +#include + +#include "absl/base/internal/identity.h" + +// File: +// This file define a macro that allows the creation of or emulation of C++17 +// inline variables based on whether or not the feature is supported. + +//////////////////////////////////////////////////////////////////////////////// +// Macro: ABSL_INTERNAL_INLINE_CONSTEXPR(type, name, init) +// +// Description: +// Expands to the equivalent of an inline constexpr instance of the specified +// `type` and `name`, initialized to the value `init`. If the compiler being +// used is detected as supporting actual inline variables as a language +// feature, then the macro expands to an actual inline variable definition. +// +// Requires: +// `type` is a type that is usable in an extern variable declaration. +// +// Requires: `name` is a valid identifier +// +// Requires: +// `init` is an expression that can be used in the following definition: +// constexpr type name = init; +// +// Usage: +// +// // Equivalent to: `inline constexpr size_t variant_npos = -1;` +// ABSL_INTERNAL_INLINE_CONSTEXPR(size_t, variant_npos, -1); +// +// Differences in implementation: +// For a direct, language-level inline variable, decltype(name) will be the +// type that was specified along with const qualification, whereas for +// emulated inline variables, decltype(name) may be different (in practice +// it will likely be a reference type). +//////////////////////////////////////////////////////////////////////////////// + +#ifdef __cpp_inline_variables + +// Clang's -Wmissing-variable-declarations option erroneously warned that +// inline constexpr objects need to be pre-declared. This has now been fixed, +// but we will need to support this workaround for people building with older +// versions of clang. +// +// Bug: https://bugs.llvm.org/show_bug.cgi?id=35862 +// +// Note: +// identity_t is used here so that the const and name are in the +// appropriate place for pointer types, reference types, function pointer +// types, etc.. +#if defined(__clang__) +#define ABSL_INTERNAL_EXTERN_DECL(type, name) \ + extern const ::absl::internal::identity_t name; +#else // Otherwise, just define the macro to do nothing. +#define ABSL_INTERNAL_EXTERN_DECL(type, name) +#endif // defined(__clang__) + +// See above comment at top of file for details. +#define ABSL_INTERNAL_INLINE_CONSTEXPR(type, name, init) \ + ABSL_INTERNAL_EXTERN_DECL(type, name) \ + inline constexpr ::absl::internal::identity_t name = init + +#else + +// See above comment at top of file for details. +// +// Note: +// identity_t is used here so that the const and name are in the +// appropriate place for pointer types, reference types, function pointer +// types, etc.. +#define ABSL_INTERNAL_INLINE_CONSTEXPR(var_type, name, init) \ + template \ + struct AbslInternalInlineVariableHolder##name { \ + static constexpr ::absl::internal::identity_t kInstance = init; \ + }; \ + \ + template \ + constexpr ::absl::internal::identity_t \ + AbslInternalInlineVariableHolder##name::kInstance; \ + \ + static constexpr const ::absl::internal::identity_t& \ + name = /* NOLINT */ \ + AbslInternalInlineVariableHolder##name<>::kInstance; \ + static_assert(sizeof(void (*)(decltype(name))) != 0, \ + "Silence unused variable warnings.") + +#endif // __cpp_inline_variables + +#endif // ABSL_BASE_INTERNAL_INLINE_VARIABLE_EMULATION_H_ diff --git a/webrtc_dsp/absl/base/internal/invoke.h b/webrtc_dsp/absl/base/internal/invoke.h new file mode 100755 index 0000000000..8c3f4f6063 --- /dev/null +++ b/webrtc_dsp/absl/base/internal/invoke.h @@ -0,0 +1,188 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// absl::base_internal::Invoke(f, args...) is an implementation of +// INVOKE(f, args...) from section [func.require] of the C++ standard. +// +// [func.require] +// Define INVOKE (f, t1, t2, ..., tN) as follows: +// 1. (t1.*f)(t2, ..., tN) when f is a pointer to a member function of a class T +// and t1 is an object of type T or a reference to an object of type T or a +// reference to an object of a type derived from T; +// 2. ((*t1).*f)(t2, ..., tN) when f is a pointer to a member function of a +// class T and t1 is not one of the types described in the previous item; +// 3. t1.*f when N == 1 and f is a pointer to member data of a class T and t1 is +// an object of type T or a reference to an object of type T or a reference +// to an object of a type derived from T; +// 4. (*t1).*f when N == 1 and f is a pointer to member data of a class T and t1 +// is not one of the types described in the previous item; +// 5. f(t1, t2, ..., tN) in all other cases. +// +// The implementation is SFINAE-friendly: substitution failure within Invoke() +// isn't an error. + +#ifndef ABSL_BASE_INTERNAL_INVOKE_H_ +#define ABSL_BASE_INTERNAL_INVOKE_H_ + +#include +#include +#include + +// The following code is internal implementation detail. See the comment at the +// top of this file for the API documentation. + +namespace absl { +namespace base_internal { + +// The five classes below each implement one of the clauses from the definition +// of INVOKE. The inner class template Accept checks whether the +// clause is applicable; static function template Invoke(f, args...) does the +// invocation. +// +// By separating the clause selection logic from invocation we make sure that +// Invoke() does exactly what the standard says. + +template +struct StrippedAccept { + template + struct Accept : Derived::template AcceptImpl::type>::type...> {}; +}; + +// (t1.*f)(t2, ..., tN) when f is a pointer to a member function of a class T +// and t1 is an object of type T or a reference to an object of type T or a +// reference to an object of a type derived from T. +struct MemFunAndRef : StrippedAccept { + template + struct AcceptImpl : std::false_type {}; + + template + struct AcceptImpl + : std::is_base_of {}; + + template + struct AcceptImpl + : std::is_base_of {}; + + template + static decltype((std::declval().* + std::declval())(std::declval()...)) + Invoke(MemFun&& mem_fun, Obj&& obj, Args&&... args) { + return (std::forward(obj).* + std::forward(mem_fun))(std::forward(args)...); + } +}; + +// ((*t1).*f)(t2, ..., tN) when f is a pointer to a member function of a +// class T and t1 is not one of the types described in the previous item. +struct MemFunAndPtr : StrippedAccept { + template + struct AcceptImpl : std::false_type {}; + + template + struct AcceptImpl + : std::integral_constant::value> {}; + + template + struct AcceptImpl + : std::integral_constant::value> {}; + + template + static decltype(((*std::declval()).* + std::declval())(std::declval()...)) + Invoke(MemFun&& mem_fun, Ptr&& ptr, Args&&... args) { + return ((*std::forward(ptr)).* + std::forward(mem_fun))(std::forward(args)...); + } +}; + +// t1.*f when N == 1 and f is a pointer to member data of a class T and t1 is +// an object of type T or a reference to an object of type T or a reference +// to an object of a type derived from T. +struct DataMemAndRef : StrippedAccept { + template + struct AcceptImpl : std::false_type {}; + + template + struct AcceptImpl : std::is_base_of {}; + + template + static decltype(std::declval().*std::declval()) Invoke( + DataMem&& data_mem, Ref&& ref) { + return std::forward(ref).*std::forward(data_mem); + } +}; + +// (*t1).*f when N == 1 and f is a pointer to member data of a class T and t1 +// is not one of the types described in the previous item. +struct DataMemAndPtr : StrippedAccept { + template + struct AcceptImpl : std::false_type {}; + + template + struct AcceptImpl + : std::integral_constant::value> {}; + + template + static decltype((*std::declval()).*std::declval()) Invoke( + DataMem&& data_mem, Ptr&& ptr) { + return (*std::forward(ptr)).*std::forward(data_mem); + } +}; + +// f(t1, t2, ..., tN) in all other cases. +struct Callable { + // Callable doesn't have Accept because it's the last clause that gets picked + // when none of the previous clauses are applicable. + template + static decltype(std::declval()(std::declval()...)) Invoke( + F&& f, Args&&... args) { + return std::forward(f)(std::forward(args)...); + } +}; + +// Resolves to the first matching clause. +template +struct Invoker { + typedef typename std::conditional< + MemFunAndRef::Accept::value, MemFunAndRef, + typename std::conditional< + MemFunAndPtr::Accept::value, MemFunAndPtr, + typename std::conditional< + DataMemAndRef::Accept::value, DataMemAndRef, + typename std::conditional::value, + DataMemAndPtr, Callable>::type>::type>:: + type>::type type; +}; + +// The result type of Invoke. +template +using InvokeT = decltype(Invoker::type::Invoke( + std::declval(), std::declval()...)); + +// Invoke(f, args...) is an implementation of INVOKE(f, args...) from section +// [func.require] of the C++ standard. +template +InvokeT Invoke(F&& f, Args&&... args) { + return Invoker::type::Invoke(std::forward(f), + std::forward(args)...); +} +} // namespace base_internal +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_INVOKE_H_ diff --git a/webrtc_dsp/absl/base/internal/raw_logging.cc b/webrtc_dsp/absl/base/internal/raw_logging.cc new file mode 100755 index 0000000000..d9485a66cc --- /dev/null +++ b/webrtc_dsp/absl/base/internal/raw_logging.cc @@ -0,0 +1,234 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "absl/base/internal/raw_logging.h" + +#include +#include +#include +#include +#include + +#include "absl/base/attributes.h" +#include "absl/base/config.h" +#include "absl/base/internal/atomic_hook.h" +#include "absl/base/log_severity.h" + +// We know how to perform low-level writes to stderr in POSIX and Windows. For +// these platforms, we define the token ABSL_LOW_LEVEL_WRITE_SUPPORTED. +// Much of raw_logging.cc becomes a no-op when we can't output messages, +// although a FATAL ABSL_RAW_LOG message will still abort the process. + +// ABSL_HAVE_POSIX_WRITE is defined when the platform provides posix write() +// (as from unistd.h) +// +// This preprocessor token is also defined in raw_io.cc. If you need to copy +// this, consider moving both to config.h instead. +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ + defined(__Fuchsia__) || defined(__native_client__) +#include + + +#define ABSL_HAVE_POSIX_WRITE 1 +#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 +#else +#undef ABSL_HAVE_POSIX_WRITE +#endif + +// ABSL_HAVE_SYSCALL_WRITE is defined when the platform provides the syscall +// syscall(SYS_write, /*int*/ fd, /*char* */ buf, /*size_t*/ len); +// for low level operations that want to avoid libc. +#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) +#include +#define ABSL_HAVE_SYSCALL_WRITE 1 +#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 +#else +#undef ABSL_HAVE_SYSCALL_WRITE +#endif + +#ifdef _WIN32 +#include + +#define ABSL_HAVE_RAW_IO 1 +#define ABSL_LOW_LEVEL_WRITE_SUPPORTED 1 +#else +#undef ABSL_HAVE_RAW_IO +#endif + +// TODO(gfalcon): We want raw-logging to work on as many platforms as possible. +// Explicitly #error out when not ABSL_LOW_LEVEL_WRITE_SUPPORTED, except for a +// whitelisted set of platforms for which we expect not to be able to raw log. + +ABSL_CONST_INIT static absl::base_internal::AtomicHook< + absl::raw_logging_internal::LogPrefixHook> log_prefix_hook; +ABSL_CONST_INIT static absl::base_internal::AtomicHook< + absl::raw_logging_internal::AbortHook> abort_hook; + +#ifdef ABSL_LOW_LEVEL_WRITE_SUPPORTED +static const char kTruncated[] = " ... (message truncated)\n"; + +// sprintf the format to the buffer, adjusting *buf and *size to reflect the +// consumed bytes, and return whether the message fit without truncation. If +// truncation occurred, if possible leave room in the buffer for the message +// kTruncated[]. +inline static bool VADoRawLog(char** buf, int* size, const char* format, + va_list ap) ABSL_PRINTF_ATTRIBUTE(3, 0); +inline static bool VADoRawLog(char** buf, int* size, + const char* format, va_list ap) { + int n = vsnprintf(*buf, *size, format, ap); + bool result = true; + if (n < 0 || n > *size) { + result = false; + if (static_cast(*size) > sizeof(kTruncated)) { + n = *size - sizeof(kTruncated); // room for truncation message + } else { + n = 0; // no room for truncation message + } + } + *size -= n; + *buf += n; + return result; +} +#endif // ABSL_LOW_LEVEL_WRITE_SUPPORTED + +static constexpr int kLogBufSize = 3000; + +namespace { + +// CAVEAT: vsnprintf called from *DoRawLog below has some (exotic) code paths +// that invoke malloc() and getenv() that might acquire some locks. + +// Helper for RawLog below. +// *DoRawLog writes to *buf of *size and move them past the written portion. +// It returns true iff there was no overflow or error. +bool DoRawLog(char** buf, int* size, const char* format, ...) + ABSL_PRINTF_ATTRIBUTE(3, 4); +bool DoRawLog(char** buf, int* size, const char* format, ...) { + va_list ap; + va_start(ap, format); + int n = vsnprintf(*buf, *size, format, ap); + va_end(ap); + if (n < 0 || n > *size) return false; + *size -= n; + *buf += n; + return true; +} + +void RawLogVA(absl::LogSeverity severity, const char* file, int line, + const char* format, va_list ap) ABSL_PRINTF_ATTRIBUTE(4, 0); +void RawLogVA(absl::LogSeverity severity, const char* file, int line, + const char* format, va_list ap) { + char buffer[kLogBufSize]; + char* buf = buffer; + int size = sizeof(buffer); +#ifdef ABSL_LOW_LEVEL_WRITE_SUPPORTED + bool enabled = true; +#else + bool enabled = false; +#endif + +#ifdef ABSL_MIN_LOG_LEVEL + if (severity < static_cast(ABSL_MIN_LOG_LEVEL) && + severity < absl::LogSeverity::kFatal) { + enabled = false; + } +#endif + + auto log_prefix_hook_ptr = log_prefix_hook.Load(); + if (log_prefix_hook_ptr) { + enabled = log_prefix_hook_ptr(severity, file, line, &buf, &size); + } else { + if (enabled) { + DoRawLog(&buf, &size, "[%s : %d] RAW: ", file, line); + } + } + const char* const prefix_end = buf; + +#ifdef ABSL_LOW_LEVEL_WRITE_SUPPORTED + if (enabled) { + bool no_chop = VADoRawLog(&buf, &size, format, ap); + if (no_chop) { + DoRawLog(&buf, &size, "\n"); + } else { + DoRawLog(&buf, &size, "%s", kTruncated); + } + absl::raw_logging_internal::SafeWriteToStderr(buffer, strlen(buffer)); + } +#else + static_cast(format); + static_cast(ap); +#endif + + // Abort the process after logging a FATAL message, even if the output itself + // was suppressed. + if (severity == absl::LogSeverity::kFatal) { + abort_hook(file, line, buffer, prefix_end, buffer + kLogBufSize); + abort(); + } +} + +} // namespace + +namespace absl { +namespace raw_logging_internal { +void SafeWriteToStderr(const char *s, size_t len) { +#if defined(ABSL_HAVE_SYSCALL_WRITE) + syscall(SYS_write, STDERR_FILENO, s, len); +#elif defined(ABSL_HAVE_POSIX_WRITE) + write(STDERR_FILENO, s, len); +#elif defined(ABSL_HAVE_RAW_IO) + _write(/* stderr */ 2, s, len); +#else + // stderr logging unsupported on this platform + (void) s; + (void) len; +#endif +} + +void RawLog(absl::LogSeverity severity, const char* file, int line, + const char* format, ...) ABSL_PRINTF_ATTRIBUTE(4, 5); +void RawLog(absl::LogSeverity severity, const char* file, int line, + const char* format, ...) { + va_list ap; + va_start(ap, format); + RawLogVA(severity, file, line, format, ap); + va_end(ap); +} + +// Non-formatting version of RawLog(). +// +// TODO(gfalcon): When string_view no longer depends on base, change this +// interface to take its message as a string_view instead. +static void DefaultInternalLog(absl::LogSeverity severity, const char* file, + int line, const std::string& message) { + RawLog(severity, file, line, "%s", message.c_str()); +} + +bool RawLoggingFullySupported() { +#ifdef ABSL_LOW_LEVEL_WRITE_SUPPORTED + return true; +#else // !ABSL_LOW_LEVEL_WRITE_SUPPORTED + return false; +#endif // !ABSL_LOW_LEVEL_WRITE_SUPPORTED +} + +ABSL_CONST_INIT absl::base_internal::AtomicHook + internal_log_function(DefaultInternalLog); + +void RegisterInternalLogFunction(InternalLogFunction func) { + internal_log_function.Store(func); +} + +} // namespace raw_logging_internal +} // namespace absl diff --git a/webrtc_dsp/absl/base/internal/raw_logging.h b/webrtc_dsp/absl/base/internal/raw_logging.h new file mode 100755 index 0000000000..79a7bb9b2f --- /dev/null +++ b/webrtc_dsp/absl/base/internal/raw_logging.h @@ -0,0 +1,180 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Thread-safe logging routines that do not allocate any memory or +// acquire any locks, and can therefore be used by low-level memory +// allocation, synchronization, and signal-handling code. + +#ifndef ABSL_BASE_INTERNAL_RAW_LOGGING_H_ +#define ABSL_BASE_INTERNAL_RAW_LOGGING_H_ + +#include + +#include "absl/base/attributes.h" +#include "absl/base/internal/atomic_hook.h" +#include "absl/base/log_severity.h" +#include "absl/base/macros.h" +#include "absl/base/port.h" + +// This is similar to LOG(severity) << format..., but +// * it is to be used ONLY by low-level modules that can't use normal LOG() +// * it is designed to be a low-level logger that does not allocate any +// memory and does not need any locks, hence: +// * it logs straight and ONLY to STDERR w/o buffering +// * it uses an explicit printf-format and arguments list +// * it will silently chop off really long message strings +// Usage example: +// ABSL_RAW_LOG(ERROR, "Failed foo with %i: %s", status, error); +// This will print an almost standard log line like this to stderr only: +// E0821 211317 file.cc:123] RAW: Failed foo with 22: bad_file +#define ABSL_RAW_LOG(severity, ...) \ + do { \ + constexpr const char* absl_raw_logging_internal_basename = \ + ::absl::raw_logging_internal::Basename(__FILE__, \ + sizeof(__FILE__) - 1); \ + ::absl::raw_logging_internal::RawLog(ABSL_RAW_LOGGING_INTERNAL_##severity, \ + absl_raw_logging_internal_basename, \ + __LINE__, __VA_ARGS__); \ + } while (0) + +// Similar to CHECK(condition) << message, but for low-level modules: +// we use only ABSL_RAW_LOG that does not allocate memory. +// We do not want to provide args list here to encourage this usage: +// if (!cond) ABSL_RAW_LOG(FATAL, "foo ...", hard_to_compute_args); +// so that the args are not computed when not needed. +#define ABSL_RAW_CHECK(condition, message) \ + do { \ + if (ABSL_PREDICT_FALSE(!(condition))) { \ + ABSL_RAW_LOG(FATAL, "Check %s failed: %s", #condition, message); \ + } \ + } while (0) + +// ABSL_INTERNAL_LOG and ABSL_INTERNAL_CHECK work like the RAW variants above, +// except that if the richer log library is linked into the binary, we dispatch +// to that instead. This is potentially useful for internal logging and +// assertions, where we are using RAW_LOG neither for its async-signal-safety +// nor for its non-allocating nature, but rather because raw logging has very +// few other dependencies. +// +// The API is a subset of the above: each macro only takes two arguments. Use +// StrCat if you need to build a richer message. +#define ABSL_INTERNAL_LOG(severity, message) \ + do { \ + constexpr const char* absl_raw_logging_internal_basename = \ + ::absl::raw_logging_internal::Basename(__FILE__, \ + sizeof(__FILE__) - 1); \ + ::absl::raw_logging_internal::internal_log_function( \ + ABSL_RAW_LOGGING_INTERNAL_##severity, \ + absl_raw_logging_internal_basename, __LINE__, message); \ + } while (0) + +#define ABSL_INTERNAL_CHECK(condition, message) \ + do { \ + if (ABSL_PREDICT_FALSE(!(condition))) { \ + std::string death_message = "Check " #condition " failed: "; \ + death_message += std::string(message); \ + ABSL_INTERNAL_LOG(FATAL, death_message); \ + } \ + } while (0) + +#define ABSL_RAW_LOGGING_INTERNAL_INFO ::absl::LogSeverity::kInfo +#define ABSL_RAW_LOGGING_INTERNAL_WARNING ::absl::LogSeverity::kWarning +#define ABSL_RAW_LOGGING_INTERNAL_ERROR ::absl::LogSeverity::kError +#define ABSL_RAW_LOGGING_INTERNAL_FATAL ::absl::LogSeverity::kFatal +#define ABSL_RAW_LOGGING_INTERNAL_LEVEL(severity) \ + ::absl::NormalizeLogSeverity(severity) + +namespace absl { +namespace raw_logging_internal { + +// Helper function to implement ABSL_RAW_LOG +// Logs format... at "severity" level, reporting it +// as called from file:line. +// This does not allocate memory or acquire locks. +void RawLog(absl::LogSeverity severity, const char* file, int line, + const char* format, ...) ABSL_PRINTF_ATTRIBUTE(4, 5); + +// Writes the provided buffer directly to stderr, in a safe, low-level manner. +// +// In POSIX this means calling write(), which is async-signal safe and does +// not malloc. If the platform supports the SYS_write syscall, we invoke that +// directly to side-step any libc interception. +void SafeWriteToStderr(const char *s, size_t len); + +// compile-time function to get the "base" filename, that is, the part of +// a filename after the last "/" or "\" path separator. The search starts at +// the end of the string; the second parameter is the length of the string. +constexpr const char* Basename(const char* fname, int offset) { + return offset == 0 || fname[offset - 1] == '/' || fname[offset - 1] == '\\' + ? fname + offset + : Basename(fname, offset - 1); +} + +// For testing only. +// Returns true if raw logging is fully supported. When it is not +// fully supported, no messages will be emitted, but a log at FATAL +// severity will cause an abort. +// +// TODO(gfalcon): Come up with a better name for this method. +bool RawLoggingFullySupported(); + +// Function type for a raw_logging customization hook for suppressing messages +// by severity, and for writing custom prefixes on non-suppressed messages. +// +// The installed hook is called for every raw log invocation. The message will +// be logged to stderr only if the hook returns true. FATAL errors will cause +// the process to abort, even if writing to stderr is suppressed. The hook is +// also provided with an output buffer, where it can write a custom log message +// prefix. +// +// The raw_logging system does not allocate memory or grab locks. User-provided +// hooks must avoid these operations, and must not throw exceptions. +// +// 'severity' is the severity level of the message being written. +// 'file' and 'line' are the file and line number where the ABSL_RAW_LOG macro +// was located. +// 'buffer' and 'buf_size' are pointers to the buffer and buffer size. If the +// hook writes a prefix, it must increment *buffer and decrement *buf_size +// accordingly. +using LogPrefixHook = bool (*)(absl::LogSeverity severity, const char* file, + int line, char** buffer, int* buf_size); + +// Function type for a raw_logging customization hook called to abort a process +// when a FATAL message is logged. If the provided AbortHook() returns, the +// logging system will call abort(). +// +// 'file' and 'line' are the file and line number where the ABSL_RAW_LOG macro +// was located. +// The null-terminated logged message lives in the buffer between 'buf_start' +// and 'buf_end'. 'prefix_end' points to the first non-prefix character of the +// buffer (as written by the LogPrefixHook.) +using AbortHook = void (*)(const char* file, int line, const char* buf_start, + const char* prefix_end, const char* buf_end); + +// Internal logging function for ABSL_INTERNAL_LOG to dispatch to. +// +// TODO(gfalcon): When string_view no longer depends on base, change this +// interface to take its message as a string_view instead. +using InternalLogFunction = void (*)(absl::LogSeverity severity, + const char* file, int line, + const std::string& message); + +extern base_internal::AtomicHook internal_log_function; + +void RegisterInternalLogFunction(InternalLogFunction func); + +} // namespace raw_logging_internal +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_RAW_LOGGING_H_ diff --git a/webrtc_dsp/absl/base/internal/throw_delegate.cc b/webrtc_dsp/absl/base/internal/throw_delegate.cc new file mode 100755 index 0000000000..46dc573cfa --- /dev/null +++ b/webrtc_dsp/absl/base/internal/throw_delegate.cc @@ -0,0 +1,106 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "absl/base/internal/throw_delegate.h" + +#include +#include +#include +#include +#include "absl/base/config.h" +#include "absl/base/internal/raw_logging.h" + +namespace absl { +namespace base_internal { + +namespace { +template +[[noreturn]] void Throw(const T& error) { +#ifdef ABSL_HAVE_EXCEPTIONS + throw error; +#else + ABSL_RAW_LOG(ERROR, "%s", error.what()); + abort(); +#endif +} +} // namespace + +void ThrowStdLogicError(const std::string& what_arg) { + Throw(std::logic_error(what_arg)); +} +void ThrowStdLogicError(const char* what_arg) { + Throw(std::logic_error(what_arg)); +} +void ThrowStdInvalidArgument(const std::string& what_arg) { + Throw(std::invalid_argument(what_arg)); +} +void ThrowStdInvalidArgument(const char* what_arg) { + Throw(std::invalid_argument(what_arg)); +} + +void ThrowStdDomainError(const std::string& what_arg) { + Throw(std::domain_error(what_arg)); +} +void ThrowStdDomainError(const char* what_arg) { + Throw(std::domain_error(what_arg)); +} + +void ThrowStdLengthError(const std::string& what_arg) { + Throw(std::length_error(what_arg)); +} +void ThrowStdLengthError(const char* what_arg) { + Throw(std::length_error(what_arg)); +} + +void ThrowStdOutOfRange(const std::string& what_arg) { + Throw(std::out_of_range(what_arg)); +} +void ThrowStdOutOfRange(const char* what_arg) { + Throw(std::out_of_range(what_arg)); +} + +void ThrowStdRuntimeError(const std::string& what_arg) { + Throw(std::runtime_error(what_arg)); +} +void ThrowStdRuntimeError(const char* what_arg) { + Throw(std::runtime_error(what_arg)); +} + +void ThrowStdRangeError(const std::string& what_arg) { + Throw(std::range_error(what_arg)); +} +void ThrowStdRangeError(const char* what_arg) { + Throw(std::range_error(what_arg)); +} + +void ThrowStdOverflowError(const std::string& what_arg) { + Throw(std::overflow_error(what_arg)); +} +void ThrowStdOverflowError(const char* what_arg) { + Throw(std::overflow_error(what_arg)); +} + +void ThrowStdUnderflowError(const std::string& what_arg) { + Throw(std::underflow_error(what_arg)); +} +void ThrowStdUnderflowError(const char* what_arg) { + Throw(std::underflow_error(what_arg)); +} + +void ThrowStdBadFunctionCall() { Throw(std::bad_function_call()); } + +void ThrowStdBadAlloc() { Throw(std::bad_alloc()); } + +} // namespace base_internal +} // namespace absl diff --git a/webrtc_dsp/absl/base/internal/throw_delegate.h b/webrtc_dsp/absl/base/internal/throw_delegate.h new file mode 100755 index 0000000000..70e2d7709e --- /dev/null +++ b/webrtc_dsp/absl/base/internal/throw_delegate.h @@ -0,0 +1,71 @@ +// +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef ABSL_BASE_INTERNAL_THROW_DELEGATE_H_ +#define ABSL_BASE_INTERNAL_THROW_DELEGATE_H_ + +#include + +namespace absl { +namespace base_internal { + +// Helper functions that allow throwing exceptions consistently from anywhere. +// The main use case is for header-based libraries (eg templates), as they will +// be built by many different targets with their own compiler options. +// In particular, this will allow a safe way to throw exceptions even if the +// caller is compiled with -fno-exceptions. This is intended for implementing +// things like map<>::at(), which the standard documents as throwing an +// exception on error. +// +// Using other techniques like #if tricks could lead to ODR violations. +// +// You shouldn't use it unless you're writing code that you know will be built +// both with and without exceptions and you need to conform to an interface +// that uses exceptions. + +[[noreturn]] void ThrowStdLogicError(const std::string& what_arg); +[[noreturn]] void ThrowStdLogicError(const char* what_arg); +[[noreturn]] void ThrowStdInvalidArgument(const std::string& what_arg); +[[noreturn]] void ThrowStdInvalidArgument(const char* what_arg); +[[noreturn]] void ThrowStdDomainError(const std::string& what_arg); +[[noreturn]] void ThrowStdDomainError(const char* what_arg); +[[noreturn]] void ThrowStdLengthError(const std::string& what_arg); +[[noreturn]] void ThrowStdLengthError(const char* what_arg); +[[noreturn]] void ThrowStdOutOfRange(const std::string& what_arg); +[[noreturn]] void ThrowStdOutOfRange(const char* what_arg); +[[noreturn]] void ThrowStdRuntimeError(const std::string& what_arg); +[[noreturn]] void ThrowStdRuntimeError(const char* what_arg); +[[noreturn]] void ThrowStdRangeError(const std::string& what_arg); +[[noreturn]] void ThrowStdRangeError(const char* what_arg); +[[noreturn]] void ThrowStdOverflowError(const std::string& what_arg); +[[noreturn]] void ThrowStdOverflowError(const char* what_arg); +[[noreturn]] void ThrowStdUnderflowError(const std::string& what_arg); +[[noreturn]] void ThrowStdUnderflowError(const char* what_arg); + +[[noreturn]] void ThrowStdBadFunctionCall(); +[[noreturn]] void ThrowStdBadAlloc(); + +// ThrowStdBadArrayNewLength() cannot be consistently supported because +// std::bad_array_new_length is missing in libstdc++ until 4.9.0. +// https://gcc.gnu.org/onlinedocs/gcc-4.8.3/libstdc++/api/a01379_source.html +// https://gcc.gnu.org/onlinedocs/gcc-4.9.0/libstdc++/api/a01327_source.html +// libcxx (as of 3.2) and msvc (as of 2015) both have it. +// [[noreturn]] void ThrowStdBadArrayNewLength(); + +} // namespace base_internal +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_THROW_DELEGATE_H_ diff --git a/webrtc_dsp/absl/base/log_severity.h b/webrtc_dsp/absl/base/log_severity.h new file mode 100755 index 0000000000..5770d3629e --- /dev/null +++ b/webrtc_dsp/absl/base/log_severity.h @@ -0,0 +1,67 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef ABSL_BASE_INTERNAL_LOG_SEVERITY_H_ +#define ABSL_BASE_INTERNAL_LOG_SEVERITY_H_ + +#include + +#include "absl/base/attributes.h" + +namespace absl { + +// Four severity levels are defined. Logging APIs should terminate the program +// when a message is logged at severity `kFatal`; the other levels have no +// special semantics. +enum class LogSeverity : int { + kInfo = 0, + kWarning = 1, + kError = 2, + kFatal = 3, +}; + +// Returns an iterable of all standard `absl::LogSeverity` values, ordered from +// least to most severe. +constexpr std::array LogSeverities() { + return {{absl::LogSeverity::kInfo, absl::LogSeverity::kWarning, + absl::LogSeverity::kError, absl::LogSeverity::kFatal}}; +} + +// Returns the all-caps string representation (e.g. "INFO") of the specified +// severity level if it is one of the normal levels and "UNKNOWN" otherwise. +constexpr const char* LogSeverityName(absl::LogSeverity s) { + return s == absl::LogSeverity::kInfo + ? "INFO" + : s == absl::LogSeverity::kWarning + ? "WARNING" + : s == absl::LogSeverity::kError + ? "ERROR" + : s == absl::LogSeverity::kFatal ? "FATAL" : "UNKNOWN"; +} + +// Values less than `kInfo` normalize to `kInfo`; values greater than `kFatal` +// normalize to `kError` (**NOT** `kFatal`). +constexpr absl::LogSeverity NormalizeLogSeverity(absl::LogSeverity s) { + return s < absl::LogSeverity::kInfo + ? absl::LogSeverity::kInfo + : s > absl::LogSeverity::kFatal ? absl::LogSeverity::kError : s; +} +constexpr absl::LogSeverity NormalizeLogSeverity(int s) { + return NormalizeLogSeverity(static_cast(s)); +} + +} // namespace absl + +#endif // ABSL_BASE_INTERNAL_LOG_SEVERITY_H_ diff --git a/webrtc_dsp/absl/base/macros.h b/webrtc_dsp/absl/base/macros.h new file mode 100755 index 0000000000..9e7ab375ee --- /dev/null +++ b/webrtc_dsp/absl/base/macros.h @@ -0,0 +1,212 @@ +// +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: macros.h +// ----------------------------------------------------------------------------- +// +// This header file defines the set of language macros used within Abseil code. +// For the set of macros used to determine supported compilers and platforms, +// see absl/base/config.h instead. +// +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// + +#ifndef ABSL_BASE_MACROS_H_ +#define ABSL_BASE_MACROS_H_ + +#include +#include + +#include "absl/base/port.h" + +// ABSL_ARRAYSIZE() +// +// Returns the number of elements in an array as a compile-time constant, which +// can be used in defining new arrays. If you use this macro on a pointer by +// mistake, you will get a compile-time error. +#define ABSL_ARRAYSIZE(array) \ + (sizeof(::absl::macros_internal::ArraySizeHelper(array))) + +namespace absl { +namespace macros_internal { +// Note: this internal template function declaration is used by ABSL_ARRAYSIZE. +// The function doesn't need a definition, as we only use its type. +template +auto ArraySizeHelper(const T (&array)[N]) -> char (&)[N]; +} // namespace macros_internal +} // namespace absl + +// kLinkerInitialized +// +// An enum used only as a constructor argument to indicate that a variable has +// static storage duration, and that the constructor should do nothing to its +// state. Use of this macro indicates to the reader that it is legal to +// declare a static instance of the class, provided the constructor is given +// the absl::base_internal::kLinkerInitialized argument. +// +// Normally, it is unsafe to declare a static variable that has a constructor or +// a destructor because invocation order is undefined. However, if the type can +// be zero-initialized (which the loader does for static variables) into a valid +// state and the type's destructor does not affect storage, then a constructor +// for static initialization can be declared. +// +// Example: +// // Declaration +// explicit MyClass(absl::base_internal:LinkerInitialized x) {} +// +// // Invocation +// static MyClass my_global(absl::base_internal::kLinkerInitialized); +namespace absl { +namespace base_internal { +enum LinkerInitialized { + kLinkerInitialized = 0, +}; +} // namespace base_internal +} // namespace absl + +// ABSL_FALLTHROUGH_INTENDED +// +// Annotates implicit fall-through between switch labels, allowing a case to +// indicate intentional fallthrough and turn off warnings about any lack of a +// `break` statement. The ABSL_FALLTHROUGH_INTENDED macro should be followed by +// a semicolon and can be used in most places where `break` can, provided that +// no statements exist between it and the next switch label. +// +// Example: +// +// switch (x) { +// case 40: +// case 41: +// if (truth_is_out_there) { +// ++x; +// ABSL_FALLTHROUGH_INTENDED; // Use instead of/along with annotations +// // in comments +// } else { +// return x; +// } +// case 42: +// ... +// +// Notes: when compiled with clang in C++11 mode, the ABSL_FALLTHROUGH_INTENDED +// macro is expanded to the [[clang::fallthrough]] attribute, which is analysed +// when performing switch labels fall-through diagnostic +// (`-Wimplicit-fallthrough`). See clang documentation on language extensions +// for details: +// http://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough +// +// When used with unsupported compilers, the ABSL_FALLTHROUGH_INTENDED macro +// has no effect on diagnostics. In any case this macro has no effect on runtime +// behavior and performance of code. +#ifdef ABSL_FALLTHROUGH_INTENDED +#error "ABSL_FALLTHROUGH_INTENDED should not be defined." +#endif + +// TODO(zhangxy): Use c++17 standard [[fallthrough]] macro, when supported. +#if defined(__clang__) && defined(__has_warning) +#if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +#define ABSL_FALLTHROUGH_INTENDED [[clang::fallthrough]] +#endif +#elif defined(__GNUC__) && __GNUC__ >= 7 +#define ABSL_FALLTHROUGH_INTENDED [[gnu::fallthrough]] +#endif + +#ifndef ABSL_FALLTHROUGH_INTENDED +#define ABSL_FALLTHROUGH_INTENDED \ + do { \ + } while (0) +#endif + +// ABSL_DEPRECATED() +// +// Marks a deprecated class, struct, enum, function, method and variable +// declarations. The macro argument is used as a custom diagnostic message (e.g. +// suggestion of a better alternative). +// +// Example: +// +// class ABSL_DEPRECATED("Use Bar instead") Foo {...}; +// ABSL_DEPRECATED("Use Baz instead") void Bar() {...} +// +// Every usage of a deprecated entity will trigger a warning when compiled with +// clang's `-Wdeprecated-declarations` option. This option is turned off by +// default, but the warnings will be reported by clang-tidy. +#if defined(__clang__) && __cplusplus >= 201103L +#define ABSL_DEPRECATED(message) __attribute__((deprecated(message))) +#endif + +#ifndef ABSL_DEPRECATED +#define ABSL_DEPRECATED(message) +#endif + +// ABSL_BAD_CALL_IF() +// +// Used on a function overload to trap bad calls: any call that matches the +// overload will cause a compile-time error. This macro uses a clang-specific +// "enable_if" attribute, as described at +// http://clang.llvm.org/docs/AttributeReference.html#enable-if +// +// Overloads which use this macro should be bracketed by +// `#ifdef ABSL_BAD_CALL_IF`. +// +// Example: +// +// int isdigit(int c); +// #ifdef ABSL_BAD_CALL_IF +// int isdigit(int c) +// ABSL_BAD_CALL_IF(c <= -1 || c > 255, +// "'c' must have the value of an unsigned char or EOF"); +// #endif // ABSL_BAD_CALL_IF + +#if defined(__clang__) +# if __has_attribute(enable_if) +# define ABSL_BAD_CALL_IF(expr, msg) \ + __attribute__((enable_if(expr, "Bad call trap"), unavailable(msg))) +# endif +#endif + +// ABSL_ASSERT() +// +// In C++11, `assert` can't be used portably within constexpr functions. +// ABSL_ASSERT functions as a runtime assert but works in C++11 constexpr +// functions. Example: +// +// constexpr double Divide(double a, double b) { +// return ABSL_ASSERT(b != 0), a / b; +// } +// +// This macro is inspired by +// https://akrzemi1.wordpress.com/2017/05/18/asserts-in-constexpr-functions/ +#if defined(NDEBUG) +#define ABSL_ASSERT(expr) (false ? (void)(expr) : (void)0) +#else +#define ABSL_ASSERT(expr) \ + (ABSL_PREDICT_TRUE((expr)) ? (void)0 \ + : [] { assert(false && #expr); }()) // NOLINT +#endif + +#ifdef ABSL_HAVE_EXCEPTIONS +#define ABSL_INTERNAL_TRY try +#define ABSL_INTERNAL_CATCH_ANY catch (...) +#define ABSL_INTERNAL_RETHROW do { throw; } while (false) +#else // ABSL_HAVE_EXCEPTIONS +#define ABSL_INTERNAL_TRY if (true) +#define ABSL_INTERNAL_CATCH_ANY else if (false) +#define ABSL_INTERNAL_RETHROW do {} while (false) +#endif // ABSL_HAVE_EXCEPTIONS + +#endif // ABSL_BASE_MACROS_H_ diff --git a/webrtc_dsp/absl/base/optimization.h b/webrtc_dsp/absl/base/optimization.h new file mode 100755 index 0000000000..2fddfc800c --- /dev/null +++ b/webrtc_dsp/absl/base/optimization.h @@ -0,0 +1,165 @@ +// +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: optimization.h +// ----------------------------------------------------------------------------- +// +// This header file defines portable macros for performance optimization. + +#ifndef ABSL_BASE_OPTIMIZATION_H_ +#define ABSL_BASE_OPTIMIZATION_H_ + +#include "absl/base/config.h" + +// ABSL_BLOCK_TAIL_CALL_OPTIMIZATION +// +// Instructs the compiler to avoid optimizing tail-call recursion. Use of this +// macro is useful when you wish to preserve the existing function order within +// a stack trace for logging, debugging, or profiling purposes. +// +// Example: +// +// int f() { +// int result = g(); +// ABSL_BLOCK_TAIL_CALL_OPTIMIZATION(); +// return result; +// } +#if defined(__pnacl__) +#define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() if (volatile int x = 0) { (void)x; } +#elif defined(__clang__) +// Clang will not tail call given inline volatile assembly. +#define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() __asm__ __volatile__("") +#elif defined(__GNUC__) +// GCC will not tail call given inline volatile assembly. +#define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() __asm__ __volatile__("") +#elif defined(_MSC_VER) +#include +// The __nop() intrinsic blocks the optimisation. +#define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() __nop() +#else +#define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() if (volatile int x = 0) { (void)x; } +#endif + +// ABSL_CACHELINE_SIZE +// +// Explicitly defines the size of the L1 cache for purposes of alignment. +// Setting the cacheline size allows you to specify that certain objects be +// aligned on a cacheline boundary with `ABSL_CACHELINE_ALIGNED` declarations. +// (See below.) +// +// NOTE: this macro should be replaced with the following C++17 features, when +// those are generally available: +// +// * `std::hardware_constructive_interference_size` +// * `std::hardware_destructive_interference_size` +// +// See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html +// for more information. +#if defined(__GNUC__) +// Cache line alignment +#if defined(__i386__) || defined(__x86_64__) +#define ABSL_CACHELINE_SIZE 64 +#elif defined(__powerpc64__) +#define ABSL_CACHELINE_SIZE 128 +#elif defined(__aarch64__) +// We would need to read special register ctr_el0 to find out L1 dcache size. +// This value is a good estimate based on a real aarch64 machine. +#define ABSL_CACHELINE_SIZE 64 +#elif defined(__arm__) +// Cache line sizes for ARM: These values are not strictly correct since +// cache line sizes depend on implementations, not architectures. There +// are even implementations with cache line sizes configurable at boot +// time. +#if defined(__ARM_ARCH_5T__) +#define ABSL_CACHELINE_SIZE 32 +#elif defined(__ARM_ARCH_7A__) +#define ABSL_CACHELINE_SIZE 64 +#endif +#endif + +#ifndef ABSL_CACHELINE_SIZE +// A reasonable default guess. Note that overestimates tend to waste more +// space, while underestimates tend to waste more time. +#define ABSL_CACHELINE_SIZE 64 +#endif + +// ABSL_CACHELINE_ALIGNED +// +// Indicates that the declared object be cache aligned using +// `ABSL_CACHELINE_SIZE` (see above). Cacheline aligning objects allows you to +// load a set of related objects in the L1 cache for performance improvements. +// Cacheline aligning objects properly allows constructive memory sharing and +// prevents destructive (or "false") memory sharing. +// +// NOTE: this macro should be replaced with usage of `alignas()` using +// `std::hardware_constructive_interference_size` and/or +// `std::hardware_destructive_interference_size` when available within C++17. +// +// See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html +// for more information. +// +// On some compilers, `ABSL_CACHELINE_ALIGNED` expands to +// `__attribute__((aligned(ABSL_CACHELINE_SIZE)))`. For compilers where this is +// not known to work, the macro expands to nothing. +// +// No further guarantees are made here. The result of applying the macro +// to variables and types is always implementation-defined. +// +// WARNING: It is easy to use this attribute incorrectly, even to the point +// of causing bugs that are difficult to diagnose, crash, etc. It does not +// of itself guarantee that objects are aligned to a cache line. +// +// Recommendations: +// +// 1) Consult compiler documentation; this comment is not kept in sync as +// toolchains evolve. +// 2) Verify your use has the intended effect. This often requires inspecting +// the generated machine code. +// 3) Prefer applying this attribute to individual variables. Avoid +// applying it to types. This tends to localize the effect. +#define ABSL_CACHELINE_ALIGNED __attribute__((aligned(ABSL_CACHELINE_SIZE))) + +#else // not GCC +#define ABSL_CACHELINE_SIZE 64 +#define ABSL_CACHELINE_ALIGNED +#endif + +// ABSL_PREDICT_TRUE, ABSL_PREDICT_FALSE +// +// Enables the compiler to prioritize compilation using static analysis for +// likely paths within a boolean branch. +// +// Example: +// +// if (ABSL_PREDICT_TRUE(expression)) { +// return result; // Faster if more likely +// } else { +// return 0; +// } +// +// Compilers can use the information that a certain branch is not likely to be +// taken (for instance, a CHECK failure) to optimize for the common case in +// the absence of better information (ie. compiling gcc with `-fprofile-arcs`). +#if ABSL_HAVE_BUILTIN(__builtin_expect) || \ + (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_PREDICT_FALSE(x) (__builtin_expect(x, 0)) +#define ABSL_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) +#else +#define ABSL_PREDICT_FALSE(x) (x) +#define ABSL_PREDICT_TRUE(x) (x) +#endif + +#endif // ABSL_BASE_OPTIMIZATION_H_ diff --git a/webrtc_dsp/absl/base/policy_checks.h b/webrtc_dsp/absl/base/policy_checks.h new file mode 100755 index 0000000000..0a07fc035e --- /dev/null +++ b/webrtc_dsp/absl/base/policy_checks.h @@ -0,0 +1,121 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: policy_checks.h +// ----------------------------------------------------------------------------- +// +// This header enforces a minimum set of policies at build time, such as the +// supported compiler and library versions. Unsupported configurations are +// reported with `#error`. This enforcement is best effort, so successfully +// compiling this header does not guarantee a supported configuration. + +#ifndef ABSL_BASE_POLICY_CHECKS_H_ +#define ABSL_BASE_POLICY_CHECKS_H_ + +// Included for the __GLIBC_PREREQ macro used below. +#include + +// Included for the _STLPORT_VERSION macro used below. +#if defined(__cplusplus) +#include +#endif + +// ----------------------------------------------------------------------------- +// Operating System Check +// ----------------------------------------------------------------------------- + +#if defined(__CYGWIN__) +#error "Cygwin is not supported." +#endif + +// ----------------------------------------------------------------------------- +// Compiler Check +// ----------------------------------------------------------------------------- + +// We support MSVC++ 14.0 update 2 and later. +// This minimum will go up. +#if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023918 && !defined(__clang__) +#error "This package requires Visual Studio 2015 Update 2 or higher." +#endif + +// We support gcc 4.7 and later. +// This minimum will go up. +#if defined(__GNUC__) && !defined(__clang__) +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) +#error "This package requires gcc 4.7 or higher." +#endif +#endif + +// We support Apple Xcode clang 4.2.1 (version 421.11.65) and later. +// This corresponds to Apple Xcode version 4.5. +// This minimum will go up. +#if defined(__apple_build_version__) && __apple_build_version__ < 4211165 +#error "This package requires __apple_build_version__ of 4211165 or higher." +#endif + +// ----------------------------------------------------------------------------- +// C++ Version Check +// ----------------------------------------------------------------------------- + +// Enforce C++11 as the minimum. Note that Visual Studio has not +// advanced __cplusplus despite being good enough for our purposes, so +// so we exempt it from the check. +#if defined(__cplusplus) && !defined(_MSC_VER) +#if __cplusplus < 201103L +#error "C++ versions less than C++11 are not supported." +#endif +#endif + +// ----------------------------------------------------------------------------- +// Standard Library Check +// ----------------------------------------------------------------------------- + +// We have chosen glibc 2.12 as the minimum as it was tagged for release +// in May, 2010 and includes some functionality used in Google software +// (for instance pthread_setname_np): +// https://sourceware.org/ml/libc-alpha/2010-05/msg00000.html +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +#if !__GLIBC_PREREQ(2, 12) +#error "Minimum required version of glibc is 2.12." +#endif +#endif + +#if defined(_STLPORT_VERSION) +#error "STLPort is not supported." +#endif + +// ----------------------------------------------------------------------------- +// `char` Size Check +// ----------------------------------------------------------------------------- + +// Abseil currently assumes CHAR_BIT == 8. If you would like to use Abseil on a +// platform where this is not the case, please provide us with the details about +// your platform so we can consider relaxing this requirement. +#if CHAR_BIT != 8 +#error "Abseil assumes CHAR_BIT == 8." +#endif + +// ----------------------------------------------------------------------------- +// `int` Size Check +// ----------------------------------------------------------------------------- + +// Abseil currently assumes that an int is 4 bytes. If you would like to use +// Abseil on a platform where this is not the case, please provide us with the +// details about your platform so we can consider relaxing this requirement. +#if INT_MAX < 2147483647 +#error "Abseil assumes that int is at least 4 bytes. " +#endif + +#endif // ABSL_BASE_POLICY_CHECKS_H_ diff --git a/webrtc_dsp/absl/base/port.h b/webrtc_dsp/absl/base/port.h new file mode 100755 index 0000000000..1c67257fd8 --- /dev/null +++ b/webrtc_dsp/absl/base/port.h @@ -0,0 +1,26 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// This files is a forwarding header for other headers containing various +// portability macros and functions. +// This file is used for both C and C++! + +#ifndef ABSL_BASE_PORT_H_ +#define ABSL_BASE_PORT_H_ + +#include "absl/base/attributes.h" +#include "absl/base/config.h" +#include "absl/base/optimization.h" + +#endif // ABSL_BASE_PORT_H_ diff --git a/webrtc_dsp/absl/container/inlined_vector.h b/webrtc_dsp/absl/container/inlined_vector.h new file mode 100755 index 0000000000..642dae6cb9 --- /dev/null +++ b/webrtc_dsp/absl/container/inlined_vector.h @@ -0,0 +1,1451 @@ +// Copyright 2018 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: inlined_vector.h +// ----------------------------------------------------------------------------- +// +// This header file contains the declaration and definition of an "inlined +// vector" which behaves in an equivalent fashion to a `std::vector`, except +// that storage for small sequences of the vector are provided inline without +// requiring any heap allocation. +// +// An `absl::InlinedVector` specifies the default capacity `N` as one of +// its template parameters. Instances where `size() <= N` hold contained +// elements in inline space. Typically `N` is very small so that sequences that +// are expected to be short do not require allocations. +// +// An `absl::InlinedVector` does not usually require a specific allocator. If +// the inlined vector grows beyond its initial constraints, it will need to +// allocate (as any normal `std::vector` would). This is usually performed with +// the default allocator (defined as `std::allocator`). Optionally, a custom +// allocator type may be specified as `A` in `absl::InlinedVector`. + +#ifndef ABSL_CONTAINER_INLINED_VECTOR_H_ +#define ABSL_CONTAINER_INLINED_VECTOR_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "absl/algorithm/algorithm.h" +#include "absl/base/internal/throw_delegate.h" +#include "absl/base/optimization.h" +#include "absl/base/port.h" +#include "absl/memory/memory.h" + +namespace absl { + +// ----------------------------------------------------------------------------- +// InlinedVector +// ----------------------------------------------------------------------------- +// +// An `absl::InlinedVector` is designed to be a drop-in replacement for +// `std::vector` for use cases where the vector's size is sufficiently small +// that it can be inlined. If the inlined vector does grow beyond its estimated +// capacity, it will trigger an initial allocation on the heap, and will behave +// as a `std:vector`. The API of the `absl::InlinedVector` within this file is +// designed to cover the same API footprint as covered by `std::vector`. +template > +class InlinedVector { + constexpr static typename A::size_type inlined_capacity() { + return static_cast(N); + } + + static_assert(inlined_capacity() > 0, "InlinedVector needs inlined capacity"); + + template + using DisableIfIntegral = + absl::enable_if_t::value>; + + template + using EnableIfInputIterator = absl::enable_if_t::iterator_category, + std::input_iterator_tag>::value>; + + template + using IteratorCategory = + typename std::iterator_traits::iterator_category; + + using rvalue_reference = typename A::value_type&&; + + public: + using allocator_type = A; + using value_type = typename allocator_type::value_type; + using pointer = typename allocator_type::pointer; + using const_pointer = typename allocator_type::const_pointer; + using reference = typename allocator_type::reference; + using const_reference = typename allocator_type::const_reference; + using size_type = typename allocator_type::size_type; + using difference_type = typename allocator_type::difference_type; + using iterator = pointer; + using const_iterator = const_pointer; + using reverse_iterator = std::reverse_iterator; + using const_reverse_iterator = std::reverse_iterator; + + // --------------------------------------------------------------------------- + // InlinedVector Constructors and Destructor + // --------------------------------------------------------------------------- + + // Creates an empty inlined vector with a default initialized allocator. + InlinedVector() noexcept(noexcept(allocator_type())) + : allocator_and_tag_(allocator_type()) {} + + // Creates an empty inlined vector with a specified allocator. + explicit InlinedVector(const allocator_type& alloc) noexcept + : allocator_and_tag_(alloc) {} + + // Creates an inlined vector with `n` copies of `value_type()`. + explicit InlinedVector(size_type n, + const allocator_type& alloc = allocator_type()) + : allocator_and_tag_(alloc) { + InitAssign(n); + } + + // Creates an inlined vector with `n` copies of `v`. + InlinedVector(size_type n, const_reference v, + const allocator_type& alloc = allocator_type()) + : allocator_and_tag_(alloc) { + InitAssign(n, v); + } + + // Creates an inlined vector of copies of the values in `init_list`. + InlinedVector(std::initializer_list init_list, + const allocator_type& alloc = allocator_type()) + : allocator_and_tag_(alloc) { + AppendRange(init_list.begin(), init_list.end()); + } + + // Creates an inlined vector with elements constructed from the provided + // Iterator range [`first`, `last`). + // + // NOTE: The `enable_if` prevents ambiguous interpretation between a call to + // this constructor with two integral arguments and a call to the above + // `InlinedVector(size_type, const_reference)` constructor. + template * = nullptr> + InlinedVector(InputIterator first, InputIterator last, + const allocator_type& alloc = allocator_type()) + : allocator_and_tag_(alloc) { + AppendRange(first, last); + } + + // Creates a copy of `other` using `other`'s allocator. + InlinedVector(const InlinedVector& other); + + // Creates a copy of `other` but with a specified allocator. + InlinedVector(const InlinedVector& other, const allocator_type& alloc); + + // Creates an inlined vector by moving in the contents of `other`. + // + // NOTE: This move constructor does not allocate and only moves the underlying + // objects, so its `noexcept` specification depends on whether moving the + // underlying objects can throw or not. We assume: + // a) move constructors should only throw due to allocation failure and + // b) if `value_type`'s move constructor allocates, it uses the same + // allocation function as the `InlinedVector`'s allocator, so the move + // constructor is non-throwing if the allocator is non-throwing or + // `value_type`'s move constructor is specified as `noexcept`. + InlinedVector(InlinedVector&& v) noexcept( + absl::allocator_is_nothrow::value || + std::is_nothrow_move_constructible::value); + + // Creates an inlined vector by moving in the contents of `other`. + // + // NOTE: This move constructor allocates and subsequently moves the underlying + // objects, so its `noexcept` specification depends on whether the allocation + // can throw and whether moving the underlying objects can throw. Based on the + // same assumptions as above, the `noexcept` specification is dominated by + // whether the allocation can throw regardless of whether `value_type`'s move + // constructor is specified as `noexcept`. + InlinedVector(InlinedVector&& v, const allocator_type& alloc) noexcept( + absl::allocator_is_nothrow::value); + + ~InlinedVector() { clear(); } + + // --------------------------------------------------------------------------- + // InlinedVector Member Accessors + // --------------------------------------------------------------------------- + + // `InlinedVector::empty()` + // + // Checks if the inlined vector has no elements. + bool empty() const noexcept { return !size(); } + + // `InlinedVector::size()` + // + // Returns the number of elements in the inlined vector. + size_type size() const noexcept { return tag().size(); } + + // `InlinedVector::max_size()` + // + // Returns the maximum number of elements the vector can hold. + size_type max_size() const noexcept { + // One bit of the size storage is used to indicate whether the inlined + // vector is allocated. As a result, the maximum size of the container that + // we can express is half of the max for `size_type`. + return (std::numeric_limits::max)() / 2; + } + + // `InlinedVector::capacity()` + // + // Returns the number of elements that can be stored in the inlined vector + // without requiring a reallocation of underlying memory. + // + // NOTE: For most inlined vectors, `capacity()` should equal + // `inlined_capacity()`. For inlined vectors which exceed this capacity, they + // will no longer be inlined and `capacity()` will equal its capacity on the + // allocated heap. + size_type capacity() const noexcept { + return allocated() ? allocation().capacity() : inlined_capacity(); + } + + // `InlinedVector::data()` + // + // Returns a `pointer` to elements of the inlined vector. This pointer can be + // used to access and modify the contained elements. + // Only results within the range [`0`, `size()`) are defined. + pointer data() noexcept { + return allocated() ? allocated_space() : inlined_space(); + } + + // Overload of `InlinedVector::data()` to return a `const_pointer` to elements + // of the inlined vector. This pointer can be used to access (but not modify) + // the contained elements. + const_pointer data() const noexcept { + return allocated() ? allocated_space() : inlined_space(); + } + + // `InlinedVector::operator[]()` + // + // Returns a `reference` to the `i`th element of the inlined vector using the + // array operator. + reference operator[](size_type i) { + assert(i < size()); + return data()[i]; + } + + // Overload of `InlinedVector::operator[]()` to return a `const_reference` to + // the `i`th element of the inlined vector. + const_reference operator[](size_type i) const { + assert(i < size()); + return data()[i]; + } + + // `InlinedVector::at()` + // + // Returns a `reference` to the `i`th element of the inlined vector. + reference at(size_type i) { + if (ABSL_PREDICT_FALSE(i >= size())) { + base_internal::ThrowStdOutOfRange( + "InlinedVector::at() failed bounds check"); + } + return data()[i]; + } + + // Overload of `InlinedVector::at()` to return a `const_reference` to the + // `i`th element of the inlined vector. + const_reference at(size_type i) const { + if (ABSL_PREDICT_FALSE(i >= size())) { + base_internal::ThrowStdOutOfRange( + "InlinedVector::at() failed bounds check"); + } + return data()[i]; + } + + // `InlinedVector::front()` + // + // Returns a `reference` to the first element of the inlined vector. + reference front() { + assert(!empty()); + return at(0); + } + + // Overload of `InlinedVector::front()` returns a `const_reference` to the + // first element of the inlined vector. + const_reference front() const { + assert(!empty()); + return at(0); + } + + // `InlinedVector::back()` + // + // Returns a `reference` to the last element of the inlined vector. + reference back() { + assert(!empty()); + return at(size() - 1); + } + + // Overload of `InlinedVector::back()` to return a `const_reference` to the + // last element of the inlined vector. + const_reference back() const { + assert(!empty()); + return at(size() - 1); + } + + // `InlinedVector::begin()` + // + // Returns an `iterator` to the beginning of the inlined vector. + iterator begin() noexcept { return data(); } + + // Overload of `InlinedVector::begin()` to return a `const_iterator` to + // the beginning of the inlined vector. + const_iterator begin() const noexcept { return data(); } + + // `InlinedVector::end()` + // + // Returns an `iterator` to the end of the inlined vector. + iterator end() noexcept { return data() + size(); } + + // Overload of `InlinedVector::end()` to return a `const_iterator` to the + // end of the inlined vector. + const_iterator end() const noexcept { return data() + size(); } + + // `InlinedVector::cbegin()` + // + // Returns a `const_iterator` to the beginning of the inlined vector. + const_iterator cbegin() const noexcept { return begin(); } + + // `InlinedVector::cend()` + // + // Returns a `const_iterator` to the end of the inlined vector. + const_iterator cend() const noexcept { return end(); } + + // `InlinedVector::rbegin()` + // + // Returns a `reverse_iterator` from the end of the inlined vector. + reverse_iterator rbegin() noexcept { return reverse_iterator(end()); } + + // Overload of `InlinedVector::rbegin()` to return a + // `const_reverse_iterator` from the end of the inlined vector. + const_reverse_iterator rbegin() const noexcept { + return const_reverse_iterator(end()); + } + + // `InlinedVector::rend()` + // + // Returns a `reverse_iterator` from the beginning of the inlined vector. + reverse_iterator rend() noexcept { return reverse_iterator(begin()); } + + // Overload of `InlinedVector::rend()` to return a `const_reverse_iterator` + // from the beginning of the inlined vector. + const_reverse_iterator rend() const noexcept { + return const_reverse_iterator(begin()); + } + + // `InlinedVector::crbegin()` + // + // Returns a `const_reverse_iterator` from the end of the inlined vector. + const_reverse_iterator crbegin() const noexcept { return rbegin(); } + + // `InlinedVector::crend()` + // + // Returns a `const_reverse_iterator` from the beginning of the inlined + // vector. + const_reverse_iterator crend() const noexcept { return rend(); } + + // `InlinedVector::get_allocator()` + // + // Returns a copy of the allocator of the inlined vector. + allocator_type get_allocator() const { return allocator(); } + + + // --------------------------------------------------------------------------- + // InlinedVector Member Mutators + // --------------------------------------------------------------------------- + + // `InlinedVector::operator=()` + // + // Replaces the contents of the inlined vector with copies of the elements in + // the provided `std::initializer_list`. + InlinedVector& operator=(std::initializer_list init_list) { + AssignRange(init_list.begin(), init_list.end()); + return *this; + } + + // Overload of `InlinedVector::operator=()` to replace the contents of the + // inlined vector with the contents of `other`. + InlinedVector& operator=(const InlinedVector& other) { + if (ABSL_PREDICT_FALSE(this == &other)) return *this; + + // Optimized to avoid reallocation. + // Prefer reassignment to copy construction for elements. + if (size() < other.size()) { // grow + reserve(other.size()); + std::copy(other.begin(), other.begin() + size(), begin()); + std::copy(other.begin() + size(), other.end(), std::back_inserter(*this)); + } else { // maybe shrink + erase(begin() + other.size(), end()); + std::copy(other.begin(), other.end(), begin()); + } + return *this; + } + + // Overload of `InlinedVector::operator=()` to replace the contents of the + // inlined vector with the contents of `other`. + // + // NOTE: As a result of calling this overload, `other` may be empty or it's + // contents may be left in a moved-from state. + InlinedVector& operator=(InlinedVector&& other) { + if (ABSL_PREDICT_FALSE(this == &other)) return *this; + + if (other.allocated()) { + clear(); + tag().set_allocated_size(other.size()); + init_allocation(other.allocation()); + other.tag() = Tag(); + } else { + if (allocated()) clear(); + // Both are inlined now. + if (size() < other.size()) { + auto mid = std::make_move_iterator(other.begin() + size()); + std::copy(std::make_move_iterator(other.begin()), mid, begin()); + UninitializedCopy(mid, std::make_move_iterator(other.end()), end()); + } else { + auto new_end = std::copy(std::make_move_iterator(other.begin()), + std::make_move_iterator(other.end()), begin()); + Destroy(new_end, end()); + } + tag().set_inline_size(other.size()); + } + return *this; + } + + // `InlinedVector::assign()` + // + // Replaces the contents of the inlined vector with `n` copies of `v`. + void assign(size_type n, const_reference v) { + if (n <= size()) { // Possibly shrink + std::fill_n(begin(), n, v); + erase(begin() + n, end()); + return; + } + // Grow + reserve(n); + std::fill_n(begin(), size(), v); + if (allocated()) { + UninitializedFill(allocated_space() + size(), allocated_space() + n, v); + tag().set_allocated_size(n); + } else { + UninitializedFill(inlined_space() + size(), inlined_space() + n, v); + tag().set_inline_size(n); + } + } + + // Overload of `InlinedVector::assign()` to replace the contents of the + // inlined vector with copies of the values in the provided + // `std::initializer_list`. + void assign(std::initializer_list init_list) { + AssignRange(init_list.begin(), init_list.end()); + } + + // Overload of `InlinedVector::assign()` to replace the contents of the + // inlined vector with values constructed from the range [`first`, `last`). + template * = nullptr> + void assign(InputIterator first, InputIterator last) { + AssignRange(first, last); + } + + // `InlinedVector::resize()` + // + // Resizes the inlined vector to contain `n` elements. If `n` is smaller than + // the inlined vector's current size, extra elements are destroyed. If `n` is + // larger than the initial size, new elements are value-initialized. + void resize(size_type n); + + // Overload of `InlinedVector::resize()` to resize the inlined vector to + // contain `n` elements where, if `n` is larger than `size()`, the new values + // will be copy-constructed from `v`. + void resize(size_type n, const_reference v); + + // `InlinedVector::insert()` + // + // Copies `v` into `position`, returning an `iterator` pointing to the newly + // inserted element. + iterator insert(const_iterator position, const_reference v) { + return emplace(position, v); + } + + // Overload of `InlinedVector::insert()` for moving `v` into `position`, + // returning an iterator pointing to the newly inserted element. + iterator insert(const_iterator position, rvalue_reference v) { + return emplace(position, std::move(v)); + } + + // Overload of `InlinedVector::insert()` for inserting `n` contiguous copies + // of `v` starting at `position`. Returns an `iterator` pointing to the first + // of the newly inserted elements. + iterator insert(const_iterator position, size_type n, const_reference v) { + return InsertWithCount(position, n, v); + } + + // Overload of `InlinedVector::insert()` for copying the contents of the + // `std::initializer_list` into the vector starting at `position`. Returns an + // `iterator` pointing to the first of the newly inserted elements. + iterator insert(const_iterator position, + std::initializer_list init_list) { + return insert(position, init_list.begin(), init_list.end()); + } + + // Overload of `InlinedVector::insert()` for inserting elements constructed + // from the range [`first`, `last`). Returns an `iterator` pointing to the + // first of the newly inserted elements. + // + // NOTE: The `enable_if` is intended to disambiguate the two three-argument + // overloads of `insert()`. + template > + iterator insert(const_iterator position, InputIterator first, + InputIterator last) { + return InsertWithRange(position, first, last, + IteratorCategory()); + } + + // `InlinedVector::emplace()` + // + // Constructs and inserts an object in the inlined vector at the given + // `position`, returning an `iterator` pointing to the newly emplaced element. + template + iterator emplace(const_iterator position, Args&&... args); + + // `InlinedVector::emplace_back()` + // + // Constructs and appends a new element to the end of the inlined vector, + // returning a `reference` to the emplaced element. + template + reference emplace_back(Args&&... args) { + size_type s = size(); + assert(s <= capacity()); + if (ABSL_PREDICT_FALSE(s == capacity())) { + return GrowAndEmplaceBack(std::forward(args)...); + } + assert(s < capacity()); + + pointer space; + if (allocated()) { + tag().set_allocated_size(s + 1); + space = allocated_space(); + } else { + tag().set_inline_size(s + 1); + space = inlined_space(); + } + return Construct(space + s, std::forward(args)...); + } + + // `InlinedVector::push_back()` + // + // Appends a copy of `v` to the end of the inlined vector. + void push_back(const_reference v) { static_cast(emplace_back(v)); } + + // Overload of `InlinedVector::push_back()` for moving `v` into a newly + // appended element. + void push_back(rvalue_reference v) { + static_cast(emplace_back(std::move(v))); + } + + // `InlinedVector::pop_back()` + // + // Destroys the element at the end of the inlined vector and shrinks the size + // by `1` (unless the inlined vector is empty, in which case this is a no-op). + void pop_back() noexcept { + assert(!empty()); + size_type s = size(); + if (allocated()) { + Destroy(allocated_space() + s - 1, allocated_space() + s); + tag().set_allocated_size(s - 1); + } else { + Destroy(inlined_space() + s - 1, inlined_space() + s); + tag().set_inline_size(s - 1); + } + } + + // `InlinedVector::erase()` + // + // Erases the element at `position` of the inlined vector, returning an + // `iterator` pointing to the first element following the erased element. + // + // NOTE: May return the end iterator, which is not dereferencable. + iterator erase(const_iterator position) { + assert(position >= begin()); + assert(position < end()); + + iterator pos = const_cast(position); + std::move(pos + 1, end(), pos); + pop_back(); + return pos; + } + + // Overload of `InlinedVector::erase()` for erasing all elements in the + // range [`from`, `to`) in the inlined vector. Returns an `iterator` pointing + // to the first element following the range erased or the end iterator if `to` + // was the end iterator. + iterator erase(const_iterator from, const_iterator to); + + // `InlinedVector::clear()` + // + // Destroys all elements in the inlined vector, sets the size of `0` and + // deallocates the heap allocation if the inlined vector was allocated. + void clear() noexcept { + size_type s = size(); + if (allocated()) { + Destroy(allocated_space(), allocated_space() + s); + allocation().Dealloc(allocator()); + } else if (s != 0) { // do nothing for empty vectors + Destroy(inlined_space(), inlined_space() + s); + } + tag() = Tag(); + } + + // `InlinedVector::reserve()` + // + // Enlarges the underlying representation of the inlined vector so it can hold + // at least `n` elements. This method does not change `size()` or the actual + // contents of the vector. + // + // NOTE: If `n` does not exceed `capacity()`, `reserve()` will have no + // effects. Otherwise, `reserve()` will reallocate, performing an n-time + // element-wise move of everything contained. + void reserve(size_type n) { + if (n > capacity()) { + // Make room for new elements + EnlargeBy(n - size()); + } + } + + // `InlinedVector::shrink_to_fit()` + // + // Reduces memory usage by freeing unused memory. After this call, calls to + // `capacity()` will be equal to `(std::max)(inlined_capacity(), size())`. + // + // If `size() <= inlined_capacity()` and the elements are currently stored on + // the heap, they will be moved to the inlined storage and the heap memory + // will be deallocated. + // + // If `size() > inlined_capacity()` and `size() < capacity()` the elements + // will be moved to a smaller heap allocation. + void shrink_to_fit() { + const auto s = size(); + if (ABSL_PREDICT_FALSE(!allocated() || s == capacity())) return; + + if (s <= inlined_capacity()) { + // Move the elements to the inlined storage. + // We have to do this using a temporary, because `inlined_storage` and + // `allocation_storage` are in a union field. + auto temp = std::move(*this); + assign(std::make_move_iterator(temp.begin()), + std::make_move_iterator(temp.end())); + return; + } + + // Reallocate storage and move elements. + // We can't simply use the same approach as above, because `assign()` would + // call into `reserve()` internally and reserve larger capacity than we need + Allocation new_allocation(allocator(), s); + UninitializedCopy(std::make_move_iterator(allocated_space()), + std::make_move_iterator(allocated_space() + s), + new_allocation.buffer()); + ResetAllocation(new_allocation, s); + } + + // `InlinedVector::swap()` + // + // Swaps the contents of this inlined vector with the contents of `other`. + void swap(InlinedVector& other); + + template + friend Hash AbslHashValue(Hash hash, const InlinedVector& inlined_vector) { + const_pointer p = inlined_vector.data(); + size_type n = inlined_vector.size(); + return Hash::combine(Hash::combine_contiguous(std::move(hash), p, n), n); + } + + private: + // Holds whether the vector is allocated or not in the lowest bit and the size + // in the high bits: + // `size_ = (size << 1) | is_allocated;` + class Tag { + public: + Tag() : size_(0) {} + size_type size() const { return size_ / 2; } + void add_size(size_type n) { size_ += n * 2; } + void set_inline_size(size_type n) { size_ = n * 2; } + void set_allocated_size(size_type n) { size_ = (n * 2) + 1; } + bool allocated() const { return size_ % 2; } + + private: + size_type size_; + }; + + // Derives from `allocator_type` to use the empty base class optimization. + // If the `allocator_type` is stateless, we can store our instance for free. + class AllocatorAndTag : private allocator_type { + public: + explicit AllocatorAndTag(const allocator_type& a) : allocator_type(a) {} + + Tag& tag() { return tag_; } + const Tag& tag() const { return tag_; } + + allocator_type& allocator() { return *this; } + const allocator_type& allocator() const { return *this; } + + private: + Tag tag_; + }; + + class Allocation { + public: + Allocation(allocator_type& a, size_type capacity) + : capacity_(capacity), buffer_(Create(a, capacity)) {} + + void Dealloc(allocator_type& a) { + std::allocator_traits::deallocate(a, buffer_, capacity_); + } + + size_type capacity() const { return capacity_; } + + const_pointer buffer() const { return buffer_; } + + pointer buffer() { return buffer_; } + + private: + static pointer Create(allocator_type& a, size_type n) { + return std::allocator_traits::allocate(a, n); + } + + size_type capacity_; + pointer buffer_; + }; + + const Tag& tag() const { return allocator_and_tag_.tag(); } + + Tag& tag() { return allocator_and_tag_.tag(); } + + Allocation& allocation() { + return reinterpret_cast(rep_.allocation_storage.allocation); + } + + const Allocation& allocation() const { + return reinterpret_cast( + rep_.allocation_storage.allocation); + } + + void init_allocation(const Allocation& allocation) { + new (&rep_.allocation_storage.allocation) Allocation(allocation); + } + + // TODO(absl-team): investigate whether the reinterpret_cast is appropriate. + pointer inlined_space() { + return reinterpret_cast( + std::addressof(rep_.inlined_storage.inlined[0])); + } + + const_pointer inlined_space() const { + return reinterpret_cast( + std::addressof(rep_.inlined_storage.inlined[0])); + } + + pointer allocated_space() { return allocation().buffer(); } + + const_pointer allocated_space() const { return allocation().buffer(); } + + const allocator_type& allocator() const { + return allocator_and_tag_.allocator(); + } + + allocator_type& allocator() { return allocator_and_tag_.allocator(); } + + bool allocated() const { return tag().allocated(); } + + // Enlarge the underlying representation so we can store `size_ + delta` elems + // in allocated space. The size is not changed, and any newly added memory is + // not initialized. + void EnlargeBy(size_type delta); + + // Shift all elements from `position` to `end()` by `n` places to the right. + // If the vector needs to be enlarged, memory will be allocated. + // Returns `iterator`s pointing to the start of the previously-initialized + // portion and the start of the uninitialized portion of the created gap. + // The number of initialized spots is `pair.second - pair.first`. The number + // of raw spots is `n - (pair.second - pair.first)`. + // + // Updates the size of the InlinedVector internally. + std::pair ShiftRight(const_iterator position, + size_type n); + + void ResetAllocation(Allocation new_allocation, size_type new_size) { + if (allocated()) { + Destroy(allocated_space(), allocated_space() + size()); + assert(begin() == allocated_space()); + allocation().Dealloc(allocator()); + allocation() = new_allocation; + } else { + Destroy(inlined_space(), inlined_space() + size()); + init_allocation(new_allocation); // bug: only init once + } + tag().set_allocated_size(new_size); + } + + template + reference GrowAndEmplaceBack(Args&&... args) { + assert(size() == capacity()); + const size_type s = size(); + + Allocation new_allocation(allocator(), 2 * capacity()); + + reference new_element = + Construct(new_allocation.buffer() + s, std::forward(args)...); + UninitializedCopy(std::make_move_iterator(data()), + std::make_move_iterator(data() + s), + new_allocation.buffer()); + + ResetAllocation(new_allocation, s + 1); + + return new_element; + } + + void InitAssign(size_type n); + + void InitAssign(size_type n, const_reference v); + + template + reference Construct(pointer p, Args&&... args) { + std::allocator_traits::construct( + allocator(), p, std::forward(args)...); + return *p; + } + + template + void UninitializedCopy(Iterator src, Iterator src_last, pointer dst) { + for (; src != src_last; ++dst, ++src) Construct(dst, *src); + } + + template + void UninitializedFill(pointer dst, pointer dst_last, const Args&... args) { + for (; dst != dst_last; ++dst) Construct(dst, args...); + } + + // Destroy [`from`, `to`) in place. + void Destroy(pointer from, pointer to); + + template + void AppendRange(Iterator first, Iterator last, std::input_iterator_tag) { + std::copy(first, last, std::back_inserter(*this)); + } + + template + void AppendRange(Iterator first, Iterator last, std::forward_iterator_tag); + + template + void AppendRange(Iterator first, Iterator last) { + AppendRange(first, last, IteratorCategory()); + } + + template + void AssignRange(Iterator first, Iterator last, std::input_iterator_tag); + + template + void AssignRange(Iterator first, Iterator last, std::forward_iterator_tag); + + template + void AssignRange(Iterator first, Iterator last) { + AssignRange(first, last, IteratorCategory()); + } + + iterator InsertWithCount(const_iterator position, size_type n, + const_reference v); + + template + iterator InsertWithRange(const_iterator position, InputIterator first, + InputIterator last, std::input_iterator_tag); + + template + iterator InsertWithRange(const_iterator position, ForwardIterator first, + ForwardIterator last, std::forward_iterator_tag); + + // Stores either the inlined or allocated representation + union Rep { + using ValueTypeBuffer = + absl::aligned_storage_t; + using AllocationBuffer = + absl::aligned_storage_t; + + // Structs wrap the buffers to perform indirection that solves a bizarre + // compilation error on Visual Studio (all known versions). + struct InlinedRep { + ValueTypeBuffer inlined[inlined_capacity()]; + }; + struct AllocatedRep { + AllocationBuffer allocation; + }; + + InlinedRep inlined_storage; + AllocatedRep allocation_storage; + }; + + AllocatorAndTag allocator_and_tag_; + Rep rep_; +}; + +// ----------------------------------------------------------------------------- +// InlinedVector Non-Member Functions +// ----------------------------------------------------------------------------- + +// `swap()` +// +// Swaps the contents of two inlined vectors. This convenience function +// simply calls `InlinedVector::swap()`. +template +void swap(InlinedVector& a, + InlinedVector& b) noexcept(noexcept(a.swap(b))) { + a.swap(b); +} + +// `operator==()` +// +// Tests the equivalency of the contents of two inlined vectors. +template +bool operator==(const InlinedVector& a, + const InlinedVector& b) { + return absl::equal(a.begin(), a.end(), b.begin(), b.end()); +} + +// `operator!=()` +// +// Tests the inequality of the contents of two inlined vectors. +template +bool operator!=(const InlinedVector& a, + const InlinedVector& b) { + return !(a == b); +} + +// `operator<()` +// +// Tests whether the contents of one inlined vector are less than the contents +// of another through a lexicographical comparison operation. +template +bool operator<(const InlinedVector& a, + const InlinedVector& b) { + return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end()); +} + +// `operator>()` +// +// Tests whether the contents of one inlined vector are greater than the +// contents of another through a lexicographical comparison operation. +template +bool operator>(const InlinedVector& a, + const InlinedVector& b) { + return b < a; +} + +// `operator<=()` +// +// Tests whether the contents of one inlined vector are less than or equal to +// the contents of another through a lexicographical comparison operation. +template +bool operator<=(const InlinedVector& a, + const InlinedVector& b) { + return !(b < a); +} + +// `operator>=()` +// +// Tests whether the contents of one inlined vector are greater than or equal to +// the contents of another through a lexicographical comparison operation. +template +bool operator>=(const InlinedVector& a, + const InlinedVector& b) { + return !(a < b); +} + +// ----------------------------------------------------------------------------- +// Implementation of InlinedVector +// +// Do not depend on any below implementation details! +// ----------------------------------------------------------------------------- + +template +InlinedVector::InlinedVector(const InlinedVector& other) + : allocator_and_tag_(other.allocator()) { + reserve(other.size()); + if (allocated()) { + UninitializedCopy(other.begin(), other.end(), allocated_space()); + tag().set_allocated_size(other.size()); + } else { + UninitializedCopy(other.begin(), other.end(), inlined_space()); + tag().set_inline_size(other.size()); + } +} + +template +InlinedVector::InlinedVector(const InlinedVector& other, + const allocator_type& alloc) + : allocator_and_tag_(alloc) { + reserve(other.size()); + if (allocated()) { + UninitializedCopy(other.begin(), other.end(), allocated_space()); + tag().set_allocated_size(other.size()); + } else { + UninitializedCopy(other.begin(), other.end(), inlined_space()); + tag().set_inline_size(other.size()); + } +} + +template +InlinedVector::InlinedVector(InlinedVector&& other) noexcept( + absl::allocator_is_nothrow::value || + std::is_nothrow_move_constructible::value) + : allocator_and_tag_(other.allocator_and_tag_) { + if (other.allocated()) { + // We can just steal the underlying buffer from the source. + // That leaves the source empty, so we clear its size. + init_allocation(other.allocation()); + other.tag() = Tag(); + } else { + UninitializedCopy( + std::make_move_iterator(other.inlined_space()), + std::make_move_iterator(other.inlined_space() + other.size()), + inlined_space()); + } +} + +template +InlinedVector::InlinedVector(InlinedVector&& other, + const allocator_type& alloc) noexcept( // + absl::allocator_is_nothrow::value) + : allocator_and_tag_(alloc) { + if (other.allocated()) { + if (alloc == other.allocator()) { + // We can just steal the allocation from the source. + tag() = other.tag(); + init_allocation(other.allocation()); + other.tag() = Tag(); + } else { + // We need to use our own allocator + reserve(other.size()); + UninitializedCopy(std::make_move_iterator(other.begin()), + std::make_move_iterator(other.end()), + allocated_space()); + tag().set_allocated_size(other.size()); + } + } else { + UninitializedCopy( + std::make_move_iterator(other.inlined_space()), + std::make_move_iterator(other.inlined_space() + other.size()), + inlined_space()); + tag().set_inline_size(other.size()); + } +} + +template +void InlinedVector::InitAssign(size_type n, const_reference v) { + if (n > inlined_capacity()) { + Allocation new_allocation(allocator(), n); + init_allocation(new_allocation); + UninitializedFill(allocated_space(), allocated_space() + n, v); + tag().set_allocated_size(n); + } else { + UninitializedFill(inlined_space(), inlined_space() + n, v); + tag().set_inline_size(n); + } +} + +template +void InlinedVector::InitAssign(size_type n) { + if (n > inlined_capacity()) { + Allocation new_allocation(allocator(), n); + init_allocation(new_allocation); + UninitializedFill(allocated_space(), allocated_space() + n); + tag().set_allocated_size(n); + } else { + UninitializedFill(inlined_space(), inlined_space() + n); + tag().set_inline_size(n); + } +} + +template +void InlinedVector::resize(size_type n) { + size_type s = size(); + if (n < s) { + erase(begin() + n, end()); + return; + } + reserve(n); + assert(capacity() >= n); + + // Fill new space with elements constructed in-place. + if (allocated()) { + UninitializedFill(allocated_space() + s, allocated_space() + n); + tag().set_allocated_size(n); + } else { + UninitializedFill(inlined_space() + s, inlined_space() + n); + tag().set_inline_size(n); + } +} + +template +void InlinedVector::resize(size_type n, const_reference v) { + size_type s = size(); + if (n < s) { + erase(begin() + n, end()); + return; + } + reserve(n); + assert(capacity() >= n); + + // Fill new space with copies of 'v'. + if (allocated()) { + UninitializedFill(allocated_space() + s, allocated_space() + n, v); + tag().set_allocated_size(n); + } else { + UninitializedFill(inlined_space() + s, inlined_space() + n, v); + tag().set_inline_size(n); + } +} + +template +template +auto InlinedVector::emplace(const_iterator position, Args&&... args) + -> iterator { + assert(position >= begin()); + assert(position <= end()); + if (ABSL_PREDICT_FALSE(position == end())) { + emplace_back(std::forward(args)...); + return end() - 1; + } + + T new_t = T(std::forward(args)...); + + auto range = ShiftRight(position, 1); + if (range.first == range.second) { + // constructing into uninitialized memory + Construct(range.first, std::move(new_t)); + } else { + // assigning into moved-from object + *range.first = T(std::move(new_t)); + } + + return range.first; +} + +template +auto InlinedVector::erase(const_iterator from, const_iterator to) + -> iterator { + assert(begin() <= from); + assert(from <= to); + assert(to <= end()); + + iterator range_start = const_cast(from); + iterator range_end = const_cast(to); + + size_type s = size(); + ptrdiff_t erase_gap = std::distance(range_start, range_end); + if (erase_gap > 0) { + pointer space; + if (allocated()) { + space = allocated_space(); + tag().set_allocated_size(s - erase_gap); + } else { + space = inlined_space(); + tag().set_inline_size(s - erase_gap); + } + std::move(range_end, space + s, range_start); + Destroy(space + s - erase_gap, space + s); + } + return range_start; +} + +template +void InlinedVector::swap(InlinedVector& other) { + using std::swap; // Augment ADL with `std::swap`. + if (ABSL_PREDICT_FALSE(this == &other)) return; + + if (allocated() && other.allocated()) { + // Both out of line, so just swap the tag, allocation, and allocator. + swap(tag(), other.tag()); + swap(allocation(), other.allocation()); + swap(allocator(), other.allocator()); + return; + } + if (!allocated() && !other.allocated()) { + // Both inlined: swap up to smaller size, then move remaining elements. + InlinedVector* a = this; + InlinedVector* b = &other; + if (size() < other.size()) { + swap(a, b); + } + + const size_type a_size = a->size(); + const size_type b_size = b->size(); + assert(a_size >= b_size); + // `a` is larger. Swap the elements up to the smaller array size. + std::swap_ranges(a->inlined_space(), a->inlined_space() + b_size, + b->inlined_space()); + + // Move the remaining elements: + // [`b_size`, `a_size`) from `a` -> [`b_size`, `a_size`) from `b` + b->UninitializedCopy(a->inlined_space() + b_size, + a->inlined_space() + a_size, + b->inlined_space() + b_size); + a->Destroy(a->inlined_space() + b_size, a->inlined_space() + a_size); + + swap(a->tag(), b->tag()); + swap(a->allocator(), b->allocator()); + assert(b->size() == a_size); + assert(a->size() == b_size); + return; + } + + // One is out of line, one is inline. + // We first move the elements from the inlined vector into the + // inlined space in the other vector. We then put the other vector's + // pointer/capacity into the originally inlined vector and swap + // the tags. + InlinedVector* a = this; + InlinedVector* b = &other; + if (a->allocated()) { + swap(a, b); + } + assert(!a->allocated()); + assert(b->allocated()); + const size_type a_size = a->size(); + const size_type b_size = b->size(); + // In an optimized build, `b_size` would be unused. + static_cast(b_size); + + // Made Local copies of `size()`, don't need `tag()` accurate anymore + swap(a->tag(), b->tag()); + + // Copy `b_allocation` out before `b`'s union gets clobbered by `inline_space` + Allocation b_allocation = b->allocation(); + + b->UninitializedCopy(a->inlined_space(), a->inlined_space() + a_size, + b->inlined_space()); + a->Destroy(a->inlined_space(), a->inlined_space() + a_size); + + a->allocation() = b_allocation; + + if (a->allocator() != b->allocator()) { + swap(a->allocator(), b->allocator()); + } + + assert(b->size() == a_size); + assert(a->size() == b_size); +} + +template +void InlinedVector::EnlargeBy(size_type delta) { + const size_type s = size(); + assert(s <= capacity()); + + size_type target = std::max(inlined_capacity(), s + delta); + + // Compute new capacity by repeatedly doubling current capacity + // TODO(psrc): Check and avoid overflow? + size_type new_capacity = capacity(); + while (new_capacity < target) { + new_capacity <<= 1; + } + + Allocation new_allocation(allocator(), new_capacity); + + UninitializedCopy(std::make_move_iterator(data()), + std::make_move_iterator(data() + s), + new_allocation.buffer()); + + ResetAllocation(new_allocation, s); +} + +template +auto InlinedVector::ShiftRight(const_iterator position, size_type n) + -> std::pair { + iterator start_used = const_cast(position); + iterator start_raw = const_cast(position); + size_type s = size(); + size_type required_size = s + n; + + if (required_size > capacity()) { + // Compute new capacity by repeatedly doubling current capacity + size_type new_capacity = capacity(); + while (new_capacity < required_size) { + new_capacity <<= 1; + } + // Move everyone into the new allocation, leaving a gap of `n` for the + // requested shift. + Allocation new_allocation(allocator(), new_capacity); + size_type index = position - begin(); + UninitializedCopy(std::make_move_iterator(data()), + std::make_move_iterator(data() + index), + new_allocation.buffer()); + UninitializedCopy(std::make_move_iterator(data() + index), + std::make_move_iterator(data() + s), + new_allocation.buffer() + index + n); + ResetAllocation(new_allocation, s); + + // New allocation means our iterator is invalid, so we'll recalculate. + // Since the entire gap is in new space, there's no used space to reuse. + start_raw = begin() + index; + start_used = start_raw; + } else { + // If we had enough space, it's a two-part move. Elements going into + // previously-unoccupied space need an `UninitializedCopy()`. Elements + // going into a previously-occupied space are just a `std::move()`. + iterator pos = const_cast(position); + iterator raw_space = end(); + size_type slots_in_used_space = raw_space - pos; + size_type new_elements_in_used_space = std::min(n, slots_in_used_space); + size_type new_elements_in_raw_space = n - new_elements_in_used_space; + size_type old_elements_in_used_space = + slots_in_used_space - new_elements_in_used_space; + + UninitializedCopy(std::make_move_iterator(pos + old_elements_in_used_space), + std::make_move_iterator(raw_space), + raw_space + new_elements_in_raw_space); + std::move_backward(pos, pos + old_elements_in_used_space, raw_space); + + // If the gap is entirely in raw space, the used space starts where the raw + // space starts, leaving no elements in used space. If the gap is entirely + // in used space, the raw space starts at the end of the gap, leaving all + // elements accounted for within the used space. + start_used = pos; + start_raw = pos + new_elements_in_used_space; + } + tag().add_size(n); + return std::make_pair(start_used, start_raw); +} + +template +void InlinedVector::Destroy(pointer from, pointer to) { + for (pointer cur = from; cur != to; ++cur) { + std::allocator_traits::destroy(allocator(), cur); + } +#ifndef NDEBUG + // Overwrite unused memory with `0xab` so we can catch uninitialized usage. + // Cast to `void*` to tell the compiler that we don't care that we might be + // scribbling on a vtable pointer. + if (from != to) { + auto len = sizeof(value_type) * std::distance(from, to); + std::memset(reinterpret_cast(from), 0xab, len); + } +#endif +} + +template +template +void InlinedVector::AppendRange(Iterator first, Iterator last, + std::forward_iterator_tag) { + auto length = std::distance(first, last); + reserve(size() + length); + if (allocated()) { + UninitializedCopy(first, last, allocated_space() + size()); + tag().set_allocated_size(size() + length); + } else { + UninitializedCopy(first, last, inlined_space() + size()); + tag().set_inline_size(size() + length); + } +} + +template +template +void InlinedVector::AssignRange(Iterator first, Iterator last, + std::input_iterator_tag) { + // Optimized to avoid reallocation. + // Prefer reassignment to copy construction for elements. + iterator out = begin(); + for (; first != last && out != end(); ++first, ++out) { + *out = *first; + } + erase(out, end()); + std::copy(first, last, std::back_inserter(*this)); +} + +template +template +void InlinedVector::AssignRange(Iterator first, Iterator last, + std::forward_iterator_tag) { + auto length = std::distance(first, last); + // Prefer reassignment to copy construction for elements. + if (static_cast(length) <= size()) { + erase(std::copy(first, last, begin()), end()); + return; + } + reserve(length); + iterator out = begin(); + for (; out != end(); ++first, ++out) *out = *first; + if (allocated()) { + UninitializedCopy(first, last, out); + tag().set_allocated_size(length); + } else { + UninitializedCopy(first, last, out); + tag().set_inline_size(length); + } +} + +template +auto InlinedVector::InsertWithCount(const_iterator position, + size_type n, const_reference v) + -> iterator { + assert(position >= begin() && position <= end()); + if (ABSL_PREDICT_FALSE(n == 0)) return const_cast(position); + + value_type copy = v; + std::pair it_pair = ShiftRight(position, n); + std::fill(it_pair.first, it_pair.second, copy); + UninitializedFill(it_pair.second, it_pair.first + n, copy); + + return it_pair.first; +} + +template +template +auto InlinedVector::InsertWithRange(const_iterator position, + InputIterator first, + InputIterator last, + std::input_iterator_tag) + -> iterator { + assert(position >= begin() && position <= end()); + size_type index = position - cbegin(); + size_type i = index; + while (first != last) insert(begin() + i++, *first++); + return begin() + index; +} + +template +template +auto InlinedVector::InsertWithRange(const_iterator position, + ForwardIterator first, + ForwardIterator last, + std::forward_iterator_tag) + -> iterator { + assert(position >= begin() && position <= end()); + if (ABSL_PREDICT_FALSE(first == last)) return const_cast(position); + + auto n = std::distance(first, last); + std::pair it_pair = ShiftRight(position, n); + size_type used_spots = it_pair.second - it_pair.first; + ForwardIterator open_spot = std::next(first, used_spots); + std::copy(first, open_spot, it_pair.first); + UninitializedCopy(open_spot, last, it_pair.second); + return it_pair.first; +} + +} // namespace absl + +#endif // ABSL_CONTAINER_INLINED_VECTOR_H_ diff --git a/webrtc_dsp/absl/memory/memory.h b/webrtc_dsp/absl/memory/memory.h new file mode 100755 index 0000000000..8bf4fe82ad --- /dev/null +++ b/webrtc_dsp/absl/memory/memory.h @@ -0,0 +1,697 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: memory.h +// ----------------------------------------------------------------------------- +// +// This header file contains utility functions for managing the creation and +// conversion of smart pointers. This file is an extension to the C++ +// standard library header file. + +#ifndef ABSL_MEMORY_MEMORY_H_ +#define ABSL_MEMORY_MEMORY_H_ + +#include +#include +#include +#include +#include +#include + +#include "absl/base/macros.h" +#include "absl/meta/type_traits.h" + +namespace absl { + +// ----------------------------------------------------------------------------- +// Function Template: WrapUnique() +// ----------------------------------------------------------------------------- +// +// Adopts ownership from a raw pointer and transfers it to the returned +// `std::unique_ptr`, whose type is deduced. Because of this deduction, *do not* +// specify the template type `T` when calling `WrapUnique`. +// +// Example: +// X* NewX(int, int); +// auto x = WrapUnique(NewX(1, 2)); // 'x' is std::unique_ptr. +// +// The purpose of WrapUnique is to automatically deduce the pointer type. If you +// wish to make the type explicit, for readability reasons or because you prefer +// to use a base-class pointer rather than a derived one, just use +// `std::unique_ptr` directly. +// +// Example: +// X* Factory(int, int); +// auto x = std::unique_ptr(Factory(1, 2)); +// - or - +// std::unique_ptr x(Factory(1, 2)); +// +// This has the added advantage of working whether Factory returns a raw +// pointer or a `std::unique_ptr`. +// +// While `absl::WrapUnique` is useful for capturing the output of a raw +// pointer factory, prefer 'absl::make_unique(args...)' over +// 'absl::WrapUnique(new T(args...))'. +// +// auto x = WrapUnique(new X(1, 2)); // works, but nonideal. +// auto x = make_unique(1, 2); // safer, standard, avoids raw 'new'. +// +// Note that `absl::WrapUnique(p)` is valid only if `delete p` is a valid +// expression. In particular, `absl::WrapUnique()` cannot wrap pointers to +// arrays, functions or void, and it must not be used to capture pointers +// obtained from array-new expressions (even though that would compile!). +template +std::unique_ptr WrapUnique(T* ptr) { + static_assert(!std::is_array::value, "array types are unsupported"); + static_assert(std::is_object::value, "non-object types are unsupported"); + return std::unique_ptr(ptr); +} + +namespace memory_internal { + +// Traits to select proper overload and return type for `absl::make_unique<>`. +template +struct MakeUniqueResult { + using scalar = std::unique_ptr; +}; +template +struct MakeUniqueResult { + using array = std::unique_ptr; +}; +template +struct MakeUniqueResult { + using invalid = void; +}; + +} // namespace memory_internal + +// gcc 4.8 has __cplusplus at 201301 but doesn't define make_unique. Other +// supported compilers either just define __cplusplus as 201103 but have +// make_unique (msvc), or have make_unique whenever __cplusplus > 201103 (clang) +#if (__cplusplus > 201103L || defined(_MSC_VER)) && \ + !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 8) +using std::make_unique; +#else +// ----------------------------------------------------------------------------- +// Function Template: make_unique() +// ----------------------------------------------------------------------------- +// +// Creates a `std::unique_ptr<>`, while avoiding issues creating temporaries +// during the construction process. `absl::make_unique<>` also avoids redundant +// type declarations, by avoiding the need to explicitly use the `new` operator. +// +// This implementation of `absl::make_unique<>` is designed for C++11 code and +// will be replaced in C++14 by the equivalent `std::make_unique<>` abstraction. +// `absl::make_unique<>` is designed to be 100% compatible with +// `std::make_unique<>` so that the eventual migration will involve a simple +// rename operation. +// +// For more background on why `std::unique_ptr(new T(a,b))` is problematic, +// see Herb Sutter's explanation on +// (Exception-Safe Function Calls)[http://herbsutter.com/gotw/_102/]. +// (In general, reviewers should treat `new T(a,b)` with scrutiny.) +// +// Example usage: +// +// auto p = make_unique(args...); // 'p' is a std::unique_ptr +// auto pa = make_unique(5); // 'pa' is a std::unique_ptr +// +// Three overloads of `absl::make_unique` are required: +// +// - For non-array T: +// +// Allocates a T with `new T(std::forward args...)`, +// forwarding all `args` to T's constructor. +// Returns a `std::unique_ptr` owning that object. +// +// - For an array of unknown bounds T[]: +// +// `absl::make_unique<>` will allocate an array T of type U[] with +// `new U[n]()` and return a `std::unique_ptr` owning that array. +// +// Note that 'U[n]()' is different from 'U[n]', and elements will be +// value-initialized. Note as well that `std::unique_ptr` will perform its +// own destruction of the array elements upon leaving scope, even though +// the array [] does not have a default destructor. +// +// NOTE: an array of unknown bounds T[] may still be (and often will be) +// initialized to have a size, and will still use this overload. E.g: +// +// auto my_array = absl::make_unique(10); +// +// - For an array of known bounds T[N]: +// +// `absl::make_unique<>` is deleted (like with `std::make_unique<>`) as +// this overload is not useful. +// +// NOTE: an array of known bounds T[N] is not considered a useful +// construction, and may cause undefined behavior in templates. E.g: +// +// auto my_array = absl::make_unique(); +// +// In those cases, of course, you can still use the overload above and +// simply initialize it to its desired size: +// +// auto my_array = absl::make_unique(10); + +// `absl::make_unique` overload for non-array types. +template +typename memory_internal::MakeUniqueResult::scalar make_unique( + Args&&... args) { + return std::unique_ptr(new T(std::forward(args)...)); +} + +// `absl::make_unique` overload for an array T[] of unknown bounds. +// The array allocation needs to use the `new T[size]` form and cannot take +// element constructor arguments. The `std::unique_ptr` will manage destructing +// these array elements. +template +typename memory_internal::MakeUniqueResult::array make_unique(size_t n) { + return std::unique_ptr(new typename absl::remove_extent_t[n]()); +} + +// `absl::make_unique` overload for an array T[N] of known bounds. +// This construction will be rejected. +template +typename memory_internal::MakeUniqueResult::invalid make_unique( + Args&&... /* args */) = delete; +#endif + +// ----------------------------------------------------------------------------- +// Function Template: RawPtr() +// ----------------------------------------------------------------------------- +// +// Extracts the raw pointer from a pointer-like value `ptr`. `absl::RawPtr` is +// useful within templates that need to handle a complement of raw pointers, +// `std::nullptr_t`, and smart pointers. +template +auto RawPtr(T&& ptr) -> decltype(std::addressof(*ptr)) { + // ptr is a forwarding reference to support Ts with non-const operators. + return (ptr != nullptr) ? std::addressof(*ptr) : nullptr; +} +inline std::nullptr_t RawPtr(std::nullptr_t) { return nullptr; } + +// ----------------------------------------------------------------------------- +// Function Template: ShareUniquePtr() +// ----------------------------------------------------------------------------- +// +// Adopts a `std::unique_ptr` rvalue and returns a `std::shared_ptr` of deduced +// type. Ownership (if any) of the held value is transferred to the returned +// shared pointer. +// +// Example: +// +// auto up = absl::make_unique(10); +// auto sp = absl::ShareUniquePtr(std::move(up)); // shared_ptr +// CHECK_EQ(*sp, 10); +// CHECK(up == nullptr); +// +// Note that this conversion is correct even when T is an array type, and more +// generally it works for *any* deleter of the `unique_ptr` (single-object +// deleter, array deleter, or any custom deleter), since the deleter is adopted +// by the shared pointer as well. The deleter is copied (unless it is a +// reference). +// +// Implements the resolution of [LWG 2415](http://wg21.link/lwg2415), by which a +// null shared pointer does not attempt to call the deleter. +template +std::shared_ptr ShareUniquePtr(std::unique_ptr&& ptr) { + return ptr ? std::shared_ptr(std::move(ptr)) : std::shared_ptr(); +} + +// ----------------------------------------------------------------------------- +// Function Template: WeakenPtr() +// ----------------------------------------------------------------------------- +// +// Creates a weak pointer associated with a given shared pointer. The returned +// value is a `std::weak_ptr` of deduced type. +// +// Example: +// +// auto sp = std::make_shared(10); +// auto wp = absl::WeakenPtr(sp); +// CHECK_EQ(sp.get(), wp.lock().get()); +// sp.reset(); +// CHECK(wp.lock() == nullptr); +// +template +std::weak_ptr WeakenPtr(const std::shared_ptr& ptr) { + return std::weak_ptr(ptr); +} + +namespace memory_internal { + +// ExtractOr::type evaluates to E if possible. Otherwise, D. +template