1/******************************************************************************
2 *
3 * Copyright (C) 2018 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 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*/
20#include <stdio.h>
21#include <math.h>
22#include "impd_type_def.h"
23#include "impd_drc_common.h"
24#include "impd_drc_extr_delta_coded_info.h"
25#include "impd_drc_struct.h"
26#include "impd_drc_interface.h"
27#include "impd_drc_selection_process.h"
28#include "impd_drc_filter_bank.h"
29#include "impd_drc_rom.h"
30
31const FLOAT32 samp_rate_tbl[13][12] = {
32    {1.559742927551f, -2.926673889160f, 1.378173947334f, -1.844531774521f,
33     0.855774641037f, 0.997517585754f, -1.995035171509f, 0.997517585754f,
34     -1.995032072067f, 0.995038211346f},
35    {1.557545065880f, -2.905559301376f, 1.361245870590f, -1.830842256546f,
36     0.844074070454f, 0.997298538685f, -1.994597077370f, 0.997298538685f,
37     -1.994593381882f, 0.994600534439f},
38    {1.547380685806f, -2.808161973953f, 1.285161137581f, -1.767331838608f,
39     0.791711509228f, 0.996279776096f, -1.992559552193f, 0.996279776096f,
40     -1.992552518845f, 0.992566406727f},
41    {1.535182833672f, -2.691803932190f, 1.198426246643f, -1.690699458122f,
42     0.732504665852f, 0.995044350624f, -1.990088701248f, 0.995044350624f,
43     -1.990076303482f, 0.990100920200f},
44    {1.530909657478f, -2.651169300079f, 1.169166922569f, -1.663750052452f,
45     0.712657511234f, 0.994607865810f, -1.989215731621f, 0.994607865810f,
46     -1.989201068878f, 0.989230215549f},
47    {1.511321425438f, -2.465713739395f, 1.042117238045f, -1.539572954178f,
48     0.627297878265f, 0.992580235004f, -1.985160470009f, 0.992580235004f,
49     -1.985132932663f, 0.985188126564f},
50    {1.488207340240f, -2.248480796814f, 0.906192243099f, -1.391770243645f,
51     0.537688970566f, 0.990125238895f, -1.980250477791f, 0.990125238895f,
52     -1.980201482773f, 0.980299532413f},
53    {1.480212569237f, -2.173723459244f, 0.862487196922f, -1.340346932411f,
54     0.509323298931f, 0.989259064198f, -1.978518128395f, 0.989259064198f,
55     -1.978460073471f, 0.978576123714f},
56    {1.444234013557f, -1.839543223381f, 0.685432314873f, -1.107139229774f,
57     0.397262454033f, 0.985242545605f, -1.970485091209f, 0.985242545605f,
58     -1.970375299454f, 0.970594763756f},
59    {1.403080821037f, -1.461511373520f, 0.519652962685f, -0.837045848370f,
60     0.298268288374f, 0.980395674706f, -1.960791349411f, 0.980395674706f,
61     -1.960597157478f, 0.960985362530f},
62    {1.389132857323f, -1.334347724915f, 0.471855700016f, -0.744739949703f,
63     0.271380871534f, 0.978689610958f, -1.957379221916f, 0.978689610958f,
64     -1.957149744034f, 0.957608699799f},
65    {1.327733159065f, -0.780098080635f, 0.309720277786f, -0.334008187056f,
66     0.191363617778f, 0.970807731152f, -1.941615462303f, 0.970807731152f,
67     -1.941183090210f, 0.942047894001f},
68    {1.308971643448f, -0.612507879734f, 0.275601744652f, -0.207099482417f,
69     0.179165065289f, 0.968287348747f, -1.936574697495f, 0.968287348747f,
70     -1.936063885689f, 0.937085747719f}};
71
72const ia_delta_gain_code_table_struct
73    ia_drc_gain_tbls_prof_0_1[NUM_GAIN_TBL_PROF_0_1_ENTRIES] = {
74        {2, 0x003, -0.125f},  {2, 0x002, 0.125f},   {3, 0x001, -0.250f},
75        {3, 0x002, 0.000f},   {4, 0x000, -2.000f},  {5, 0x002, -0.500f},
76        {5, 0x00F, -0.375f},  {5, 0x00E, 1.000f},   {6, 0x019, -0.625f},
77        {6, 0x018, 0.250f},   {6, 0x006, 0.375f},   {7, 0x00F, -1.000f},
78        {7, 0x034, -0.875f},  {7, 0x036, -0.750f},  {7, 0x037, 0.500f},
79        {8, 0x01D, 0.625f},   {9, 0x039, -1.875f},  {9, 0x0D5, -1.125f},
80        {9, 0x0D7, 0.750f},   {9, 0x0D4, 0.875f},   {10, 0x070, -1.500f},
81        {10, 0x1AC, -1.375f}, {10, 0x1AD, -1.250f}, {11, 0x0E2, -1.750f},
82        {11, 0x0E3, -1.625f}
83
84};
85
86const ia_delta_gain_code_table_struct
87    ia_drc_gain_tbls_prof_2[NUM_GAIN_TBL_PROF_2_ENTRIES] = {
88        {3, 0x007, -0.125f},  {4, 0x00C, -0.625f},  {4, 0x009, -0.500f},
89        {4, 0x005, -0.375f},  {4, 0x003, -0.250f},  {4, 0x001, 0.000f},
90        {4, 0x00B, 0.125f},   {5, 0x011, -0.875f},  {5, 0x00E, -0.750f},
91        {5, 0x005, 0.250f},   {5, 0x004, 0.375f},   {5, 0x008, 0.500f},
92        {5, 0x000, 0.625f},   {5, 0x00D, 0.750f},   {5, 0x00F, 0.875f},
93        {5, 0x010, 1.000f},   {5, 0x01B, 1.125f},   {6, 0x02B, -1.250f},
94        {6, 0x028, -1.125f},  {6, 0x002, -1.000f},  {6, 0x012, 1.250f},
95        {6, 0x018, 1.375f},   {6, 0x029, 1.500f},   {7, 0x06A, -4.000f},
96        {7, 0x054, -1.750f},  {7, 0x068, -1.625f},  {7, 0x026, -1.500f},
97        {7, 0x006, -1.375f},  {7, 0x032, 1.625f},   {8, 0x0D2, -2.250f},
98        {8, 0x0AB, -2.125f},  {8, 0x0AA, -2.000f},  {8, 0x04F, -1.875f},
99        {8, 0x04E, 1.750f},   {8, 0x0D7, 1.875f},   {8, 0x00E, 2.000f},
100        {9, 0x1AD, -3.625f},  {9, 0x1AC, -3.375f},  {9, 0x1A6, -3.250f},
101        {9, 0x0CD, -3.125f},  {9, 0x0CE, -2.750f},  {9, 0x1A7, -2.625f},
102        {9, 0x01F, -2.500f},  {9, 0x0CC, -2.375f},  {10, 0x03C, -3.500f},
103        {10, 0x19E, -3.000f}, {10, 0x19F, -2.875f}, {11, 0x07A, -3.875f},
104        {11, 0x07B, -3.750f}};
105
106const FLOAT32 channel_weight[] = {
107    10.0f, 6.0f,  4.5f,   3.0f,   1.5f,   0.0f,   -1.5f,  -3.0f,
108    -4.5f, -6.0f, -10.0f, -15.0f, -20.0f, -30.0f, -40.0f, -1000.0f};
109
110const FLOAT32 dwnmix_coeff_v1[] = {
111    10.00f,  6.00f,   4.50f,   3.00f,   1.50f,   0.00f,   -0.50f,  -1.00f,
112    -1.50f,  -2.00f,  -2.50f,  -3.00f,  -3.50f,  -4.00f,  -4.50f,  -5.00f,
113    -5.50f,  -6.00f,  -6.50f,  -7.00f,  -7.50f,  -8.00f,  -9.00f,  -10.00f,
114    -11.00f, -12.00f, -15.00f, -20.00f, -25.00f, -30.00f, -40.00f, -100000.0f};
115
116const FLOAT32 eq_slope_tbl[] = {-32.0f, -24.0f, -18.0f, -12.0f, -7.0f, -4.0f,
117                                -2.0f,  -1.0f,  1.0f,   2.0f,   4.0f,  7.0f,
118                                12.0f,  18.0f,  24.0f,  32.0f};
119
120const FLOAT32 eq_gain_delta_tbl[] = {
121    -22.0f, -16.0f, -13.0f, -11.0f, -9.0f, -7.0f, -6.0f, -5.0f,
122    -4.0f,  -3.0f,  -2.5f,  -2.0f,  -1.5f, -1.0f, -0.5f, 0.0f,
123    0.5f,   1.0f,   1.5f,   2.0f,   2.5f,  3.0f,  4.0f,  5.0f,
124    6.0f,   7.0f,   9.0f,   11.0f,  13.0f, 16.0f, 22.0f, 32.0f,
125};
126
127const FLOAT32 zero_pole_radius_tbl[] = {
128    0.00000000E+00f, 7.57409621E-11f, 7.47451079E-09f, 7.37623509E-08f,
129    3.37872933E-07f, 1.05439995E-06f, 2.61370951E-06f, 5.55702854E-06f,
130    1.05878771E-05f, 1.85806475E-05f, 3.05868707E-05f, 4.78395414E-05f,
131    7.17558214E-05f, 1.03938342E-04f, 1.46175269E-04f, 2.00439375E-04f,
132    2.68886099E-04f, 3.53850890E-04f, 4.57845890E-04f, 5.83555840E-04f,
133    7.33833469E-04f, 9.11694835E-04f, 1.12031354E-03f, 1.36301492E-03f,
134    1.64327072E-03f, 1.96469179E-03f, 2.33102194E-03f, 2.74613220E-03f,
135    3.21401190E-03f, 3.73876374E-03f, 4.32459544E-03f, 4.97581391E-03f,
136    5.69681637E-03f, 6.49208482E-03f, 7.36617809E-03f, 8.32372531E-03f,
137    9.36941616E-03f, 1.05079999E-02f, 1.17442720E-02f, 1.30830696E-02f,
138    1.45292655E-02f, 1.60877611E-02f, 1.77634824E-02f, 1.95613634E-02f,
139    2.14863531E-02f, 2.35434026E-02f, 2.57374570E-02f, 2.80734543E-02f,
140    3.05563174E-02f, 3.31909470E-02f, 3.59822176E-02f, 3.89349759E-02f,
141    4.20540236E-02f, 4.53441292E-02f, 4.88100089E-02f, 5.24563305E-02f,
142    5.62877022E-02f, 6.03086725E-02f, 6.45237267E-02f, 6.89372867E-02f,
143    7.35536888E-02f, 7.83772022E-02f, 8.34120139E-02f, 8.86622295E-02f,
144    9.41318572E-02f, 9.98248383E-02f, 1.05744988E-01f, 1.11896060E-01f,
145    1.18281692E-01f, 1.24905407E-01f, 1.31770656E-01f, 1.38880774E-01f,
146    1.46238968E-01f, 1.53848350E-01f, 1.61711931E-01f, 1.69832602E-01f,
147    1.78213134E-01f, 1.86856180E-01f, 1.95764288E-01f, 2.04939872E-01f,
148    2.14385241E-01f, 2.24102572E-01f, 2.34093949E-01f, 2.44361281E-01f,
149    2.54906416E-01f, 2.65731007E-01f, 2.76836663E-01f, 2.88224846E-01f,
150    2.99896836E-01f, 3.11853856E-01f, 3.24096978E-01f, 3.36627185E-01f,
151    3.49445283E-01f, 3.62551987E-01f, 3.75947863E-01f, 3.89633417E-01f,
152    4.03608948E-01f, 4.17874694E-01f, 4.32430804E-01f, 4.47277188E-01f,
153    4.62413728E-01f, 4.77840215E-01f, 4.93556231E-01f, 5.09561300E-01f,
154    5.25854886E-01f, 5.42436182E-01f, 5.59304416E-01f, 5.76458573E-01f,
155    5.93897760E-01f, 6.11620665E-01f, 6.29626155E-01f, 6.47912800E-01f,
156    6.66479111E-01f, 6.85323536E-01f, 7.04444408E-01f, 7.23839939E-01f,
157    7.43508339E-01f, 7.63447523E-01f, 7.83655465E-01f, 8.04130018E-01f,
158    8.24868977E-01f, 8.45869958E-01f, 8.67130578E-01f, 8.88648331E-01f,
159    9.10420537E-01f, 9.32444632E-01f, 9.54717815E-01f, 9.77237225E-01f};
160
161const FLOAT32 zero_pole_angle_tbl[] = {
162    0.00000000E+00f, 6.90533966E-04f, 7.31595252E-04f, 7.75098170E-04f,
163    8.21187906E-04f, 8.70018279E-04f, 9.21752258E-04f, 9.76562500E-04f,
164    1.03463193E-03f, 1.09615434E-03f, 1.16133507E-03f, 1.23039165E-03f,
165    1.30355455E-03f, 1.38106793E-03f, 1.46319050E-03f, 1.55019634E-03f,
166    1.64237581E-03f, 1.74003656E-03f, 1.84350452E-03f, 1.95312500E-03f,
167    2.06926386E-03f, 2.19230869E-03f, 2.32267015E-03f, 2.46078330E-03f,
168    2.60710909E-03f, 2.76213586E-03f, 2.92638101E-03f, 3.10039268E-03f,
169    3.28475162E-03f, 3.48007312E-03f, 3.68700903E-03f, 3.90625000E-03f,
170    4.13852771E-03f, 4.38461738E-03f, 4.64534029E-03f, 4.92156660E-03f,
171    5.21421818E-03f, 5.52427173E-03f, 5.85276202E-03f, 6.20078536E-03f,
172    6.56950324E-03f, 6.96014624E-03f, 7.37401807E-03f, 7.81250000E-03f,
173    8.27705542E-03f, 8.76923475E-03f, 9.29068059E-03f, 9.84313320E-03f,
174    1.04284364E-02f, 1.10485435E-02f, 1.17055240E-02f, 1.24015707E-02f,
175    1.31390065E-02f, 1.39202925E-02f, 1.47480361E-02f, 1.56250000E-02f,
176    1.65541108E-02f, 1.75384695E-02f, 1.85813612E-02f, 1.96862664E-02f,
177    2.08568727E-02f, 2.20970869E-02f, 2.34110481E-02f, 2.48031414E-02f,
178    2.62780130E-02f, 2.78405849E-02f, 2.94960723E-02f, 3.12500000E-02f,
179    3.31082217E-02f, 3.50769390E-02f, 3.71627223E-02f, 3.93725328E-02f,
180    4.17137454E-02f, 4.41941738E-02f, 4.68220962E-02f, 4.96062829E-02f,
181    5.25560260E-02f, 5.56811699E-02f, 5.89921445E-02f, 6.25000000E-02f,
182    6.62164434E-02f, 7.01538780E-02f, 7.43254447E-02f, 7.87450656E-02f,
183    8.34274909E-02f, 8.83883476E-02f, 9.36441923E-02f, 9.92125657E-02f,
184    1.05112052E-01f, 1.11362340E-01f, 1.17984289E-01f, 1.25000000E-01f,
185    1.32432887E-01f, 1.40307756E-01f, 1.48650889E-01f, 1.57490131E-01f,
186    1.66854982E-01f, 1.76776695E-01f, 1.87288385E-01f, 1.98425131E-01f,
187    2.10224104E-01f, 2.22724680E-01f, 2.35968578E-01f, 2.50000000E-01f,
188    2.64865774E-01f, 2.80615512E-01f, 2.97301779E-01f, 3.14980262E-01f,
189    3.33709964E-01f, 3.53553391E-01f, 3.74576769E-01f, 3.96850263E-01f,
190    4.20448208E-01f, 4.45449359E-01f, 4.71937156E-01f, 5.00000000E-01f,
191    5.29731547E-01f, 5.61231024E-01f, 5.94603558E-01f, 6.29960525E-01f,
192    6.67419927E-01f, 7.07106781E-01f, 7.49153538E-01f, 7.93700526E-01f,
193    8.40896415E-01f, 8.90898718E-01f, 9.43874313E-01f, 1.00000000E+00f};
194
195const FLOAT32 shape_filt_lf_y1_bound_tbl[][3] = {
196    {-0.994f, -0.996f, -1.0f},
197    {-0.99f, -0.995f, -0.999f},
198    {-0.98f, -0.989f, -0.996f},
199    {-0.97f, -0.983f, -0.994f},
200};
201
202const FLOAT32 shape_filt_hf_y1_bound_tbl[][3] = {
203    {0.15f, 0.75f, 1.05f}, {0.43f, 0.87f, 1.07f},  {0.60f, 0.92f, 1.07f},
204    {0.80f, 1.00f, 1.06f}, {0.90f, 1.04f, 1.073f},
205};
206
207const FLOAT32 shape_filt_lf_gain_offset_tbl[][3] = {
208    {3.0f, 2.0f, 1.2f},
209    {3.0f, 2.0f, 1.5f},
210    {3.0f, 2.0f, 2.0f},
211    {3.0f, 2.0f, 2.0f},
212};
213
214const FLOAT32 shape_filt_hf_gain_offset_tbl[][3] = {
215    {4.5f, 6.0f, 3.5f}, {3.7f, 4.0f, 2.7f},  {3.0f, 3.5f, 2.0f},
216    {2.0f, 2.5f, 1.5f}, {1.5f, 2.0f, 1.31f},
217};
218
219const FLOAT32 shape_filt_lf_radius_tbl[] = {
220    0.988f, 0.98f, 0.96f, 0.94f,
221};
222
223const FLOAT32 shape_filt_hf_radius_tbl[] = {0.45f, 0.40f, 0.35f, 0.30f, 0.30f};
224
225const FLOAT32 shape_filt_cutoff_freq_norm_hf_tbl[] = {0.15f, 0.20f, 0.25f,
226                                                      0.35f, 0.45f};
227
228const ia_cicp_sigmoid_characteristic_param_struct
229    pstr_cicp_sigmoid_characteristic_param[] = {
230        {0.0f, 9.0f, 12.0f}, {0.2f, 9.0f, 12.0f}, {0.4f, 9.0f, 12.0f},
231        {0.6f, 9.0f, 12.0f}, {0.8f, 6.0f, 8.0f},  {1.0f, 5.0f, 6.0f}};
232
233const ia_slope_code_table_struct
234    slope_code_tbl_entries_by_size[NUM_SLOPE_TBL_ENTRIES] = {
235        {1, 0x001, 0.0f, 7},     {2, 0x000, -0.005f, 6},
236        {4, 0x007, 0.005f, 8},   {5, 0x00A, -0.1953f, 3},
237        {5, 0x009, -0.0781f, 4}, {5, 0x00D, -0.0312f, 5},
238        {5, 0x00B, 0.0312f, 9},  {6, 0x018, -3.0518f, 0},
239        {6, 0x011, 0.0781f, 10}, {7, 0x032, -0.4883f, 2},
240        {7, 0x020, 1.2207f, 13}, {7, 0x033, 3.0518f, 14},
241        {8, 0x042, -1.2207f, 1}, {9, 0x087, 0.1953f, 11},
242        {9, 0x086, 0.4883f, 12},
243};
244
245const FLOAT32 dwnmix_coeff[] = {0.0f,  -0.5f, -1.0f, -1.5f,   -2.0f, -2.5f,
246                                -3.0f, -3.5f, -4.0f, -4.5f,   -5.0f, -5.5f,
247                                -6.0f, -7.5f, -9.0f, -1000.0f};
248
249const FLOAT32 dwnmix_coeff_lfe[] = {
250    10.0f, 6.0f,  4.5f,   3.0f,   1.5f,   0.0f,   -1.5f,  -3.0f,
251    -4.5f, -6.0f, -10.0f, -15.0f, -20.0f, -30.0f, -40.0f, -1000.0f};
252
253WORD32 drc_characteristic_order_default[][3] = {
254    {1, 2, -1}, {2, 3, 1},   {3, 4, 2},  {4, 5, 3},   {5, 6, 4},  {6, 5, -1},
255    {7, 9, -1}, {8, 10, -1}, {9, 7, -1}, {10, 8, -1}, {11, 10, 9}};
256
257WORD32 measurement_system_default_tbl[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
258WORD32 measurement_system_bs1770_3_tbl[] = {0, 0, 8, 0, 1, 3, 0, 5, 6, 7, 4, 2};
259WORD32 measurement_system_user_tbl[] = {0, 0, 1, 0, 8, 5, 0, 2, 3, 4, 6, 7};
260WORD32 measurement_system_expert_tbl[] = {0, 0, 3, 0, 1, 8, 0, 4, 5, 6, 7, 2};
261WORD32 measurement_system_rms_a_tbl[] = {0, 0, 5, 0, 1, 3, 0, 8, 6, 7, 4, 2};
262WORD32 measurement_system_rms_b_tbl[] = {0, 0, 5, 0, 1, 3, 0, 6, 8, 7, 4, 2};
263WORD32 measurement_system_rms_c_tbl[] = {0, 0, 5, 0, 1, 3, 0, 6, 7, 8, 4, 2};
264WORD32 measurement_system_rms_d_tbl[] = {0, 0, 3, 0, 1, 7, 0, 4, 5, 6, 8, 2};
265WORD32 measurement_system_rms_e_tbl[] = {0, 0, 1, 0, 7, 5, 0, 2, 3, 4, 6, 8};
266
267WORD32 measurement_method_prog_loudness_tbl[] = {0, 0, 1, 0, 0, 0,
268                                                 0, 2, 3, 4, 0, 0};
269WORD32 measurement_method_peak_loudness_tbl[] = {0, 7, 0, 0, 0, 0,
270                                                 6, 5, 4, 3, 2, 1};
271
272const ia_loc_sys_interface_struct loc_sys_interface[] = {
273    {0, 1, {0, 0, 0}, 0, 0}, {0, 1, {2, 0, 0}, 0, 0},
274};
275
276const ia_loc_loudness_norm_ctrl_interface_struct
277    loc_loudness_norm_ctrl_interface[] = {
278        {0, 0.0f}, {0, 0.0f},
279};
280
281const ia_loc_loudness_norm_param_interface_struct
282    loc_loudness_norm_param_interface[] = {
283
284        {0, 0, LOUDNESS_DEVIATION_MAX_DEFAULT,
285         USER_METHOD_DEFINITION_PROGRAM_LOUDNESS,
286         USER_MEASUREMENT_SYSTEM_BS_1770_3, USER_LOUDNESS_PREPROCESSING_OFF, 20,
287         LOUDNESS_NORMALIZATION_GAIN_MAX_DEFAULT, 0.0f, 0.0f},
288        {0, 0, LOUDNESS_DEVIATION_MAX_DEFAULT,
289         USER_METHOD_DEFINITION_PROGRAM_LOUDNESS,
290         USER_MEASUREMENT_SYSTEM_BS_1770_3, USER_LOUDNESS_PREPROCESSING_OFF, 20,
291         LOUDNESS_NORMALIZATION_GAIN_MAX_DEFAULT, 0.0f, 0.0f},
292
293};
294
295const ia_loc_drc_interface_struct loc_dyn_range_ctrl_interface[] = {
296
297    {1,
298     3,
299     {MATCH_EFFECT_TYPE, MATCH_DYNAMIC_RANGE, MATCH_DRC_CHARACTERISTIC},
300     SHORT_TERM_LOUDNESS_TO_AVG,
301     1,
302     5.0f,
303     3.0f,
304     10.0f,
305     3},
306    {1,
307     3,
308     {MATCH_EFFECT_TYPE, MATCH_DYNAMIC_RANGE, MATCH_DRC_CHARACTERISTIC},
309     TOP_OF_LOUDNESS_RANGE_TO_AVG,
310     0,
311     5.0f,
312     3.0f,
313     10.0f,
314     3},
315
316};
317
318const ia_loc_requested_drc_effect_struct loc_requested_drc_effect_type_str[] = {
319
320    {1,
321     1,
322     {EFFECT_TYPE_REQUESTED_NIGHT, EFFECT_TYPE_REQUESTED_GENERAL_COMPR,
323      EFFECT_TYPE_REQUESTED_ARTISTIC, EFFECT_TYPE_REQUESTED_LIMITED,
324      EFFECT_TYPE_REQUESTED_DIALOG}},
325    {4,
326     1,
327     {EFFECT_TYPE_REQUESTED_LOWLEVEL, EFFECT_TYPE_REQUESTED_NIGHT,
328      EFFECT_TYPE_REQUESTED_LIMITED, EFFECT_TYPE_REQUESTED_ARTISTIC,
329      EFFECT_TYPE_REQUESTED_DIALOG}},
330
331};
332
333const ia_loc_drc_parameter_interface_struct loc_drc_parameter_interface[] = {
334
335    {1.0f, 1.0f, 0}, {1.0f, 1.0f, 0},
336};
337
338FLOAT32 f_bands_nrm_QMF71[71] = {
339    0.004583300000000f, 0.000833330000000f, 0.002083300000000f,
340    0.005875000000000f, 0.009791700000000f, 0.014292000000000f,
341    0.019792000000000f, 0.027000000000000f, 0.035417000000000f,
342    0.042625000000000f, 0.056750000000000f, 0.072375000000000f,
343    0.088000000000000f, 0.103620000000000f, 0.119250000000000f,
344    0.134870000000000f, 0.150500000000000f, 0.166120000000000f,
345    0.181750000000000f, 0.197370000000000f, 0.213000000000000f,
346    0.228620000000000f, 0.244250000000000f, 0.259880000000000f,
347    0.275500000000000f, 0.291130000000000f, 0.306750000000000f,
348    0.322380000000000f, 0.338000000000000f, 0.353630000000000f,
349    0.369250000000000f, 0.384880000000000f, 0.400500000000000f,
350    0.416130000000000f, 0.431750000000000f, 0.447380000000000f,
351    0.463000000000000f, 0.478630000000000f, 0.494250000000000f,
352    0.509870000000000f, 0.525500000000000f, 0.541120000000000f,
353    0.556750000000000f, 0.572370000000000f, 0.588000000000000f,
354    0.603620000000000f, 0.619250000000000f, 0.634870000000000f,
355    0.650500000000000f, 0.666120000000000f, 0.681750000000000f,
356    0.697370000000000f, 0.713000000000000f, 0.728620000000000f,
357    0.744250000000000f, 0.759870000000000f, 0.775500000000000f,
358    0.791120000000000f, 0.806750000000000f, 0.822370000000000f,
359    0.838000000000000f, 0.853620000000000f, 0.869250000000000f,
360    0.884870000000000f, 0.900500000000000f, 0.916120000000000f,
361    0.931750000000000f, 0.947370000000000f, 0.963000000000000f,
362    0.974540000000000f, 0.999040000000000f};
363
364FLOAT32 f_bands_nrm_QMF64[64] = {
365    0.0078125000000000f, 0.0234380000000000f, 0.0390620000000000f,
366    0.0546880000000000f, 0.0703120000000000f, 0.0859380000000000f,
367    0.1015600000000000f, 0.1171900000000000f, 0.1328100000000000f,
368    0.1484400000000000f, 0.1640600000000000f, 0.1796900000000000f,
369    0.1953100000000000f, 0.2109400000000000f, 0.2265600000000000f,
370    0.2421900000000000f, 0.2578100000000000f, 0.2734400000000000f,
371    0.2890600000000000f, 0.3046900000000000f, 0.3203100000000000f,
372    0.3359400000000000f, 0.3515600000000000f, 0.3671900000000000f,
373    0.3828100000000000f, 0.3984400000000000f, 0.4140600000000000f,
374    0.4296900000000000f, 0.4453100000000000f, 0.4609400000000000f,
375    0.4765600000000000f, 0.4921900000000000f, 0.5078100000000000f,
376    0.5234400000000000f, 0.5390600000000000f, 0.5546900000000000f,
377    0.5703100000000000f, 0.5859400000000000f, 0.6015600000000000f,
378    0.6171900000000000f, 0.6328100000000000f, 0.6484400000000000f,
379    0.6640600000000000f, 0.6796900000000000f, 0.6953100000000000f,
380    0.7109400000000000f, 0.7265600000000000f, 0.7421900000000000f,
381    0.7578100000000000f, 0.7734400000000000f, 0.7890600000000000f,
382    0.8046900000000000f, 0.8203100000000000f, 0.8359400000000000f,
383    0.8515600000000000f, 0.8671900000000000f, 0.8828100000000000f,
384    0.8984400000000000f, 0.9140600000000000f, 0.9296900000000000f,
385    0.9453100000000000f, 0.9609400000000000f, 0.9765600000000000f,
386    0.9921900000000000f};
387
388FLOAT32 f_bands_nrm_STFT256[257] = {
389    0.000000000000000f, 0.003906250000000f, 0.007812500000000f,
390    0.011718750000000f, 0.015625000000000f, 0.019531250000000f,
391    0.023437500000000f, 0.027343750000000f, 0.031250000000000f,
392    0.035156250000000f, 0.039062500000000f, 0.042968750000000f,
393    0.046875000000000f, 0.050781250000000f, 0.054687500000000f,
394    0.058593750000000f, 0.062500000000000f, 0.066406250000000f,
395    0.070312500000000f, 0.074218750000000f, 0.078125000000000f,
396    0.082031250000000f, 0.085937500000000f, 0.089843750000000f,
397    0.093750000000000f, 0.097656250000000f, 0.101562500000000f,
398    0.105468750000000f, 0.109375000000000f, 0.113281250000000f,
399    0.117187500000000f, 0.121093750000000f, 0.125000000000000f,
400    0.128906250000000f, 0.132812500000000f, 0.136718750000000f,
401    0.140625000000000f, 0.144531250000000f, 0.148437500000000f,
402    0.152343750000000f, 0.156250000000000f, 0.160156250000000f,
403    0.164062500000000f, 0.167968750000000f, 0.171875000000000f,
404    0.175781250000000f, 0.179687500000000f, 0.183593750000000f,
405    0.187500000000000f, 0.191406250000000f, 0.195312500000000f,
406    0.199218750000000f, 0.203125000000000f, 0.207031250000000f,
407    0.210937500000000f, 0.214843750000000f, 0.218750000000000f,
408    0.222656250000000f, 0.226562500000000f, 0.230468750000000f,
409    0.234375000000000f, 0.238281250000000f, 0.242187500000000f,
410    0.246093750000000f, 0.250000000000000f, 0.253906250000000f,
411    0.257812500000000f, 0.261718750000000f, 0.265625000000000f,
412    0.269531250000000f, 0.273437500000000f, 0.277343750000000f,
413    0.281250000000000f, 0.285156250000000f, 0.289062500000000f,
414    0.292968750000000f, 0.296875000000000f, 0.300781250000000f,
415    0.304687500000000f, 0.308593750000000f, 0.312500000000000f,
416    0.316406250000000f, 0.320312500000000f, 0.324218750000000f,
417    0.328125000000000f, 0.332031250000000f, 0.335937500000000f,
418    0.339843750000000f, 0.343750000000000f, 0.347656250000000f,
419    0.351562500000000f, 0.355468750000000f, 0.359375000000000f,
420    0.363281250000000f, 0.367187500000000f, 0.371093750000000f,
421    0.375000000000000f, 0.378906250000000f, 0.382812500000000f,
422    0.386718750000000f, 0.390625000000000f, 0.394531250000000f,
423    0.398437500000000f, 0.402343750000000f, 0.406250000000000f,
424    0.410156250000000f, 0.414062500000000f, 0.417968750000000f,
425    0.421875000000000f, 0.425781250000000f, 0.429687500000000f,
426    0.433593750000000f, 0.437500000000000f, 0.441406250000000f,
427    0.445312500000000f, 0.449218750000000f, 0.453125000000000f,
428    0.457031250000000f, 0.460937500000000f, 0.464843750000000f,
429    0.468750000000000f, 0.472656250000000f, 0.476562500000000f,
430    0.480468750000000f, 0.484375000000000f, 0.488281250000000f,
431    0.492187500000000f, 0.496093750000000f, 0.500000000000000f,
432    0.503906250000000f, 0.507812500000000f, 0.511718750000000f,
433    0.515625000000000f, 0.519531250000000f, 0.523437500000000f,
434    0.527343750000000f, 0.531250000000000f, 0.535156250000000f,
435    0.539062500000000f, 0.542968750000000f, 0.546875000000000f,
436    0.550781250000000f, 0.554687500000000f, 0.558593750000000f,
437    0.562500000000000f, 0.566406250000000f, 0.570312500000000f,
438    0.574218750000000f, 0.578125000000000f, 0.582031250000000f,
439    0.585937500000000f, 0.589843750000000f, 0.593750000000000f,
440    0.597656250000000f, 0.601562500000000f, 0.605468750000000f,
441    0.609375000000000f, 0.613281250000000f, 0.617187500000000f,
442    0.621093750000000f, 0.625000000000000f, 0.628906250000000f,
443    0.632812500000000f, 0.636718750000000f, 0.640625000000000f,
444    0.644531250000000f, 0.648437500000000f, 0.652343750000000f,
445    0.656250000000000f, 0.660156250000000f, 0.664062500000000f,
446    0.667968750000000f, 0.671875000000000f, 0.675781250000000f,
447    0.679687500000000f, 0.683593750000000f, 0.687500000000000f,
448    0.691406250000000f, 0.695312500000000f, 0.699218750000000f,
449    0.703125000000000f, 0.707031250000000f, 0.710937500000000f,
450    0.714843750000000f, 0.718750000000000f, 0.722656250000000f,
451    0.726562500000000f, 0.730468750000000f, 0.734375000000000f,
452    0.738281250000000f, 0.742187500000000f, 0.746093750000000f,
453    0.750000000000000f, 0.753906250000000f, 0.757812500000000f,
454    0.761718750000000f, 0.765625000000000f, 0.769531250000000f,
455    0.773437500000000f, 0.777343750000000f, 0.781250000000000f,
456    0.785156250000000f, 0.789062500000000f, 0.792968750000000f,
457    0.796875000000000f, 0.800781250000000f, 0.804687500000000f,
458    0.808593750000000f, 0.812500000000000f, 0.816406250000000f,
459    0.820312500000000f, 0.824218750000000f, 0.828125000000000f,
460    0.832031250000000f, 0.835937500000000f, 0.839843750000000f,
461    0.843750000000000f, 0.847656250000000f, 0.851562500000000f,
462    0.855468750000000f, 0.859375000000000f, 0.863281250000000f,
463    0.867187500000000f, 0.871093750000000f, 0.875000000000000f,
464    0.878906250000000f, 0.882812500000000f, 0.886718750000000f,
465    0.890625000000000f, 0.894531250000000f, 0.898437500000000f,
466    0.902343750000000f, 0.906250000000000f, 0.910156250000000f,
467    0.914062500000000f, 0.917968750000000f, 0.921875000000000f,
468    0.925781250000000f, 0.929687500000000f, 0.933593750000000f,
469    0.937500000000000f, 0.941406250000000f, 0.945312500000000f,
470    0.949218750000000f, 0.953125000000000f, 0.957031250000000f,
471    0.960937500000000f, 0.964843750000000f, 0.968750000000000f,
472    0.972656250000000f, 0.976562500000000f, 0.980468750000000f,
473    0.984375000000000f, 0.988281250000000f, 0.992187500000000f,
474    0.996093750000000f, 1.000000000000000f};
475
476FLOAT64 qmf_filter_coeff[640] = {0,
477                                 -0.00055252865047,
478                                 -0.00056176925738,
479                                 -0.00049475180896,
480                                 -0.00048752279712,
481                                 -0.00048937912498,
482                                 -0.00050407143497,
483                                 -0.00052265642972,
484                                 -0.00054665656337,
485                                 -0.00056778025613,
486                                 -0.00058709304852,
487                                 -0.00061327473938,
488                                 -0.00063124935319,
489                                 -0.00065403333621,
490                                 -0.00067776907764,
491                                 -0.00069416146273,
492                                 -0.00071577364744,
493                                 -0.00072550431222,
494                                 -0.00074409418541,
495                                 -0.00074905980532,
496                                 -0.00076813719270,
497                                 -0.00077248485949,
498                                 -0.00078343322877,
499                                 -0.00077798694927,
500                                 -0.00078036647100,
501                                 -0.00078014496257,
502                                 -0.00077579773310,
503                                 -0.00076307935757,
504                                 -0.00075300014201,
505                                 -0.00073193571525,
506                                 -0.00072153919876,
507                                 -0.00069179375372,
508                                 -0.00066504150893,
509                                 -0.00063415949025,
510                                 -0.00059461189330,
511                                 -0.00055645763906,
512                                 -0.00051455722108,
513                                 -0.00046063254803,
514                                 -0.00040951214522,
515                                 -0.00035011758756,
516                                 -0.00028969811748,
517                                 -0.00020983373440,
518                                 -0.00014463809349,
519                                 -0.00006173344072,
520                                 0.00001349497418,
521                                 0.00010943831274,
522                                 0.00020430170688,
523                                 0.00029495311041,
524                                 0.00040265402160,
525                                 0.00051073884952,
526                                 0.00062393761391,
527                                 0.00074580258865,
528                                 0.00086084433262,
529                                 0.00098859883015,
530                                 0.00112501551307,
531                                 0.00125778846475,
532                                 0.00139024948272,
533                                 0.00154432198471,
534                                 0.00168680832531,
535                                 0.00183482654224,
536                                 0.00198411407369,
537                                 0.00214615835557,
538                                 0.00230172547746,
539                                 0.00246256169126,
540                                 0.00262017586902,
541                                 0.00278704643465,
542                                 0.00294694477165,
543                                 0.00311254206525,
544                                 0.00327396134847,
545                                 0.00344188741828,
546                                 0.00360082681231,
547                                 0.00376039229104,
548                                 0.00392074323703,
549                                 0.00408197531935,
550                                 0.00422642692270,
551                                 0.00437307196781,
552                                 0.00452098527825,
553                                 0.00466064606118,
554                                 0.00479325608498,
555                                 0.00491376035745,
556                                 0.00503930226013,
557                                 0.00514073539032,
558                                 0.00524611661324,
559                                 0.00534716811982,
560                                 0.00541967759307,
561                                 0.00548760401507,
562                                 0.00554757145088,
563                                 0.00559380230045,
564                                 0.00562206432097,
565                                 0.00564551969164,
566                                 0.00563891995151,
567                                 0.00562661141932,
568                                 0.00559171286630,
569                                 0.00554043639400,
570                                 0.00547537830770,
571                                 0.00538389758970,
572                                 0.00527157587272,
573                                 0.00513822754514,
574                                 0.00498396877629,
575                                 0.00481094690600,
576                                 0.00460395301471,
577                                 0.00438018617447,
578                                 0.00412516423270,
579                                 0.00384564081246,
580                                 0.00354012465507,
581                                 0.00320918858098,
582                                 0.00284467578623,
583                                 0.00245085400321,
584                                 0.00202741761850,
585                                 0.00157846825768,
586                                 0.00109023290512,
587                                 0.00058322642480,
588                                 0.00002760451905,
589                                 -0.00054642808664,
590                                 -0.00115681355227,
591                                 -0.00180394725893,
592                                 -0.00248267236449,
593                                 -0.00319337783900,
594                                 -0.00394011240522,
595                                 -0.00472225962400,
596                                 -0.00553372111088,
597                                 -0.00637922932685,
598                                 -0.00726158168517,
599                                 -0.00817982333726,
600                                 -0.00913253296085,
601                                 -0.01011502154986,
602                                 -0.01113155480321,
603                                 -0.01218499959508,
604                                 0.01327182200351,
605                                 0.01439046660792,
606                                 0.01554055533423,
607                                 0.01673247129989,
608                                 0.01794333813443,
609                                 0.01918724313698,
610                                 0.02045317933555,
611                                 0.02174675502535,
612                                 0.02306801692862,
613                                 0.02441609920285,
614                                 0.02578758475467,
615                                 0.02718594296329,
616                                 0.02860721736385,
617                                 0.03005026574279,
618                                 0.03150176087389,
619                                 0.03297540810337,
620                                 0.03446209487686,
621                                 0.03596975605542,
622                                 0.03748128504252,
623                                 0.03900536794745,
624                                 0.04053491705584,
625                                 0.04206490946367,
626                                 0.04360975421304,
627                                 0.04514884056413,
628                                 0.04668430272642,
629                                 0.04821657200672,
630                                 0.04973857556014,
631                                 0.05125561555216,
632                                 0.05276307465207,
633                                 0.05424527683589,
634                                 0.05571736482138,
635                                 0.05716164501299,
636                                 0.05859156836260,
637                                 0.05998374801761,
638                                 0.06134551717207,
639                                 0.06268578081172,
640                                 0.06397158980681,
641                                 0.06522471064380,
642                                 0.06643675122104,
643                                 0.06760759851228,
644                                 0.06870438283512,
645                                 0.06976302447127,
646                                 0.07076287107266,
647                                 0.07170026731102,
648                                 0.07256825833083,
649                                 0.07336202550803,
650                                 0.07410036424342,
651                                 0.07474525581194,
652                                 0.07531373362019,
653                                 0.07580083586584,
654                                 0.07619924793396,
655                                 0.07649921704119,
656                                 0.07670934904245,
657                                 0.07681739756964,
658                                 0.07682300113923,
659                                 0.07672049241746,
660                                 0.07650507183194,
661                                 0.07617483218536,
662                                 0.07573057565061,
663                                 0.07515762552870,
664                                 0.07446643947564,
665                                 0.07364060057620,
666                                 0.07267746427299,
667                                 0.07158263647903,
668                                 0.07035330735093,
669                                 0.06896640131951,
670                                 0.06745250215166,
671                                 0.06576906686508,
672                                 0.06394448059633,
673                                 0.06196027790387,
674                                 0.05981665708090,
675                                 0.05751526919867,
676                                 0.05504600343009,
677                                 0.05240938217366,
678                                 0.04959786763445,
679                                 0.04663033051701,
680                                 0.04347687821958,
681                                 0.04014582784127,
682                                 0.03664181168133,
683                                 0.03295839306691,
684                                 0.02908240060125,
685                                 0.02503075618909,
686                                 0.02079970728622,
687                                 0.01637012582228,
688                                 0.01176238327857,
689                                 0.00696368621617,
690                                 0.00197656014503,
691                                 -0.00320868968304,
692                                 -0.00857117491366,
693                                 -0.01412888273558,
694                                 -0.01988341292573,
695                                 -0.02582272888064,
696                                 -0.03195312745332,
697                                 -0.03827765720822,
698                                 -0.04478068215856,
699                                 -0.05148041767934,
700                                 -0.05837053268336,
701                                 -0.06544098531359,
702                                 -0.07269433008129,
703                                 -0.08013729344279,
704                                 -0.08775475365593,
705                                 -0.09555333528914,
706                                 -0.10353295311463,
707                                 -0.11168269317730,
708                                 -0.12000779846800,
709                                 -0.12850028503878,
710                                 -0.13715517611934,
711                                 -0.14597664911870,
712                                 -0.15496070710605,
713                                 -0.16409588556669,
714                                 -0.17338081721706,
715                                 -0.18281725485142,
716                                 -0.19239667457267,
717                                 -0.20212501768103,
718                                 -0.21197358538056,
719                                 -0.22196526964149,
720                                 -0.23206908706791,
721                                 -0.24230168845974,
722                                 -0.25264803095722,
723                                 -0.26310532994603,
724                                 -0.27366340405625,
725                                 -0.28432141891085,
726                                 -0.29507167170646,
727                                 -0.30590985751916,
728                                 -0.31682789136456,
729                                 -0.32781137272105,
730                                 -0.33887226938665,
731                                 -0.34999141229310,
732                                 0.36115899031355,
733                                 0.37237955463061,
734                                 0.38363500139043,
735                                 0.39492117615675,
736                                 0.40623176767625,
737                                 0.41756968968409,
738                                 0.42891199207373,
739                                 0.44025537543665,
740                                 0.45159965356824,
741                                 0.46293080852757,
742                                 0.47424532146115,
743                                 0.48552530911099,
744                                 0.49677082545707,
745                                 0.50798175000434,
746                                 0.51912349702391,
747                                 0.53022408956855,
748                                 0.54125534487322,
749                                 0.55220512585061,
750                                 0.56307891401370,
751                                 0.57385241316923,
752                                 0.58454032354679,
753                                 0.59511230862496,
754                                 0.60557835389180,
755                                 0.61591099320291,
756                                 0.62612426956055,
757                                 0.63619801077286,
758                                 0.64612696959461,
759                                 0.65590163024671,
760                                 0.66551398801627,
761                                 0.67496631901712,
762                                 0.68423532934598,
763                                 0.69332823767032,
764                                 0.70223887193539,
765                                 0.71094104263095,
766                                 0.71944626349561,
767                                 0.72774489002994,
768                                 0.73582117582769,
769                                 0.74368278636488,
770                                 0.75131374561237,
771                                 0.75870807608242,
772                                 0.76586748650939,
773                                 0.77277808813327,
774                                 0.77942875190216,
775                                 0.78583531203920,
776                                 0.79197358416424,
777                                 0.79784664137700,
778                                 0.80344857518505,
779                                 0.80876950044491,
780                                 0.81381912706217,
781                                 0.81857760046468,
782                                 0.82304198905409,
783                                 0.82722753473360,
784                                 0.83110384571520,
785                                 0.83469373618402,
786                                 0.83797173378865,
787                                 0.84095413924722,
788                                 0.84362382812005,
789                                 0.84598184698206,
790                                 0.84803157770763,
791                                 0.84978051984268,
792                                 0.85119715249343,
793                                 0.85230470352147,
794                                 0.85310209497017,
795                                 0.85357205739107,
796                                 0.85373856005937,
797                                 0.85357205739107,
798                                 0.85310209497017,
799                                 0.85230470352147,
800                                 0.85119715249343,
801                                 0.84978051984268,
802                                 0.84803157770763,
803                                 0.84598184698206,
804                                 0.84362382812005,
805                                 0.84095413924722,
806                                 0.83797173378865,
807                                 0.83469373618402,
808                                 0.83110384571520,
809                                 0.82722753473360,
810                                 0.82304198905409,
811                                 0.81857760046468,
812                                 0.81381912706217,
813                                 0.80876950044491,
814                                 0.80344857518505,
815                                 0.79784664137700,
816                                 0.79197358416424,
817                                 0.78583531203920,
818                                 0.77942875190216,
819                                 0.77277808813327,
820                                 0.76586748650939,
821                                 0.75870807608242,
822                                 0.75131374561237,
823                                 0.74368278636488,
824                                 0.73582117582769,
825                                 0.72774489002994,
826                                 0.71944626349561,
827                                 0.71094104263095,
828                                 0.70223887193539,
829                                 0.69332823767032,
830                                 0.68423532934598,
831                                 0.67496631901712,
832                                 0.66551398801627,
833                                 0.65590163024671,
834                                 0.64612696959461,
835                                 0.63619801077286,
836                                 0.62612426956055,
837                                 0.61591099320291,
838                                 0.60557835389180,
839                                 0.59511230862496,
840                                 0.58454032354679,
841                                 0.57385241316923,
842                                 0.56307891401370,
843                                 0.55220512585061,
844                                 0.54125534487322,
845                                 0.53022408956855,
846                                 0.51912349702391,
847                                 0.50798175000434,
848                                 0.49677082545707,
849                                 0.48552530911099,
850                                 0.47424532146115,
851                                 0.46293080852757,
852                                 0.45159965356824,
853                                 0.44025537543665,
854                                 0.42891199207373,
855                                 0.41756968968409,
856                                 0.40623176767625,
857                                 0.39492117615675,
858                                 0.38363500139043,
859                                 0.37237955463061,
860                                 -0.36115899031355,
861                                 -0.34999141229310,
862                                 -0.33887226938665,
863                                 -0.32781137272105,
864                                 -0.31682789136456,
865                                 -0.30590985751916,
866                                 -0.29507167170646,
867                                 -0.28432141891085,
868                                 -0.27366340405625,
869                                 -0.26310532994603,
870                                 -0.25264803095722,
871                                 -0.24230168845974,
872                                 -0.23206908706791,
873                                 -0.22196526964149,
874                                 -0.21197358538056,
875                                 -0.20212501768103,
876                                 -0.19239667457267,
877                                 -0.18281725485142,
878                                 -0.17338081721706,
879                                 -0.16409588556669,
880                                 -0.15496070710605,
881                                 -0.14597664911870,
882                                 -0.13715517611934,
883                                 -0.12850028503878,
884                                 -0.12000779846800,
885                                 -0.11168269317730,
886                                 -0.10353295311463,
887                                 -0.09555333528914,
888                                 -0.08775475365593,
889                                 -0.08013729344279,
890                                 -0.07269433008129,
891                                 -0.06544098531359,
892                                 -0.05837053268336,
893                                 -0.05148041767934,
894                                 -0.04478068215856,
895                                 -0.03827765720822,
896                                 -0.03195312745332,
897                                 -0.02582272888064,
898                                 -0.01988341292573,
899                                 -0.01412888273558,
900                                 -0.00857117491366,
901                                 -0.00320868968304,
902                                 0.00197656014503,
903                                 0.00696368621617,
904                                 0.01176238327857,
905                                 0.01637012582228,
906                                 0.02079970728622,
907                                 0.02503075618909,
908                                 0.02908240060125,
909                                 0.03295839306691,
910                                 0.03664181168133,
911                                 0.04014582784127,
912                                 0.04347687821958,
913                                 0.04663033051701,
914                                 0.04959786763445,
915                                 0.05240938217366,
916                                 0.05504600343009,
917                                 0.05751526919867,
918                                 0.05981665708090,
919                                 0.06196027790387,
920                                 0.06394448059633,
921                                 0.06576906686508,
922                                 0.06745250215166,
923                                 0.06896640131951,
924                                 0.07035330735093,
925                                 0.07158263647903,
926                                 0.07267746427299,
927                                 0.07364060057620,
928                                 0.07446643947564,
929                                 0.07515762552870,
930                                 0.07573057565061,
931                                 0.07617483218536,
932                                 0.07650507183194,
933                                 0.07672049241746,
934                                 0.07682300113923,
935                                 0.07681739756964,
936                                 0.07670934904245,
937                                 0.07649921704119,
938                                 0.07619924793396,
939                                 0.07580083586584,
940                                 0.07531373362019,
941                                 0.07474525581194,
942                                 0.07410036424342,
943                                 0.07336202550803,
944                                 0.07256825833083,
945                                 0.07170026731102,
946                                 0.07076287107266,
947                                 0.06976302447127,
948                                 0.06870438283512,
949                                 0.06760759851228,
950                                 0.06643675122104,
951                                 0.06522471064380,
952                                 0.06397158980681,
953                                 0.06268578081172,
954                                 0.06134551717207,
955                                 0.05998374801761,
956                                 0.05859156836260,
957                                 0.05716164501299,
958                                 0.05571736482138,
959                                 0.05424527683589,
960                                 0.05276307465207,
961                                 0.05125561555216,
962                                 0.04973857556014,
963                                 0.04821657200672,
964                                 0.04668430272642,
965                                 0.04514884056413,
966                                 0.04360975421304,
967                                 0.04206490946367,
968                                 0.04053491705584,
969                                 0.03900536794745,
970                                 0.03748128504252,
971                                 0.03596975605542,
972                                 0.03446209487686,
973                                 0.03297540810337,
974                                 0.03150176087389,
975                                 0.03005026574279,
976                                 0.02860721736385,
977                                 0.02718594296329,
978                                 0.02578758475467,
979                                 0.02441609920285,
980                                 0.02306801692862,
981                                 0.02174675502535,
982                                 0.02045317933555,
983                                 0.01918724313698,
984                                 0.01794333813443,
985                                 0.01673247129989,
986                                 0.01554055533423,
987                                 0.01439046660792,
988                                 -0.01327182200351,
989                                 -0.01218499959508,
990                                 -0.01113155480321,
991                                 -0.01011502154986,
992                                 -0.00913253296085,
993                                 -0.00817982333726,
994                                 -0.00726158168517,
995                                 -0.00637922932685,
996                                 -0.00553372111088,
997                                 -0.00472225962400,
998                                 -0.00394011240522,
999                                 -0.00319337783900,
1000                                 -0.00248267236449,
1001                                 -0.00180394725893,
1002                                 -0.00115681355227,
1003                                 -0.00054642808664,
1004                                 0.00002760451905,
1005                                 0.00058322642480,
1006                                 0.00109023290512,
1007                                 0.00157846825768,
1008                                 0.00202741761850,
1009                                 0.00245085400321,
1010                                 0.00284467578623,
1011                                 0.00320918858098,
1012                                 0.00354012465507,
1013                                 0.00384564081246,
1014                                 0.00412516423270,
1015                                 0.00438018617447,
1016                                 0.00460395301471,
1017                                 0.00481094690600,
1018                                 0.00498396877629,
1019                                 0.00513822754514,
1020                                 0.00527157587272,
1021                                 0.00538389758970,
1022                                 0.00547537830770,
1023                                 0.00554043639400,
1024                                 0.00559171286630,
1025                                 0.00562661141932,
1026                                 0.00563891995151,
1027                                 0.00564551969164,
1028                                 0.00562206432097,
1029                                 0.00559380230045,
1030                                 0.00554757145088,
1031                                 0.00548760401507,
1032                                 0.00541967759307,
1033                                 0.00534716811982,
1034                                 0.00524611661324,
1035                                 0.00514073539032,
1036                                 0.00503930226013,
1037                                 0.00491376035745,
1038                                 0.00479325608498,
1039                                 0.00466064606118,
1040                                 0.00452098527825,
1041                                 0.00437307196781,
1042                                 0.00422642692270,
1043                                 0.00408197531935,
1044                                 0.00392074323703,
1045                                 0.00376039229104,
1046                                 0.00360082681231,
1047                                 0.00344188741828,
1048                                 0.00327396134847,
1049                                 0.00311254206525,
1050                                 0.00294694477165,
1051                                 0.00278704643465,
1052                                 0.00262017586902,
1053                                 0.00246256169126,
1054                                 0.00230172547746,
1055                                 0.00214615835557,
1056                                 0.00198411407369,
1057                                 0.00183482654224,
1058                                 0.00168680832531,
1059                                 0.00154432198471,
1060                                 0.00139024948272,
1061                                 0.00125778846475,
1062                                 0.00112501551307,
1063                                 0.00098859883015,
1064                                 0.00086084433262,
1065                                 0.00074580258865,
1066                                 0.00062393761391,
1067                                 0.00051073884952,
1068                                 0.00040265402160,
1069                                 0.00029495311041,
1070                                 0.00020430170688,
1071                                 0.00010943831274,
1072                                 0.00001349497418,
1073                                 -0.00006173344072,
1074                                 -0.00014463809349,
1075                                 -0.00020983373440,
1076                                 -0.00028969811748,
1077                                 -0.00035011758756,
1078                                 -0.00040951214522,
1079                                 -0.00046063254803,
1080                                 -0.00051455722108,
1081                                 -0.00055645763906,
1082                                 -0.00059461189330,
1083                                 -0.00063415949025,
1084                                 -0.00066504150893,
1085                                 -0.00069179375372,
1086                                 -0.00072153919876,
1087                                 -0.00073193571525,
1088                                 -0.00075300014201,
1089                                 -0.00076307935757,
1090                                 -0.00077579773310,
1091                                 -0.00078014496257,
1092                                 -0.00078036647100,
1093                                 -0.00077798694927,
1094                                 -0.00078343322877,
1095                                 -0.00077248485949,
1096                                 -0.00076813719270,
1097                                 -0.00074905980532,
1098                                 -0.00074409418541,
1099                                 -0.00072550431222,
1100                                 -0.00071577364744,
1101                                 -0.00069416146273,
1102                                 -0.00067776907764,
1103                                 -0.00065403333621,
1104                                 -0.00063124935319,
1105                                 -0.00061327473938,
1106                                 -0.00058709304852,
1107                                 -0.00056778025613,
1108                                 -0.00054665656337,
1109                                 -0.00052265642972,
1110                                 -0.00050407143497,
1111                                 -0.00048937912498,
1112                                 -0.00048752279712,
1113                                 -0.00049475180896,
1114                                 -0.00056176925738,
1115                                 -0.00055252865047};
1116
1117const ia_filter_bank_params_struct
1118    normal_cross_freq[FILTER_BANK_PARAMETER_COUNT] = {
1119        {2.0f / 1024.0f, 0.0000373252f, 0.9913600345f},
1120        {3.0f / 1024.0f, 0.0000836207f, 0.9870680830f},
1121        {4.0f / 1024.0f, 0.0001480220f, 0.9827947083f},
1122        {5.0f / 1024.0f, 0.0002302960f, 0.9785398263f},
1123        {6.0f / 1024.0f, 0.0003302134f, 0.9743033527f},
1124        {2.0f / 256.0f, 0.0005820761f, 0.9658852897f},
1125        {3.0f / 256.0f, 0.0012877837f, 0.9492662926f},
1126        {2.0f / 128.0f, 0.0022515827f, 0.9329321561f},
1127        {3.0f / 128.0f, 0.0049030350f, 0.9010958535f},
1128        {2.0f / 64.0f, 0.0084426929f, 0.8703307793f},
1129        {3.0f / 64.0f, 0.0178631928f, 0.8118317459f},
1130        {2.0f / 32.0f, 0.0299545822f, 0.7570763753f},
1131        {3.0f / 32.0f, 0.0604985076f, 0.6574551915f},
1132        {2.0f / 16.0f, 0.0976310729f, 0.5690355937f},
1133        {3.0f / 16.0f, 0.1866943331f, 0.4181633458f},
1134        {2.0f / 8.0f, 0.2928932188f, 0.2928932188f},
1135};
1136