Eliminate left shift of negative value by using multiplication instead

BUG=chromium:655917

Review-Url: https://codereview.webrtc.org/2430393003
Cr-Commit-Position: refs/heads/master@{#14741}
This commit is contained in:
kwiberg
2016-10-24 04:18:46 -07:00
committed by Commit bot
parent 2fa7c67675
commit b60d1962d8

View File

@ -195,7 +195,8 @@ int DtmfToneGenerator::Generate(size_t num_samples,
sample_history2_[1] = temp_val_high;
// Attenuate the low frequency tone 3 dB.
int32_t temp_val = kAmpMultiplier * temp_val_low + (temp_val_high << 15);
int32_t temp_val =
kAmpMultiplier * temp_val_low + temp_val_high * (1 << 15);
// Normalize the signal to Q14 with proper rounding.
temp_val = (temp_val + 16384) >> 15;
// Scale the signal to correct volume.