FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dcaenc.h
Go to the documentation of this file.
1 /*
2  * DCA encoder tables
3  * Copyright (C) 2008 Alexander E. Patrakov
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef AVCODEC_DCAENC_H
23 #define AVCODEC_DCAENC_H
24 
25 #include <stdint.h>
26 
27 /* This is a scaled version of the response of the reference decoder to
28  this vector of subband samples: ( 1.0 0.0 0.0 ... 0.0 )
29  */
30 
31 static const int32_t UnQMF[512] = {
32  7,
33  4,
34  -961,
35  -2844,
36  -8024,
37  -18978,
38  -32081,
39  -15635,
40  -16582,
41  -18359,
42  -17180,
43  -14868,
44  -11664,
45  -8051,
46  -4477,
47  -1327,
48  -1670,
49  -6019,
50  -11590,
51  -18030,
52  -24762,
53  -30965,
54  -35947,
55  -36145,
56  -37223,
57  -86311,
58  -57024,
59  -27215,
60  -11274,
61  -4684,
62  42,
63  108,
64  188,
65  250,
66  -1007,
67  -596,
68  -2289,
69  -12218,
70  -27191,
71  -124367,
72  -184256,
73  -250538,
74  -323499,
75  -397784,
76  -468855,
77  -532072,
78  -583000,
79  -618041,
80  -777916,
81  -783868,
82  -765968,
83  -724740,
84  -662468,
85  -583058,
86  -490548,
87  -401623,
88  -296090,
89  -73154,
90  -36711,
91  -7766,
92  -2363,
93  -4905,
94  2388,
95  2681,
96  5651,
97  4086,
98  71110,
99  139742,
100  188067,
101  151237,
102  101355,
103  309917,
104  343690,
105  358839,
106  357555,
107  334606,
108  289625,
109  224152,
110  142063,
111  48725,
112  74996,
113  238425,
114  411666,
115  584160,
116  744276,
117  880730,
118  983272,
119  1041933,
120  1054396,
121  789531,
122  851022,
123  864032,
124  675431,
125  418134,
126  35762,
127  66911,
128  103502,
129  136403,
130  -55147,
131  -245269,
132  -499595,
133  -808470,
134  -1136858,
135  -2010912,
136  -2581654,
137  -3151901,
138  -3696328,
139  -4196599,
140  -4633761,
141  -4993229,
142  -5262495,
143  -5436311,
144  -477650,
145  -901314,
146  -1308090,
147  -1677468,
148  -1985525,
149  -2212848,
150  -2341196,
151  -2373915,
152  -2269552,
153  -2620489,
154  -2173858,
155  -1629954,
156  -946595,
157  -193499,
158  1119459,
159  1138657,
160  1335311,
161  1126544,
162  2765033,
163  3139603,
164  3414913,
165  3599213,
166  3676363,
167  3448981,
168  3328726,
169  3111551,
170  2810887,
171  2428657,
172  1973684,
173  1457278,
174  893848,
175  300995,
176  -292521,
177  -867621,
178  -1404936,
179  -1871278,
180  -2229831,
181  -2440932,
182  -2462684,
183  -2255006,
184  -1768898,
185  -1079574,
186  82115,
187  1660302,
188  3660715,
189  6123610,
190  8329598,
191  11888744,
192  15722147,
193  19737089,
194  25647773,
195  31039399,
196  36868007,
197  43124253,
198  49737161,
199  56495958,
200  63668945,
201  71039511,
202  78540240,
203  86089058,
204  93600041,
205  100981151,
206  108136061,
207  114970055,
208  121718321,
209  127566038,
210  132774642,
211  137247294,
212  140894737,
213  143635018,
214  145395599,
215  146114032,
216  145742999,
217  144211606,
218  141594341,
219  137808404,
220  132914122,
221  126912246,
222  120243281,
223  112155281,
224  103338368,
225  93904953,
226  83439152,
227  72921548,
228  62192990,
229  51434918,
230  40894003,
231  30786726,
232  21384955,
233  12939112,
234  5718193,
235  -5790,
236  -3959261,
237  -5870978,
238  -5475538,
239  -2517061,
240  3247310,
241  12042937,
242  24076729,
243  39531397,
244  58562863,
245  81297002,
246  107826748,
247  138209187,
248  172464115,
249  210569037,
250  252468018,
251  298045453,
252  347168648,
253  399634888,
254  455137189,
255  513586535,
256  574537650,
257  637645129,
258  702597163,
259  768856566,
260  836022040,
261  903618096,
262  971159680,
263  1038137214,
264  1103987353,
265  1168195035,
266  1230223053,
267  1289539180,
268  1345620373,
269  1397957958,
270  1446063657,
271  1489474689,
272  1527740502,
273  1560502307,
274  1587383079,
275  1608071145,
276  1622301248,
277  1629859340,
278  1630584888,
279  1624373875,
280  1611178348,
281  1591018893,
282  1563948667,
283  1530105004,
284  1489673227,
285  1442904075,
286  1390107674,
287  1331590427,
288  1267779478,
289  1199115126,
290  1126053392,
291  1049146257,
292  968928307,
293  885965976,
294  800851610,
295  714186243,
296  626590147,
297  538672486,
298  451042824,
299  364299927,
300  279026812,
301  195785029,
302  115109565,
303  37503924,
304  -36564551,
305  -106668063,
306  -172421668,
307  -233487283,
308  -289575706,
309  -340448569,
310  -385919511,
311  -425854915,
312  -460174578,
313  -488840702,
314  -511893328,
315  -529405118,
316  -541489888,
317  -548312207,
318  -550036471,
319  -547005316,
320  -539436808,
321  -527630488,
322  -512084785,
323  -492941605,
324  -470665204,
325  -445668379,
326  -418328829,
327  -389072810,
328  -358293846,
329  -326396227,
330  -293769619,
331  -260792276,
332  -227825056,
333  -195208961,
334  -163262121,
335  -132280748,
336  -102533727,
337  -74230062,
338  -47600637,
339  -22817785,
340  -25786,
341  20662895,
342  39167253,
343  55438413,
344  69453741,
345  81242430,
346  90795329,
347  98213465,
348  103540643,
349  106917392,
350  108861938,
351  108539682,
352  106780704,
353  103722568,
354  99043289,
355  93608686,
356  87266209,
357  80212203,
358  72590022,
359  64603428,
360  56362402,
361  48032218,
362  39749162,
363  31638971,
364  23814664,
365  16376190,
366  9409836,
367  2988017,
368  -2822356,
369  -7976595,
370  -12454837,
371  -16241147,
372  -19331944,
373  -21735011,
374  -23468284,
375  -24559822,
376  -25042936,
377  -25035583,
378  -24429587,
379  -23346408,
380  -21860411,
381  -20015718,
382  -17025330,
383  -14968728,
384  -12487138,
385  -9656319,
386  -7846681,
387  -5197816,
388  -2621904,
389  -144953,
390  2144746,
391  3990570,
392  5845884,
393  7454650,
394  8820394,
395  9929891,
396  10784445,
397  11390921,
398  11762056,
399  11916017,
400  12261189,
401  12117604,
402  11815303,
403  11374622,
404  10815301,
405  10157241,
406  9418799,
407  8629399,
408  7780776,
409  7303680,
410  6353499,
411  5392738,
412  4457895,
413  3543062,
414  1305978,
415  1402521,
416  1084092,
417  965652,
418  -151008,
419  -666667,
420  -1032157,
421  -1231475,
422  -1319043,
423  -1006023,
424  -915720,
425  -773426,
426  -612377,
427  -445864,
428  -291068,
429  -161337,
430  -66484,
431  -11725,
432  133453,
433  388184,
434  615856,
435  804033,
436  942377,
437  1022911,
438  1041247,
439  995854,
440  891376,
441  572246,
442  457992,
443  316365,
444  172738,
445  43037,
446  -117662,
447  -98542,
448  -70279,
449  -41458,
450  -535790,
451  -959038,
452  -1364456,
453  -1502265,
454  -1568530,
455  -2378681,
456  -2701111,
457  -2976407,
458  -3182552,
459  -3314415,
460  -3366600,
461  -3337701,
462  -3232252,
463  -3054999,
464  1984841,
465  1925903,
466  1817377,
467  1669153,
468  1490069,
469  1292040,
470  1086223,
471  890983,
472  699163,
473  201358,
474  266971,
475  296990,
476  198419,
477  91119,
478  4737,
479  5936,
480  2553,
481  2060,
482  -3828,
483  -1664,
484  -4917,
485  -20796,
486  -36822,
487  -131247,
488  -154923,
489  -162055,
490  -161354,
491  -148762,
492  -125754,
493  -94473,
494  -57821,
495  -19096,
496  15172,
497  43004,
498  65624,
499  81354,
500  89325,
501  89524,
502  82766,
503  71075,
504  55128,
505  13686,
506  6921,
507  1449,
508  420,
509  785,
510  -215,
511  -179,
512  -113,
513  -49,
514  6002,
515  16007,
516  42978,
517  100662,
518  171472,
519  83975,
520  93702,
521  108813,
522  111893,
523  110272,
524  103914,
525  93973,
526  81606,
527  68041,
528  -54058,
529  -60695,
530  -65277,
531  -67224,
532  -66213,
533  -62082,
534  -55574,
535  -42988,
536  -35272,
537  -63735,
538  -33501,
539  -12671,
540  -4038,
541  -1232,
542  5,
543  7
544 };
545 
546 #endif /* AVCODEC_DCAENC_H */