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

Side by Side Diff: webrtc/modules/audio_processing/audio_processing_impl.h

Issue 1234463003: Integrate Intelligibility with APM (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Addr. comments from aluebs (incl. support diff num fwd/rev channels) Created 5 years, 5 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) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 20 matching lines...) Expand all
31 class EchoControlMobileImpl; 31 class EchoControlMobileImpl;
32 class FileWrapper; 32 class FileWrapper;
33 class GainControlImpl; 33 class GainControlImpl;
34 class GainControlForNewAgc; 34 class GainControlForNewAgc;
35 class HighPassFilterImpl; 35 class HighPassFilterImpl;
36 class LevelEstimatorImpl; 36 class LevelEstimatorImpl;
37 class NoiseSuppressionImpl; 37 class NoiseSuppressionImpl;
38 class ProcessingComponent; 38 class ProcessingComponent;
39 class TransientSuppressor; 39 class TransientSuppressor;
40 class VoiceDetectionImpl; 40 class VoiceDetectionImpl;
41 class IntelligibilityEnhancer;
41 42
42 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP 43 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
43 namespace audioproc { 44 namespace audioproc {
44 45
45 class Event; 46 class Event;
46 47
47 } // namespace audioproc 48 } // namespace audioproc
48 #endif 49 #endif
49 50
50 class AudioRate { 51 class AudioRate {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 int input_sample_rate_hz, 117 int input_sample_rate_hz,
117 ChannelLayout input_layout, 118 ChannelLayout input_layout,
118 int output_sample_rate_hz, 119 int output_sample_rate_hz,
119 ChannelLayout output_layout, 120 ChannelLayout output_layout,
120 float* const* dest) override; 121 float* const* dest) override;
121 int AnalyzeReverseStream(AudioFrame* frame) override; 122 int AnalyzeReverseStream(AudioFrame* frame) override;
122 int AnalyzeReverseStream(const float* const* data, 123 int AnalyzeReverseStream(const float* const* data,
123 int samples_per_channel, 124 int samples_per_channel,
124 int sample_rate_hz, 125 int sample_rate_hz,
125 ChannelLayout layout) override; 126 ChannelLayout layout) override;
127 int ProcessReverseStream(float* const* data,
128 int samples_per_channel,
129 int sample_rate_hz,
130 ChannelLayout layout) override;
126 int set_stream_delay_ms(int delay) override; 131 int set_stream_delay_ms(int delay) override;
127 int stream_delay_ms() const override; 132 int stream_delay_ms() const override;
128 bool was_stream_delay_set() const override; 133 bool was_stream_delay_set() const override;
129 void set_delay_offset_ms(int offset) override; 134 void set_delay_offset_ms(int offset) override;
130 int delay_offset_ms() const override; 135 int delay_offset_ms() const override;
131 void set_stream_key_pressed(bool key_pressed) override; 136 void set_stream_key_pressed(bool key_pressed) override;
132 bool stream_key_pressed() const override; 137 bool stream_key_pressed() const override;
133 int StartDebugRecording(const char filename[kMaxFilenameSize]) override; 138 int StartDebugRecording(const char filename[kMaxFilenameSize]) override;
134 int StartDebugRecording(FILE* handle) override; 139 int StartDebugRecording(FILE* handle) override;
135 int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle) override; 140 int StartDebugRecordingForPlatformFile(rtc::PlatformFile handle) override;
(...skipping 29 matching lines...) Expand all
165 int ProcessStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); 170 int ProcessStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_);
166 int AnalyzeReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); 171 int AnalyzeReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_);
167 172
168 bool is_data_processed() const; 173 bool is_data_processed() const;
169 bool output_copy_needed(bool is_data_processed) const; 174 bool output_copy_needed(bool is_data_processed) const;
170 bool synthesis_needed(bool is_data_processed) const; 175 bool synthesis_needed(bool is_data_processed) const;
171 bool analysis_needed(bool is_data_processed) const; 176 bool analysis_needed(bool is_data_processed) const;
172 void InitializeExperimentalAgc() EXCLUSIVE_LOCKS_REQUIRED(crit_); 177 void InitializeExperimentalAgc() EXCLUSIVE_LOCKS_REQUIRED(crit_);
173 void InitializeTransient() EXCLUSIVE_LOCKS_REQUIRED(crit_); 178 void InitializeTransient() EXCLUSIVE_LOCKS_REQUIRED(crit_);
174 void InitializeBeamformer() EXCLUSIVE_LOCKS_REQUIRED(crit_); 179 void InitializeBeamformer() EXCLUSIVE_LOCKS_REQUIRED(crit_);
180 void InitializeIntelligibility() EXCLUSIVE_LOCKS_REQUIRED(crit_);
175 void MaybeUpdateHistograms() EXCLUSIVE_LOCKS_REQUIRED(crit_); 181 void MaybeUpdateHistograms() EXCLUSIVE_LOCKS_REQUIRED(crit_);
176 182
177 EchoCancellationImpl* echo_cancellation_; 183 EchoCancellationImpl* echo_cancellation_;
178 EchoControlMobileImpl* echo_control_mobile_; 184 EchoControlMobileImpl* echo_control_mobile_;
179 GainControlImpl* gain_control_; 185 GainControlImpl* gain_control_;
180 HighPassFilterImpl* high_pass_filter_; 186 HighPassFilterImpl* high_pass_filter_;
181 LevelEstimatorImpl* level_estimator_; 187 LevelEstimatorImpl* level_estimator_;
182 NoiseSuppressionImpl* noise_suppression_; 188 NoiseSuppressionImpl* noise_suppression_;
183 VoiceDetectionImpl* voice_detection_; 189 VoiceDetectionImpl* voice_detection_;
184 rtc::scoped_ptr<GainControlForNewAgc> gain_control_for_new_agc_; 190 rtc::scoped_ptr<GainControlForNewAgc> gain_control_for_new_agc_;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 rtc::scoped_ptr<AgcManagerDirect> agc_manager_ GUARDED_BY(crit_); 229 rtc::scoped_ptr<AgcManagerDirect> agc_manager_ GUARDED_BY(crit_);
224 int agc_startup_min_volume_; 230 int agc_startup_min_volume_;
225 231
226 bool transient_suppressor_enabled_; 232 bool transient_suppressor_enabled_;
227 rtc::scoped_ptr<TransientSuppressor> transient_suppressor_; 233 rtc::scoped_ptr<TransientSuppressor> transient_suppressor_;
228 const bool beamformer_enabled_; 234 const bool beamformer_enabled_;
229 rtc::scoped_ptr<Beamformer<float>> beamformer_; 235 rtc::scoped_ptr<Beamformer<float>> beamformer_;
230 const std::vector<Point> array_geometry_; 236 const std::vector<Point> array_geometry_;
231 237
232 const bool supports_48kHz_; 238 const bool supports_48kHz_;
239
240 bool intelligibility_enabled_;
241 rtc::scoped_ptr<IntelligibilityEnhancer> intelligibility_enhancer_;
233 }; 242 };
234 243
235 } // namespace webrtc 244 } // namespace webrtc
236 245
237 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AUDIO_PROCESSING_IMPL_H_ 246 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AUDIO_PROCESSING_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698