blob: d263e1ba60657c5e5d876d2c5cd70de7e6b0fb04 [file] [log] [blame]
Patrik Höglundf715c532017-11-17 11:04:15 +01001/*
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
11#ifndef COMMON_AUDIO_FIR_FILTER_C_H_
12#define COMMON_AUDIO_FIR_FILTER_C_H_
13
14#include <string.h>
15#include <memory>
16
17#include "common_audio/fir_filter.h"
18
19namespace webrtc {
20
21class FIRFilterC : public FIRFilter {
22 public:
Yves Gerey665174f2018-06-19 15:03:05 +020023 FIRFilterC(const float* coefficients, size_t coefficients_length);
Patrik Höglundf715c532017-11-17 11:04:15 +010024 ~FIRFilterC() override;
25
26 void Filter(const float* in, size_t length, float* out) override;
27
28 private:
29 size_t coefficients_length_;
30 size_t state_length_;
31 std::unique_ptr<float[]> coefficients_;
32 std::unique_ptr<float[]> state_;
33};
34
35} // namespace webrtc
36
37#endif // COMMON_AUDIO_FIR_FILTER_C_H_