audio_processing: Replaced macro WEBRTC_SPL_RSHIFT_W32 with >>
Also includes a typo in a comment. Affects * aecm * hpf BUG=3348,3353 TESTED=locally on linux and trybots R=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/29769004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7456 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
f02ba9be54
commit
f87c0aff7f
@ -958,9 +958,8 @@ void WebRtcAecm_UpdateChannel(AecmCore_t * aecm,
|
||||
{
|
||||
// We need to shift down before multiplication
|
||||
shiftChFar = 32 - zerosCh - zerosFar;
|
||||
tmpU32no1 = WEBRTC_SPL_UMUL_32_16(
|
||||
WEBRTC_SPL_RSHIFT_W32(aecm->channelAdapt32[i], shiftChFar),
|
||||
far_spectrum[i]);
|
||||
tmpU32no1 = (aecm->channelAdapt32[i] >> shiftChFar) *
|
||||
far_spectrum[i];
|
||||
}
|
||||
// Determine Q-domain of numerator
|
||||
zerosNum = WebRtcSpl_NormU32(tmpU32no1);
|
||||
@ -1019,14 +1018,10 @@ void WebRtcAecm_UpdateChannel(AecmCore_t * aecm,
|
||||
shiftNum = 32 - (zerosNum + zerosFar);
|
||||
if (tmp32no1 > 0)
|
||||
{
|
||||
tmp32no2 = (int32_t)WEBRTC_SPL_UMUL_32_16(
|
||||
WEBRTC_SPL_RSHIFT_W32(tmp32no1, shiftNum),
|
||||
far_spectrum[i]);
|
||||
tmp32no2 = (tmp32no1 >> shiftNum) * far_spectrum[i];
|
||||
} else
|
||||
{
|
||||
tmp32no2 = -(int32_t)WEBRTC_SPL_UMUL_32_16(
|
||||
WEBRTC_SPL_RSHIFT_W32(-tmp32no1, shiftNum),
|
||||
far_spectrum[i]);
|
||||
tmp32no2 = -((-tmp32no1 >> shiftNum) * far_spectrum[i]);
|
||||
}
|
||||
}
|
||||
// Normalize with respect to frequency bin
|
||||
@ -1047,8 +1042,8 @@ void WebRtcAecm_UpdateChannel(AecmCore_t * aecm,
|
||||
// We can never have negative channel gain
|
||||
aecm->channelAdapt32[i] = 0;
|
||||
}
|
||||
aecm->channelAdapt16[i]
|
||||
= (int16_t)WEBRTC_SPL_RSHIFT_W32(aecm->channelAdapt32[i], 16);
|
||||
aecm->channelAdapt16[i] =
|
||||
(int16_t)(aecm->channelAdapt32[i] >> 16);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -487,10 +487,7 @@ int WebRtcAecm_ProcessBlock(AecmCore_t * aecm,
|
||||
} else
|
||||
{
|
||||
// Result in Q-(RESOLUTION_CHANNEL+RESOLUTION_SUPGAIN-16)
|
||||
echoEst32Gained = WEBRTC_SPL_UMUL_32_16((uint32_t)WEBRTC_SPL_RSHIFT_W32(
|
||||
aecm->echoFilt[i],
|
||||
tmp16no1),
|
||||
(uint16_t)supGain);
|
||||
echoEst32Gained = (aecm->echoFilt[i] >> tmp16no1) * supGain;
|
||||
}
|
||||
}
|
||||
|
||||
@ -509,7 +506,7 @@ int WebRtcAecm_ProcessBlock(AecmCore_t * aecm,
|
||||
tmp16no2 = ptrDfaClean[i];
|
||||
}
|
||||
tmp32no1 = (int32_t)(tmp16no2 - tmp16no1);
|
||||
tmp16no2 = (int16_t)WEBRTC_SPL_RSHIFT_W32(tmp32no1, 4);
|
||||
tmp16no2 = (int16_t)(tmp32no1 >> 4);
|
||||
tmp16no2 += tmp16no1;
|
||||
zeros16 = WebRtcSpl_NormW16(tmp16no2);
|
||||
if ((tmp16no2) & (-qDomainDiff > zeros16)) {
|
||||
@ -743,7 +740,7 @@ static void ComfortNoise(AecmCore_t* aecm,
|
||||
|
||||
for (i = 0; i < PART_LEN1; i++)
|
||||
{
|
||||
tmp32 = WEBRTC_SPL_RSHIFT_W32(aecm->noiseEst[i], shiftFromNearToNoise);
|
||||
tmp32 = aecm->noiseEst[i] >> shiftFromNearToNoise;
|
||||
if (tmp32 > 32767)
|
||||
{
|
||||
tmp32 = 32767;
|
||||
|
@ -991,10 +991,7 @@ int WebRtcAecm_ProcessBlock(AecmCore_t* aecm,
|
||||
supGain >> tmp16no1);
|
||||
} else {
|
||||
// Result in Q-(RESOLUTION_CHANNEL+RESOLUTION_SUPGAIN-16)
|
||||
echoEst32Gained = WEBRTC_SPL_UMUL_32_16(
|
||||
(uint32_t)WEBRTC_SPL_RSHIFT_W32(aecm->echoFilt[i],
|
||||
tmp16no1),
|
||||
(uint16_t)supGain);
|
||||
echoEst32Gained = (aecm->echoFilt[i] >> tmp16no1) * supGain;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1014,7 +1011,7 @@ int WebRtcAecm_ProcessBlock(AecmCore_t* aecm,
|
||||
}
|
||||
|
||||
tmp32no1 = (int32_t)(tmp16no2 - tmp16no1);
|
||||
tmp16no2 = (int16_t)WEBRTC_SPL_RSHIFT_W32(tmp32no1, 4);
|
||||
tmp16no2 = (int16_t)(tmp32no1 >> 4);
|
||||
tmp16no2 += tmp16no1;
|
||||
zeros16 = WebRtcSpl_NormW16(tmp16no2);
|
||||
if ((tmp16no2) & (-qDomainDiff > zeros16)) {
|
||||
|
@ -93,9 +93,8 @@ int Filter(FilterState* hpf, int16_t* data, int length) {
|
||||
tmp_int32,
|
||||
static_cast<int32_t>(-134217728));
|
||||
|
||||
// Convert back to Q0 and use rounding
|
||||
data[i] = (int16_t)WEBRTC_SPL_RSHIFT_W32(tmp_int32, 12);
|
||||
|
||||
// Convert back to Q0 and use rounding.
|
||||
data[i] = (int16_t)(tmp_int32 >> 12);
|
||||
}
|
||||
|
||||
return AudioProcessing::kNoError;
|
||||
|
@ -1472,7 +1472,7 @@ void WebRtcNsx_DataSynthesis(NsxInst_t* inst, short* outFrame) {
|
||||
- inst->scaleEnergyIn);
|
||||
} else {
|
||||
// |energyIn| is currently in Q(|scaleEnergyIn|), but to later on end up
|
||||
// with an |energyRation| in Q8 we need to change the Q-domain to
|
||||
// with an |energyRatio| in Q8 we need to change the Q-domain to
|
||||
// Q(-8-scaleEnergyOut).
|
||||
inst->energyIn >>= 8 + scaleEnergyOut - inst->scaleEnergyIn;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user