| Index: webrtc/modules/audio_processing/ns/nsx_core.c
|
| diff --git a/webrtc/modules/audio_processing/ns/nsx_core.c b/webrtc/modules/audio_processing/ns/nsx_core.c
|
| index 94b6449776f61e49488f05b1a7303ad3d0cbb12e..c58fc39bacb2c5793498ebb97d2b87cf95f8eec6 100644
|
| --- a/webrtc/modules/audio_processing/ns/nsx_core.c
|
| +++ b/webrtc/modules/audio_processing/ns/nsx_core.c
|
| @@ -10,11 +10,11 @@
|
|
|
| #include "webrtc/modules/audio_processing/ns/noise_suppression_x.h"
|
|
|
| -#include <assert.h>
|
| #include <math.h>
|
| #include <stdlib.h>
|
| #include <string.h>
|
|
|
| +#include "webrtc/base/checks.h"
|
| #include "webrtc/common_audio/signal_processing/include/real_fft.h"
|
| #include "webrtc/modules/audio_processing/ns/nsx_core.h"
|
| #include "webrtc/system_wrappers/include/cpu_features_wrapper.h"
|
| @@ -344,8 +344,8 @@ static void NoiseEstimationC(NoiseSuppressionFixedC* inst,
|
| size_t i, s, offset;
|
|
|
| tabind = inst->stages - inst->normData;
|
| - assert(tabind < 9);
|
| - assert(tabind > -9);
|
| + RTC_DCHECK_LT(tabind, 9);
|
| + RTC_DCHECK_GT(tabind, -9);
|
| if (tabind < 0) {
|
| logval = -WebRtcNsx_kLogTable[-tabind];
|
| } else {
|
| @@ -362,7 +362,7 @@ static void NoiseEstimationC(NoiseSuppressionFixedC* inst,
|
| frac = (int16_t)((((uint32_t)magn[i] << zeros)
|
| & 0x7FFFFFFF) >> 23);
|
| // log2(magn(i))
|
| - assert(frac < 256);
|
| + RTC_DCHECK_LT(frac, 256);
|
| log2 = (int16_t)(((31 - zeros) << 8)
|
| + WebRtcNsx_kLogTableFrac[frac]);
|
| // log2(magn(i))*log(2)
|
| @@ -380,7 +380,7 @@ static void NoiseEstimationC(NoiseSuppressionFixedC* inst,
|
|
|
| // Get counter values from state
|
| counter = inst->noiseEstCounter[s];
|
| - assert(counter < 201);
|
| + RTC_DCHECK_LT(counter, 201);
|
| countDiv = WebRtcNsx_kCounterDiv[counter];
|
| countProd = (int16_t)(counter * countDiv);
|
|
|
| @@ -543,7 +543,7 @@ static void NormalizeRealBufferC(NoiseSuppressionFixedC* inst,
|
| const int16_t* in,
|
| int16_t* out) {
|
| size_t i = 0;
|
| - assert(inst->normData >= 0);
|
| + RTC_DCHECK_GE(inst->normData, 0);
|
| for (i = 0; i < inst->anaLen; ++i) {
|
| out[i] = in[i] << inst->normData; // Q(normData)
|
| }
|
| @@ -594,8 +594,8 @@ void WebRtcNsx_CalcParametricNoiseEstimate(NoiseSuppressionFixedC* inst,
|
|
|
| // Use pink noise estimate
|
| // noise_estimate = 2^(pinkNoiseNumerator + pinkNoiseExp * log2(j))
|
| - assert(freq_index >= 0);
|
| - assert(freq_index < 129);
|
| + RTC_DCHECK_GE(freq_index, 0);
|
| + RTC_DCHECK_LT(freq_index, 129);
|
| tmp32no2 = (pink_noise_exp_avg * kLogIndex[freq_index]) >> 15; // Q11
|
| tmp32no1 = pink_noise_num_avg - tmp32no2; // Q11
|
|
|
| @@ -1038,7 +1038,7 @@ void WebRtcNsx_ComputeSpectralFlatness(NoiseSuppressionFixedC* inst,
|
| frac = (int16_t)(((uint32_t)((uint32_t)(magn[i]) << zeros)
|
| & 0x7FFFFFFF) >> 23);
|
| // log2(magn(i))
|
| - assert(frac < 256);
|
| + RTC_DCHECK_LT(frac, 256);
|
| tmpU32 = (uint32_t)(((31 - zeros) << 8)
|
| + WebRtcNsx_kLogTableFrac[frac]); // Q8
|
| avgSpectralFlatnessNum += tmpU32; // Q8
|
| @@ -1053,7 +1053,7 @@ void WebRtcNsx_ComputeSpectralFlatness(NoiseSuppressionFixedC* inst,
|
| zeros = WebRtcSpl_NormU32(avgSpectralFlatnessDen);
|
| frac = (int16_t)(((avgSpectralFlatnessDen << zeros) & 0x7FFFFFFF) >> 23);
|
| // log2(avgSpectralFlatnessDen)
|
| - assert(frac < 256);
|
| + RTC_DCHECK_LT(frac, 256);
|
| tmp32 = (int32_t)(((31 - zeros) << 8) + WebRtcNsx_kLogTableFrac[frac]); // Q8
|
| logCurSpectralFlatness = (int32_t)avgSpectralFlatnessNum;
|
| logCurSpectralFlatness += ((int32_t)(inst->stages - 1) << (inst->stages + 7)); // Q(8+stages-1)
|
| @@ -1286,7 +1286,7 @@ void WebRtcNsx_DataAnalysis(NoiseSuppressionFixedC* inst,
|
| frac = (int16_t)((((uint32_t)magnU16[inst->anaLen2] << zeros) &
|
| 0x7FFFFFFF) >> 23); // Q8
|
| // log2(magnU16(i)) in Q8
|
| - assert(frac < 256);
|
| + RTC_DCHECK_LT(frac, 256);
|
| log2 = (int16_t)(((31 - zeros) << 8) + WebRtcNsx_kLogTableFrac[frac]);
|
| }
|
|
|
| @@ -1320,7 +1320,7 @@ void WebRtcNsx_DataAnalysis(NoiseSuppressionFixedC* inst,
|
| frac = (int16_t)((((uint32_t)magnU16[i] << zeros) &
|
| 0x7FFFFFFF) >> 23);
|
| // log2(magnU16(i)) in Q8
|
| - assert(frac < 256);
|
| + RTC_DCHECK_LT(frac, 256);
|
| log2 = (int16_t)(((31 - zeros) << 8)
|
| + WebRtcNsx_kLogTableFrac[frac]);
|
| }
|
| @@ -1347,14 +1347,14 @@ void WebRtcNsx_DataAnalysis(NoiseSuppressionFixedC* inst,
|
| // Shift to same Q-domain as whiteNoiseLevel
|
| tmpU32no1 >>= right_shifts_in_magnU16;
|
| // This operation is safe from wrap around as long as END_STARTUP_SHORT < 128
|
| - assert(END_STARTUP_SHORT < 128);
|
| + RTC_DCHECK_LT(END_STARTUP_SHORT, 128);
|
| inst->whiteNoiseLevel += tmpU32no1; // Q(minNorm-stages)
|
|
|
| // Estimate Pink noise parameters
|
| // Denominator used in both parameter estimates.
|
| // The value is only dependent on the size of the frequency band (kStartBand)
|
| // and to reduce computational complexity stored in a table (kDeterminantEstMatrix[])
|
| - assert(kStartBand < 66);
|
| + RTC_DCHECK_LT(kStartBand, 66);
|
| matrix_determinant = kDeterminantEstMatrix[kStartBand]; // Q0
|
| sum_log_i = kSumLogIndex[kStartBand]; // Q5
|
| sum_log_i_square = kSumSquareLogIndex[kStartBand]; // Q2
|
| @@ -1469,13 +1469,13 @@ void WebRtcNsx_DataSynthesis(NoiseSuppressionFixedC* inst, short* outFrame) {
|
| inst->energyIn >>= 8 + scaleEnergyOut - inst->scaleEnergyIn;
|
| }
|
|
|
| - assert(inst->energyIn > 0);
|
| + RTC_DCHECK_GT(inst->energyIn, 0);
|
| energyRatio = (energyOut + inst->energyIn / 2) / inst->energyIn; // Q8
|
| // Limit the ratio to [0, 1] in Q8, i.e., [0, 256]
|
| energyRatio = WEBRTC_SPL_SAT(256, energyRatio, 0);
|
|
|
| // all done in lookup tables now
|
| - assert(energyRatio < 257);
|
| + RTC_DCHECK_LT(energyRatio, 257);
|
| gainFactor1 = kFactor1Table[energyRatio]; // Q8
|
| gainFactor2 = inst->factor2Table[energyRatio]; // Q8
|
|
|
| @@ -1534,24 +1534,24 @@ void WebRtcNsx_ProcessCore(NoiseSuppressionFixedC* inst,
|
| int q_domain_to_use = 0;
|
|
|
| // Code for ARMv7-Neon platform assumes the following:
|
| - assert(inst->anaLen > 0);
|
| - assert(inst->anaLen2 > 0);
|
| - assert(inst->anaLen % 16 == 0);
|
| - assert(inst->anaLen2 % 8 == 0);
|
| - assert(inst->blockLen10ms > 0);
|
| - assert(inst->blockLen10ms % 16 == 0);
|
| - assert(inst->magnLen == inst->anaLen2 + 1);
|
| + RTC_DCHECK_GT(inst->anaLen, 0);
|
| + RTC_DCHECK_GT(inst->anaLen2, 0);
|
| + RTC_DCHECK_EQ(0, inst->anaLen % 16);
|
| + RTC_DCHECK_EQ(0, inst->anaLen2 % 8);
|
| + RTC_DCHECK_GT(inst->blockLen10ms, 0);
|
| + RTC_DCHECK_EQ(0, inst->blockLen10ms % 16);
|
| + RTC_DCHECK_EQ(inst->magnLen, inst->anaLen2 + 1);
|
|
|
| #ifdef NS_FILEDEBUG
|
| if (fwrite(spframe, sizeof(short),
|
| inst->blockLen10ms, inst->infile) != inst->blockLen10ms) {
|
| - assert(false);
|
| + RTC_DCHECK(false);
|
| }
|
| #endif
|
|
|
| // Check that initialization has been done
|
| - assert(inst->initFlag == 1);
|
| - assert((num_bands - 1) <= NUM_HIGH_BANDS_MAX);
|
| + RTC_DCHECK_EQ(1, inst->initFlag);
|
| + RTC_DCHECK_LE(num_bands - 1, NUM_HIGH_BANDS_MAX);
|
|
|
| const short* const* speechFrameHB = NULL;
|
| short* const* outFrameHB = NULL;
|
| @@ -1989,7 +1989,7 @@ void WebRtcNsx_ProcessCore(NoiseSuppressionFixedC* inst,
|
|
|
| //gain filter
|
| tmpU32no1 = inst->overdrive + ((priorSnr + 8192) >> 14); // Q8
|
| - assert(inst->overdrive > 0);
|
| + RTC_DCHECK_GT(inst->overdrive, 0);
|
| tmpU16no1 = (priorSnr + tmpU32no1 / 2) / tmpU32no1; // Q14
|
| inst->noiseSupFilter[i] = WEBRTC_SPL_SAT(16384, tmpU16no1, inst->denoiseBound); // 16384 = Q14(1.0) // Q14
|
|
|
| @@ -2025,7 +2025,7 @@ void WebRtcNsx_ProcessCore(NoiseSuppressionFixedC* inst,
|
| #ifdef NS_FILEDEBUG
|
| if (fwrite(outframe, sizeof(short),
|
| inst->blockLen10ms, inst->outfile) != inst->blockLen10ms) {
|
| - assert(false);
|
| + RTC_DCHECK(false);
|
| }
|
| #endif
|
|
|
| @@ -2052,7 +2052,7 @@ void WebRtcNsx_ProcessCore(NoiseSuppressionFixedC* inst,
|
| tmpU16no1 += nonSpeechProbFinal[i]; // Q8
|
| tmpU32no1 += (uint32_t)(inst->noiseSupFilter[i]); // Q14
|
| }
|
| - assert(inst->stages >= 7);
|
| + RTC_DCHECK_GE(inst->stages, 7);
|
| avgProbSpeechHB = (4096 - (tmpU16no1 >> (inst->stages - 7))); // Q12
|
| avgFilterGainHB = (int16_t)(tmpU32no1 >> (inst->stages - 3)); // Q14
|
|
|
|
|