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