OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 |
11 #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ | 11 #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ |
12 #define WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ | 12 #define WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ |
13 | 13 |
14 #include <memory> | |
15 | |
14 extern "C" { | 16 extern "C" { |
15 #include "webrtc/common_audio/ring_buffer.h" | 17 #include "webrtc/common_audio/ring_buffer.h" |
16 } | 18 } |
17 #include "webrtc/common_audio/wav_file.h" | 19 #include "webrtc/common_audio/wav_file.h" |
18 #include "webrtc/modules/audio_processing/aec/aec_common.h" | 20 #include "webrtc/modules/audio_processing/aec/aec_common.h" |
19 #include "webrtc/modules/audio_processing/aec/aec_core.h" | 21 #include "webrtc/modules/audio_processing/aec/aec_core.h" |
22 #include "webrtc/modules/audio_processing/utility/mean_calculator.h" | |
20 #include "webrtc/typedefs.h" | 23 #include "webrtc/typedefs.h" |
21 | 24 |
22 namespace webrtc { | 25 namespace webrtc { |
23 | 26 |
24 // Number of partitions for the extended filter mode. The first one is an enum | 27 // Number of partitions for the extended filter mode. The first one is an enum |
25 // to be used in array declarations, as it represents the maximum filter length. | 28 // to be used in array declarations, as it represents the maximum filter length. |
26 enum { kExtendedNumPartitions = 32 }; | 29 enum { kExtendedNumPartitions = 32 }; |
27 static const int kNormalNumPartitions = 12; | 30 static const int kNormalNumPartitions = 12; |
28 | 31 |
29 // Delay estimator constants, used for logging and delay compensation if | 32 // Delay estimator constants, used for logging and delay compensation if |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
113 PowerLevel nearlevel; | 116 PowerLevel nearlevel; |
114 PowerLevel linoutlevel; | 117 PowerLevel linoutlevel; |
115 PowerLevel nlpoutlevel; | 118 PowerLevel nlpoutlevel; |
116 | 119 |
117 int metricsMode; | 120 int metricsMode; |
118 int stateCounter; | 121 int stateCounter; |
119 Stats erl; | 122 Stats erl; |
120 Stats erle; | 123 Stats erle; |
121 Stats aNlp; | 124 Stats aNlp; |
122 Stats rerl; | 125 Stats rerl; |
126 std::unique_ptr<webrtc::MeanCalculator> fraction_filter_divergent; | |
tlegrand-webrtc
2016/03/17 12:28:39
Is webrtc:: needed?
Maybe a better name is just f
minyue-webrtc
2016/04/03 21:42:06
"divergent" was Karl's suggestion. I think it work
| |
123 | 127 |
124 // Quantities to control H band scaling for SWB input | 128 // Quantities to control H band scaling for SWB input |
125 int freq_avg_ic; // initial bin for averaging nlp gain | 129 int freq_avg_ic; // initial bin for averaging nlp gain |
126 int flag_Hband_cn; // for comfort noise | 130 int flag_Hband_cn; // for comfort noise |
127 float cn_scale_Hband; // scale for comfort noise in H band | 131 float cn_scale_Hband; // scale for comfort noise in H band |
128 | 132 |
129 int delay_metrics_delivered; | 133 int delay_metrics_delivered; |
130 int delay_histogram[kHistorySizeBlocks]; | 134 int delay_histogram[kHistorySizeBlocks]; |
131 int num_delay_values; | 135 int num_delay_values; |
132 int delay_median; | 136 int delay_median; |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
225 typedef void (*WebRtcAecStoreAsComplex)(const float* data, | 229 typedef void (*WebRtcAecStoreAsComplex)(const float* data, |
226 float data_complex[2][PART_LEN1]); | 230 float data_complex[2][PART_LEN1]); |
227 extern WebRtcAecStoreAsComplex WebRtcAec_StoreAsComplex; | 231 extern WebRtcAecStoreAsComplex WebRtcAec_StoreAsComplex; |
228 | 232 |
229 typedef void (*WebRtcAecWindowData)(float* x_windowed, const float* x); | 233 typedef void (*WebRtcAecWindowData)(float* x_windowed, const float* x); |
230 extern WebRtcAecWindowData WebRtcAec_WindowData; | 234 extern WebRtcAecWindowData WebRtcAec_WindowData; |
231 | 235 |
232 } // namespace webrtc | 236 } // namespace webrtc |
233 | 237 |
234 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ | 238 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AEC_AEC_CORE_INTERNAL_H_ |
OLD | NEW |