xref: /aosp_15_r20/external/libopus/dnn/lpcnet_tables.c (revision a58d3d2adb790c104798cd88c8a3aff4fa8b82cc)
1*a58d3d2aSXin Li /* The contents of this file was automatically generated by dump_lpcnet_tables.c*/
2*a58d3d2aSXin Li 
3*a58d3d2aSXin Li #ifdef HAVE_CONFIG_H
4*a58d3d2aSXin Li #include "config.h"
5*a58d3d2aSXin Li #endif
6*a58d3d2aSXin Li #include "kiss_fft.h"
7*a58d3d2aSXin Li 
8*a58d3d2aSXin Li static const arch_fft_state arch_fft = {0, NULL};
9*a58d3d2aSXin Li 
10*a58d3d2aSXin Li static const opus_int16 fft_bitrev[320] = {
11*a58d3d2aSXin Li 0, 64, 128, 192, 256, 16, 80, 144, 208, 272, 32, 96, 160, 224, 288,
12*a58d3d2aSXin Li 48, 112, 176, 240, 304, 4, 68, 132, 196, 260, 20, 84, 148, 212, 276,
13*a58d3d2aSXin Li 36, 100, 164, 228, 292, 52, 116, 180, 244, 308, 8, 72, 136, 200, 264,
14*a58d3d2aSXin Li 24, 88, 152, 216, 280, 40, 104, 168, 232, 296, 56, 120, 184, 248, 312,
15*a58d3d2aSXin Li 12, 76, 140, 204, 268, 28, 92, 156, 220, 284, 44, 108, 172, 236, 300,
16*a58d3d2aSXin Li 60, 124, 188, 252, 316, 1, 65, 129, 193, 257, 17, 81, 145, 209, 273,
17*a58d3d2aSXin Li 33, 97, 161, 225, 289, 49, 113, 177, 241, 305, 5, 69, 133, 197, 261,
18*a58d3d2aSXin Li 21, 85, 149, 213, 277, 37, 101, 165, 229, 293, 53, 117, 181, 245, 309,
19*a58d3d2aSXin Li 9, 73, 137, 201, 265, 25, 89, 153, 217, 281, 41, 105, 169, 233, 297,
20*a58d3d2aSXin Li 57, 121, 185, 249, 313, 13, 77, 141, 205, 269, 29, 93, 157, 221, 285,
21*a58d3d2aSXin Li 45, 109, 173, 237, 301, 61, 125, 189, 253, 317, 2, 66, 130, 194, 258,
22*a58d3d2aSXin Li 18, 82, 146, 210, 274, 34, 98, 162, 226, 290, 50, 114, 178, 242, 306,
23*a58d3d2aSXin Li 6, 70, 134, 198, 262, 22, 86, 150, 214, 278, 38, 102, 166, 230, 294,
24*a58d3d2aSXin Li 54, 118, 182, 246, 310, 10, 74, 138, 202, 266, 26, 90, 154, 218, 282,
25*a58d3d2aSXin Li 42, 106, 170, 234, 298, 58, 122, 186, 250, 314, 14, 78, 142, 206, 270,
26*a58d3d2aSXin Li 30, 94, 158, 222, 286, 46, 110, 174, 238, 302, 62, 126, 190, 254, 318,
27*a58d3d2aSXin Li 3, 67, 131, 195, 259, 19, 83, 147, 211, 275, 35, 99, 163, 227, 291,
28*a58d3d2aSXin Li 51, 115, 179, 243, 307, 7, 71, 135, 199, 263, 23, 87, 151, 215, 279,
29*a58d3d2aSXin Li 39, 103, 167, 231, 295, 55, 119, 183, 247, 311, 11, 75, 139, 203, 267,
30*a58d3d2aSXin Li 27, 91, 155, 219, 283, 43, 107, 171, 235, 299, 59, 123, 187, 251, 315,
31*a58d3d2aSXin Li 15, 79, 143, 207, 271, 31, 95, 159, 223, 287, 47, 111, 175, 239, 303,
32*a58d3d2aSXin Li 63, 127, 191, 255, 319, };
33*a58d3d2aSXin Li 
34*a58d3d2aSXin Li static const kiss_twiddle_cpx fft_twiddles[320] = {
35*a58d3d2aSXin Li {1.00000000f, -0.00000000f}, {0.999807239f, -0.0196336918f},
36*a58d3d2aSXin Li {0.999229014f, -0.0392598175f}, {0.998265624f, -0.0588708036f},
37*a58d3d2aSXin Li {0.996917307f, -0.0784590989f}, {0.995184720f, -0.0980171412f},
38*a58d3d2aSXin Li {0.993068457f, -0.117537394f}, {0.990569353f, -0.137012348f},
39*a58d3d2aSXin Li {0.987688363f, -0.156434461f}, {0.984426558f, -0.175796285f},
40*a58d3d2aSXin Li {0.980785251f, -0.195090324f}, {0.976765871f, -0.214309156f},
41*a58d3d2aSXin Li {0.972369909f, -0.233445361f}, {0.967599094f, -0.252491564f},
42*a58d3d2aSXin Li {0.962455213f, -0.271440446f}, {0.956940353f, -0.290284663f},
43*a58d3d2aSXin Li {0.951056540f, -0.309017003f}, {0.944806039f, -0.327630192f},
44*a58d3d2aSXin Li {0.938191354f, -0.346117049f}, {0.931214929f, -0.364470512f},
45*a58d3d2aSXin Li {0.923879504f, -0.382683426f}, {0.916187942f, -0.400748819f},
46*a58d3d2aSXin Li {0.908143163f, -0.418659747f}, {0.899748266f, -0.436409235f},
47*a58d3d2aSXin Li {0.891006529f, -0.453990489f}, {0.881921291f, -0.471396744f},
48*a58d3d2aSXin Li {0.872496009f, -0.488621235f}, {0.862734377f, -0.505657375f},
49*a58d3d2aSXin Li {0.852640152f, -0.522498548f}, {0.842217207f, -0.539138317f},
50*a58d3d2aSXin Li {0.831469595f, -0.555570245f}, {0.820401430f, -0.571787953f},
51*a58d3d2aSXin Li {0.809017003f, -0.587785244f}, {0.797320664f, -0.603555918f},
52*a58d3d2aSXin Li {0.785316944f, -0.619093955f}, {0.773010433f, -0.634393275f},
53*a58d3d2aSXin Li {0.760405958f, -0.649448037f}, {0.747508347f, -0.664252460f},
54*a58d3d2aSXin Li {0.734322488f, -0.678800762f}, {0.720853567f, -0.693087339f},
55*a58d3d2aSXin Li {0.707106769f, -0.707106769f}, {0.693087339f, -0.720853567f},
56*a58d3d2aSXin Li {0.678800762f, -0.734322488f}, {0.664252460f, -0.747508347f},
57*a58d3d2aSXin Li {0.649448037f, -0.760405958f}, {0.634393275f, -0.773010433f},
58*a58d3d2aSXin Li {0.619093955f, -0.785316944f}, {0.603555918f, -0.797320664f},
59*a58d3d2aSXin Li {0.587785244f, -0.809017003f}, {0.571787953f, -0.820401430f},
60*a58d3d2aSXin Li {0.555570245f, -0.831469595f}, {0.539138317f, -0.842217207f},
61*a58d3d2aSXin Li {0.522498548f, -0.852640152f}, {0.505657375f, -0.862734377f},
62*a58d3d2aSXin Li {0.488621235f, -0.872496009f}, {0.471396744f, -0.881921291f},
63*a58d3d2aSXin Li {0.453990489f, -0.891006529f}, {0.436409235f, -0.899748266f},
64*a58d3d2aSXin Li {0.418659747f, -0.908143163f}, {0.400748819f, -0.916187942f},
65*a58d3d2aSXin Li {0.382683426f, -0.923879504f}, {0.364470512f, -0.931214929f},
66*a58d3d2aSXin Li {0.346117049f, -0.938191354f}, {0.327630192f, -0.944806039f},
67*a58d3d2aSXin Li {0.309017003f, -0.951056540f}, {0.290284663f, -0.956940353f},
68*a58d3d2aSXin Li {0.271440446f, -0.962455213f}, {0.252491564f, -0.967599094f},
69*a58d3d2aSXin Li {0.233445361f, -0.972369909f}, {0.214309156f, -0.976765871f},
70*a58d3d2aSXin Li {0.195090324f, -0.980785251f}, {0.175796285f, -0.984426558f},
71*a58d3d2aSXin Li {0.156434461f, -0.987688363f}, {0.137012348f, -0.990569353f},
72*a58d3d2aSXin Li {0.117537394f, -0.993068457f}, {0.0980171412f, -0.995184720f},
73*a58d3d2aSXin Li {0.0784590989f, -0.996917307f}, {0.0588708036f, -0.998265624f},
74*a58d3d2aSXin Li {0.0392598175f, -0.999229014f}, {0.0196336918f, -0.999807239f},
75*a58d3d2aSXin Li {6.12323426e-17f, -1.00000000f}, {-0.0196336918f, -0.999807239f},
76*a58d3d2aSXin Li {-0.0392598175f, -0.999229014f}, {-0.0588708036f, -0.998265624f},
77*a58d3d2aSXin Li {-0.0784590989f, -0.996917307f}, {-0.0980171412f, -0.995184720f},
78*a58d3d2aSXin Li {-0.117537394f, -0.993068457f}, {-0.137012348f, -0.990569353f},
79*a58d3d2aSXin Li {-0.156434461f, -0.987688363f}, {-0.175796285f, -0.984426558f},
80*a58d3d2aSXin Li {-0.195090324f, -0.980785251f}, {-0.214309156f, -0.976765871f},
81*a58d3d2aSXin Li {-0.233445361f, -0.972369909f}, {-0.252491564f, -0.967599094f},
82*a58d3d2aSXin Li {-0.271440446f, -0.962455213f}, {-0.290284663f, -0.956940353f},
83*a58d3d2aSXin Li {-0.309017003f, -0.951056540f}, {-0.327630192f, -0.944806039f},
84*a58d3d2aSXin Li {-0.346117049f, -0.938191354f}, {-0.364470512f, -0.931214929f},
85*a58d3d2aSXin Li {-0.382683426f, -0.923879504f}, {-0.400748819f, -0.916187942f},
86*a58d3d2aSXin Li {-0.418659747f, -0.908143163f}, {-0.436409235f, -0.899748266f},
87*a58d3d2aSXin Li {-0.453990489f, -0.891006529f}, {-0.471396744f, -0.881921291f},
88*a58d3d2aSXin Li {-0.488621235f, -0.872496009f}, {-0.505657375f, -0.862734377f},
89*a58d3d2aSXin Li {-0.522498548f, -0.852640152f}, {-0.539138317f, -0.842217207f},
90*a58d3d2aSXin Li {-0.555570245f, -0.831469595f}, {-0.571787953f, -0.820401430f},
91*a58d3d2aSXin Li {-0.587785244f, -0.809017003f}, {-0.603555918f, -0.797320664f},
92*a58d3d2aSXin Li {-0.619093955f, -0.785316944f}, {-0.634393275f, -0.773010433f},
93*a58d3d2aSXin Li {-0.649448037f, -0.760405958f}, {-0.664252460f, -0.747508347f},
94*a58d3d2aSXin Li {-0.678800762f, -0.734322488f}, {-0.693087339f, -0.720853567f},
95*a58d3d2aSXin Li {-0.707106769f, -0.707106769f}, {-0.720853567f, -0.693087339f},
96*a58d3d2aSXin Li {-0.734322488f, -0.678800762f}, {-0.747508347f, -0.664252460f},
97*a58d3d2aSXin Li {-0.760405958f, -0.649448037f}, {-0.773010433f, -0.634393275f},
98*a58d3d2aSXin Li {-0.785316944f, -0.619093955f}, {-0.797320664f, -0.603555918f},
99*a58d3d2aSXin Li {-0.809017003f, -0.587785244f}, {-0.820401430f, -0.571787953f},
100*a58d3d2aSXin Li {-0.831469595f, -0.555570245f}, {-0.842217207f, -0.539138317f},
101*a58d3d2aSXin Li {-0.852640152f, -0.522498548f}, {-0.862734377f, -0.505657375f},
102*a58d3d2aSXin Li {-0.872496009f, -0.488621235f}, {-0.881921291f, -0.471396744f},
103*a58d3d2aSXin Li {-0.891006529f, -0.453990489f}, {-0.899748266f, -0.436409235f},
104*a58d3d2aSXin Li {-0.908143163f, -0.418659747f}, {-0.916187942f, -0.400748819f},
105*a58d3d2aSXin Li {-0.923879504f, -0.382683426f}, {-0.931214929f, -0.364470512f},
106*a58d3d2aSXin Li {-0.938191354f, -0.346117049f}, {-0.944806039f, -0.327630192f},
107*a58d3d2aSXin Li {-0.951056540f, -0.309017003f}, {-0.956940353f, -0.290284663f},
108*a58d3d2aSXin Li {-0.962455213f, -0.271440446f}, {-0.967599094f, -0.252491564f},
109*a58d3d2aSXin Li {-0.972369909f, -0.233445361f}, {-0.976765871f, -0.214309156f},
110*a58d3d2aSXin Li {-0.980785251f, -0.195090324f}, {-0.984426558f, -0.175796285f},
111*a58d3d2aSXin Li {-0.987688363f, -0.156434461f}, {-0.990569353f, -0.137012348f},
112*a58d3d2aSXin Li {-0.993068457f, -0.117537394f}, {-0.995184720f, -0.0980171412f},
113*a58d3d2aSXin Li {-0.996917307f, -0.0784590989f}, {-0.998265624f, -0.0588708036f},
114*a58d3d2aSXin Li {-0.999229014f, -0.0392598175f}, {-0.999807239f, -0.0196336918f},
115*a58d3d2aSXin Li {-1.00000000f, -1.22464685e-16f}, {-0.999807239f, 0.0196336918f},
116*a58d3d2aSXin Li {-0.999229014f, 0.0392598175f}, {-0.998265624f, 0.0588708036f},
117*a58d3d2aSXin Li {-0.996917307f, 0.0784590989f}, {-0.995184720f, 0.0980171412f},
118*a58d3d2aSXin Li {-0.993068457f, 0.117537394f}, {-0.990569353f, 0.137012348f},
119*a58d3d2aSXin Li {-0.987688363f, 0.156434461f}, {-0.984426558f, 0.175796285f},
120*a58d3d2aSXin Li {-0.980785251f, 0.195090324f}, {-0.976765871f, 0.214309156f},
121*a58d3d2aSXin Li {-0.972369909f, 0.233445361f}, {-0.967599094f, 0.252491564f},
122*a58d3d2aSXin Li {-0.962455213f, 0.271440446f}, {-0.956940353f, 0.290284663f},
123*a58d3d2aSXin Li {-0.951056540f, 0.309017003f}, {-0.944806039f, 0.327630192f},
124*a58d3d2aSXin Li {-0.938191354f, 0.346117049f}, {-0.931214929f, 0.364470512f},
125*a58d3d2aSXin Li {-0.923879504f, 0.382683426f}, {-0.916187942f, 0.400748819f},
126*a58d3d2aSXin Li {-0.908143163f, 0.418659747f}, {-0.899748266f, 0.436409235f},
127*a58d3d2aSXin Li {-0.891006529f, 0.453990489f}, {-0.881921291f, 0.471396744f},
128*a58d3d2aSXin Li {-0.872496009f, 0.488621235f}, {-0.862734377f, 0.505657375f},
129*a58d3d2aSXin Li {-0.852640152f, 0.522498548f}, {-0.842217207f, 0.539138317f},
130*a58d3d2aSXin Li {-0.831469595f, 0.555570245f}, {-0.820401430f, 0.571787953f},
131*a58d3d2aSXin Li {-0.809017003f, 0.587785244f}, {-0.797320664f, 0.603555918f},
132*a58d3d2aSXin Li {-0.785316944f, 0.619093955f}, {-0.773010433f, 0.634393275f},
133*a58d3d2aSXin Li {-0.760405958f, 0.649448037f}, {-0.747508347f, 0.664252460f},
134*a58d3d2aSXin Li {-0.734322488f, 0.678800762f}, {-0.720853567f, 0.693087339f},
135*a58d3d2aSXin Li {-0.707106769f, 0.707106769f}, {-0.693087339f, 0.720853567f},
136*a58d3d2aSXin Li {-0.678800762f, 0.734322488f}, {-0.664252460f, 0.747508347f},
137*a58d3d2aSXin Li {-0.649448037f, 0.760405958f}, {-0.634393275f, 0.773010433f},
138*a58d3d2aSXin Li {-0.619093955f, 0.785316944f}, {-0.603555918f, 0.797320664f},
139*a58d3d2aSXin Li {-0.587785244f, 0.809017003f}, {-0.571787953f, 0.820401430f},
140*a58d3d2aSXin Li {-0.555570245f, 0.831469595f}, {-0.539138317f, 0.842217207f},
141*a58d3d2aSXin Li {-0.522498548f, 0.852640152f}, {-0.505657375f, 0.862734377f},
142*a58d3d2aSXin Li {-0.488621235f, 0.872496009f}, {-0.471396744f, 0.881921291f},
143*a58d3d2aSXin Li {-0.453990489f, 0.891006529f}, {-0.436409235f, 0.899748266f},
144*a58d3d2aSXin Li {-0.418659747f, 0.908143163f}, {-0.400748819f, 0.916187942f},
145*a58d3d2aSXin Li {-0.382683426f, 0.923879504f}, {-0.364470512f, 0.931214929f},
146*a58d3d2aSXin Li {-0.346117049f, 0.938191354f}, {-0.327630192f, 0.944806039f},
147*a58d3d2aSXin Li {-0.309017003f, 0.951056540f}, {-0.290284663f, 0.956940353f},
148*a58d3d2aSXin Li {-0.271440446f, 0.962455213f}, {-0.252491564f, 0.967599094f},
149*a58d3d2aSXin Li {-0.233445361f, 0.972369909f}, {-0.214309156f, 0.976765871f},
150*a58d3d2aSXin Li {-0.195090324f, 0.980785251f}, {-0.175796285f, 0.984426558f},
151*a58d3d2aSXin Li {-0.156434461f, 0.987688363f}, {-0.137012348f, 0.990569353f},
152*a58d3d2aSXin Li {-0.117537394f, 0.993068457f}, {-0.0980171412f, 0.995184720f},
153*a58d3d2aSXin Li {-0.0784590989f, 0.996917307f}, {-0.0588708036f, 0.998265624f},
154*a58d3d2aSXin Li {-0.0392598175f, 0.999229014f}, {-0.0196336918f, 0.999807239f},
155*a58d3d2aSXin Li {-1.83697015e-16f, 1.00000000f}, {0.0196336918f, 0.999807239f},
156*a58d3d2aSXin Li {0.0392598175f, 0.999229014f}, {0.0588708036f, 0.998265624f},
157*a58d3d2aSXin Li {0.0784590989f, 0.996917307f}, {0.0980171412f, 0.995184720f},
158*a58d3d2aSXin Li {0.117537394f, 0.993068457f}, {0.137012348f, 0.990569353f},
159*a58d3d2aSXin Li {0.156434461f, 0.987688363f}, {0.175796285f, 0.984426558f},
160*a58d3d2aSXin Li {0.195090324f, 0.980785251f}, {0.214309156f, 0.976765871f},
161*a58d3d2aSXin Li {0.233445361f, 0.972369909f}, {0.252491564f, 0.967599094f},
162*a58d3d2aSXin Li {0.271440446f, 0.962455213f}, {0.290284663f, 0.956940353f},
163*a58d3d2aSXin Li {0.309017003f, 0.951056540f}, {0.327630192f, 0.944806039f},
164*a58d3d2aSXin Li {0.346117049f, 0.938191354f}, {0.364470512f, 0.931214929f},
165*a58d3d2aSXin Li {0.382683426f, 0.923879504f}, {0.400748819f, 0.916187942f},
166*a58d3d2aSXin Li {0.418659747f, 0.908143163f}, {0.436409235f, 0.899748266f},
167*a58d3d2aSXin Li {0.453990489f, 0.891006529f}, {0.471396744f, 0.881921291f},
168*a58d3d2aSXin Li {0.488621235f, 0.872496009f}, {0.505657375f, 0.862734377f},
169*a58d3d2aSXin Li {0.522498548f, 0.852640152f}, {0.539138317f, 0.842217207f},
170*a58d3d2aSXin Li {0.555570245f, 0.831469595f}, {0.571787953f, 0.820401430f},
171*a58d3d2aSXin Li {0.587785244f, 0.809017003f}, {0.603555918f, 0.797320664f},
172*a58d3d2aSXin Li {0.619093955f, 0.785316944f}, {0.634393275f, 0.773010433f},
173*a58d3d2aSXin Li {0.649448037f, 0.760405958f}, {0.664252460f, 0.747508347f},
174*a58d3d2aSXin Li {0.678800762f, 0.734322488f}, {0.693087339f, 0.720853567f},
175*a58d3d2aSXin Li {0.707106769f, 0.707106769f}, {0.720853567f, 0.693087339f},
176*a58d3d2aSXin Li {0.734322488f, 0.678800762f}, {0.747508347f, 0.664252460f},
177*a58d3d2aSXin Li {0.760405958f, 0.649448037f}, {0.773010433f, 0.634393275f},
178*a58d3d2aSXin Li {0.785316944f, 0.619093955f}, {0.797320664f, 0.603555918f},
179*a58d3d2aSXin Li {0.809017003f, 0.587785244f}, {0.820401430f, 0.571787953f},
180*a58d3d2aSXin Li {0.831469595f, 0.555570245f}, {0.842217207f, 0.539138317f},
181*a58d3d2aSXin Li {0.852640152f, 0.522498548f}, {0.862734377f, 0.505657375f},
182*a58d3d2aSXin Li {0.872496009f, 0.488621235f}, {0.881921291f, 0.471396744f},
183*a58d3d2aSXin Li {0.891006529f, 0.453990489f}, {0.899748266f, 0.436409235f},
184*a58d3d2aSXin Li {0.908143163f, 0.418659747f}, {0.916187942f, 0.400748819f},
185*a58d3d2aSXin Li {0.923879504f, 0.382683426f}, {0.931214929f, 0.364470512f},
186*a58d3d2aSXin Li {0.938191354f, 0.346117049f}, {0.944806039f, 0.327630192f},
187*a58d3d2aSXin Li {0.951056540f, 0.309017003f}, {0.956940353f, 0.290284663f},
188*a58d3d2aSXin Li {0.962455213f, 0.271440446f}, {0.967599094f, 0.252491564f},
189*a58d3d2aSXin Li {0.972369909f, 0.233445361f}, {0.976765871f, 0.214309156f},
190*a58d3d2aSXin Li {0.980785251f, 0.195090324f}, {0.984426558f, 0.175796285f},
191*a58d3d2aSXin Li {0.987688363f, 0.156434461f}, {0.990569353f, 0.137012348f},
192*a58d3d2aSXin Li {0.993068457f, 0.117537394f}, {0.995184720f, 0.0980171412f},
193*a58d3d2aSXin Li {0.996917307f, 0.0784590989f}, {0.998265624f, 0.0588708036f},
194*a58d3d2aSXin Li {0.999229014f, 0.0392598175f}, {0.999807239f, 0.0196336918f},
195*a58d3d2aSXin Li };
196*a58d3d2aSXin Li 
197*a58d3d2aSXin Li const kiss_fft_state kfft = {
198*a58d3d2aSXin Li 320, /* nfft */
199*a58d3d2aSXin Li 0.0031250000f, /* scale */
200*a58d3d2aSXin Li -1, /* shift */
201*a58d3d2aSXin Li {5, 64, 4, 16, 4, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, }, /* factors */
202*a58d3d2aSXin Li fft_bitrev, /* bitrev*/
203*a58d3d2aSXin Li fft_twiddles, /* twiddles*/
204*a58d3d2aSXin Li (arch_fft_state *)&arch_fft, /* arch_fft*/
205*a58d3d2aSXin Li };
206*a58d3d2aSXin Li 
207*a58d3d2aSXin Li const float half_window[] = {
208*a58d3d2aSXin Li 3.78491532e-05f, 0.000340620492f, 0.000946046319f, 0.00185389258f, 0.00306380726f,
209*a58d3d2aSXin Li 0.00457531959f, 0.00638783723f, 0.00850064680f, 0.0109129101f, 0.0136236614f,
210*a58d3d2aSXin Li 0.0166318044f, 0.0199361145f, 0.0235352255f, 0.0274276342f, 0.0316116922f,
211*a58d3d2aSXin Li 0.0360856056f, 0.0408474281f, 0.0458950549f, 0.0512262285f, 0.0568385124f,
212*a58d3d2aSXin Li 0.0627293140f, 0.0688958541f, 0.0753351897f, 0.0820441842f, 0.0890194997f,
213*a58d3d2aSXin Li 0.0962576419f, 0.103754878f, 0.111507311f, 0.119510807f, 0.127761051f,
214*a58d3d2aSXin Li 0.136253506f, 0.144983411f, 0.153945804f, 0.163135484f, 0.172547072f,
215*a58d3d2aSXin Li 0.182174906f, 0.192013159f, 0.202055752f, 0.212296382f, 0.222728521f,
216*a58d3d2aSXin Li 0.233345464f, 0.244140238f, 0.255105674f, 0.266234398f, 0.277518868f,
217*a58d3d2aSXin Li 0.288951218f, 0.300523549f, 0.312227666f, 0.324055225f, 0.335997701f,
218*a58d3d2aSXin Li 0.348046392f, 0.360192508f, 0.372427016f, 0.384740859f, 0.397124738f,
219*a58d3d2aSXin Li 0.409569323f, 0.422065198f, 0.434602767f, 0.447172493f, 0.459764689f,
220*a58d3d2aSXin Li 0.472369671f, 0.484977663f, 0.497579008f, 0.510163903f, 0.522722721f,
221*a58d3d2aSXin Li 0.535245717f, 0.547723293f, 0.560145974f, 0.572504222f, 0.584788740f,
222*a58d3d2aSXin Li 0.596990347f, 0.609099925f, 0.621108532f, 0.633007407f, 0.644788086f,
223*a58d3d2aSXin Li 0.656442165f, 0.667961538f, 0.679338276f, 0.690564752f, 0.701633692f,
224*a58d3d2aSXin Li 0.712537885f, 0.723270535f, 0.733825266f, 0.744195819f, 0.754376352f,
225*a58d3d2aSXin Li 0.764361382f, 0.774145722f, 0.783724606f, 0.793093503f, 0.802248418f,
226*a58d3d2aSXin Li 0.811185598f, 0.819901764f, 0.828393936f, 0.836659551f, 0.844696403f,
227*a58d3d2aSXin Li 0.852502763f, 0.860077202f, 0.867418647f, 0.874526560f, 0.881400526f,
228*a58d3d2aSXin Li 0.888040781f, 0.894447744f, 0.900622249f, 0.906565487f, 0.912279010f,
229*a58d3d2aSXin Li 0.917764664f, 0.923024654f, 0.928061485f, 0.932878017f, 0.937477291f,
230*a58d3d2aSXin Li 0.941862822f, 0.946038187f, 0.950007319f, 0.953774393f, 0.957343817f,
231*a58d3d2aSXin Li 0.960720181f, 0.963908315f, 0.966913164f, 0.969739914f, 0.972393870f,
232*a58d3d2aSXin Li 0.974880517f, 0.977205336f, 0.979374051f, 0.981392324f, 0.983266115f,
233*a58d3d2aSXin Li 0.985001266f, 0.986603677f, 0.988079309f, 0.989434063f, 0.990674019f,
234*a58d3d2aSXin Li 0.991804957f, 0.992832899f, 0.993763626f, 0.994602919f, 0.995356441f,
235*a58d3d2aSXin Li 0.996029854f, 0.996628702f, 0.997158289f, 0.997623861f, 0.998030603f,
236*a58d3d2aSXin Li 0.998383403f, 0.998687088f, 0.998946249f, 0.999165416f, 0.999348700f,
237*a58d3d2aSXin Li 0.999500215f, 0.999623775f, 0.999723017f, 0.999801278f, 0.999861658f,
238*a58d3d2aSXin Li 0.999907196f, 0.999940455f, 0.999963880f, 0.999979615f, 0.999989510f,
239*a58d3d2aSXin Li 0.999995291f, 0.999998271f, 0.999999523f, 0.999999940f, 1.00000000f,
240*a58d3d2aSXin Li };
241*a58d3d2aSXin Li 
242*a58d3d2aSXin Li const float dct_table[] = {
243*a58d3d2aSXin Li 0.707106769f, 0.996194720f, 0.984807730f, 0.965925813f, 0.939692616f,
244*a58d3d2aSXin Li 0.906307817f, 0.866025388f, 0.819152057f, 0.766044438f, 0.707106769f,
245*a58d3d2aSXin Li 0.642787635f, 0.573576450f, 0.500000000f, 0.422618270f, 0.342020154f,
246*a58d3d2aSXin Li 0.258819044f, 0.173648179f, 0.0871557444f, 0.707106769f, 0.965925813f,
247*a58d3d2aSXin Li 0.866025388f, 0.707106769f, 0.500000000f, 0.258819044f, 6.12323426e-17f,
248*a58d3d2aSXin Li -0.258819044f, -0.500000000f, -0.707106769f, -0.866025388f, -0.965925813f,
249*a58d3d2aSXin Li -1.00000000f, -0.965925813f, -0.866025388f, -0.707106769f, -0.500000000f,
250*a58d3d2aSXin Li -0.258819044f, 0.707106769f, 0.906307817f, 0.642787635f, 0.258819044f,
251*a58d3d2aSXin Li -0.173648179f, -0.573576450f, -0.866025388f, -0.996194720f, -0.939692616f,
252*a58d3d2aSXin Li -0.707106769f, -0.342020154f, 0.0871557444f, 0.500000000f, 0.819152057f,
253*a58d3d2aSXin Li 0.984807730f, 0.965925813f, 0.766044438f, 0.422618270f, 0.707106769f,
254*a58d3d2aSXin Li 0.819152057f, 0.342020154f, -0.258819044f, -0.766044438f, -0.996194720f,
255*a58d3d2aSXin Li -0.866025388f, -0.422618270f, 0.173648179f, 0.707106769f, 0.984807730f,
256*a58d3d2aSXin Li 0.906307817f, 0.500000000f, -0.0871557444f, -0.642787635f, -0.965925813f,
257*a58d3d2aSXin Li -0.939692616f, -0.573576450f, 0.707106769f, 0.707106769f, 6.12323426e-17f,
258*a58d3d2aSXin Li -0.707106769f, -1.00000000f, -0.707106769f, -1.83697015e-16f, 0.707106769f,
259*a58d3d2aSXin Li 1.00000000f, 0.707106769f, 3.06161700e-16f, -0.707106769f, -1.00000000f,
260*a58d3d2aSXin Li -0.707106769f, -4.28626385e-16f, 0.707106769f, 1.00000000f, 0.707106769f,
261*a58d3d2aSXin Li 0.707106769f, 0.573576450f, -0.342020154f, -0.965925813f, -0.766044438f,
262*a58d3d2aSXin Li 0.0871557444f, 0.866025388f, 0.906307817f, 0.173648179f, -0.707106769f,
263*a58d3d2aSXin Li -0.984807730f, -0.422618270f, 0.500000000f, 0.996194720f, 0.642787635f,
264*a58d3d2aSXin Li -0.258819044f, -0.939692616f, -0.819152057f, 0.707106769f, 0.422618270f,
265*a58d3d2aSXin Li -0.642787635f, -0.965925813f, -0.173648179f, 0.819152057f, 0.866025388f,
266*a58d3d2aSXin Li -0.0871557444f, -0.939692616f, -0.707106769f, 0.342020154f, 0.996194720f,
267*a58d3d2aSXin Li 0.500000000f, -0.573576450f, -0.984807730f, -0.258819044f, 0.766044438f,
268*a58d3d2aSXin Li 0.906307817f, 0.707106769f, 0.258819044f, -0.866025388f, -0.707106769f,
269*a58d3d2aSXin Li 0.500000000f, 0.965925813f, 3.06161700e-16f, -0.965925813f, -0.500000000f,
270*a58d3d2aSXin Li 0.707106769f, 0.866025388f, -0.258819044f, -1.00000000f, -0.258819044f,
271*a58d3d2aSXin Li 0.866025388f, 0.707106769f, -0.500000000f, -0.965925813f, 0.707106769f,
272*a58d3d2aSXin Li 0.0871557444f, -0.984807730f, -0.258819044f, 0.939692616f, 0.422618270f,
273*a58d3d2aSXin Li -0.866025388f, -0.573576450f, 0.766044438f, 0.707106769f, -0.642787635f,
274*a58d3d2aSXin Li -0.819152057f, 0.500000000f, 0.906307817f, -0.342020154f, -0.965925813f,
275*a58d3d2aSXin Li 0.173648179f, 0.996194720f, 0.707106769f, -0.0871557444f, -0.984807730f,
276*a58d3d2aSXin Li 0.258819044f, 0.939692616f, -0.422618270f, -0.866025388f, 0.573576450f,
277*a58d3d2aSXin Li 0.766044438f, -0.707106769f, -0.642787635f, 0.819152057f, 0.500000000f,
278*a58d3d2aSXin Li -0.906307817f, -0.342020154f, 0.965925813f, 0.173648179f, -0.996194720f,
279*a58d3d2aSXin Li 0.707106769f, -0.258819044f, -0.866025388f, 0.707106769f, 0.500000000f,
280*a58d3d2aSXin Li -0.965925813f, -4.28626385e-16f, 0.965925813f, -0.500000000f, -0.707106769f,
281*a58d3d2aSXin Li 0.866025388f, 0.258819044f, -1.00000000f, 0.258819044f, 0.866025388f,
282*a58d3d2aSXin Li -0.707106769f, -0.500000000f, 0.965925813f, 0.707106769f, -0.422618270f,
283*a58d3d2aSXin Li -0.642787635f, 0.965925813f, -0.173648179f, -0.819152057f, 0.866025388f,
284*a58d3d2aSXin Li 0.0871557444f, -0.939692616f, 0.707106769f, 0.342020154f, -0.996194720f,
285*a58d3d2aSXin Li 0.500000000f, 0.573576450f, -0.984807730f, 0.258819044f, 0.766044438f,
286*a58d3d2aSXin Li -0.906307817f, 0.707106769f, -0.573576450f, -0.342020154f, 0.965925813f,
287*a58d3d2aSXin Li -0.766044438f, -0.0871557444f, 0.866025388f, -0.906307817f, 0.173648179f,
288*a58d3d2aSXin Li 0.707106769f, -0.984807730f, 0.422618270f, 0.500000000f, -0.996194720f,
289*a58d3d2aSXin Li 0.642787635f, 0.258819044f, -0.939692616f, 0.819152057f, 0.707106769f,
290*a58d3d2aSXin Li -0.707106769f, -1.83697015e-16f, 0.707106769f, -1.00000000f, 0.707106769f,
291*a58d3d2aSXin Li 5.51091070e-16f, -0.707106769f, 1.00000000f, -0.707106769f, -2.69484189e-15f,
292*a58d3d2aSXin Li 0.707106769f, -1.00000000f, 0.707106769f, -4.90477710e-16f, -0.707106769f,
293*a58d3d2aSXin Li 1.00000000f, -0.707106769f, 0.707106769f, -0.819152057f, 0.342020154f,
294*a58d3d2aSXin Li 0.258819044f, -0.766044438f, 0.996194720f, -0.866025388f, 0.422618270f,
295*a58d3d2aSXin Li 0.173648179f, -0.707106769f, 0.984807730f, -0.906307817f, 0.500000000f,
296*a58d3d2aSXin Li 0.0871557444f, -0.642787635f, 0.965925813f, -0.939692616f, 0.573576450f,
297*a58d3d2aSXin Li 0.707106769f, -0.906307817f, 0.642787635f, -0.258819044f, -0.173648179f,
298*a58d3d2aSXin Li 0.573576450f, -0.866025388f, 0.996194720f, -0.939692616f, 0.707106769f,
299*a58d3d2aSXin Li -0.342020154f, -0.0871557444f, 0.500000000f, -0.819152057f, 0.984807730f,
300*a58d3d2aSXin Li -0.965925813f, 0.766044438f, -0.422618270f, 0.707106769f, -0.965925813f,
301*a58d3d2aSXin Li 0.866025388f, -0.707106769f, 0.500000000f, -0.258819044f, 1.10280111e-15f,
302*a58d3d2aSXin Li 0.258819044f, -0.500000000f, 0.707106769f, -0.866025388f, 0.965925813f,
303*a58d3d2aSXin Li -1.00000000f, 0.965925813f, -0.866025388f, 0.707106769f, -0.500000000f,
304*a58d3d2aSXin Li 0.258819044f, 0.707106769f, -0.996194720f, 0.984807730f, -0.965925813f,
305*a58d3d2aSXin Li 0.939692616f, -0.906307817f, 0.866025388f, -0.819152057f, 0.766044438f,
306*a58d3d2aSXin Li -0.707106769f, 0.642787635f, -0.573576450f, 0.500000000f, -0.422618270f,
307*a58d3d2aSXin Li 0.342020154f, -0.258819044f, 0.173648179f, -0.0871557444f, };
308