1 /*
2  * Copyright (C) 2004-2010 NXP Software
3  * Copyright (C) 2010 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef FILTERS_H
19 #define FILTERS_H
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24 
25 #include "LVM_Types.h"
26 
27 /************************************************************************************/
28 /*                                                                                  */
29 /*    Structures                                                                    */
30 /*                                                                                  */
31 /************************************************************************************/
32 
33 /*
34  * Biquad with coefficients A0, A1, A2, B1 and B2 coefficients
35  */
36 /* Single precision (16-bit) Biquad section coefficients */
37 #ifndef BUILD_FLOAT
38 typedef struct
39 {
40         LVM_INT16   A0;
41         LVM_INT16   A1;
42         LVM_INT16   A2;
43         LVM_INT16   B1;
44         LVM_INT16   B2;
45         LVM_UINT16  Scale;
46 } BiquadA012B12CoefsSP_t;
47 #else
48 typedef struct
49 {
50     LVM_FLOAT   A0;
51     LVM_FLOAT   A1;
52     LVM_FLOAT   A2;
53     LVM_FLOAT   B1;
54     LVM_FLOAT   B2;
55     LVM_UINT16  Scale;
56 } BiquadA012B12CoefsSP_t;
57 #endif
58 /*
59  * Biquad with coefficients A0, A1 and B1 coefficients
60  */
61 /* Single precision (16-bit) Biquad section coefficients */
62 #ifndef BUILD_FLOAT
63 typedef struct
64 {
65         LVM_INT16   A0;
66         LVM_INT16   A1;
67         LVM_INT16   B1;
68         LVM_UINT16  Scale;
69 } BiquadA01B1CoefsSP_t;
70 #else
71 typedef struct
72 {
73     LVM_FLOAT   A0;
74     LVM_FLOAT   A1;
75     LVM_FLOAT   B1;
76     LVM_UINT16  Scale;
77 } BiquadA01B1CoefsSP_t;
78 #endif
79 #ifdef __cplusplus
80 }
81 #endif /* __cplusplus */
82 
83 #endif      /* FILTERS_H */
84 
85