Home | History | Annotate | Download | only in aecm

Lines Matching defs:fft

361 static void WindowAndFFTC(WebRtc_Word16* fft,
368 memset(fft, 0, sizeof(WebRtc_Word16) * PART_LEN4);
369 // FFT of signal
373 // transformation array |fft|
374 fft[j] = (WebRtc_Word16)WEBRTC_SPL_MUL_16_16_RSFT(
378 fft[PART_LEN2 + j] = (WebRtc_Word16)WEBRTC_SPL_MUL_16_16_RSFT(
386 WebRtcSpl_ComplexBitReverse(fft, PART_LEN_SHIFT);
387 WebRtcSpl_ComplexFFT(fft, PART_LEN_SHIFT, 1);
392 freq_signal[i].real = fft[j];
395 freq_signal[i].imag = - fft
400 WebRtc_Word16* fft,
412 fft[j] = efw[i].real;
415 fft[PART_LEN4 - j] = efw[i].real;
416 fft[j + 1] = -efw[i].imag;
419 fft[PART_LEN4 - (j - 1)] = efw[i].imag;
421 fft[0] = efw[0].real;
422 fft[1] = -efw[0].imag;
424 fft[PART_LEN2] = efw[PART_LEN].real;
425 fft[PART_LEN2 + 1] = -efw[PART_LEN].imag;
427 // inverse FFT, result should be scaled with outCFFT
428 WebRtcSpl_ComplexBitReverse(fft, PART_LEN_SHIFT);
429 outCFFT = WebRtcSpl_ComplexIFFT(fft, PART_LEN_SHIFT, 1);
435 fft[i] = fft[j];
440 fft[i] = (WebRtc_Word16)WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(
441 fft[i],
444 tmp32no1 = WEBRTC_SPL_SHIFT_W32((WebRtc_Word32)fft[i],
446 fft[i] = (WebRtc_Word16)WEBRTC_SPL_SAT(WEBRTC_SPL_WORD16_MAX,
449 output[i] = fft[i];
452 fft[PART_LEN + i],
1394 WebRtc_Word16 *fft = (WebRtc_Word16 *) (((uintptr_t) fft_buf + 31) & ~31);
1410 WebRtcAecm_WindowAndFFT(fft, time_signal, freq_signal, time_signal_scaling);
1415 freq_signal[PART_LEN].real = fft[PART_LEN2];
1437 // Approximation for magnitude of complex fft output
1526 // TODO (kma): define fft with complex16_t.
1532 WebRtc_Word16* fft = (WebRtc_Word16*) (((uintptr_t) fft_buf + 31) & ~ 31);
1903 WebRtcAecm_InverseFFTAndWindow(aecm, fft, efw, output, nearendClean);