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 31 const 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 72 const 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 86 const 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 106 const 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 110 const 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 116 const 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 120 const 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 127 const 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 161 const 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 195 const 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 202 const 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 207 const 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 214 const 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 219 const FLOAT32 shape_filt_lf_radius_tbl[] = { 220 0.988f, 0.98f, 0.96f, 0.94f, 221 }; 222 223 const FLOAT32 shape_filt_hf_radius_tbl[] = {0.45f, 0.40f, 0.35f, 0.30f, 0.30f}; 224 225 const FLOAT32 shape_filt_cutoff_freq_norm_hf_tbl[] = {0.15f, 0.20f, 0.25f, 226 0.35f, 0.45f}; 227 228 const 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 233 const 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 245 const 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 249 const 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 253 WORD32 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 257 WORD32 measurement_system_default_tbl[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 258 WORD32 measurement_system_bs1770_3_tbl[] = {0, 0, 8, 0, 1, 3, 0, 5, 6, 7, 4, 2}; 259 WORD32 measurement_system_user_tbl[] = {0, 0, 1, 0, 8, 5, 0, 2, 3, 4, 6, 7}; 260 WORD32 measurement_system_expert_tbl[] = {0, 0, 3, 0, 1, 8, 0, 4, 5, 6, 7, 2}; 261 WORD32 measurement_system_rms_a_tbl[] = {0, 0, 5, 0, 1, 3, 0, 8, 6, 7, 4, 2}; 262 WORD32 measurement_system_rms_b_tbl[] = {0, 0, 5, 0, 1, 3, 0, 6, 8, 7, 4, 2}; 263 WORD32 measurement_system_rms_c_tbl[] = {0, 0, 5, 0, 1, 3, 0, 6, 7, 8, 4, 2}; 264 WORD32 measurement_system_rms_d_tbl[] = {0, 0, 3, 0, 1, 7, 0, 4, 5, 6, 8, 2}; 265 WORD32 measurement_system_rms_e_tbl[] = {0, 0, 1, 0, 7, 5, 0, 2, 3, 4, 6, 8}; 266 267 WORD32 measurement_method_prog_loudness_tbl[] = {0, 0, 1, 0, 0, 0, 268 0, 2, 3, 4, 0, 0}; 269 WORD32 measurement_method_peak_loudness_tbl[] = {0, 7, 0, 0, 0, 0, 270 6, 5, 4, 3, 2, 1}; 271 272 const 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 276 const ia_loc_loudness_norm_ctrl_interface_struct 277 loc_loudness_norm_ctrl_interface[] = { 278 {0, 0.0f}, {0, 0.0f}, 279 }; 280 281 const 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 295 const 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 318 const 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 333 const ia_loc_drc_parameter_interface_struct loc_drc_parameter_interface[] = { 334 335 {1.0f, 1.0f, 0}, {1.0f, 1.0f, 0}, 336 }; 337 338 FLOAT32 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 364 FLOAT32 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 388 FLOAT32 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 476 FLOAT64 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 1117 const 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