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 /* Includes */ 21 /* */ 22 /************************************************************************************/ 23 24 #include "LVM_Tables.h" 25 #include "LVM_Coeffs.h" 26 27 /************************************************************************************/ 28 /* */ 29 /* Treble Boost Filter Coefficients */ 30 /* */ 31 /************************************************************************************/ 32 33 FO_FLOAT_LShx_Coefs_t LVM_TrebleBoostCoefs[] = { 34 35 /* 22kHz sampling rate */ 36 {HPF_Fs22050_Gain1_A1, /* Gain setting 1 */ 37 HPF_Fs22050_Gain1_A0, -HPF_Fs22050_Gain1_B1}, 38 {HPF_Fs22050_Gain2_A1, /* Gain setting 2 */ 39 HPF_Fs22050_Gain2_A0, -HPF_Fs22050_Gain2_B1}, 40 {HPF_Fs22050_Gain3_A1, /* Gain setting 3 */ 41 HPF_Fs22050_Gain3_A0, -HPF_Fs22050_Gain3_B1}, 42 {HPF_Fs22050_Gain4_A1, /* Gain setting 4 */ 43 HPF_Fs22050_Gain4_A0, -HPF_Fs22050_Gain4_B1}, 44 {HPF_Fs22050_Gain5_A1, /* Gain setting 5 */ 45 HPF_Fs22050_Gain5_A0, -HPF_Fs22050_Gain5_B1}, 46 {HPF_Fs22050_Gain6_A1, /* Gain setting 6 */ 47 HPF_Fs22050_Gain6_A0, -HPF_Fs22050_Gain6_B1}, 48 {HPF_Fs22050_Gain7_A1, /* Gain setting 7 */ 49 HPF_Fs22050_Gain7_A0, -HPF_Fs22050_Gain7_B1}, 50 {HPF_Fs22050_Gain8_A1, /* Gain setting 8 */ 51 HPF_Fs22050_Gain8_A0, -HPF_Fs22050_Gain8_B1}, 52 {HPF_Fs22050_Gain9_A1, /* Gain setting 9 */ 53 HPF_Fs22050_Gain9_A0, -HPF_Fs22050_Gain9_B1}, 54 {HPF_Fs22050_Gain10_A1, /* Gain setting 10 */ 55 HPF_Fs22050_Gain10_A0, -HPF_Fs22050_Gain10_B1}, 56 {HPF_Fs22050_Gain11_A1, /* Gain setting 11 */ 57 HPF_Fs22050_Gain11_A0, -HPF_Fs22050_Gain11_B1}, 58 {HPF_Fs22050_Gain12_A1, /* Gain setting 12 */ 59 HPF_Fs22050_Gain12_A0, -HPF_Fs22050_Gain12_B1}, 60 {HPF_Fs22050_Gain13_A1, /* Gain setting 13 */ 61 HPF_Fs22050_Gain13_A0, -HPF_Fs22050_Gain13_B1}, 62 {HPF_Fs22050_Gain14_A1, /* Gain setting 14 */ 63 HPF_Fs22050_Gain14_A0, -HPF_Fs22050_Gain14_B1}, 64 {HPF_Fs22050_Gain15_A1, /* Gain setting 15 */ 65 HPF_Fs22050_Gain15_A0, -HPF_Fs22050_Gain15_B1}, 66 67 /* 24kHz sampling rate */ 68 {HPF_Fs24000_Gain1_A1, /* Gain setting 1 */ 69 HPF_Fs24000_Gain1_A0, -HPF_Fs24000_Gain1_B1}, 70 {HPF_Fs24000_Gain2_A1, /* Gain setting 2 */ 71 HPF_Fs24000_Gain2_A0, -HPF_Fs24000_Gain2_B1}, 72 {HPF_Fs24000_Gain3_A1, /* Gain setting 3 */ 73 HPF_Fs24000_Gain3_A0, -HPF_Fs24000_Gain3_B1}, 74 {HPF_Fs24000_Gain4_A1, /* Gain setting 4 */ 75 HPF_Fs24000_Gain4_A0, -HPF_Fs24000_Gain4_B1}, 76 {HPF_Fs24000_Gain5_A1, /* Gain setting 5 */ 77 HPF_Fs24000_Gain5_A0, -HPF_Fs24000_Gain5_B1}, 78 {HPF_Fs24000_Gain6_A1, /* Gain setting 6 */ 79 HPF_Fs24000_Gain6_A0, -HPF_Fs24000_Gain6_B1}, 80 {HPF_Fs24000_Gain7_A1, /* Gain setting 7 */ 81 HPF_Fs24000_Gain7_A0, -HPF_Fs24000_Gain7_B1}, 82 {HPF_Fs24000_Gain8_A1, /* Gain setting 8 */ 83 HPF_Fs24000_Gain8_A0, -HPF_Fs24000_Gain8_B1}, 84 {HPF_Fs24000_Gain9_A1, /* Gain setting 9 */ 85 HPF_Fs24000_Gain9_A0, -HPF_Fs24000_Gain9_B1}, 86 {HPF_Fs24000_Gain10_A1, /* Gain setting 10 */ 87 HPF_Fs24000_Gain10_A0, -HPF_Fs24000_Gain10_B1}, 88 {HPF_Fs24000_Gain11_A1, /* Gain setting 11 */ 89 HPF_Fs24000_Gain11_A0, -HPF_Fs24000_Gain11_B1}, 90 {HPF_Fs24000_Gain12_A1, /* Gain setting 12 */ 91 HPF_Fs24000_Gain12_A0, -HPF_Fs24000_Gain12_B1}, 92 {HPF_Fs24000_Gain13_A1, /* Gain setting 13 */ 93 HPF_Fs24000_Gain13_A0, -HPF_Fs24000_Gain13_B1}, 94 {HPF_Fs24000_Gain14_A1, /* Gain setting 14 */ 95 HPF_Fs24000_Gain14_A0, -HPF_Fs24000_Gain14_B1}, 96 {HPF_Fs24000_Gain15_A1, /* Gain setting 15 */ 97 HPF_Fs24000_Gain15_A0, -HPF_Fs24000_Gain15_B1}, 98 99 /* 32kHz sampling rate */ 100 {HPF_Fs32000_Gain1_A1, /* Gain setting 1 */ 101 HPF_Fs32000_Gain1_A0, -HPF_Fs32000_Gain1_B1}, 102 {HPF_Fs32000_Gain2_A1, /* Gain setting 2 */ 103 HPF_Fs32000_Gain2_A0, -HPF_Fs32000_Gain2_B1}, 104 {HPF_Fs32000_Gain3_A1, /* Gain setting 3 */ 105 HPF_Fs32000_Gain3_A0, -HPF_Fs32000_Gain3_B1}, 106 {HPF_Fs32000_Gain4_A1, /* Gain setting 4 */ 107 HPF_Fs32000_Gain4_A0, -HPF_Fs32000_Gain4_B1}, 108 {HPF_Fs32000_Gain5_A1, /* Gain setting 5 */ 109 HPF_Fs32000_Gain5_A0, -HPF_Fs32000_Gain5_B1}, 110 {HPF_Fs32000_Gain6_A1, /* Gain setting 6 */ 111 HPF_Fs32000_Gain6_A0, -HPF_Fs32000_Gain6_B1}, 112 {HPF_Fs32000_Gain7_A1, /* Gain setting 7 */ 113 HPF_Fs32000_Gain7_A0, -HPF_Fs32000_Gain7_B1}, 114 {HPF_Fs32000_Gain8_A1, /* Gain setting 8 */ 115 HPF_Fs32000_Gain8_A0, -HPF_Fs32000_Gain8_B1}, 116 {HPF_Fs32000_Gain9_A1, /* Gain setting 9 */ 117 HPF_Fs32000_Gain9_A0, -HPF_Fs32000_Gain9_B1}, 118 {HPF_Fs32000_Gain10_A1, /* Gain setting 10 */ 119 HPF_Fs32000_Gain10_A0, -HPF_Fs32000_Gain10_B1}, 120 {HPF_Fs32000_Gain11_A1, /* Gain setting 11 */ 121 HPF_Fs32000_Gain11_A0, -HPF_Fs32000_Gain11_B1}, 122 {HPF_Fs32000_Gain12_A1, /* Gain setting 12 */ 123 HPF_Fs32000_Gain12_A0, -HPF_Fs32000_Gain12_B1}, 124 {HPF_Fs32000_Gain13_A1, /* Gain setting 13 */ 125 HPF_Fs32000_Gain13_A0, -HPF_Fs32000_Gain13_B1}, 126 {HPF_Fs32000_Gain14_A1, /* Gain setting 14 */ 127 HPF_Fs32000_Gain14_A0, -HPF_Fs32000_Gain14_B1}, 128 {HPF_Fs32000_Gain15_A1, /* Gain setting 15 */ 129 HPF_Fs32000_Gain15_A0, -HPF_Fs32000_Gain15_B1}, 130 131 /* 44kHz sampling rate */ 132 { 133 HPF_Fs44100_Gain1_A1, /* Gain setting 1 */ 134 HPF_Fs44100_Gain1_A0, 135 -HPF_Fs44100_Gain1_B1, 136 }, 137 {HPF_Fs44100_Gain2_A1, /* Gain setting 2 */ 138 HPF_Fs44100_Gain2_A0, -HPF_Fs44100_Gain2_B1}, 139 {HPF_Fs44100_Gain3_A1, /* Gain setting 3 */ 140 HPF_Fs44100_Gain3_A0, -HPF_Fs44100_Gain3_B1}, 141 {HPF_Fs44100_Gain4_A1, /* Gain setting 4 */ 142 HPF_Fs44100_Gain4_A0, -HPF_Fs44100_Gain4_B1}, 143 {HPF_Fs44100_Gain5_A1, /* Gain setting 5 */ 144 HPF_Fs44100_Gain5_A0, -HPF_Fs44100_Gain5_B1}, 145 {HPF_Fs44100_Gain6_A1, /* Gain setting 6 */ 146 HPF_Fs44100_Gain6_A0, -HPF_Fs44100_Gain6_B1}, 147 {HPF_Fs44100_Gain7_A1, /* Gain setting 7 */ 148 HPF_Fs44100_Gain7_A0, -HPF_Fs44100_Gain7_B1}, 149 {HPF_Fs44100_Gain8_A1, /* Gain setting 8 */ 150 HPF_Fs44100_Gain8_A0, -HPF_Fs44100_Gain8_B1}, 151 {HPF_Fs44100_Gain9_A1, /* Gain setting 9 */ 152 HPF_Fs44100_Gain9_A0, -HPF_Fs44100_Gain9_B1}, 153 {HPF_Fs44100_Gain10_A1, /* Gain setting 10 */ 154 HPF_Fs44100_Gain10_A0, -HPF_Fs44100_Gain10_B1}, 155 {HPF_Fs44100_Gain11_A1, /* Gain setting 11 */ 156 HPF_Fs44100_Gain11_A0, -HPF_Fs44100_Gain11_B1}, 157 {HPF_Fs44100_Gain12_A1, /* Gain setting 12 */ 158 HPF_Fs44100_Gain12_A0, -HPF_Fs44100_Gain12_B1}, 159 {HPF_Fs44100_Gain13_A1, /* Gain setting 13 */ 160 HPF_Fs44100_Gain13_A0, -HPF_Fs44100_Gain13_B1}, 161 {HPF_Fs44100_Gain14_A1, /* Gain setting 14 */ 162 HPF_Fs44100_Gain14_A0, -HPF_Fs44100_Gain14_B1}, 163 {HPF_Fs44100_Gain15_A1, /* Gain setting 15 */ 164 HPF_Fs44100_Gain15_A0, -HPF_Fs44100_Gain15_B1}, 165 166 /* 48kHz sampling rate */ 167 {HPF_Fs48000_Gain1_A1, /* Gain setting 1 */ 168 HPF_Fs48000_Gain1_A0, -HPF_Fs48000_Gain1_B1}, 169 {HPF_Fs48000_Gain2_A1, /* Gain setting 2 */ 170 HPF_Fs48000_Gain2_A0, -HPF_Fs48000_Gain2_B1}, 171 {HPF_Fs48000_Gain3_A1, /* Gain setting 3 */ 172 HPF_Fs48000_Gain3_A0, -HPF_Fs48000_Gain3_B1}, 173 {HPF_Fs48000_Gain4_A1, /* Gain setting 4 */ 174 HPF_Fs48000_Gain4_A0, -HPF_Fs48000_Gain4_B1}, 175 {HPF_Fs48000_Gain5_A1, /* Gain setting 5 */ 176 HPF_Fs48000_Gain5_A0, -HPF_Fs48000_Gain5_B1}, 177 {HPF_Fs48000_Gain6_A1, /* Gain setting 6 */ 178 HPF_Fs48000_Gain6_A0, -HPF_Fs48000_Gain6_B1}, 179 {HPF_Fs48000_Gain7_A1, /* Gain setting 7 */ 180 HPF_Fs48000_Gain7_A0, -HPF_Fs48000_Gain7_B1}, 181 {HPF_Fs48000_Gain8_A1, /* Gain setting 8 */ 182 HPF_Fs48000_Gain8_A0, -HPF_Fs48000_Gain8_B1}, 183 {HPF_Fs48000_Gain9_A1, /* Gain setting 9 */ 184 HPF_Fs48000_Gain9_A0, -HPF_Fs48000_Gain9_B1}, 185 {HPF_Fs48000_Gain10_A1, /* Gain setting 10 */ 186 HPF_Fs48000_Gain10_A0, -HPF_Fs48000_Gain10_B1}, 187 {HPF_Fs48000_Gain11_A1, /* Gain setting 11 */ 188 HPF_Fs48000_Gain11_A0, -HPF_Fs48000_Gain11_B1}, 189 {HPF_Fs48000_Gain12_A1, /* Gain setting 12 */ 190 HPF_Fs48000_Gain12_A0, -HPF_Fs48000_Gain12_B1}, 191 {HPF_Fs48000_Gain13_A1, /* Gain setting 13 */ 192 HPF_Fs48000_Gain13_A0, -HPF_Fs48000_Gain13_B1}, 193 {HPF_Fs48000_Gain14_A1, /* Gain setting 14 */ 194 HPF_Fs48000_Gain14_A0, -HPF_Fs48000_Gain14_B1}, 195 {HPF_Fs48000_Gain15_A1, /* Gain setting 15 */ 196 HPF_Fs48000_Gain15_A0, -HPF_Fs48000_Gain15_B1}, 197 /* 88kHz Sampling rate */ 198 {HPF_Fs88200_Gain1_A1, /* Gain Setting 1 */ 199 HPF_Fs88200_Gain1_A0, -HPF_Fs88200_Gain1_B1}, 200 {HPF_Fs88200_Gain2_A1, /* Gain Setting 2 */ 201 HPF_Fs88200_Gain2_A0, -HPF_Fs88200_Gain2_B1}, 202 {HPF_Fs88200_Gain3_A1, /* Gain Setting 3 */ 203 HPF_Fs88200_Gain3_A0, -HPF_Fs88200_Gain3_B1}, 204 {HPF_Fs88200_Gain4_A1, /* Gain Setting 4 */ 205 HPF_Fs88200_Gain4_A0, -HPF_Fs88200_Gain4_B1}, 206 {HPF_Fs88200_Gain5_A1, /* Gain Setting 5 */ 207 HPF_Fs88200_Gain5_A0, -HPF_Fs88200_Gain5_B1}, 208 {HPF_Fs88200_Gain6_A1, /* Gain Setting 6 */ 209 HPF_Fs88200_Gain6_A0, -HPF_Fs88200_Gain6_B1}, 210 {HPF_Fs88200_Gain7_A1, /* Gain Setting 7 */ 211 HPF_Fs88200_Gain7_A0, -HPF_Fs88200_Gain7_B1}, 212 {HPF_Fs88200_Gain8_A1, /* Gain Setting 8 */ 213 HPF_Fs88200_Gain8_A0, -HPF_Fs88200_Gain8_B1}, 214 {HPF_Fs88200_Gain9_A1, /* Gain Setting 9 */ 215 HPF_Fs88200_Gain9_A0, -HPF_Fs88200_Gain9_B1}, 216 {HPF_Fs88200_Gain10_A1, /* Gain Setting 10 */ 217 HPF_Fs88200_Gain10_A0, -HPF_Fs88200_Gain10_B1}, 218 {HPF_Fs88200_Gain11_A1, /* Gain Setting 11 */ 219 HPF_Fs88200_Gain11_A0, -HPF_Fs88200_Gain11_B1}, 220 {HPF_Fs88200_Gain12_A1, /* Gain Setting 12 */ 221 HPF_Fs88200_Gain12_A0, -HPF_Fs88200_Gain12_B1}, 222 {HPF_Fs88200_Gain13_A1, /* Gain Setting 13 */ 223 HPF_Fs88200_Gain13_A0, -HPF_Fs88200_Gain13_B1}, 224 {HPF_Fs88200_Gain14_A1, /* Gain Setting 14 */ 225 HPF_Fs88200_Gain14_A0, -HPF_Fs88200_Gain14_B1}, 226 {HPF_Fs88200_Gain15_A1, /* Gain Setting 15 */ 227 HPF_Fs88200_Gain15_A0, -HPF_Fs88200_Gain15_B1}, 228 229 /* 96kHz sampling rate */ 230 {HPF_Fs96000_Gain1_A1, /* Gain setting 1 */ 231 HPF_Fs96000_Gain1_A0, -HPF_Fs96000_Gain1_B1}, 232 {HPF_Fs96000_Gain2_A1, /* Gain setting 2 */ 233 HPF_Fs96000_Gain2_A0, -HPF_Fs96000_Gain2_B1}, 234 {HPF_Fs96000_Gain3_A1, /* Gain setting 3 */ 235 HPF_Fs96000_Gain3_A0, -HPF_Fs96000_Gain3_B1}, 236 {HPF_Fs96000_Gain4_A1, /* Gain setting 4 */ 237 HPF_Fs96000_Gain4_A0, -HPF_Fs96000_Gain4_B1}, 238 {HPF_Fs96000_Gain5_A1, /* Gain setting 5 */ 239 HPF_Fs96000_Gain5_A0, -HPF_Fs96000_Gain5_B1}, 240 {HPF_Fs96000_Gain6_A1, /* Gain setting 6 */ 241 HPF_Fs96000_Gain6_A0, -HPF_Fs96000_Gain6_B1}, 242 {HPF_Fs96000_Gain7_A1, /* Gain setting 7 */ 243 HPF_Fs96000_Gain7_A0, -HPF_Fs96000_Gain7_B1}, 244 {HPF_Fs96000_Gain8_A1, /* Gain setting 8 */ 245 HPF_Fs96000_Gain8_A0, -HPF_Fs96000_Gain8_B1}, 246 {HPF_Fs96000_Gain9_A1, /* Gain setting 9 */ 247 HPF_Fs96000_Gain9_A0, -HPF_Fs96000_Gain9_B1}, 248 {HPF_Fs96000_Gain10_A1, /* Gain setting 10 */ 249 HPF_Fs96000_Gain10_A0, -HPF_Fs96000_Gain10_B1}, 250 {HPF_Fs96000_Gain11_A1, /* Gain setting 11 */ 251 HPF_Fs96000_Gain11_A0, -HPF_Fs96000_Gain11_B1}, 252 {HPF_Fs96000_Gain12_A1, /* Gain setting 12 */ 253 HPF_Fs96000_Gain12_A0, -HPF_Fs96000_Gain12_B1}, 254 {HPF_Fs96000_Gain13_A1, /* Gain setting 13 */ 255 HPF_Fs96000_Gain13_A0, -HPF_Fs96000_Gain13_B1}, 256 {HPF_Fs96000_Gain14_A1, /* Gain setting 14 */ 257 HPF_Fs96000_Gain14_A0, -HPF_Fs96000_Gain14_B1}, 258 {HPF_Fs96000_Gain15_A1, /* Gain setting 15 */ 259 HPF_Fs96000_Gain15_A0, -HPF_Fs96000_Gain15_B1}, 260 261 /* 176kHz Sampling rate */ 262 {HPF_Fs176400_Gain1_A1, /* Gain Setting 1 */ 263 HPF_Fs176400_Gain1_A0, -HPF_Fs176400_Gain1_B1}, 264 {HPF_Fs176400_Gain2_A1, /* Gain Setting 2 */ 265 HPF_Fs176400_Gain2_A0, -HPF_Fs176400_Gain2_B1}, 266 {HPF_Fs176400_Gain3_A1, /* Gain Setting 3 */ 267 HPF_Fs176400_Gain3_A0, -HPF_Fs176400_Gain3_B1}, 268 {HPF_Fs176400_Gain4_A1, /* Gain Setting 4 */ 269 HPF_Fs176400_Gain4_A0, -HPF_Fs176400_Gain4_B1}, 270 {HPF_Fs176400_Gain5_A1, /* Gain Setting 5 */ 271 HPF_Fs176400_Gain5_A0, -HPF_Fs176400_Gain5_B1}, 272 {HPF_Fs176400_Gain6_A1, /* Gain Setting 6 */ 273 HPF_Fs176400_Gain6_A0, -HPF_Fs176400_Gain6_B1}, 274 {HPF_Fs176400_Gain7_A1, /* Gain Setting 7 */ 275 HPF_Fs176400_Gain7_A0, -HPF_Fs176400_Gain7_B1}, 276 {HPF_Fs176400_Gain8_A1, /* Gain Setting 8 */ 277 HPF_Fs176400_Gain8_A0, -HPF_Fs176400_Gain8_B1}, 278 {HPF_Fs176400_Gain9_A1, /* Gain Setting 9 */ 279 HPF_Fs176400_Gain9_A0, -HPF_Fs176400_Gain9_B1}, 280 {HPF_Fs176400_Gain10_A1, /* Gain Setting 10 */ 281 HPF_Fs176400_Gain10_A0, -HPF_Fs176400_Gain10_B1}, 282 {HPF_Fs176400_Gain11_A1, /* Gain Setting 11 */ 283 HPF_Fs176400_Gain11_A0, -HPF_Fs176400_Gain11_B1}, 284 {HPF_Fs176400_Gain12_A1, /* Gain Setting 12 */ 285 HPF_Fs176400_Gain12_A0, -HPF_Fs176400_Gain12_B1}, 286 {HPF_Fs176400_Gain13_A1, /* Gain Setting 13 */ 287 HPF_Fs176400_Gain13_A0, -HPF_Fs176400_Gain13_B1}, 288 {HPF_Fs176400_Gain14_A1, /* Gain Setting 14 */ 289 HPF_Fs176400_Gain14_A0, -HPF_Fs176400_Gain14_B1}, 290 {HPF_Fs176400_Gain15_A1, /* Gain Setting 15 */ 291 HPF_Fs176400_Gain15_A0, -HPF_Fs176400_Gain15_B1}, 292 293 /* 192kHz sampling rate */ 294 {HPF_Fs192000_Gain1_A1, /* Gain setting 1 */ 295 HPF_Fs192000_Gain1_A0, -HPF_Fs192000_Gain1_B1}, 296 {HPF_Fs192000_Gain2_A1, /* Gain setting 2 */ 297 HPF_Fs192000_Gain2_A0, -HPF_Fs192000_Gain2_B1}, 298 {HPF_Fs192000_Gain3_A1, /* Gain setting 3 */ 299 HPF_Fs192000_Gain3_A0, -HPF_Fs192000_Gain3_B1}, 300 {HPF_Fs192000_Gain4_A1, /* Gain setting 4 */ 301 HPF_Fs192000_Gain4_A0, -HPF_Fs192000_Gain4_B1}, 302 {HPF_Fs192000_Gain5_A1, /* Gain setting 5 */ 303 HPF_Fs192000_Gain5_A0, -HPF_Fs192000_Gain5_B1}, 304 {HPF_Fs192000_Gain6_A1, /* Gain setting 6 */ 305 HPF_Fs192000_Gain6_A0, -HPF_Fs192000_Gain6_B1}, 306 {HPF_Fs192000_Gain7_A1, /* Gain setting 7 */ 307 HPF_Fs192000_Gain7_A0, -HPF_Fs192000_Gain7_B1}, 308 {HPF_Fs192000_Gain8_A1, /* Gain setting 8 */ 309 HPF_Fs192000_Gain8_A0, -HPF_Fs192000_Gain8_B1}, 310 {HPF_Fs192000_Gain9_A1, /* Gain setting 9 */ 311 HPF_Fs192000_Gain9_A0, -HPF_Fs192000_Gain9_B1}, 312 {HPF_Fs192000_Gain10_A1, /* Gain setting 10 */ 313 HPF_Fs192000_Gain10_A0, -HPF_Fs192000_Gain10_B1}, 314 {HPF_Fs192000_Gain11_A1, /* Gain setting 11 */ 315 HPF_Fs192000_Gain11_A0, -HPF_Fs192000_Gain11_B1}, 316 {HPF_Fs192000_Gain12_A1, /* Gain setting 12 */ 317 HPF_Fs192000_Gain12_A0, -HPF_Fs192000_Gain12_B1}, 318 {HPF_Fs192000_Gain13_A1, /* Gain setting 13 */ 319 HPF_Fs192000_Gain13_A0, -HPF_Fs192000_Gain13_B1}, 320 {HPF_Fs192000_Gain14_A1, /* Gain setting 14 */ 321 HPF_Fs192000_Gain14_A0, -HPF_Fs192000_Gain14_B1}, 322 {HPF_Fs192000_Gain15_A1, /* Gain setting 15 */ 323 HPF_Fs192000_Gain15_A0, -HPF_Fs192000_Gain15_B1}}; 324 325 /************************************************************************************/ 326 /* */ 327 /* Volume control gain and time constant tables */ 328 /* */ 329 /************************************************************************************/ 330 331 /* dB to linear conversion table */ 332 const LVM_FLOAT LVM_VolumeTable[] = {1.000f, /* 0dB */ 333 0.891f, /* -1dB */ 334 0.794f, /* -2dB */ 335 0.708f, /* -3dB */ 336 0.631f, /* -4dB */ 337 0.562f, /* -5dB */ 338 0.501f}; /* -6dB */ 339 340 /************************************************************************************/ 341 /* */ 342 /* Volume mixer time constants (100ms) */ 343 /* */ 344 /************************************************************************************/ 345 346 #define LVM_MIX_TC_Fs8000 32580 /* Floating point value 0.994262695 */ 347 #define LVM_MIX_TC_Fs11025 32632 /* Floating point value 0.995849609 */ 348 #define LVM_MIX_TC_Fs12000 32643 /* Floating point value 0.996185303 */ 349 #define LVM_MIX_TC_Fs16000 32674 /* Floating point value 0.997131348 */ 350 #define LVM_MIX_TC_Fs22050 32700 /* Floating point value 0.997924805 */ 351 #define LVM_MIX_TC_Fs24000 32705 /* Floating point value 0.998077393 */ 352 #define LVM_MIX_TC_Fs32000 32721 /* Floating point value 0.998565674 */ 353 #define LVM_MIX_TC_Fs44100 32734 /* Floating point value 0.998962402 */ 354 #define LVM_MIX_TC_Fs48000 32737 /* Floating point value 0.999053955 */ 355 356 const LVM_INT16 LVM_MixerTCTable[] = {LVM_MIX_TC_Fs8000, LVM_MIX_TC_Fs11025, LVM_MIX_TC_Fs12000, 357 LVM_MIX_TC_Fs16000, LVM_MIX_TC_Fs22050, LVM_MIX_TC_Fs24000, 358 LVM_MIX_TC_Fs32000, LVM_MIX_TC_Fs44100, LVM_MIX_TC_Fs48000}; 359