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

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

Issue 2110593003: Pull out the PostFilter to its own NonlinearBeamformer API (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebasing 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 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Creates an APM instance. Use one instance for every primary audio stream 267 // Creates an APM instance. Use one instance for every primary audio stream
269 // requiring processing. On the client-side, this would typically be one 268 // requiring processing. On the client-side, this would typically be one
270 // instance for the near-end stream, and additional instances for each far-end 269 // instance for the near-end stream, and additional instances for each far-end
271 // stream which requires processing. On the server-side, this would typically 270 // stream which requires processing. On the server-side, this would typically
272 // be one instance for every incoming stream. 271 // be one instance for every incoming stream.
273 static AudioProcessing* Create(); 272 static AudioProcessing* Create();
274 // Allows passing in an optional configuration at create-time. 273 // Allows passing in an optional configuration at create-time.
275 static AudioProcessing* Create(const Config& config); 274 static AudioProcessing* Create(const Config& config);
276 // Only for testing. 275 // Only for testing.
277 static AudioProcessing* Create(const Config& config, 276 static AudioProcessing* Create(const Config& config,
278 Beamformer<float>* beamformer); 277 NonlinearBeamformer* beamformer);
279 virtual ~AudioProcessing() {} 278 virtual ~AudioProcessing() {}
280 279
281 // Initializes internal states, while retaining all user settings. This 280 // Initializes internal states, while retaining all user settings. This
282 // should be called before beginning to process a new audio stream. However, 281 // should be called before beginning to process a new audio stream. However,
283 // it is not necessary to call before processing the first stream after 282 // it is not necessary to call before processing the first stream after
284 // creation. 283 // creation.
285 // 284 //
286 // It is also not necessary to call if the audio parameters (sample 285 // It is also not necessary to call if the audio parameters (sample
287 // rate and number of channels) have changed. Passing updated parameters 286 // rate and number of channels) have changed. Passing updated parameters
288 // directly to |ProcessStream()| and |ProcessReverseStream()| is permissible. 287 // directly to |ProcessStream()| and |ProcessReverseStream()| is permissible.
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 // This does not impact the size of frames passed to |ProcessStream()|. 985 // This does not impact the size of frames passed to |ProcessStream()|.
987 virtual int set_frame_size_ms(int size) = 0; 986 virtual int set_frame_size_ms(int size) = 0;
988 virtual int frame_size_ms() const = 0; 987 virtual int frame_size_ms() const = 0;
989 988
990 protected: 989 protected:
991 virtual ~VoiceDetection() {} 990 virtual ~VoiceDetection() {}
992 }; 991 };
993 } // namespace webrtc 992 } // namespace webrtc
994 993
995 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_INCLUDE_AUDIO_PROCESSING_H_ 994 #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