12c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*
22c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Copyright (C) 2004-2010 NXP Software
32c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Copyright (C) 2010 The Android Open Source Project
42c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent *
52c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Licensed under the Apache License, Version 2.0 (the "License");
62c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * you may not use this file except in compliance with the License.
72c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * You may obtain a copy of the License at
82c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent *
92c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent *      http://www.apache.org/licenses/LICENSE-2.0
102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent *
112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Unless required by applicable law or agreed to in writing, software
122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * distributed under the License is distributed on an "AS IS" BASIS,
132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * See the License for the specific language governing permissions and
152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * limitations under the License.
162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */
172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*    Includes                                                                      */
222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "LVDBE.h"
262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "LVDBE_Coeffs.h"               /* Filter coefficients */
272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent#include "BIQUAD.h"
282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*    Coefficients constant table                                                   */
332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*
372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * High Pass Filter Coefficient table
382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */
392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst BQ_C32_Coefs_t LVDBE_HPF_Table[] = {
402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 55Hz centre frequency */
412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs8000_Fc55_A2,                /* 8kS/s coefficients */
422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc55_A1,
432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc55_A0,
442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc55_B2,
452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc55_B1},
462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs11025_Fc55_A2,                /* 11kS/s coefficients */
472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc55_A1,
482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc55_A0,
492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc55_B2,
502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc55_B1},
512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs12000_Fc55_A2,                /* 12kS/s coefficients */
522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc55_A1,
532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc55_A0,
542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc55_B2,
552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc55_B1},
562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs16000_Fc55_A2,                /* 16kS/s coefficients */
572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc55_A1,
582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc55_A0,
592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc55_B2,
602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc55_B1},
612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs22050_Fc55_A2,                /* 22kS/s coefficients */
622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc55_A1,
632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc55_A0,
642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc55_B2,
652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc55_B1},
662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs24000_Fc55_A2,                /* 24kS/s coefficients */
672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc55_A1,
682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc55_A0,
692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc55_B2,
702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc55_B1},
712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs32000_Fc55_A2,                /* 32kS/s coefficients */
722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc55_A1,
732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc55_A0,
742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc55_B2,
752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc55_B1},
762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs44100_Fc55_A2,                /* 44kS/s coefficients */
772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc55_A1,
782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc55_A0,
792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc55_B2,
802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc55_B1},
812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs48000_Fc55_A2,                /* 48kS/s coefficients */
822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc55_A1,
832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc55_A0,
842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc55_B2,
852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc55_B1},
862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 66Hz centre frequency */
882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs8000_Fc66_A2,                /* 8kS/s coefficients */
892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc66_A1,
902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc66_A0,
912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc66_B2,
922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc66_B1},
932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs11025_Fc66_A2,                /* 11kS/s coefficients */
942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc66_A1,
952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc66_A0,
962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc66_B2,
972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc66_B1},
982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs12000_Fc66_A2,                /* 12kS/s coefficients */
992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc66_A1,
1002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc66_A0,
1012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc66_B2,
1022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc66_B1},
1032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs16000_Fc66_A2,                /* 16kS/s coefficients */
1042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc66_A1,
1052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc66_A0,
1062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc66_B2,
1072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc66_B1},
1082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs22050_Fc66_A2,                /* 22kS/s coefficients */
1092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc66_A1,
1102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc66_A0,
1112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc66_B2,
1122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc66_B1},
1132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs24000_Fc66_A2,                /* 24kS/s coefficients */
1142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc66_A1,
1152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc66_A0,
1162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc66_B2,
1172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc66_B1},
1182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs32000_Fc66_A2,                /* 32kS/s coefficients */
1192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc66_A1,
1202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc66_A0,
1212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc66_B2,
1222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc66_B1},
1232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs44100_Fc66_A2,                /* 44kS/s coefficients */
1242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc66_A1,
1252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc66_A0,
1262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc66_B2,
1272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc66_B1},
1282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs48000_Fc66_A2,                /* 48kS/s coefficients */
1292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc66_A1,
1302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc66_A0,
1312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc66_B2,
1322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc66_B1},
1332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
1342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 78Hz centre frequency */
1352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs8000_Fc78_A2,                /* 8kS/s coefficients */
1362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc78_A1,
1372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc78_A0,
1382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc78_B2,
1392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc78_B1},
1402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs11025_Fc78_A2,                /* 11kS/s coefficients */
1412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc78_A1,
1422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc78_A0,
1432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc78_B2,
1442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc78_B1},
1452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs12000_Fc78_A2,                /* 12kS/s coefficients */
1462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc78_A1,
1472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc78_A0,
1482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc78_B2,
1492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc78_B1},
1502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs16000_Fc78_A2,                /* 16kS/s coefficients */
1512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc78_A1,
1522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc78_A0,
1532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc78_B2,
1542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc78_B1},
1552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs22050_Fc78_A2,                /* 22kS/s coefficients */
1562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc78_A1,
1572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc78_A0,
1582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc78_B2,
1592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc78_B1},
1602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs24000_Fc78_A2,                /* 24kS/s coefficients */
1612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc78_A1,
1622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc78_A0,
1632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc78_B2,
1642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc78_B1},
1652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs32000_Fc78_A2,                /* 32kS/s coefficients */
1662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc78_A1,
1672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc78_A0,
1682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc78_B2,
1692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc78_B1},
1702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs44100_Fc78_A2,                /* 44kS/s coefficients */
1712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc78_A1,
1722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc78_A0,
1732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc78_B2,
1742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc78_B1},
1752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs48000_Fc78_A2,                /* 48kS/s coefficients */
1762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc78_A1,
1772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc78_A0,
1782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc78_B2,
1792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc78_B1},
1802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
1812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 90Hz centre frequency */
1822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs8000_Fc90_A2,                /* 8kS/s coefficients */
1832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc90_A1,
1842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs8000_Fc90_A0,
1852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc90_B2,
1862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs8000_Fc90_B1},
1872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs11025_Fc90_A2,                /* 11kS/s coefficients */
1882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc90_A1,
1892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs11025_Fc90_A0,
1902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc90_B2,
1912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs11025_Fc90_B1},
1922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs12000_Fc90_A2,                /* 12kS/s coefficients */
1932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc90_A1,
1942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs12000_Fc90_A0,
1952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc90_B2,
1962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs12000_Fc90_B1},
1972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs16000_Fc90_A2,                /* 16kS/s coefficients */
1982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc90_A1,
1992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs16000_Fc90_A0,
2002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc90_B2,
2012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs16000_Fc90_B1},
2022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs22050_Fc90_A2,                /* 22kS/s coefficients */
2032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc90_A1,
2042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs22050_Fc90_A0,
2052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc90_B2,
2062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs22050_Fc90_B1},
2072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs24000_Fc90_A2,                /* 24kS/s coefficients */
2082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc90_A1,
2092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs24000_Fc90_A0,
2102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc90_B2,
2112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs24000_Fc90_B1},
2122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs32000_Fc90_A2,                /* 32kS/s coefficients */
2132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc90_A1,
2142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs32000_Fc90_A0,
2152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc90_B2,
2162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs32000_Fc90_B1},
2172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs44100_Fc90_A2,                /* 44kS/s coefficients */
2182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc90_A1,
2192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs44100_Fc90_A0,
2202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc90_B2,
2212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs44100_Fc90_B1},
2222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {HPF_Fs48000_Fc90_A2,                /* 48kS/s coefficients */
2232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc90_A1,
2242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     HPF_Fs48000_Fc90_A0,
2252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc90_B2,
2262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -HPF_Fs48000_Fc90_B1}};
2272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
2282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*
2292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent * Band Pass Filter coefficient table
2302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent */
2312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst BP_C32_Coefs_t LVDBE_BPF_Table[] = {
2322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 55Hz centre frequency */
2332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs8000_Fc55_A0,                /* 8kS/s coefficients */
2342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc55_B2,
2352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc55_B1},
2362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs11025_Fc55_A0,                /* 11kS/s coefficients */
2372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc55_B2,
2382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc55_B1},
2392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs12000_Fc55_A0,                /* 12kS/s coefficients */
2402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc55_B2,
2412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc55_B1},
2422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs16000_Fc55_A0,                /* 16kS/s coefficients */
2432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc55_B2,
2442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc55_B1},
2452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs22050_Fc55_A0,                /* 22kS/s coefficients */
2462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc55_B2,
2472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc55_B1},
2482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs24000_Fc55_A0,                /* 24kS/s coefficients */
2492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc55_B2,
2502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc55_B1},
2512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs32000_Fc55_A0,                /* 32kS/s coefficients */
2522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc55_B2,
2532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc55_B1},
2542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs44100_Fc55_A0,                /* 44kS/s coefficients */
2552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc55_B2,
2562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc55_B1},
2572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs48000_Fc55_A0,                /* 48kS/s coefficients */
2582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc55_B2,
2592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc55_B1},
2602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
2612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 66Hz centre frequency */
2622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs8000_Fc66_A0,                /* 8kS/s coefficients */
2632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc66_B2,
2642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc66_B1},
2652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs11025_Fc66_A0,                /* 11kS/s coefficients */
2662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc66_B2,
2672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc66_B1},
2682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs12000_Fc66_A0,                /* 12kS/s coefficients */
2692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc66_B2,
2702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc66_B1},
2712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs16000_Fc66_A0,                /* 16kS/s coefficients */
2722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc66_B2,
2732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc66_B1},
2742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs22050_Fc66_A0,                /* 22kS/s coefficients */
2752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc66_B2,
2762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc66_B1},
2772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs24000_Fc66_A0,                /* 24kS/s coefficients */
2782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc66_B2,
2792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc66_B1},
2802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs32000_Fc66_A0,                /* 32kS/s coefficients */
2812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc66_B2,
2822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc66_B1},
2832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs44100_Fc66_A0,                /* 44kS/s coefficients */
2842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc66_B2,
2852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc66_B1},
2862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs48000_Fc66_A0,                /* 48kS/s coefficients */
2872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc66_B2,
2882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc66_B1},
2892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
2902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 78Hz centre frequency */
2912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs8000_Fc78_A0,                /* 8kS/s coefficients */
2922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc78_B2,
2932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc78_B1},
2942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs11025_Fc78_A0,                /* 11kS/s coefficients */
2952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc78_B2,
2962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc78_B1},
2972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs12000_Fc78_A0,                /* 12kS/s coefficients */
2982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc78_B2,
2992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc78_B1},
3002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs16000_Fc78_A0,                /* 16kS/s coefficients */
3012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc78_B2,
3022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc78_B1},
3032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs22050_Fc78_A0,                /* 22kS/s coefficients */
3042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc78_B2,
3052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc78_B1},
3062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs24000_Fc78_A0,                /* 24kS/s coefficients */
3072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc78_B2,
3082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc78_B1},
3092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs32000_Fc78_A0,                /* 32kS/s coefficients */
3102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc78_B2,
3112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc78_B1},
3122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs44100_Fc78_A0,                /* 44kS/s coefficients */
3132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc78_B2,
3142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc78_B1},
3152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs48000_Fc78_A0,                /* 48kS/s coefficients */
3162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc78_B2,
3172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc78_B1},
3182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    /* Coefficients for 90Hz centre frequency */
3202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs8000_Fc90_A0,                /* 8kS/s coefficients */
3212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc90_B2,
3222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs8000_Fc90_B1},
3232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs11025_Fc90_A0,                /* 11kS/s coefficients */
3242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc90_B2,
3252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs11025_Fc90_B1},
3262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs12000_Fc90_A0,                /* 12kS/s coefficients */
3272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc90_B2,
3282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs12000_Fc90_B1},
3292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs16000_Fc90_A0,                /* 16kS/s coefficients */
3302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc90_B2,
3312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs16000_Fc90_B1},
3322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs22050_Fc90_A0,                /* 22kS/s coefficients */
3332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc90_B2,
3342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs22050_Fc90_B1},
3352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs24000_Fc90_A0,                /* 24kS/s coefficients */
3362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc90_B2,
3372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs24000_Fc90_B1},
3382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs32000_Fc90_A0,                /* 32kS/s coefficients */
3392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc90_B2,
3402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs32000_Fc90_B1},
3412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs44100_Fc90_A0,                /* 44kS/s coefficients */
3422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc90_B2,
3432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs44100_Fc90_B1},
3442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    {BPF_Fs48000_Fc90_A0,                /* 48kS/s coefficients */
3452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc90_B2,
3462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent     -BPF_Fs48000_Fc90_B1}};
3472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
3502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
3512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*    AGC constant tables                                                           */
3522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
3532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
3542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Attack time (signal too large) */
3562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_AGC_ATTACK_Table[] = {
3572c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs8000,
3582c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs11025,
3592c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs12000,
3602c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs16000,
3612c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs22050,
3622c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs24000,
3632c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs32000,
3642c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs44100,
3652c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_ATTACK_Fs48000};
3662c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3672c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Decay time (signal too small) */
3682c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_AGC_DECAY_Table[] = {
3692c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs8000,
3702c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs11025,
3712c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs12000,
3722c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs16000,
3732c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs22050,
3742c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs24000,
3752c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs32000,
3762c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs44100,
3772c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_DECAY_Fs48000};
3782c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3792c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Gain for use without the high pass filter */
3802c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT32 LVDBE_AGC_GAIN_Table[] = {
3812c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_0dB,
3822c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_1dB,
3832c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_2dB,
3842c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_3dB,
3852c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_4dB,
3862c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_5dB,
3872c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_6dB,
3882c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_7dB,
3892c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_8dB,
3902c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_9dB,
3912c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_10dB,
3922c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_11dB,
3932c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_12dB,
3942c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_13dB,
3952c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_14dB,
3962c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_GAIN_15dB};
3972c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
3982c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* Gain for use with the high pass filter */
3992c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT32 LVDBE_AGC_HPFGAIN_Table[] = {
4002c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_0dB,
4012c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_1dB,
4022c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_2dB,
4032c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_3dB,
4042c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_4dB,
4052c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_5dB,
4062c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_6dB,
4072c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_7dB,
4082c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_8dB,
4092c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_9dB,
4102c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_10dB,
4112c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_11dB,
4122c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_12dB,
4132c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_13dB,
4142c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_14dB,
4152c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    AGC_HPFGAIN_15dB};
4162c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4172c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4182c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
4192c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
4202c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*    Volume control gain and time constant tables                                  */
4212c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/*                                                                                  */
4222c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/************************************************************************************/
4232c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4242c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent/* dB to linear conversion table */
4252c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_VolumeTable[] = {
4262c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x4000,             /* -6dB */
4272c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x47FB,             /* -5dB */
4282c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x50C3,             /* -4dB */
4292c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x5A9E,             /* -3dB */
4302c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x65AD,             /* -2dB */
4312c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x7215,             /* -1dB */
4322c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    0x7FFF};            /*  0dB */
4332c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4342c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_VolumeTCTable[] = {
4352c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs8000,
4362c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs11025,
4372c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs12000,
4382c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs16000,
4392c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs22050,
4402c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs24000,
4412c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs32000,
4422c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs44100,
4432c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    VOL_TC_Fs48000};
4442c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4452c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurentconst LVM_INT16 LVDBE_MixerTCTable[] = {
4462c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs8000,
4472c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs11025,
4482c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs12000,
4492c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs16000,
4502c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs22050,
4512c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs24000,
4522c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs32000,
4532c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs44100,
4542c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent    MIX_TC_Fs48000};
4552c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
4562c8e5cab3faa6d360e222b7a6c40a80083d021acEric Laurent
457