diff --git a/modules/audio_processing/aecm/aecm_core_c.cc b/modules/audio_processing/aecm/aecm_core_c.cc index fa5f15cf10..99ddac58c2 100644 --- a/modules/audio_processing/aecm/aecm_core_c.cc +++ b/modules/audio_processing/aecm/aecm_core_c.cc @@ -496,8 +496,8 @@ WebRtcAecm_ProcessBlock(AecmCore* aecm, tmp16no2 = ptrDfaClean[i] >> -qDomainDiff; } else { tmp16no1 = dfa_clean_q_domain_diff < 0 - ? aecm->nearFilt[i] >> -dfa_clean_q_domain_diff - : aecm->nearFilt[i] << dfa_clean_q_domain_diff; + ? aecm->nearFilt[i] >> -dfa_clean_q_domain_diff + : aecm->nearFilt[i] * (1 << dfa_clean_q_domain_diff); qDomainDiff = 0; tmp16no2 = ptrDfaClean[i]; } @@ -508,7 +508,7 @@ WebRtcAecm_ProcessBlock(AecmCore* aecm, if ((tmp16no2) & (-qDomainDiff > zeros16)) { aecm->nearFilt[i] = WEBRTC_SPL_WORD16_MAX; } else { - aecm->nearFilt[i] = qDomainDiff < 0 ? tmp16no2 << -qDomainDiff + aecm->nearFilt[i] = qDomainDiff < 0 ? tmp16no2 * (1 << -qDomainDiff) : tmp16no2 >> qDomainDiff; }