Index: webrtc/modules/audio_processing/ns/nsx_core_c.c |
diff --git a/webrtc/modules/audio_processing/ns/nsx_core_c.c b/webrtc/modules/audio_processing/ns/nsx_core_c.c |
index da7aa3d5dbe76e3edea44835b2de6535ee44e53a..213320d38c85f51a305f85b4a1a24053e11e7462 100644 |
--- a/webrtc/modules/audio_processing/ns/nsx_core_c.c |
+++ b/webrtc/modules/audio_processing/ns/nsx_core_c.c |
@@ -96,8 +96,8 @@ void WebRtcNsx_SpeechNoiseProb(NoiseSuppressionFixedC* inst, |
} |
tmp32no1 = WEBRTC_SPL_SHIFT_W32(tmp32no1, nShifts); // Q14 |
// compute indicator function: sigmoid map |
- tableIndex = (int16_t)(tmp32no1 >> 14); |
- if ((tableIndex < 16) && (tableIndex >= 0)) { |
+ if (tmp32no1 < (16 << 14) && tmp32no1 >= 0) { |
+ tableIndex = (int16_t)(tmp32no1 >> 14); |
tmp16no2 = kIndicatorTable[tableIndex]; |
tmp16no1 = kIndicatorTable[tableIndex + 1] - kIndicatorTable[tableIndex]; |
frac = (int16_t)(tmp32no1 & 0x00003fff); // Q14 |
@@ -128,8 +128,8 @@ void WebRtcNsx_SpeechNoiseProb(NoiseSuppressionFixedC* inst, |
// FLOAT code |
// indicator1 = 0.5 * (tanh(sgnMap * widthPrior * |
// (threshPrior1 - tmpFloat1)) + 1.0); |
- tableIndex = (int16_t)(tmpU32no1 >> 14); |
- if (tableIndex < 16) { |
+ if (tmpU32no1 < (16 << 14)) { |
+ tableIndex = (int16_t)(tmpU32no1 >> 14); |
tmp16no2 = kIndicatorTable[tableIndex]; |
tmp16no1 = kIndicatorTable[tableIndex + 1] - kIndicatorTable[tableIndex]; |
frac = (int16_t)(tmpU32no1 & 0x00003fff); // Q14 |
@@ -175,8 +175,8 @@ void WebRtcNsx_SpeechNoiseProb(NoiseSuppressionFixedC* inst, |
/* FLOAT code |
indicator2 = 0.5 * (tanh(widthPrior * (tmpFloat1 - threshPrior2)) + 1.0); |
*/ |
- tableIndex = (int16_t)(tmpU32no1 >> 14); |
- if (tableIndex < 16) { |
+ if (tmpU32no1 < (16 << 14)) { |
+ tableIndex = (int16_t)(tmpU32no1 >> 14); |
tmp16no2 = kIndicatorTable[tableIndex]; |
tmp16no1 = kIndicatorTable[tableIndex + 1] - kIndicatorTable[tableIndex]; |
frac = (int16_t)(tmpU32no1 & 0x00003fff); // Q14 |