/external/chromium_org/third_party/webrtc/modules/audio_processing/aec/ |
aec_core.c | 12 * The core AEC algorithm, which is presented with time-aligned signals. 15 #include "webrtc/modules/audio_processing/aec/aec_core.h" 28 #include "webrtc/modules/audio_processing/aec/aec_common.h" 29 #include "webrtc/modules/audio_processing/aec/aec_core_internal.h" 30 #include "webrtc/modules/audio_processing/aec/aec_rdft.h" 143 static void FilterFar(AecCore* aec, float yf[2][PART_LEN1]) { 145 for (i = 0; i < aec->num_partitions; i++) { 147 int xPos = (i + aec->xfBufBlockPos) * PART_LEN1; 150 if (i + aec->xfBufBlockPos >= aec->num_partitions) 1221 AecCore* aec = malloc(sizeof(AecCore)); local [all...] |
aec_core_sse2.c | 12 * The core AEC algorithm, SSE2 version of speed-critical functions. 20 #include "webrtc/modules/audio_processing/aec/aec_common.h" 21 #include "webrtc/modules/audio_processing/aec/aec_core_internal.h" 22 #include "webrtc/modules/audio_processing/aec/aec_rdft.h" 32 static void FilterFarSSE2(AecCore* aec, float yf[2][PART_LEN1]) { 34 const int num_partitions = aec->num_partitions; 37 int xPos = (i + aec->xfBufBlockPos) * PART_LEN1; 40 if (i + aec->xfBufBlockPos >= num_partitions) { 46 const __m128 xfBuf_re = _mm_loadu_ps(&aec->xfBuf[0][xPos + j]); 47 const __m128 xfBuf_im = _mm_loadu_ps(&aec->xfBuf[1][xPos + j]) [all...] |
aec_core_neon.c | 12 * The core AEC algorithm, neon version of speed-critical functions. 22 #include "webrtc/modules/audio_processing/aec/aec_common.h" 23 #include "webrtc/modules/audio_processing/aec/aec_core_internal.h" 24 #include "webrtc/modules/audio_processing/aec/aec_rdft.h" 37 static void FilterFarNEON(AecCore* aec, float yf[2][PART_LEN1]) { 39 const int num_partitions = aec->num_partitions; 42 int xPos = (i + aec->xfBufBlockPos) * PART_LEN1; 45 if (i + aec->xfBufBlockPos >= num_partitions) { 51 const float32x4_t xfBuf_re = vld1q_f32(&aec->xfBuf[0][xPos + j]); 52 const float32x4_t xfBuf_im = vld1q_f32(&aec->xfBuf[1][xPos + j]) [all...] |
aec_core.h | 12 * Specifies the interface for the AEC core. 53 int WebRtcAec_CreateAec(AecCore** aec); 54 int WebRtcAec_FreeAec(AecCore* aec); 55 int WebRtcAec_InitAec(AecCore* aec, int sampFreq); 64 void WebRtcAec_BufferFarendPartition(AecCore* aec, const float* farend); 65 void WebRtcAec_ProcessFrame(AecCore* aec, 75 int WebRtcAec_MoveFarReadPtr(AecCore* aec, int elements);
|
system_delay_unittest.cc | 13 #include "webrtc/modules/audio_processing/aec/aec_core.h" 15 #include "webrtc/modules/audio_processing/aec/echo_cancellation_internal.h" 16 #include "webrtc/modules/audio_processing/aec/include/echo_cancellation.h" 28 // Initialization of AEC handle with respect to |sample_rate_hz|. Since the 71 // Free AEC 95 // Initialize AEC 123 EXPECT_EQ(buffer_size, WebRtcAec_system_delay(self_->aec)); 147 EXPECT_GE(buffer_size, WebRtcAec_system_delay(self_->aec)); 165 // 4) Under stable conditions (small variations in device buffer sizes) the AEC 168 // 5) Under unstable conditions the AEC should make a decision withi [all...] |
aec_core_mips.c | 12 * The core AEC algorithm, which is presented with time-aligned signals. 15 #include "webrtc/modules/audio_processing/aec/aec_core.h" 20 #include "webrtc/modules/audio_processing/aec/aec_core_internal.h" 21 #include "webrtc/modules/audio_processing/aec/aec_rdft.h" 27 void WebRtcAec_ComfortNoise_mips(AecCore* aec, 42 WebRtcSpl_RandUArray(randW16, PART_LEN, &aec->seed); 277 if (aec->sampFreq == 32000 && flagHbandCn == 1) { 323 void WebRtcAec_FilterFar_mips(AecCore* aec, float yf[2][PART_LEN1]) { 325 for (i = 0; i < aec->num_partitions; i++) { 326 int xPos = (i + aec->xfBufBlockPos) * PART_LEN1 [all...] |
aec_core_internal.h | 15 #include "webrtc/modules/audio_processing/aec/aec_common.h" 16 #include "webrtc/modules/audio_processing/aec/aec_core.h" 101 int system_delay; // Current system delay buffered in AEC. 141 // Sequence number of this AEC instance, so that different instances can 157 typedef void (*WebRtcAec_FilterFar_t)(AecCore* aec, float yf[2][PART_LEN1]); 159 typedef void (*WebRtcAec_ScaleErrorSignal_t)(AecCore* aec, 162 typedef void (*WebRtcAec_FilterAdaptation_t)(AecCore* aec, 166 typedef void (*WebRtcAec_OverdriveAndSuppress_t)(AecCore* aec, 172 typedef void (*WebRtcAec_ComfortNoise_t)(AecCore* aec, 179 typedef void (*WebRtcAec_SubbandCoherence_t)(AecCore* aec, [all...] |
echo_cancellation_internal.h | 14 #include "webrtc/modules/audio_processing/aec/aec_core.h" 28 short initFlag; // indicates if AEC has been initialized 64 AecCore* aec; member in struct:__anon20505
|
echo_cancellation.c | 12 * Contains the API functions for the AEC. 14 #include "webrtc/modules/audio_processing/aec/include/echo_cancellation.h" 24 #include "webrtc/modules/audio_processing/aec/aec_core.h" 25 #include "webrtc/modules/audio_processing/aec/aec_resampler.h" 26 #include "webrtc/modules/audio_processing/aec/echo_cancellation_internal.h" 46 // which are incompatible with the AEC's expectations. Based on measurements 56 // havoc with the AEC's buffering. To avoid this, we set a fixed delay of 20 ms 62 // well to reality. The variance doesn't match the AEC's buffer changes, and the 135 if (WebRtcAec_CreateAec(&aecpc->aec) == -1) { 191 WebRtcAec_FreeAec(aecpc->aec); [all...] |
/external/webrtc/src/modules/audio_processing/aec/ |
aec_core.c | 12 * The core AEC algorithm, which is presented with time-aligned signals. 108 static void ProcessBlock(aec_t* aec); 110 static void NonLinearProcessing(aec_t *aec, short *output, short *outputH); 115 static void ComfortNoise(aec_t *aec, float efw[2][PART_LEN1], 122 static void UpdateMetrics(aec_t *aec); 149 aec_t *aec = malloc(sizeof(aec_t)); local 150 *aecInst = aec; 151 if (aec == NULL) { 155 if (WebRtc_CreateBuffer(&aec->nearFrBuf, 158 WebRtcAec_FreeAec(aec); [all...] |
aec_core.h | 12 * Specifies the interface for the AEC core. 115 int system_delay; // Current system delay buffered in AEC. 156 typedef void (*WebRtcAec_FilterFar_t)(aec_t *aec, float yf[2][PART_LEN1]); 158 typedef void (*WebRtcAec_ScaleErrorSignal_t)(aec_t *aec, float ef[2][PART_LEN1]); 161 (aec_t *aec, float *fft, float ef[2][PART_LEN1]); 164 (aec_t *aec, float hNl[PART_LEN1], const float hNlFb, float efw[2][PART_LEN1]); 167 int WebRtcAec_CreateAec(aec_t **aec); 168 int WebRtcAec_FreeAec(aec_t *aec); 169 int WebRtcAec_InitAec(aec_t *aec, int sampFreq); 172 void WebRtcAec_InitMetrics(aec_t *aec); [all...] |
echo_cancellation.c | 12 * Contains the API functions for the AEC. 60 short initFlag; // indicates if AEC has been initialized 95 aec_t *aec; member in struct:__anon17141 115 if (WebRtcAec_CreateAec(&aecpc->aec) == -1) { 151 aecpc->aec->farFile = fopen(filename, "wb"); 153 aecpc->aec->nearFile = fopen(filename, "wb"); 155 aecpc->aec->outFile = fopen(filename, "wb"); 157 aecpc->aec->outLinearFile = fopen(filename, "wb"); 183 fclose(aecpc->aec->farFile); 184 fclose(aecpc->aec->nearFile) [all...] |
aec_core_sse2.c | 12 * The core AEC algorithm, SSE2 version of speed-critical functions. 34 static void FilterFarSSE2(aec_t *aec, float yf[2][PART_LEN1]) 39 int xPos = (i + aec->xfBufBlockPos) * PART_LEN1; 42 if (i + aec->xfBufBlockPos >= NR_PART) { 48 const __m128 xfBuf_re = _mm_loadu_ps(&aec->xfBuf[0][xPos + j]); 49 const __m128 xfBuf_im = _mm_loadu_ps(&aec->xfBuf[1][xPos + j]); 50 const __m128 wfBuf_re = _mm_loadu_ps(&aec->wfBuf[0][pos + j]); 51 const __m128 wfBuf_im = _mm_loadu_ps(&aec->wfBuf[1][pos + j]); 67 yf[0][j] += MulRe(aec->xfBuf[0][xPos + j], aec->xfBuf[1][xPos + j] [all...] |
/frameworks/base/media/java/android/media/audiofx/ |
AcousticEchoCanceler.java | 22 * Acoustic Echo Canceler (AEC). 23 * <p>Acoustic Echo Canceler (AEC) is an audio pre-processing which removes the contribution of the 25 * <p>AEC is used by voice communication applications (voice chat, video conferencing, SIP calls) 27 * is highly disturbing. AEC is often used in conjunction with noise suppression (NS). 28 * <p>An application creates an AcousticEchoCanceler object to instantiate and control an AEC 34 * <p>On some devices, an AEC can be inserted by default in the capture path by the platform 36 * call AcousticEchoCanceler.getEnable() after creating the AEC to check the default AEC activation 59 * @return AcousticEchoCanceler created or null if the device does not implement AEC. 62 AcousticEchoCanceler aec = null local [all...] |
/cts/tests/tests/media/src/android/media/cts/ |
AudioPreProcessingTest.java | 110 //Test case 2.1: test AEC creation and release 121 AcousticEchoCanceler aec = AcousticEchoCanceler.create(ar.getAudioSessionId()); local 122 assertTrue("AEC not available but created or available and not created", 123 isAvailable == (aec != null)); 124 if (aec != null) { 125 aec.release(); 131 // 2.2 - AEC Enable/disable 134 //Test case 2.2: test AEC setEnabled() and getEnabled() 147 AcousticEchoCanceler aec = AcousticEchoCanceler.create(ar.getAudioSessionId()); local 148 assertNotNull("could not create AcousticEchoCanceler", aec); [all...] |
/device/moto/shamu/ |
audio_effects.conf | 134 aec { 151 # aec { 201 aec {}
|
/device/samsung/manta/ |
audio_effects.conf | 89 aec { 140 aec {}
|
/device/asus/flo/ |
audio_effects.conf | 92 aec { 109 # aec {
|
/device/lge/mako/ |
audio_effects.conf | 85 aec {
|
/device/lge/hammerhead/ |
audio_effects.conf | 207 aec { 219 aec { 233 # aec {
|
/external/chromium_org/third_party/webrtc/modules/audio_processing/test/ |
apmtest.m | 14 % 'aec' The AEC test set. 60 tests = {'apm','apmm','aec','aecm','agc','ns','vad'}; 104 ' -aec --drift_compensation -agc --fixed_digital' ... 116 ' -aec --drift_compensation -agc --adaptive_digital' ... 122 opt = ['-aec --drift_compensation -agc --fixed_digital -hpf -ns ' ...
|
/external/webrtc/src/modules/audio_processing/test/ |
apmtest.m | 14 % 'aec' The AEC test set. 60 tests = {'apm','apmm','aec','aecm','agc','ns','vad'}; 104 ' -aec --drift_compensation -agc --fixed_digital' ... 116 ' -aec --drift_compensation -agc --adaptive_digital' ... 122 opt = ['-aec --drift_compensation -agc --fixed_digital -hpf -ns ' ...
|
/external/chromium_org/third_party/webrtc/modules/ |
audio_processing.target.darwin-arm.mk | 27 third_party/webrtc/modules/audio_processing/aec/echo_cancellation.c \ 28 third_party/webrtc/modules/audio_processing/aec/aec_core.c \ 29 third_party/webrtc/modules/audio_processing/aec/aec_rdft.c \ 30 third_party/webrtc/modules/audio_processing/aec/aec_resampler.c \
|
audio_processing.target.darwin-arm64.mk | 27 third_party/webrtc/modules/audio_processing/aec/echo_cancellation.c \ 28 third_party/webrtc/modules/audio_processing/aec/aec_core.c \ 29 third_party/webrtc/modules/audio_processing/aec/aec_rdft.c \ 30 third_party/webrtc/modules/audio_processing/aec/aec_resampler.c \
|
audio_processing.target.darwin-mips.mk | 27 third_party/webrtc/modules/audio_processing/aec/echo_cancellation.c \ 28 third_party/webrtc/modules/audio_processing/aec/aec_core.c \ 29 third_party/webrtc/modules/audio_processing/aec/aec_rdft.c \ 30 third_party/webrtc/modules/audio_processing/aec/aec_resampler.c \
|