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

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

Issue 1982183002: Pull out the PostFilter to its own NonlinearBeamformer API (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Make NonlinearBeamforer interface virtual Created 4 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
« no previous file with comments | « webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 13 matching lines...) Expand all
24 #include "webrtc/common.h" 24 #include "webrtc/common.h"
25 #include "webrtc/modules/audio_processing/beamformer/array_util.h" 25 #include "webrtc/modules/audio_processing/beamformer/array_util.h"
26 #include "webrtc/typedefs.h" 26 #include "webrtc/typedefs.h"
27 27
28 namespace webrtc { 28 namespace webrtc {
29 29
30 struct AecCore; 30 struct AecCore;
31 31
32 class AudioFrame; 32 class AudioFrame;
33 33
34 template<typename T> 34 class NonlinearBeamformer;
35 class Beamformer;
36 35
37 class StreamConfig; 36 class StreamConfig;
38 class ProcessingConfig; 37 class ProcessingConfig;
39 38
40 class EchoCancellation; 39 class EchoCancellation;
41 class EchoControlMobile; 40 class EchoControlMobile;
42 class GainControl; 41 class GainControl;
43 class HighPassFilter; 42 class HighPassFilter;
44 class LevelEstimator; 43 class LevelEstimator;
45 class NoiseSuppression; 44 class NoiseSuppression;
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 // Creates an APM instance. Use one instance for every primary audio stream 259 // Creates an APM instance. Use one instance for every primary audio stream
261 // requiring processing. On the client-side, this would typically be one 260 // requiring processing. On the client-side, this would typically be one
262 // instance for the near-end stream, and additional instances for each far-end 261 // instance for the near-end stream, and additional instances for each far-end
263 // stream which requires processing. On the server-side, this would typically 262 // stream which requires processing. On the server-side, this would typically
264 // be one instance for every incoming stream. 263 // be one instance for every incoming stream.
265 static AudioProcessing* Create(); 264 static AudioProcessing* Create();
266 // Allows passing in an optional configuration at create-time. 265 // Allows passing in an optional configuration at create-time.
267 static AudioProcessing* Create(const Config& config); 266 static AudioProcessing* Create(const Config& config);
268 // Only for testing. 267 // Only for testing.
269 static AudioProcessing* Create(const Config& config, 268 static AudioProcessing* Create(const Config& config,
270 Beamformer<float>* beamformer); 269 NonlinearBeamformer* beamformer);
271 virtual ~AudioProcessing() {} 270 virtual ~AudioProcessing() {}
272 271
273 // Initializes internal states, while retaining all user settings. This 272 // Initializes internal states, while retaining all user settings. This
274 // should be called before beginning to process a new audio stream. However, 273 // should be called before beginning to process a new audio stream. However,
275 // it is not necessary to call before processing the first stream after 274 // it is not necessary to call before processing the first stream after
276 // creation. 275 // creation.
277 // 276 //
278 // It is also not necessary to call if the audio parameters (sample 277 // It is also not necessary to call if the audio parameters (sample
279 // rate and number of channels) have changed. Passing updated parameters 278 // rate and number of channels) have changed. Passing updated parameters
280 // directly to |ProcessStream()| and |ProcessReverseStream()| is permissible. 279 // directly to |ProcessStream()| and |ProcessReverseStream()| is permissible.
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 // This does not impact the size of frames passed to |ProcessStream()|. 977 // This does not impact the size of frames passed to |ProcessStream()|.
979 virtual int set_frame_size_ms(int size) = 0; 978 virtual int set_frame_size_ms(int size) = 0;
980 virtual int frame_size_ms() const = 0; 979 virtual int frame_size_ms() const = 0;
981 980
982 protected: 981 protected:
983 virtual ~VoiceDetection() {} 982 virtual ~VoiceDetection() {}
984 }; 983 };
985 } // namespace webrtc 984 } // namespace webrtc
986 985
987 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_H_ 986 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_H_
OLDNEW
« no previous file with comments | « webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698