blob: a76e936e1e9f475db38b895f464fe8d4bbf0503b [file] [log] [blame]
aluebs@webrtc.org37ca7652014-03-24 10:16:11 +00001/*
2 * Copyright (c) 2014 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 COMMON_AUDIO_FIR_FILTER_H_
12#define COMMON_AUDIO_FIR_FILTER_H_
aluebs@webrtc.org37ca7652014-03-24 10:16:11 +000013
14#include <string.h>
15
16namespace webrtc {
17
18// Finite Impulse Response filter using floating-point arithmetic.
19class FIRFilter {
20 public:
aluebs@webrtc.org37ca7652014-03-24 10:16:11 +000021 virtual ~FIRFilter() {}
22
23 // Filters the |in| data supplied.
24 // |out| must be previously allocated and it must be at least of |length|.
25 virtual void Filter(const float* in, size_t length, float* out) = 0;
26};
27
28} // namespace webrtc
29
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020030#endif // COMMON_AUDIO_FIR_FILTER_H_