OLD | NEW |
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 Loading... |
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 Loading... |
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 20 matching lines...) Expand all Loading... |
156 int num_reverse_channels) | 161 int num_reverse_channels) |
157 EXCLUSIVE_LOCKS_REQUIRED(crit_); | 162 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
158 int MaybeInitializeLocked(int input_sample_rate_hz, | 163 int MaybeInitializeLocked(int input_sample_rate_hz, |
159 int output_sample_rate_hz, | 164 int output_sample_rate_hz, |
160 int reverse_sample_rate_hz, | 165 int reverse_sample_rate_hz, |
161 int num_input_channels, | 166 int num_input_channels, |
162 int num_output_channels, | 167 int num_output_channels, |
163 int num_reverse_channels) | 168 int num_reverse_channels) |
164 EXCLUSIVE_LOCKS_REQUIRED(crit_); | 169 EXCLUSIVE_LOCKS_REQUIRED(crit_); |
165 int ProcessStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); | 170 int ProcessStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
166 int AnalyzeReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); | 171 int ProcessReverseStreamLocked() 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 Loading... |
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_ |
OLD | NEW |