1 /** 2 // \file audiofilter_dolby.cpp 3 // 4 // Description: 5 // 6 // 7 // Author: Mihail Zenkov <kreator@tut.by>, (C) 2006 8 // 9 // Copyright: See COPYING file that comes with this distribution 10 // 11 */ 12 13 /*************************************************************************** 14 * * 15 * This program is free software; you can redistribute it and/or modify * 16 * it under the terms of the GNU General Public License as published by * 17 * the Free Software Foundation; either version 2 of the License, or * 18 * (at your option) any later version. * 19 * * 20 ***************************************************************************/ 21 # pragma once 22 #ifdef _MSC_VER //VS2015 23 #define ALIGN16 24 #else 25 #define ALIGN16 __attribute__((__aligned__(16))) 26 #endif 27 28 static float ALIGN16 xcoeffs[] = // 501 samples 29 { 30 // 31 +0.0000000000, +0.0003214310, +0.0000000000, +0.0003252099, 32 +0.0000000000, +0.0003302355, +0.0000000000, +0.0003365372, 33 +0.0000000000, +0.0003441444, +0.0000000000, +0.0003530868, 34 +0.0000000000, +0.0003633944, +0.0000000000, +0.0003750973, 35 +0.0000000000, +0.0003882260, +0.0000000000, +0.0004028113, 36 +0.0000000000, +0.0004188840, +0.0000000000, +0.0004364757, 37 +0.0000000000, +0.0004556178, +0.0000000000, +0.0004763424, 38 +0.0000000000, +0.0004986818, +0.0000000000, +0.0005226689, 39 +0.0000000000, +0.0005483367, +0.0000000000, +0.0005757189, 40 +0.0000000000, +0.0006048495, +0.0000000000, +0.0006357632, 41 +0.0000000000, +0.0006684951, +0.0000000000, +0.0007030809, 42 +0.0000000000, +0.0007395569, +0.0000000000, +0.0007779600, 43 +0.0000000000, +0.0008183281, +0.0000000000, +0.0008606994, 44 +0.0000000000, +0.0009051133, +0.0000000000, +0.0009516098, 45 +0.0000000000, +0.0010002299, +0.0000000000, +0.0010510155, 46 +0.0000000000, +0.0011040098, +0.0000000000, +0.0011592568, 47 +0.0000000000, +0.0012168018, +0.0000000000, +0.0012766915, 48 +0.0000000000, +0.0013389738, +0.0000000000, +0.0014036982, 49 +0.0000000000, +0.0014709156, +0.0000000000, +0.0015406788, 50 +0.0000000000, +0.0016130421, +0.0000000000, +0.0016880620, 51 +0.0000000000, +0.0017657969, +0.0000000000, +0.0018463073, 52 +0.0000000000, +0.0019296564, +0.0000000000, +0.0020159096, 53 +0.0000000000, +0.0021051351, +0.0000000000, +0.0021974040, 54 +0.0000000000, +0.0022927905, +0.0000000000, +0.0023913723, 55 +0.0000000000, +0.0024932304, +0.0000000000, +0.0025984499, 56 +0.0000000000, +0.0027071199, +0.0000000000, +0.0028193341, 57 +0.0000000000, +0.0029351907, +0.0000000000, +0.0030547934, 58 +0.0000000000, +0.0031782511, +0.0000000000, +0.0033056791, 59 +0.0000000000, +0.0034371988, +0.0000000000, +0.0035729386, 60 +0.0000000000, +0.0037130347, +0.0000000000, +0.0038576311, 61 +0.0000000000, +0.0040068807, +0.0000000000, +0.0041609461, 62 +0.0000000000, +0.0043200000, +0.0000000000, +0.0044842264, 63 +0.0000000000, +0.0046538214, +0.0000000000, +0.0048289944, 64 +0.0000000000, +0.0050099691, +0.0000000000, +0.0051969851, 65 +0.0000000000, +0.0053902989, +0.0000000000, +0.0055901856, 66 +0.0000000000, +0.0057969412, +0.0000000000, +0.0060108836, 67 +0.0000000000, +0.0062323557, +0.0000000000, +0.0064617271, 68 +0.0000000000, +0.0066993973, +0.0000000000, +0.0069457986, 69 +0.0000000000, +0.0072013994, +0.0000000000, +0.0074667084, 70 +0.0000000000, +0.0077422784, +0.0000000000, +0.0080287117, 71 +0.0000000000, +0.0083266658, +0.0000000000, +0.0086368590, 72 +0.0000000000, +0.0089600787, +0.0000000000, +0.0092971888, 73 +0.0000000000, +0.0096491399, +0.0000000000, +0.0100169797, 74 +0.0000000000, +0.0104018664, +0.0000000000, +0.0108050829, 75 +0.0000000000, +0.0112280539, +0.0000000000, +0.0116723666, 76 +0.0000000000, +0.0121397934, +0.0000000000, +0.0126323203, 77 +0.0000000000, +0.0131521795, +0.0000000000, +0.0137018887, 78 +0.0000000000, +0.0142842976, +0.0000000000, +0.0149026446, 79 +0.0000000000, +0.0155606252, +0.0000000000, +0.0162624744, 80 +0.0000000000, +0.0170130694, +0.0000000000, +0.0178180552, 81 +0.0000000000, +0.0186840011, +0.0000000000, +0.0196185982, 82 +0.0000000000, +0.0206309077, +0.0000000000, +0.0217316805, 83 +0.0000000000, +0.0229337690, +0.0000000000, +0.0242526657, 84 +0.0000000000, +0.0257072177, +0.0000000000, +0.0273205841, 85 +0.0000000000, +0.0291215436, +0.0000000000, +0.0311463069, 86 +0.0000000000, +0.0334410798, +0.0000000000, +0.0360657647, 87 +0.0000000000, +0.0390994399, +0.0000000000, +0.0426486966, 88 +0.0000000000, +0.0468607407, +0.0000000000, +0.0519447683, 89 +0.0000000000, +0.0582084316, +0.0000000000, +0.0661234757, 90 +0.0000000000, +0.0764519642, +0.0000000000, +0.0905102051, 91 +0.0000000000, +0.1107845781, +0.0000000000, +0.1426030657, 92 +0.0000000000, +0.1998184590, +0.0000000000, +0.3332243858, 93 +0.0000000000, +0.9999636803, +0.0000000000, -0.9999636803, 94 -0.0000000000, -0.3332243858, -0.0000000000, -0.1998184590, 95 -0.0000000000, -0.1426030657, -0.0000000000, -0.1107845781, 96 -0.0000000000, -0.0905102051, -0.0000000000, -0.0764519642, 97 -0.0000000000, -0.0661234757, -0.0000000000, -0.0582084316, 98 -0.0000000000, -0.0519447683, -0.0000000000, -0.0468607407, 99 -0.0000000000, -0.0426486966, -0.0000000000, -0.0390994399, 100 -0.0000000000, -0.0360657647, -0.0000000000, -0.0334410798, 101 -0.0000000000, -0.0311463069, -0.0000000000, -0.0291215436, 102 -0.0000000000, -0.0273205841, -0.0000000000, -0.0257072177, 103 -0.0000000000, -0.0242526657, -0.0000000000, -0.0229337690, 104 -0.0000000000, -0.0217316805, -0.0000000000, -0.0206309077, 105 -0.0000000000, -0.0196185982, -0.0000000000, -0.0186840011, 106 -0.0000000000, -0.0178180552, -0.0000000000, -0.0170130694, 107 -0.0000000000, -0.0162624744, -0.0000000000, -0.0155606252, 108 -0.0000000000, -0.0149026446, -0.0000000000, -0.0142842976, 109 -0.0000000000, -0.0137018887, -0.0000000000, -0.0131521795, 110 -0.0000000000, -0.0126323203, -0.0000000000, -0.0121397934, 111 -0.0000000000, -0.0116723666, -0.0000000000, -0.0112280539, 112 -0.0000000000, -0.0108050829, -0.0000000000, -0.0104018664, 113 -0.0000000000, -0.0100169797, -0.0000000000, -0.0096491399, 114 -0.0000000000, -0.0092971888, -0.0000000000, -0.0089600787, 115 -0.0000000000, -0.0086368590, -0.0000000000, -0.0083266658, 116 -0.0000000000, -0.0080287117, -0.0000000000, -0.0077422784, 117 -0.0000000000, -0.0074667084, -0.0000000000, -0.0072013994, 118 -0.0000000000, -0.0069457986, -0.0000000000, -0.0066993973, 119 -0.0000000000, -0.0064617271, -0.0000000000, -0.0062323557, 120 -0.0000000000, -0.0060108836, -0.0000000000, -0.0057969412, 121 -0.0000000000, -0.0055901856, -0.0000000000, -0.0053902989, 122 -0.0000000000, -0.0051969851, -0.0000000000, -0.0050099691, 123 -0.0000000000, -0.0048289944, -0.0000000000, -0.0046538214, 124 -0.0000000000, -0.0044842264, -0.0000000000, -0.0043200000, 125 -0.0000000000, -0.0041609461, -0.0000000000, -0.0040068807, 126 -0.0000000000, -0.0038576311, -0.0000000000, -0.0037130347, 127 -0.0000000000, -0.0035729386, -0.0000000000, -0.0034371988, 128 -0.0000000000, -0.0033056791, -0.0000000000, -0.0031782511, 129 -0.0000000000, -0.0030547934, -0.0000000000, -0.0029351907, 130 -0.0000000000, -0.0028193341, -0.0000000000, -0.0027071199, 131 -0.0000000000, -0.0025984499, -0.0000000000, -0.0024932304, 132 -0.0000000000, -0.0023913723, -0.0000000000, -0.0022927905, 133 -0.0000000000, -0.0021974040, -0.0000000000, -0.0021051351, 134 -0.0000000000, -0.0020159096, -0.0000000000, -0.0019296564, 135 -0.0000000000, -0.0018463073, -0.0000000000, -0.0017657969, 136 -0.0000000000, -0.0016880620, -0.0000000000, -0.0016130421, 137 -0.0000000000, -0.0015406788, -0.0000000000, -0.0014709156, 138 -0.0000000000, -0.0014036982, -0.0000000000, -0.0013389738, 139 -0.0000000000, -0.0012766915, -0.0000000000, -0.0012168018, 140 -0.0000000000, -0.0011592568, -0.0000000000, -0.0011040098, 141 -0.0000000000, -0.0010510155, -0.0000000000, -0.0010002299, 142 -0.0000000000, -0.0009516098, -0.0000000000, -0.0009051133, 143 -0.0000000000, -0.0008606994, -0.0000000000, -0.0008183281, 144 -0.0000000000, -0.0007779600, -0.0000000000, -0.0007395569, 145 -0.0000000000, -0.0007030809, -0.0000000000, -0.0006684951, 146 -0.0000000000, -0.0006357632, -0.0000000000, -0.0006048495, 147 -0.0000000000, -0.0005757189, -0.0000000000, -0.0005483367, 148 -0.0000000000, -0.0005226689, -0.0000000000, -0.0004986818, 149 -0.0000000000, -0.0004763424, -0.0000000000, -0.0004556178, 150 -0.0000000000, -0.0004364757, -0.0000000000, -0.0004188840, 151 -0.0000000000, -0.0004028113, -0.0000000000, -0.0003882260, 152 -0.0000000000, -0.0003750973, -0.0000000000, -0.0003633944, 153 -0.0000000000, -0.0003530868, -0.0000000000, -0.0003441444, 154 -0.0000000000, -0.0003365372, -0.0000000000, -0.0003302355, 155 -0.0000000000, -0.0003252099, -0.0000000000, -0.0003214310, 156 -0.0000000000, 157 158 // 2nd copy 159 +0.0000000000, +0.0003214310, +0.0000000000, +0.0003252099, 160 +0.0000000000, +0.0003302355, +0.0000000000, +0.0003365372, 161 +0.0000000000, +0.0003441444, +0.0000000000, +0.0003530868, 162 +0.0000000000, +0.0003633944, +0.0000000000, +0.0003750973, 163 +0.0000000000, +0.0003882260, +0.0000000000, +0.0004028113, 164 +0.0000000000, +0.0004188840, +0.0000000000, +0.0004364757, 165 +0.0000000000, +0.0004556178, +0.0000000000, +0.0004763424, 166 +0.0000000000, +0.0004986818, +0.0000000000, +0.0005226689, 167 +0.0000000000, +0.0005483367, +0.0000000000, +0.0005757189, 168 +0.0000000000, +0.0006048495, +0.0000000000, +0.0006357632, 169 +0.0000000000, +0.0006684951, +0.0000000000, +0.0007030809, 170 +0.0000000000, +0.0007395569, +0.0000000000, +0.0007779600, 171 +0.0000000000, +0.0008183281, +0.0000000000, +0.0008606994, 172 +0.0000000000, +0.0009051133, +0.0000000000, +0.0009516098, 173 +0.0000000000, +0.0010002299, +0.0000000000, +0.0010510155, 174 +0.0000000000, +0.0011040098, +0.0000000000, +0.0011592568, 175 +0.0000000000, +0.0012168018, +0.0000000000, +0.0012766915, 176 +0.0000000000, +0.0013389738, +0.0000000000, +0.0014036982, 177 +0.0000000000, +0.0014709156, +0.0000000000, +0.0015406788, 178 +0.0000000000, +0.0016130421, +0.0000000000, +0.0016880620, 179 +0.0000000000, +0.0017657969, +0.0000000000, +0.0018463073, 180 +0.0000000000, +0.0019296564, +0.0000000000, +0.0020159096, 181 +0.0000000000, +0.0021051351, +0.0000000000, +0.0021974040, 182 +0.0000000000, +0.0022927905, +0.0000000000, +0.0023913723, 183 +0.0000000000, +0.0024932304, +0.0000000000, +0.0025984499, 184 +0.0000000000, +0.0027071199, +0.0000000000, +0.0028193341, 185 +0.0000000000, +0.0029351907, +0.0000000000, +0.0030547934, 186 +0.0000000000, +0.0031782511, +0.0000000000, +0.0033056791, 187 +0.0000000000, +0.0034371988, +0.0000000000, +0.0035729386, 188 +0.0000000000, +0.0037130347, +0.0000000000, +0.0038576311, 189 +0.0000000000, +0.0040068807, +0.0000000000, +0.0041609461, 190 +0.0000000000, +0.0043200000, +0.0000000000, +0.0044842264, 191 +0.0000000000, +0.0046538214, +0.0000000000, +0.0048289944, 192 +0.0000000000, +0.0050099691, +0.0000000000, +0.0051969851, 193 +0.0000000000, +0.0053902989, +0.0000000000, +0.0055901856, 194 +0.0000000000, +0.0057969412, +0.0000000000, +0.0060108836, 195 +0.0000000000, +0.0062323557, +0.0000000000, +0.0064617271, 196 +0.0000000000, +0.0066993973, +0.0000000000, +0.0069457986, 197 +0.0000000000, +0.0072013994, +0.0000000000, +0.0074667084, 198 +0.0000000000, +0.0077422784, +0.0000000000, +0.0080287117, 199 +0.0000000000, +0.0083266658, +0.0000000000, +0.0086368590, 200 +0.0000000000, +0.0089600787, +0.0000000000, +0.0092971888, 201 +0.0000000000, +0.0096491399, +0.0000000000, +0.0100169797, 202 +0.0000000000, +0.0104018664, +0.0000000000, +0.0108050829, 203 +0.0000000000, +0.0112280539, +0.0000000000, +0.0116723666, 204 +0.0000000000, +0.0121397934, +0.0000000000, +0.0126323203, 205 +0.0000000000, +0.0131521795, +0.0000000000, +0.0137018887, 206 +0.0000000000, +0.0142842976, +0.0000000000, +0.0149026446, 207 +0.0000000000, +0.0155606252, +0.0000000000, +0.0162624744, 208 +0.0000000000, +0.0170130694, +0.0000000000, +0.0178180552, 209 +0.0000000000, +0.0186840011, +0.0000000000, +0.0196185982, 210 +0.0000000000, +0.0206309077, +0.0000000000, +0.0217316805, 211 +0.0000000000, +0.0229337690, +0.0000000000, +0.0242526657, 212 +0.0000000000, +0.0257072177, +0.0000000000, +0.0273205841, 213 +0.0000000000, +0.0291215436, +0.0000000000, +0.0311463069, 214 +0.0000000000, +0.0334410798, +0.0000000000, +0.0360657647, 215 +0.0000000000, +0.0390994399, +0.0000000000, +0.0426486966, 216 +0.0000000000, +0.0468607407, +0.0000000000, +0.0519447683, 217 +0.0000000000, +0.0582084316, +0.0000000000, +0.0661234757, 218 +0.0000000000, +0.0764519642, +0.0000000000, +0.0905102051, 219 +0.0000000000, +0.1107845781, +0.0000000000, +0.1426030657, 220 +0.0000000000, +0.1998184590, +0.0000000000, +0.3332243858, 221 +0.0000000000, +0.9999636803, +0.0000000000, -0.9999636803, 222 -0.0000000000, -0.3332243858, -0.0000000000, -0.1998184590, 223 -0.0000000000, -0.1426030657, -0.0000000000, -0.1107845781, 224 -0.0000000000, -0.0905102051, -0.0000000000, -0.0764519642, 225 -0.0000000000, -0.0661234757, -0.0000000000, -0.0582084316, 226 -0.0000000000, -0.0519447683, -0.0000000000, -0.0468607407, 227 -0.0000000000, -0.0426486966, -0.0000000000, -0.0390994399, 228 -0.0000000000, -0.0360657647, -0.0000000000, -0.0334410798, 229 -0.0000000000, -0.0311463069, -0.0000000000, -0.0291215436, 230 -0.0000000000, -0.0273205841, -0.0000000000, -0.0257072177, 231 -0.0000000000, -0.0242526657, -0.0000000000, -0.0229337690, 232 -0.0000000000, -0.0217316805, -0.0000000000, -0.0206309077, 233 -0.0000000000, -0.0196185982, -0.0000000000, -0.0186840011, 234 -0.0000000000, -0.0178180552, -0.0000000000, -0.0170130694, 235 -0.0000000000, -0.0162624744, -0.0000000000, -0.0155606252, 236 -0.0000000000, -0.0149026446, -0.0000000000, -0.0142842976, 237 -0.0000000000, -0.0137018887, -0.0000000000, -0.0131521795, 238 -0.0000000000, -0.0126323203, -0.0000000000, -0.0121397934, 239 -0.0000000000, -0.0116723666, -0.0000000000, -0.0112280539, 240 -0.0000000000, -0.0108050829, -0.0000000000, -0.0104018664, 241 -0.0000000000, -0.0100169797, -0.0000000000, -0.0096491399, 242 -0.0000000000, -0.0092971888, -0.0000000000, -0.0089600787, 243 -0.0000000000, -0.0086368590, -0.0000000000, -0.0083266658, 244 -0.0000000000, -0.0080287117, -0.0000000000, -0.0077422784, 245 -0.0000000000, -0.0074667084, -0.0000000000, -0.0072013994, 246 -0.0000000000, -0.0069457986, -0.0000000000, -0.0066993973, 247 -0.0000000000, -0.0064617271, -0.0000000000, -0.0062323557, 248 -0.0000000000, -0.0060108836, -0.0000000000, -0.0057969412, 249 -0.0000000000, -0.0055901856, -0.0000000000, -0.0053902989, 250 -0.0000000000, -0.0051969851, -0.0000000000, -0.0050099691, 251 -0.0000000000, -0.0048289944, -0.0000000000, -0.0046538214, 252 -0.0000000000, -0.0044842264, -0.0000000000, -0.0043200000, 253 -0.0000000000, -0.0041609461, -0.0000000000, -0.0040068807, 254 -0.0000000000, -0.0038576311, -0.0000000000, -0.0037130347, 255 -0.0000000000, -0.0035729386, -0.0000000000, -0.0034371988, 256 -0.0000000000, -0.0033056791, -0.0000000000, -0.0031782511, 257 -0.0000000000, -0.0030547934, -0.0000000000, -0.0029351907, 258 -0.0000000000, -0.0028193341, -0.0000000000, -0.0027071199, 259 -0.0000000000, -0.0025984499, -0.0000000000, -0.0024932304, 260 -0.0000000000, -0.0023913723, -0.0000000000, -0.0022927905, 261 -0.0000000000, -0.0021974040, -0.0000000000, -0.0021051351, 262 -0.0000000000, -0.0020159096, -0.0000000000, -0.0019296564, 263 -0.0000000000, -0.0018463073, -0.0000000000, -0.0017657969, 264 -0.0000000000, -0.0016880620, -0.0000000000, -0.0016130421, 265 -0.0000000000, -0.0015406788, -0.0000000000, -0.0014709156, 266 -0.0000000000, -0.0014036982, -0.0000000000, -0.0013389738, 267 -0.0000000000, -0.0012766915, -0.0000000000, -0.0012168018, 268 -0.0000000000, -0.0011592568, -0.0000000000, -0.0011040098, 269 -0.0000000000, -0.0010510155, -0.0000000000, -0.0010002299, 270 -0.0000000000, -0.0009516098, -0.0000000000, -0.0009051133, 271 -0.0000000000, -0.0008606994, -0.0000000000, -0.0008183281, 272 -0.0000000000, -0.0007779600, -0.0000000000, -0.0007395569, 273 -0.0000000000, -0.0007030809, -0.0000000000, -0.0006684951, 274 -0.0000000000, -0.0006357632, -0.0000000000, -0.0006048495, 275 -0.0000000000, -0.0005757189, -0.0000000000, -0.0005483367, 276 -0.0000000000, -0.0005226689, -0.0000000000, -0.0004986818, 277 -0.0000000000, -0.0004763424, -0.0000000000, -0.0004556178, 278 -0.0000000000, -0.0004364757, -0.0000000000, -0.0004188840, 279 -0.0000000000, -0.0004028113, -0.0000000000, -0.0003882260, 280 -0.0000000000, -0.0003750973, -0.0000000000, -0.0003633944, 281 -0.0000000000, -0.0003530868, -0.0000000000, -0.0003441444, 282 -0.0000000000, -0.0003365372, -0.0000000000, -0.0003302355, 283 -0.0000000000, -0.0003252099, -0.0000000000, -0.0003214310, 284 -0.0000000000, 285 286 }; 287 288