Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: webrtc/modules/audio_processing/aec/aec_core.c

Issue 1639283002: Clang format changes (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merged with latest code from master Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/aec/aec_core.c
diff --git a/webrtc/modules/audio_processing/aec/aec_core.c b/webrtc/modules/audio_processing/aec/aec_core.c
index 18189a0b7c8215a8d4d71b233186028c9a589159..bd9c50c2eecbce0acd2ff6345edd80e79d67374d 100644
--- a/webrtc/modules/audio_processing/aec/aec_core.c
+++ b/webrtc/modules/audio_processing/aec/aec_core.c
@@ -34,7 +34,6 @@
#include "webrtc/system_wrappers/include/cpu_features_wrapper.h"
#include "webrtc/typedefs.h"
-
// Buffer size (samples)
static const size_t kBufSizePartitions = 250; // 1 second of audio in 16 kHz.
@@ -120,9 +119,7 @@ const float WebRtcAec_kNormalSmoothingCoefficients[2][2] = {{0.9f, 0.1f},
{0.93f, 0.07f}};
// Number of partitions forming the NLP's "preferred" bands.
-enum {
- kPrefBandSize = 24
-};
+enum { kPrefBandSize = 24 };
#ifdef WEBRTC_AEC_DEBUG_DUMP
extern int webrtc_aec_instance_count;
@@ -153,12 +150,11 @@ static int CmpFloat(const void* a, const void* b) {
return (*da > *db) - (*da < *db);
}
-static void FilterFar(
- int num_partitions,
- int x_fft_buf_block_pos,
- float x_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
- float h_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
- float y_fft[2][PART_LEN1]) {
+static void FilterFar(int num_partitions,
+ int x_fft_buf_block_pos,
+ float x_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
+ float h_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
+ float y_fft[2][PART_LEN1]) {
int i;
for (i = 0; i < num_partitions; i++) {
int j;
@@ -170,14 +166,10 @@ static void FilterFar(
}
for (j = 0; j < PART_LEN1; j++) {
- y_fft[0][j] += MulRe(x_fft_buf[0][xPos + j],
- x_fft_buf[1][xPos + j],
- h_fft_buf[0][pos + j],
- h_fft_buf[1][pos + j]);
- y_fft[1][j] += MulIm(x_fft_buf[0][xPos + j],
- x_fft_buf[1][xPos + j],
- h_fft_buf[0][pos + j],
- h_fft_buf[1][pos + j]);
+ y_fft[0][j] += MulRe(x_fft_buf[0][xPos + j], x_fft_buf[1][xPos + j],
+ h_fft_buf[0][pos + j], h_fft_buf[1][pos + j]);
+ y_fft[1][j] += MulIm(x_fft_buf[0][xPos + j], x_fft_buf[1][xPos + j],
+ h_fft_buf[0][pos + j], h_fft_buf[1][pos + j]);
}
}
}
@@ -210,7 +202,6 @@ static void ScaleErrorSignal(int extended_filter_enabled,
}
}
-
static void FilterAdaptation(
int num_partitions,
int x_fft_buf_block_pos,
@@ -230,20 +221,14 @@ static void FilterAdaptation(
pos = i * PART_LEN1;
for (j = 0; j < PART_LEN; j++) {
-
- fft[2 * j] = MulRe(x_fft_buf[0][xPos + j],
- -x_fft_buf[1][xPos + j],
- e_fft[0][j],
- e_fft[1][j]);
- fft[2 * j + 1] = MulIm(x_fft_buf[0][xPos + j],
- -x_fft_buf[1][xPos + j],
- e_fft[0][j],
- e_fft[1][j]);
+ fft[2 * j] = MulRe(x_fft_buf[0][xPos + j], -x_fft_buf[1][xPos + j],
+ e_fft[0][j], e_fft[1][j]);
+ fft[2 * j + 1] = MulIm(x_fft_buf[0][xPos + j], -x_fft_buf[1][xPos + j],
+ e_fft[0][j], e_fft[1][j]);
}
- fft[1] = MulRe(x_fft_buf[0][xPos + PART_LEN],
- -x_fft_buf[1][xPos + PART_LEN],
- e_fft[0][PART_LEN],
- e_fft[1][PART_LEN]);
+ fft[1] =
+ MulRe(x_fft_buf[0][xPos + PART_LEN], -x_fft_buf[1][xPos + PART_LEN],
+ e_fft[0][PART_LEN], e_fft[1][PART_LEN]);
aec_rdft_inverse_128(fft);
memset(fft + PART_LEN, 0, sizeof(float) * PART_LEN);
@@ -305,7 +290,7 @@ static int PartitionDelay(const AecCore* aec) {
float wfEn = 0;
for (j = 0; j < PART_LEN1; j++) {
wfEn += aec->wfBuf[0][pos + j] * aec->wfBuf[0][pos + j] +
- aec->wfBuf[1][pos + j] * aec->wfBuf[1][pos + j];
+ aec->wfBuf[1][pos + j] * aec->wfBuf[1][pos + j];
}
if (wfEn > wfEnMax) {
@@ -334,9 +319,10 @@ static void SmoothedPSD(AecCore* aec,
float xfw[2][PART_LEN1],
int* extreme_filter_divergence) {
// Power estimate smoothing coefficients.
- const float* ptrGCoh = aec->extended_filter_enabled
- ? WebRtcAec_kExtendedSmoothingCoefficients[aec->mult - 1]
- : WebRtcAec_kNormalSmoothingCoefficients[aec->mult - 1];
+ const float* ptrGCoh =
+ aec->extended_filter_enabled
+ ? WebRtcAec_kExtendedSmoothingCoefficients[aec->mult - 1]
+ : WebRtcAec_kNormalSmoothingCoefficients[aec->mult - 1];
int i;
float sdSum = 0, seSum = 0;
@@ -349,11 +335,10 @@ static void SmoothedPSD(AecCore* aec,
// The threshold is not arbitrarily chosen, but balances protection and
// adverse interaction with the algorithm's tuning.
// TODO(bjornv): investigate further why this is so sensitive.
- aec->sx[i] =
- ptrGCoh[0] * aec->sx[i] +
- ptrGCoh[1] * WEBRTC_SPL_MAX(
- xfw[0][i] * xfw[0][i] + xfw[1][i] * xfw[1][i],
- WebRtcAec_kMinFarendPSD);
+ aec->sx[i] = ptrGCoh[0] * aec->sx[i] +
+ ptrGCoh[1] * WEBRTC_SPL_MAX(
+ xfw[0][i] * xfw[0][i] + xfw[1][i] * xfw[1][i],
+ WebRtcAec_kMinFarendPSD);
aec->sde[i][0] =
ptrGCoh[0] * aec->sde[i][0] +
@@ -483,7 +468,6 @@ static void ComfortNoise(AecCore* aec,
tmpAvg = 0.0;
num = 0;
if (aec->num_bands > 1) {
-
// average noise scale
// average over second half of freq spectrum (i.e., 4->8khz)
// TODO: we shouldn't need num. We know how many elements we're summing.
@@ -621,7 +605,6 @@ static void UpdateMetrics(AecCore* aec) {
}
if (aec->farlevel.frcounter == 0) {
-
if (aec->farlevel.minlevel < noisyPower) {
actThreshold = actThresholdClean;
} else {
@@ -632,10 +615,8 @@ static void UpdateMetrics(AecCore* aec) {
(aec->farlevel.sfrcounter == 0)
// Estimate in active far-end segments only
- &&
- (aec->farlevel.averagelevel >
- (actThreshold * aec->farlevel.minlevel))) {
-
+ && (aec->farlevel.averagelevel >
+ (actThreshold * aec->farlevel.minlevel))) {
// Subtract noise power
echo = aec->nearlevel.averagelevel - safety * aec->nearlevel.minlevel;
@@ -769,21 +750,22 @@ static void UpdateDelayMetrics(AecCore* self) {
for (i = 0; i < kHistorySizeBlocks; i++) {
l1_norm += abs(i - median) * self->delay_histogram[i];
}
- self->delay_std = (int)((l1_norm + self->num_delay_values / 2) /
- self->num_delay_values) * kMsPerBlock;
+ self->delay_std =
+ (int)((l1_norm + self->num_delay_values / 2) / self->num_delay_values) *
+ kMsPerBlock;
// Determine fraction of delays that are out of bounds, that is, either
// negative (anti-causal system) or larger than the AEC filter length.
{
int num_delays_out_of_bounds = self->num_delay_values;
- const int histogram_length = sizeof(self->delay_histogram) /
- sizeof(self->delay_histogram[0]);
+ const int histogram_length =
+ sizeof(self->delay_histogram) / sizeof(self->delay_histogram[0]);
for (i = lookahead; i < lookahead + self->num_partitions; ++i) {
if (i < histogram_length)
num_delays_out_of_bounds -= self->delay_histogram[i];
}
- self->fraction_poor_delays = (float)num_delays_out_of_bounds /
- self->num_delay_values;
+ self->fraction_poor_delays =
+ (float)num_delays_out_of_bounds / self->num_delay_values;
}
// Reset histogram.
@@ -809,9 +791,7 @@ static void ScaledInverseFft(float freq_data[2][PART_LEN1],
aec_rdft_inverse_128(time_data);
}
-
-static void Fft(float time_data[PART_LEN2],
- float freq_data[2][PART_LEN1]) {
+static void Fft(float time_data[PART_LEN2], float freq_data[2][PART_LEN1]) {
int i;
aec_rdft_forward_128(time_data);
@@ -852,10 +832,9 @@ static int SignalBasedDelayCorrection(AecCore* self) {
// 4. Finally, verify that the proposed |delay_correction| is feasible by
// comparing with the size of the far-end buffer.
last_delay = WebRtc_last_delay(self->delay_estimator);
- if ((last_delay >= 0) &&
- (last_delay != self->previous_delay) &&
+ if ((last_delay >= 0) && (last_delay != self->previous_delay) &&
(WebRtc_last_delay_quality(self->delay_estimator) >
- self->delay_quality_threshold)) {
+ self->delay_quality_threshold)) {
int delay = last_delay - WebRtc_lookahead(self->delay_estimator);
// Allow for a slack in the actual delay, defined by a |lower_bound| and an
// |upper_bound|. The adaptive echo cancellation filter is currently
@@ -889,31 +868,34 @@ static int SignalBasedDelayCorrection(AecCore* self) {
// correction.
if (self->delay_correction_count > 0) {
float delay_quality = WebRtc_last_delay_quality(self->delay_estimator);
- delay_quality = (delay_quality > kDelayQualityThresholdMax ?
- kDelayQualityThresholdMax : delay_quality);
+ delay_quality =
+ (delay_quality > kDelayQualityThresholdMax ? kDelayQualityThresholdMax
+ : delay_quality);
self->delay_quality_threshold =
- (delay_quality > self->delay_quality_threshold ? delay_quality :
- self->delay_quality_threshold);
+ (delay_quality > self->delay_quality_threshold
+ ? delay_quality
+ : self->delay_quality_threshold);
}
return delay_correction;
}
-static void EchoSubtraction(
- AecCore* aec,
- int num_partitions,
- int x_fft_buf_block_pos,
- int extended_filter_enabled,
- float normal_mu,
- float normal_error_threshold,
- float x_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
- float* const y,
- float x_pow[PART_LEN1],
- float h_fft_buf[2][kExtendedNumPartitions * PART_LEN1],
- float echo_subtractor_output[PART_LEN]) {
+static void EchoSubtraction(AecCore* aec,
+ int num_partitions,
+ int x_fft_buf_block_pos,
+ int extended_filter_enabled,
+ float normal_mu,
+ float normal_error_threshold,
+ float x_fft_buf[2]
+ [kExtendedNumPartitions * PART_LEN1],
+ float* const y,
+ float x_pow[PART_LEN1],
+ float h_fft_buf[2]
+ [kExtendedNumPartitions * PART_LEN1],
+ float echo_subtractor_output[PART_LEN]) {
float s_fft[2][PART_LEN1];
float e_extended[PART_LEN2];
float s_extended[PART_LEN2];
- float *s;
+ float* s;
float e[PART_LEN];
float e_fft[2][PART_LEN1];
int i;
@@ -921,17 +903,13 @@ static void EchoSubtraction(
// Conditionally reset the echo subtraction filter if the filter has diverged
// significantly.
- if (!aec->extended_filter_enabled &&
- aec->extreme_filter_divergence) {
+ if (!aec->extended_filter_enabled && aec->extreme_filter_divergence) {
memset(aec->wfBuf, 0, sizeof(aec->wfBuf));
aec->extreme_filter_divergence = 0;
}
// Produce echo estimate s_fft.
- WebRtcAec_FilterFar(num_partitions,
- x_fft_buf_block_pos,
- x_fft_buf,
- h_fft_buf,
+ WebRtcAec_FilterFar(num_partitions, x_fft_buf_block_pos, x_fft_buf, h_fft_buf,
s_fft);
// Compute the time-domain echo estimate s.
@@ -948,21 +926,14 @@ static void EchoSubtraction(
memcpy(e_extended + PART_LEN, e, sizeof(float) * PART_LEN);
Fft(e_extended, e_fft);
- RTC_AEC_DEBUG_RAW_WRITE(aec->e_fft_file,
- &e_fft[0][0],
+ RTC_AEC_DEBUG_RAW_WRITE(aec->e_fft_file, &e_fft[0][0],
sizeof(e_fft[0][0]) * PART_LEN1 * 2);
// Scale error signal inversely with far power.
- WebRtcAec_ScaleErrorSignal(extended_filter_enabled,
- normal_mu,
- normal_error_threshold,
- x_pow,
- e_fft);
- WebRtcAec_FilterAdaptation(num_partitions,
- x_fft_buf_block_pos,
- x_fft_buf,
- e_fft,
- h_fft_buf);
+ WebRtcAec_ScaleErrorSignal(extended_filter_enabled, normal_mu,
+ normal_error_threshold, x_pow, e_fft);
+ WebRtcAec_FilterAdaptation(num_partitions, x_fft_buf_block_pos, x_fft_buf,
+ e_fft, h_fft_buf);
memcpy(echo_subtractor_output, e, sizeof(float) * PART_LEN);
}
@@ -1000,8 +971,7 @@ static void EchoSuppression(AecCore* aec,
float* xfw_ptr = NULL;
// Update eBuf with echo subtractor output.
- memcpy(aec->eBuf + PART_LEN,
- echo_subtractor_output,
+ memcpy(aec->eBuf + PART_LEN, echo_subtractor_output,
sizeof(float) * PART_LEN);
// Analysis filter banks for the echo suppressor.
@@ -1032,8 +1002,7 @@ static void EchoSuppression(AecCore* aec,
}
// Use delayed far.
- memcpy(xfw,
- aec->xfwBuf + aec->delayIdx * PART_LEN1,
+ memcpy(xfw, aec->xfwBuf + aec->delayIdx * PART_LEN1,
sizeof(xfw[0][0]) * 2 * PART_LEN1);
WebRtcAec_SubbandCoherence(aec, efw, dfw, xfw, fft, cohde, cohxd,
@@ -1084,7 +1053,6 @@ static void EchoSuppression(AecCore* aec,
hNlFbLow = hNlXdAvg;
}
} else {
-
if (aec->stNearState == 1) {
aec->echoState = 0;
memcpy(hNl, cohde, sizeof(hNl));
@@ -1159,8 +1127,8 @@ static void EchoSuppression(AecCore* aec,
aec->outBuf[i] * WebRtcAec_sqrtHanning[PART_LEN - i]);
// Saturate output to keep it in the allowed range.
- output[i] = WEBRTC_SPL_SAT(
- WEBRTC_SPL_WORD16_MAX, output[i], WEBRTC_SPL_WORD16_MIN);
+ output[i] =
+ WEBRTC_SPL_SAT(WEBRTC_SPL_WORD16_MAX, output[i], WEBRTC_SPL_WORD16_MIN);
}
memcpy(aec->outBuf, &fft[PART_LEN], PART_LEN * sizeof(aec->outBuf[0]));
@@ -1189,11 +1157,10 @@ static void EchoSuppression(AecCore* aec,
// Saturate output to keep it in the allowed range.
for (j = 0; j < aec->num_bands - 1; ++j) {
for (i = 0; i < PART_LEN; i++) {
- outputH[j][i] = WEBRTC_SPL_SAT(
- WEBRTC_SPL_WORD16_MAX, outputH[j][i], WEBRTC_SPL_WORD16_MIN);
+ outputH[j][i] = WEBRTC_SPL_SAT(WEBRTC_SPL_WORD16_MAX, outputH[j][i],
+ WEBRTC_SPL_WORD16_MIN);
}
}
-
}
// Copy the current block to the old position.
@@ -1205,8 +1172,7 @@ static void EchoSuppression(AecCore* aec,
memcpy(aec->dBufH[j], aec->dBufH[j] + PART_LEN, sizeof(float) * PART_LEN);
}
- memmove(aec->xfwBuf + PART_LEN1,
- aec->xfwBuf,
+ memmove(aec->xfwBuf + PART_LEN1, aec->xfwBuf,
sizeof(aec->xfwBuf) - sizeof(complex_t) * PART_LEN1);
}
@@ -1245,9 +1211,7 @@ static void ProcessBlock(AecCore* aec) {
// Concatenate old and new nearend blocks.
for (i = 0; i < aec->num_bands - 1; ++i) {
- WebRtc_ReadBuffer(aec->nearFrBufH[i],
- (void**)&nearend_ptr,
- nearend,
+ WebRtc_ReadBuffer(aec->nearFrBufH[i], (void**)&nearend_ptr, nearend,
PART_LEN);
memcpy(aec->dBufH[i] + PART_LEN, nearend_ptr, sizeof(nearend));
}
@@ -1330,8 +1294,8 @@ static void ProcessBlock(AecCore* aec) {
// Block wise delay estimation used for logging
if (aec->delay_logging_enabled) {
- if (WebRtc_AddFarSpectrumFloat(
- aec->delay_estimator_farend, abs_far_spectrum, PART_LEN1) == 0) {
+ if (WebRtc_AddFarSpectrumFloat(aec->delay_estimator_farend,
+ abs_far_spectrum, PART_LEN1) == 0) {
int delay_estimate = WebRtc_DelayEstimatorProcessFloat(
aec->delay_estimator, abs_near_spectrum, PART_LEN1);
if (delay_estimate >= 0) {
@@ -1353,24 +1317,16 @@ static void ProcessBlock(AecCore* aec) {
}
// Buffer xf
- memcpy(aec->xfBuf[0] + aec->xfBufBlockPos * PART_LEN1,
- xf_ptr,
+ memcpy(aec->xfBuf[0] + aec->xfBufBlockPos * PART_LEN1, xf_ptr,
sizeof(float) * PART_LEN1);
- memcpy(aec->xfBuf[1] + aec->xfBufBlockPos * PART_LEN1,
- &xf_ptr[PART_LEN1],
+ memcpy(aec->xfBuf[1] + aec->xfBufBlockPos * PART_LEN1, &xf_ptr[PART_LEN1],
sizeof(float) * PART_LEN1);
// Perform echo subtraction.
- EchoSubtraction(aec,
- aec->num_partitions,
- aec->xfBufBlockPos,
+ EchoSubtraction(aec, aec->num_partitions, aec->xfBufBlockPos,
aec->extended_filter_enabled,
- aec->normal_mu,
- aec->normal_error_threshold,
- aec->xfBuf,
- nearend_ptr,
- aec->xPow,
- aec->wfBuf,
+ aec->normal_mu, aec->normal_error_threshold, aec->xfBuf,
+ nearend_ptr, aec->xPow, aec->wfBuf,
echo_subtractor_output);
RTC_AEC_DEBUG_WAV_WRITE(aec->outLinearFile, echo_subtractor_output, PART_LEN);
@@ -1417,14 +1373,14 @@ AecCore* WebRtcAec_CreateAec() {
}
for (i = 0; i < NUM_HIGH_BANDS_MAX; ++i) {
- aec->nearFrBufH[i] = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN,
- sizeof(float));
+ aec->nearFrBufH[i] =
+ WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, sizeof(float));
if (!aec->nearFrBufH[i]) {
WebRtcAec_FreeAec(aec);
return NULL;
}
- aec->outFrBufH[i] = WebRtc_CreateBuffer(FRAME_LEN + PART_LEN,
- sizeof(float));
+ aec->outFrBufH[i] =
+ WebRtc_CreateBuffer(FRAME_LEN + PART_LEN, sizeof(float));
if (!aec->outFrBufH[i]) {
WebRtcAec_FreeAec(aec);
return NULL;
@@ -1485,7 +1441,6 @@ AecCore* WebRtcAec_CreateAec() {
WebRtcAec_PartitionDelay = PartitionDelay;
WebRtcAec_WindowData = WindowData;
-
#if defined(WEBRTC_ARCH_X86_FAMILY)
if (WebRtc_GetCPUInfo(kSSE2)) {
WebRtcAec_InitAec_SSE2();
@@ -1567,21 +1522,19 @@ int WebRtcAec_InitAec(AecCore* aec, int sampFreq) {
int process_rate = sampFreq > 16000 ? 16000 : sampFreq;
RTC_AEC_DEBUG_WAV_REOPEN("aec_far", aec->instance_index,
aec->debug_dump_count, process_rate,
- &aec->farFile );
+ &aec->farFile);
RTC_AEC_DEBUG_WAV_REOPEN("aec_near", aec->instance_index,
aec->debug_dump_count, process_rate,
&aec->nearFile);
RTC_AEC_DEBUG_WAV_REOPEN("aec_out", aec->instance_index,
aec->debug_dump_count, process_rate,
- &aec->outFile );
+ &aec->outFile);
RTC_AEC_DEBUG_WAV_REOPEN("aec_out_linear", aec->instance_index,
aec->debug_dump_count, process_rate,
&aec->outLinearFile);
}
- RTC_AEC_DEBUG_RAW_OPEN("aec_e_fft",
- aec->debug_dump_count,
- &aec->e_fft_file);
+ RTC_AEC_DEBUG_RAW_OPEN("aec_e_fft", aec->debug_dump_count, &aec->e_fft_file);
++aec->debug_dump_count;
#endif
@@ -1667,8 +1620,8 @@ int WebRtcAec_InitAec(AecCore* aec, int sampFreq) {
memset(aec->wfBuf, 0, sizeof(complex_t) * kExtendedNumPartitions * PART_LEN1);
memset(aec->sde, 0, sizeof(complex_t) * PART_LEN1);
memset(aec->sxd, 0, sizeof(complex_t) * PART_LEN1);
- memset(
- aec->xfwBuf, 0, sizeof(complex_t) * kExtendedNumPartitions * PART_LEN1);
+ memset(aec->xfwBuf, 0,
+ sizeof(complex_t) * kExtendedNumPartitions * PART_LEN1);
memset(aec->se, 0, sizeof(float) * PART_LEN1);
// To prevent numerical instability in the first block.
@@ -1764,7 +1717,7 @@ void WebRtcAec_ProcessFrames(AecCore* aec,
assert(aec->num_bands == num_bands);
- for (j = 0; j < num_samples; j+= FRAME_LEN) {
+ for (j = 0; j < num_samples; j += FRAME_LEN) {
// TODO(bjornv): Change the near-end buffer handling to be the same as for
// far-end, that is, with a near_pre_buf.
// Buffer the near-end frame.
@@ -1793,15 +1746,14 @@ void WebRtcAec_ProcessFrames(AecCore* aec,
// which should be investigated. Maybe, allow for a non-symmetric
// rounding, like -16.
int move_elements = (aec->knownDelay - knownDelay - 32) / PART_LEN;
- int moved_elements =
- WebRtc_MoveReadPtr(aec->far_time_buf, move_elements);
+ int moved_elements = WebRtc_MoveReadPtr(aec->far_time_buf, move_elements);
aec->knownDelay -= moved_elements * PART_LEN;
} else {
// 2 b) Apply signal based delay correction.
int move_elements = SignalBasedDelayCorrection(aec);
- int moved_elements =
- WebRtc_MoveReadPtr(aec->far_time_buf, move_elements);
- int far_near_buffer_diff = WebRtc_available_read(aec->far_time_buf) -
+ int moved_elements = WebRtc_MoveReadPtr(aec->far_time_buf, move_elements);
+ int far_near_buffer_diff =
+ WebRtc_available_read(aec->far_time_buf) -
WebRtc_available_read(aec->nearFrBuf) / PART_LEN;
WebRtc_SoftResetDelayEstimator(aec->delay_estimator, moved_elements);
WebRtc_SoftResetDelayEstimatorFarend(aec->delay_estimator_farend,
@@ -1844,7 +1796,9 @@ void WebRtcAec_ProcessFrames(AecCore* aec,
}
}
-int WebRtcAec_GetDelayMetricsCore(AecCore* self, int* median, int* std,
+int WebRtcAec_GetDelayMetricsCore(AecCore* self,
+ int* median,
+ int* std,
float* fraction_poor_delays) {
assert(self != NULL);
assert(median != NULL);
@@ -1866,7 +1820,9 @@ int WebRtcAec_GetDelayMetricsCore(AecCore* self, int* median, int* std,
return 0;
}
-int WebRtcAec_echo_state(AecCore* self) { return self->echoState; }
+int WebRtcAec_echo_state(AecCore* self) {
+ return self->echoState;
+}
void WebRtcAec_GetEchoStats(AecCore* self,
Stats* erl,
@@ -1917,7 +1873,9 @@ int WebRtcAec_extended_filter_enabled(AecCore* self) {
return self->extended_filter_enabled;
}
-int WebRtcAec_system_delay(AecCore* self) { return self->system_delay; }
+int WebRtcAec_system_delay(AecCore* self) {
+ return self->system_delay;
+}
void WebRtcAec_SetSystemDelay(AecCore* self, int delay) {
assert(delay >= 0);
« no previous file with comments | « webrtc/modules/audio_processing/aec/aec_core.h ('k') | webrtc/modules/audio_processing/aec/aec_core_internal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698