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
19/************************************************************************************/
20/*                                                                                  */
21/*    Includes                                                                      */
22/*                                                                                  */
23/************************************************************************************/
24#ifndef __LVBDE_TABLES_H__
25#define __LVBDE_TABLES_H__
26
27#ifdef __cplusplus
28extern "C" {
29#endif /* __cplusplus */
30
31#include "BIQUAD.h"
32#include "LVM_Types.h"
33
34#ifndef BUILD_FLOAT
35/************************************************************************************/
36/*                                                                                  */
37/*    Coefficients constant table                                                   */
38/*                                                                                  */
39/************************************************************************************/
40
41/*
42 * High Pass Filter Coefficient table
43 */
44extern const BQ_C32_Coefs_t LVDBE_HPF_Table[];
45
46/*
47 * Band Pass Filter coefficient table
48 */
49extern const BP_C32_Coefs_t LVDBE_BPF_Table[];
50
51/************************************************************************************/
52/*                                                                                  */
53/*    AGC constant tables                                                           */
54/*                                                                                  */
55/************************************************************************************/
56
57/* Attack time (signal too large) */
58extern const LVM_INT16 LVDBE_AGC_ATTACK_Table[];
59
60/* Decay time (signal too small) */
61extern const LVM_INT16 LVDBE_AGC_DECAY_Table[];
62
63/* Gain for use without the high pass filter */
64extern const LVM_INT32 LVDBE_AGC_GAIN_Table[];
65
66/* Gain for use with the high pass filter */
67extern const LVM_INT32 LVDBE_AGC_HPFGAIN_Table[];
68
69/************************************************************************************/
70/*                                                                                  */
71/*    Volume control gain and time constant tables                                  */
72/*                                                                                  */
73/************************************************************************************/
74
75/* dB to linear conversion table */
76extern const LVM_INT16 LVDBE_VolumeTable[];
77
78extern const LVM_INT16 LVDBE_VolumeTCTable[];
79
80#else /*BUILD_FLOAT*/
81
82/************************************************************************************/
83/*                                                                                  */
84/*    Coefficients constant table                                                   */
85/*                                                                                  */
86/************************************************************************************/
87
88/*
89 * High Pass Filter Coefficient table
90 */
91extern const BQ_FLOAT_Coefs_t LVDBE_HPF_Table[];
92
93/*
94 * Band Pass Filter coefficient table
95 */
96extern const BP_FLOAT_Coefs_t LVDBE_BPF_Table[];
97
98/************************************************************************************/
99/*                                                                                  */
100/*    AGC constant tables                                                           */
101/*                                                                                  */
102/************************************************************************************/
103
104/* Attack time (signal too large) */
105extern const LVM_FLOAT LVDBE_AGC_ATTACK_Table[];
106
107/* Decay time (signal too small) */
108extern const LVM_FLOAT LVDBE_AGC_DECAY_Table[];
109
110/* Gain for use without the high pass filter */
111extern const LVM_FLOAT LVDBE_AGC_GAIN_Table[];
112
113/* Gain for use with the high pass filter */
114extern const LVM_FLOAT LVDBE_AGC_HPFGAIN_Table[];
115
116/************************************************************************************/
117/*                                                                                  */
118/*    Volume control gain and time constant tables                                  */
119/*                                                                                  */
120/************************************************************************************/
121
122/* dB to linear conversion table */
123extern const LVM_FLOAT LVDBE_VolumeTable[];
124extern const LVM_FLOAT LVDBE_VolumeTCTable[];
125
126#endif /*BUILD_FLOAT*/
127
128extern const LVM_INT16 LVDBE_MixerTCTable[];
129
130
131#ifdef __cplusplus
132}
133#endif /* __cplusplus */
134
135#endif /* __LVBDE_TABLES_H__ */
136