| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 float maxSpecDiff; | 44 float maxSpecDiff; |
| 45 float minSpecDiff; | 45 float minSpecDiff; |
| 46 // Criteria of weight of histogram peak to accept/reject feature. | 46 // Criteria of weight of histogram peak to accept/reject feature. |
| 47 int thresWeightSpecFlat; | 47 int thresWeightSpecFlat; |
| 48 int thresWeightSpecDiff; | 48 int thresWeightSpecDiff; |
| 49 | 49 |
| 50 } NSParaExtract; | 50 } NSParaExtract; |
| 51 | 51 |
| 52 typedef struct NoiseSuppressionC_ { | 52 typedef struct NoiseSuppressionC_ { |
| 53 uint32_t fs; | 53 uint32_t fs; |
| 54 int blockLen; | 54 size_t blockLen; |
| 55 int windShift; | 55 size_t windShift; |
| 56 int anaLen; | 56 size_t anaLen; |
| 57 int magnLen; | 57 size_t magnLen; |
| 58 int aggrMode; | 58 int aggrMode; |
| 59 const float* window; | 59 const float* window; |
| 60 float analyzeBuf[ANAL_BLOCKL_MAX]; | 60 float analyzeBuf[ANAL_BLOCKL_MAX]; |
| 61 float dataBuf[ANAL_BLOCKL_MAX]; | 61 float dataBuf[ANAL_BLOCKL_MAX]; |
| 62 float syntBuf[ANAL_BLOCKL_MAX]; | 62 float syntBuf[ANAL_BLOCKL_MAX]; |
| 63 | 63 |
| 64 int initFlag; | 64 int initFlag; |
| 65 // Parameters for quantile noise estimation. | 65 // Parameters for quantile noise estimation. |
| 66 float density[SIMULT * HALF_ANAL_BLOCKL]; | 66 float density[SIMULT * HALF_ANAL_BLOCKL]; |
| 67 float lquantile[SIMULT * HALF_ANAL_BLOCKL]; | 67 float lquantile[SIMULT * HALF_ANAL_BLOCKL]; |
| 68 float quantile[HALF_ANAL_BLOCKL]; | 68 float quantile[HALF_ANAL_BLOCKL]; |
| 69 int counter[SIMULT]; | 69 int counter[SIMULT]; |
| 70 int updates; | 70 int updates; |
| 71 // Parameters for Wiener filter. | 71 // Parameters for Wiener filter. |
| 72 float smooth[HALF_ANAL_BLOCKL]; | 72 float smooth[HALF_ANAL_BLOCKL]; |
| 73 float overdrive; | 73 float overdrive; |
| 74 float denoiseBound; | 74 float denoiseBound; |
| 75 int gainmap; | 75 int gainmap; |
| 76 // FFT work arrays. | 76 // FFT work arrays. |
| 77 int ip[IP_LENGTH]; | 77 size_t ip[IP_LENGTH]; |
| 78 float wfft[W_LENGTH]; | 78 float wfft[W_LENGTH]; |
| 79 | 79 |
| 80 // Parameters for new method: some not needed, will reduce/cleanup later. | 80 // Parameters for new method: some not needed, will reduce/cleanup later. |
| 81 int32_t blockInd; // Frame index counter. | 81 int32_t blockInd; // Frame index counter. |
| 82 int modelUpdatePars[4]; // Parameters for updating or estimating. | 82 int modelUpdatePars[4]; // Parameters for updating or estimating. |
| 83 // Thresholds/weights for prior model. | 83 // Thresholds/weights for prior model. |
| 84 float priorModelPars[7]; // Parameters for prior model. | 84 float priorModelPars[7]; // Parameters for prior model. |
| 85 float noise[HALF_ANAL_BLOCKL]; // Noise spectrum from current frame. | 85 float noise[HALF_ANAL_BLOCKL]; // Noise spectrum from current frame. |
| 86 float noisePrev[HALF_ANAL_BLOCKL]; // Noise spectrum from previous frame. | 86 float noisePrev[HALF_ANAL_BLOCKL]; // Noise spectrum from previous frame. |
| 87 // Magnitude spectrum of previous analyze frame. | 87 // Magnitude spectrum of previous analyze frame. |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 174 * - self : Instance that should be initialized | 174 * - self : Instance that should be initialized |
| 175 * - inFrame : Input speech frame for each band | 175 * - inFrame : Input speech frame for each band |
| 176 * - num_bands : Number of bands | 176 * - num_bands : Number of bands |
| 177 * | 177 * |
| 178 * Output: | 178 * Output: |
| 179 * - self : Updated instance | 179 * - self : Updated instance |
| 180 * - outFrame : Output speech frame for each band | 180 * - outFrame : Output speech frame for each band |
| 181 */ | 181 */ |
| 182 void WebRtcNs_ProcessCore(NoiseSuppressionC* self, | 182 void WebRtcNs_ProcessCore(NoiseSuppressionC* self, |
| 183 const float* const* inFrame, | 183 const float* const* inFrame, |
| 184 int num_bands, | 184 size_t num_bands, |
| 185 float* const* outFrame); | 185 float* const* outFrame); |
| 186 | 186 |
| 187 #ifdef __cplusplus | 187 #ifdef __cplusplus |
| 188 } | 188 } |
| 189 #endif | 189 #endif |
| 190 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_NS_NS_CORE_H_ | 190 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_NS_NS_CORE_H_ |
| OLD | NEW |