blob: 8655665b35cde0dcdea086bfdb6541265659b5ad [file] [log] [blame]
peah522d71b2017-02-23 05:16:26 -08001/*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef MODULES_AUDIO_PROCESSING_AEC3_SUBTRACTOR_OUTPUT_H_
12#define MODULES_AUDIO_PROCESSING_AEC3_SUBTRACTOR_OUTPUT_H_
peah522d71b2017-02-23 05:16:26 -080013
14#include <array>
15
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020016#include "modules/audio_processing/aec3/aec3_common.h"
17#include "modules/audio_processing/aec3/fft_data.h"
peah522d71b2017-02-23 05:16:26 -080018
19namespace webrtc {
20
21// Stores the values being returned from the echo subtractor.
22struct SubtractorOutput {
peah29103572017-07-11 02:54:02 -070023 std::array<float, kBlockSize> s_main;
peah522d71b2017-02-23 05:16:26 -080024 std::array<float, kBlockSize> e_main;
25 std::array<float, kBlockSize> e_shadow;
26 FftData E_main;
peah522d71b2017-02-23 05:16:26 -080027 std::array<float, kFftLengthBy2Plus1> E2_main;
28 std::array<float, kFftLengthBy2Plus1> E2_shadow;
29
30 void Reset() {
peah29103572017-07-11 02:54:02 -070031 s_main.fill(0.f);
peah522d71b2017-02-23 05:16:26 -080032 e_main.fill(0.f);
33 e_shadow.fill(0.f);
34 E_main.re.fill(0.f);
35 E_main.im.fill(0.f);
peah522d71b2017-02-23 05:16:26 -080036 E2_main.fill(0.f);
37 E2_shadow.fill(0.f);
38 }
39};
40
41} // namespace webrtc
42
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020043#endif // MODULES_AUDIO_PROCESSING_AEC3_SUBTRACTOR_OUTPUT_H_