Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: webrtc/modules/audio_processing/aec/aec_core_internal.h

Issue 1739993003: Adding fraction of filter divergence in AEC metrics. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: addressing Per's comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698