Home
last modified time | relevance | path

Searched refs:aecm (Results 1 – 11 of 11) sorted by relevance

/external/webrtc/webrtc/modules/audio_processing/aecm/
Decho_control_mobile.c82 AecMobile* aecm = malloc(sizeof(AecMobile)); in WebRtcAecm_Create() local
86 aecm->aecmCore = WebRtcAecm_CreateCore(); in WebRtcAecm_Create()
87 if (!aecm->aecmCore) { in WebRtcAecm_Create()
88 WebRtcAecm_Free(aecm); in WebRtcAecm_Create()
92 aecm->farendBuf = WebRtc_CreateBuffer(kBufSizeSamp, in WebRtcAecm_Create()
94 if (!aecm->farendBuf) in WebRtcAecm_Create()
96 WebRtcAecm_Free(aecm); in WebRtcAecm_Create()
100 aecm->initFlag = 0; in WebRtcAecm_Create()
103 aecm->aecmCore->farFile = fopen("aecFar.pcm","wb"); in WebRtcAecm_Create()
104 aecm->aecmCore->nearFile = fopen("aecNear.pcm","wb"); in WebRtcAecm_Create()
[all …]
Daecm_core.c211 AecmCore* aecm = malloc(sizeof(AecmCore)); in WebRtcAecm_CreateCore() local
213 aecm->farFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore()
215 if (!aecm->farFrameBuf) in WebRtcAecm_CreateCore()
217 WebRtcAecm_FreeCore(aecm); in WebRtcAecm_CreateCore()
221 aecm->nearNoisyFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore()
223 if (!aecm->nearNoisyFrameBuf) in WebRtcAecm_CreateCore()
225 WebRtcAecm_FreeCore(aecm); in WebRtcAecm_CreateCore()
229 aecm->nearCleanFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore()
231 if (!aecm->nearCleanFrameBuf) in WebRtcAecm_CreateCore()
233 WebRtcAecm_FreeCore(aecm); in WebRtcAecm_CreateCore()
[all …]
Daecm_core_c.c60 static void ComfortNoise(AecmCore* aecm,
65 static void WindowAndFFT(AecmCore* aecm, in WindowAndFFT() argument
85 WebRtcSpl_RealForwardFFT(aecm->real_fft, fft, (int16_t*)freq_signal); in WindowAndFFT()
91 static void InverseFFTAndWindow(AecmCore* aecm, in InverseFFTAndWindow() argument
114 outCFFT = WebRtcSpl_RealInverseFFT(aecm->real_fft, fft, ifft_out); in InverseFFTAndWindow()
119 outCFFT - aecm->dfaCleanQDomain); in InverseFFTAndWindow()
121 tmp32no1 + aecm->outBuf[i], in InverseFFTAndWindow()
127 outCFFT - aecm->dfaCleanQDomain); in InverseFFTAndWindow()
128 aecm->outBuf[i] = (int16_t)WEBRTC_SPL_SAT(WEBRTC_SPL_WORD16_MAX, in InverseFFTAndWindow()
135 memcpy(aecm->xBuf, aecm->xBuf + PART_LEN, sizeof(int16_t) * PART_LEN); in InverseFFTAndWindow()
[all …]
Daecm_core_mips.c70 static void ComfortNoise(AecmCore* aecm,
75 static void WindowAndFFT(AecmCore* aecm, in WindowAndFFT() argument
202 static void InverseFFTAndWindow(AecmCore* aecm, in InverseFFTAndWindow() argument
214 int16_t* paecm_buf = aecm->outBuf; in InverseFFTAndWindow()
313 out_aecm = (int32_t)(outCFFT - aecm->dfaCleanQDomain); in InverseFFTAndWindow()
424 memcpy(aecm->xBuf, aecm->xBuf + PART_LEN, sizeof(int16_t) * PART_LEN); in InverseFFTAndWindow()
425 memcpy(aecm->dBufNoisy, in InverseFFTAndWindow()
426 aecm->dBufNoisy + PART_LEN, in InverseFFTAndWindow()
429 memcpy(aecm->dBufClean, in InverseFFTAndWindow()
430 aecm->dBufClean + PART_LEN, in InverseFFTAndWindow()
[all …]
Daecm_core_neon.c45 void WebRtcAecm_CalcLinearEnergiesNeon(AecmCore* aecm, in WebRtcAecm_CalcLinearEnergiesNeon() argument
51 int16_t* start_stored_p = aecm->channelStored; in WebRtcAecm_CalcLinearEnergiesNeon()
52 int16_t* start_adapt_p = aecm->channelAdapt16; in WebRtcAecm_CalcLinearEnergiesNeon()
54 const int16_t* end_stored_p = aecm->channelStored + PART_LEN; in WebRtcAecm_CalcLinearEnergiesNeon()
110 echo_est[PART_LEN] = WEBRTC_SPL_MUL_16_U16(aecm->channelStored[PART_LEN], in WebRtcAecm_CalcLinearEnergiesNeon()
114 *echo_energy_adapt += aecm->channelAdapt16[PART_LEN] * far_spectrum[PART_LEN]; in WebRtcAecm_CalcLinearEnergiesNeon()
117 void WebRtcAecm_StoreAdaptiveChannelNeon(AecmCore* aecm, in WebRtcAecm_StoreAdaptiveChannelNeon() argument
121 assert((uintptr_t)(aecm->channelStored) % 16 == 0); in WebRtcAecm_StoreAdaptiveChannelNeon()
122 assert((uintptr_t)(aecm->channelAdapt16) % 16 == 0); in WebRtcAecm_StoreAdaptiveChannelNeon()
143 int16_t* start_adapt_p = aecm->channelAdapt16; in WebRtcAecm_StoreAdaptiveChannelNeon()
[all …]
Daecm_core.h159 int WebRtcAecm_InitCore(AecmCore* const aecm, int samplingFreq);
168 void WebRtcAecm_FreeCore(AecmCore* aecm);
170 int WebRtcAecm_Control(AecmCore* aecm, int delay, int nlpFlag);
184 void WebRtcAecm_InitEchoPathCore(AecmCore* aecm, const int16_t* echo_path);
204 int WebRtcAecm_ProcessFrame(AecmCore* aecm,
228 int WebRtcAecm_ProcessBlock(AecmCore* aecm,
244 void WebRtcAecm_BufferFarFrame(AecmCore* const aecm,
259 void WebRtcAecm_FetchFarFrame(AecmCore* const aecm,
316 int16_t WebRtcAecm_CalcSuppressionGain(AecmCore* const aecm);
335 void WebRtcAecm_CalcEnergies(AecmCore* aecm,
[all …]
/external/webrtc/webrtc/modules/audio_processing/
Daudio_processing.gypi45 'aecm/aecm_core.c',
46 'aecm/aecm_core.h',
47 'aecm/echo_control_mobile.c',
48 'aecm/echo_control_mobile.h',
201 'aecm/aecm_core_mips.c',
213 'aecm/aecm_core_c.c',
270 'aecm/aecm_core_neon.c',
DBUILD.gn35 "aecm/aecm_core.c",
36 "aecm/aecm_core.h",
37 "aecm/echo_control_mobile.c",
38 "aecm/echo_control_mobile.h",
196 sources += [ "aecm/aecm_core_mips.c" ]
204 sources += [ "aecm/aecm_core_c.c" ]
258 "aecm/aecm_core_neon.c",
DAndroid.mk54 $(LOCAL_PATH)/aecm/include \
/external/webrtc/
DAndroid.mk118 include $(webrtc_path)/webrtc/modules/audio_processing/aecm/Android.mk
/external/webrtc/webrtc/modules/audio_processing/test/
Dapmtest.m15 % 'aecm' The AECM test set.
60 tests = {'apm','apmm','aec','aecm','agc','ns','vad'};