/external/webrtc/webrtc/modules/audio_processing/aecm/ |
D | aecm_core_neon.c | 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() 111 far_spectrum[PART_LEN]); in WebRtcAecm_CalcLinearEnergiesNeon() 112 *echo_energy_stored += (uint32_t)echo_est[PART_LEN]; in WebRtcAecm_CalcLinearEnergiesNeon() 113 *far_energy += (uint32_t)far_spectrum[PART_LEN]; in WebRtcAecm_CalcLinearEnergiesNeon() 114 *echo_energy_adapt += aecm->channelAdapt16[PART_LEN] * far_spectrum[PART_LEN]; in WebRtcAecm_CalcLinearEnergiesNeon() 145 const int16_t* end_stored_p = aecm->channelStored + PART_LEN; in WebRtcAecm_StoreAdaptiveChannelNeon() 171 aecm->channelStored[PART_LEN] = aecm->channelAdapt16[PART_LEN]; in WebRtcAecm_StoreAdaptiveChannelNeon() 172 echo_est[PART_LEN] = WEBRTC_SPL_MUL_16_U16(aecm->channelStored[PART_LEN], in WebRtcAecm_StoreAdaptiveChannelNeon() 173 far_spectrum[PART_LEN]); in WebRtcAecm_StoreAdaptiveChannelNeon() [all …]
|
D | aecm_core_c.c | 73 for (i = 0; i < PART_LEN; i++) { in WindowAndFFT() 78 scaled_time_signal = time_signal[i + PART_LEN] << time_signal_scaling; in WindowAndFFT() 79 fft[PART_LEN + i] = (int16_t)(( in WindowAndFFT() 80 scaled_time_signal * WebRtcAecm_kSqrtHanning[PART_LEN - i]) >> 14); in WindowAndFFT() 86 for (i = 0; i < PART_LEN; i++) { in WindowAndFFT() 103 for (i = 1, j = 2; i < PART_LEN; i += 1, j += 2) { in InverseFFTAndWindow() 110 fft[PART_LEN2] = efw[PART_LEN].real; in InverseFFTAndWindow() 111 fft[PART_LEN2 + 1] = -efw[PART_LEN].imag; in InverseFFTAndWindow() 115 for (i = 0; i < PART_LEN; i++) { in InverseFFTAndWindow() 124 tmp32no1 = (ifft_out[PART_LEN + i] * in InverseFFTAndWindow() [all …]
|
D | aecm_core_mips.c | 216 const int16_t* pp_kSqrtHanning = &WebRtcAecm_kSqrtHanning[PART_LEN]; in InverseFFTAndWindow() 281 fft[2] = efw[PART_LEN].real; in InverseFFTAndWindow() 282 fft[3] = -efw[PART_LEN].imag; in InverseFFTAndWindow() 424 memcpy(aecm->xBuf, aecm->xBuf + PART_LEN, sizeof(int16_t) * PART_LEN); in InverseFFTAndWindow() 426 aecm->dBufNoisy + PART_LEN, in InverseFFTAndWindow() 427 sizeof(int16_t) * PART_LEN); in InverseFFTAndWindow() 430 aecm->dBufClean + PART_LEN, in InverseFFTAndWindow() 431 sizeof(int16_t) * PART_LEN); in InverseFFTAndWindow() 454 for (i = 0; i < PART_LEN; i+= 4) { in WebRtcAecm_CalcLinearEnergies_mips() 512 echo_est[PART_LEN] = WEBRTC_SPL_MUL_16_U16(aecm->channelStored[PART_LEN], in WebRtcAecm_CalcLinearEnergies_mips() [all …]
|
D | aecm_defines.h | 19 #define PART_LEN 64 /* Length of partition. */ macro 22 #define PART_LEN1 (PART_LEN + 1) /* Unique fft coefficients. */ 23 #define PART_LEN2 (PART_LEN << 1) /* Length of partition * 2. */ 24 #define PART_LEN4 (PART_LEN << 2) /* Length of partition * 4. */
|
D | aecm_core.c | 213 aecm->farFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore() 221 aecm->nearNoisyFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore() 229 aecm->nearCleanFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore() 237 aecm->outFrameBuf = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, in WebRtcAecm_CreateCore() 330 for (i = 0; i < PART_LEN; i += 4) in StoreAdaptiveChannelC() 353 for (i = 0; i < PART_LEN; i += 4) in ResetAdaptiveChannelC() 504 COMPILE_ASSERT(PART_LEN % 16 == 0); in WebRtcAecm_InitCore() 558 int16_t outBlock_buf[PART_LEN + 8]; // Align buffer to 8-byte boundary. in WebRtcAecm_ProcessFrame() 580 while (WebRtc_available_read(aecm->farFrameBuf) >= PART_LEN) in WebRtcAecm_ProcessFrame() 582 int16_t far_block[PART_LEN]; in WebRtcAecm_ProcessFrame() [all …]
|
D | aecm_core.h | 86 int16_t outBuf_buf[PART_LEN + 8];
|
/external/webrtc/webrtc/modules/audio_processing/aec/ |
D | aec_core.c | 50 static const int freqAvgIc = PART_LEN / 2; 232 for (j = 0; j < PART_LEN; j++) { in FilterAdaptation() 243 fft[1] = MulRe(x_fft_buf[0][xPos + PART_LEN], in FilterAdaptation() 244 -x_fft_buf[1][xPos + PART_LEN], in FilterAdaptation() 245 e_fft[0][PART_LEN], in FilterAdaptation() 246 e_fft[1][PART_LEN]); in FilterAdaptation() 249 memset(fft + PART_LEN, 0, sizeof(float) * PART_LEN); in FilterAdaptation() 254 for (j = 0; j < PART_LEN; j++) { in FilterAdaptation() 261 h_fft_buf[0][pos + PART_LEN] += fft[1]; in FilterAdaptation() 263 for (j = 1; j < PART_LEN; j++) { in FilterAdaptation() [all …]
|
D | aec_core_mips.c | 32 float rand[PART_LEN]; in WebRtcAec_ComfortNoise_mips() 34 int16_t randW16[PART_LEN]; in WebRtcAec_ComfortNoise_mips() 41 WebRtcSpl_RandUArray(randW16, PART_LEN, &aec->seed); in WebRtcAec_ComfortNoise_mips() 47 for (i = 0; i < PART_LEN; i+=4) { in WebRtcAec_ComfortNoise_mips() 149 u[PART_LEN][1] = 0; in WebRtcAec_ComfortNoise_mips() 150 noisePow -= PART_LEN; in WebRtcAec_ComfortNoise_mips() 153 float* u_ptr_end = &u[PART_LEN][0]; in WebRtcAec_ComfortNoise_mips() 265 lambda -= PART_LEN; in WebRtcAec_ComfortNoise_mips() 266 tmp = sqrtf(WEBRTC_SPL_MAX(1 - lambda[PART_LEN] * lambda[PART_LEN], 0)); in WebRtcAec_ComfortNoise_mips() 268 efw[0][PART_LEN] += tmp * u[PART_LEN][0]; in WebRtcAec_ComfortNoise_mips() [all …]
|
D | aec_core_neon.c | 207 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationNEON() 227 fft[1] = MulRe(x_fft_buf[0][xPos + PART_LEN], in FilterAdaptationNEON() 228 -x_fft_buf[1][xPos + PART_LEN], in FilterAdaptationNEON() 229 e_fft[0][PART_LEN], in FilterAdaptationNEON() 230 e_fft[1][PART_LEN]); in FilterAdaptationNEON() 233 memset(fft + PART_LEN, 0, sizeof(float) * PART_LEN); in FilterAdaptationNEON() 239 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationNEON() 249 h_fft_buf[0][pos + PART_LEN] += fft[1]; in FilterAdaptationNEON() 250 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationNEON() 641 for (i = 0; i < PART_LEN; i += 4) { in WindowDataNEON() [all …]
|
D | aec_core.h | 23 #define PART_LEN 64 // Length of partition macro 24 #define PART_LEN1 (PART_LEN + 1) // Unique fft coefficients 25 #define PART_LEN2 (PART_LEN * 2) // Length of partition * 2
|
D | aec_core_sse2.c | 168 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationSSE2() 191 fft[1] = MulRe(x_fft_buf[0][xPos + PART_LEN], in FilterAdaptationSSE2() 192 -x_fft_buf[1][xPos + PART_LEN], in FilterAdaptationSSE2() 193 e_fft[0][PART_LEN], in FilterAdaptationSSE2() 194 e_fft[1][PART_LEN]); in FilterAdaptationSSE2() 197 memset(fft + PART_LEN, 0, sizeof(float) * PART_LEN); in FilterAdaptationSSE2() 203 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationSSE2() 213 h_fft_buf[0][pos + PART_LEN] += fft[1]; in FilterAdaptationSSE2() 214 for (j = 0; j < PART_LEN; j += 4) { in FilterAdaptationSSE2() 623 for (i = 0; i < PART_LEN; i += 4) { in WindowDataSSE2() [all …]
|
D | echo_cancellation.c | 213 WebRtc_MoveReadPtr(aecpc->far_pre_buf, -PART_LEN); // Start overlap. in WebRtcAec_Init() 332 WebRtc_MoveReadPtr(aecpc->far_pre_buf, -PART_LEN); in WebRtcAec_BufferFarend() 662 (4 * aecpc->counter * PART_LEN), in ProcessNormal() 685 WebRtcAec_system_delay(aecpc->aec) / PART_LEN - aecpc->bufSizeStart; in ProcessNormal() 774 (WebRtcAec_system_delay(self->aec) - target_delay) / PART_LEN; in ProcessExtended() 817 if (current_delay < PART_LEN) { in EstBufDelayNormal() 818 current_delay += WebRtcAec_MoveFarReadPtr(aecpc->aec, 1) * PART_LEN; in EstBufDelayNormal() 870 if (current_delay < PART_LEN) { in EstBufDelayExtended() 871 current_delay += WebRtcAec_MoveFarReadPtr(self->aec, 2) * PART_LEN; in EstBufDelayExtended()
|
D | aec_core_internal.h | 90 float outBuf[PART_LEN];
|
D | system_delay_unittest.cc | 483 if (device_buf - system_delay_after >= PART_LEN) { in TEST_F() 530 if (device_buf - WebRtcAec_system_delay(self_->aec) < PART_LEN) { in TEST_F()
|