2 * COOK compatible decoder data
3 * Copyright (c) 2003 Sascha Sommer
4 * Copyright (c) 2005 Benjamin Larsson
6 * This file is part of FFmpeg.
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
26 * Cook AKA RealAudio G2 compatible decoderdata
29 /* various data tables */
31 static const int expbits_tab[8] = {
32 52,47,43,37,29,22,16,0,
35 static const float dither_tab[8] = {
36 0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107,
39 static const float randsign[2] = {1.0, -1.0};
41 static const float quant_centroid_tab[7][14] = {
42 { 0.000, 0.392, 0.761, 1.120, 1.477, 1.832, 2.183, 2.541, 2.893, 3.245, 3.598, 3.942, 4.288, 4.724 },
43 { 0.000, 0.544, 1.060, 1.563, 2.068, 2.571, 3.072, 3.562, 4.070, 4.620, 0.000, 0.000, 0.000, 0.000 },
44 { 0.000, 0.746, 1.464, 2.180, 2.882, 3.584, 4.316, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
45 { 0.000, 1.006, 2.000, 2.993, 3.985, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
46 { 0.000, 1.321, 2.703, 3.983, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
47 { 0.000, 1.657, 3.491, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
48 { 0.000, 1.964, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 }
51 static const int invradix_tab[7] = {
52 74899, 104858, 149797, 209716, 262144, 349526, 524288,
55 static const int kmax_tab[7] = {
59 static const int vd_tab[7] = {
63 static const int vpr_tab[7] = {
64 10, 10, 10, 5, 5, 4, 4,
71 static const int vhsize_tab[7] = {
72 191, 97, 48, 607, 246, 230, 32,
75 static const int vhvlcsize_tab[7] = {
79 static const uint8_t envelope_quant_index_huffbits[13][24] = {
80 { 4, 6, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, 7, 8, 9, 11, 11, 12, 12, 12, 12 },
81 { 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 7, 9, 11, 12, 13, 15, 15, 15, 16, 16 },
82 { 12, 10, 8, 6, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4, 5, 5, 7, 9, 11, 13, 14, 14 },
83 { 13, 10, 9, 9, 7, 7, 5, 5, 4, 3, 3, 3, 3, 3, 4, 4, 4, 5, 7, 9, 11, 13, 13, 13 },
84 { 12, 13, 10, 8, 6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 4, 5, 5, 6, 7, 9, 11, 14, 14 },
85 { 12, 11, 9, 8, 8, 7, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4, 5, 5, 7, 8, 10, 13, 14, 14 },
86 { 15, 16, 15, 12, 10, 8, 6, 5, 4, 3, 3, 3, 2, 3, 4, 5, 5, 7, 9, 11, 13, 16, 16, 16 },
87 { 14, 14, 11, 10, 9, 7, 7, 5, 5, 4, 3, 3, 2, 3, 3, 4, 5, 7, 9, 9, 12, 14, 15, 15 },
88 { 9, 9, 9, 8, 7, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 13 },
89 { 14, 12, 10, 8, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 6, 8, 8, 9, 11, 14, 14, 14 },
90 { 13, 10, 9, 8, 6, 6, 5, 4, 4, 4, 3, 3, 2, 3, 4, 5, 6, 8, 9, 9, 11, 12, 14, 14 },
91 { 16, 13, 12, 11, 9, 6, 5, 5, 4, 4, 4, 3, 2, 3, 3, 4, 5, 7, 8, 10, 14, 16, 16, 16 },
92 { 13, 14, 14, 14, 10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4, 5, 5, 7, 9, 11, 14, 14, 14 },
95 static const uint16_t envelope_quant_index_huffcodes[13][24] = {
96 {0x0006, 0x003e, 0x001c, 0x001d, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x0000, 0x0001,
97 0x0002, 0x000d, 0x001e, 0x007e, 0x00fe, 0x01fe, 0x07fc, 0x07fd, 0x0ffc, 0x0ffd, 0x0ffe, 0x0fff},
98 {0x03fe, 0x00fe, 0x003e, 0x001c, 0x001d, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005,
99 0x000d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x0ffe, 0x1ffe, 0x7ffc, 0x7ffd, 0x7ffe, 0xfffe, 0xffff},
100 {0x0ffe, 0x03fe, 0x00fe, 0x003e, 0x001c, 0x0006, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b, 0x0000,
101 0x0001, 0x0002, 0x000c, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffe, 0x3ffe, 0x3fff},
102 {0x1ffc, 0x03fe, 0x01fc, 0x01fd, 0x007c, 0x007d, 0x001c, 0x001d, 0x000a, 0x0000, 0x0001, 0x0002,
103 0x0003, 0x0004, 0x000b, 0x000c, 0x000d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffd, 0x1ffe, 0x1fff},
104 {0x0ffe, 0x1ffe, 0x03fe, 0x00fe, 0x003c, 0x003d, 0x001a, 0x001b, 0x000a, 0x000b, 0x0000, 0x0001,
105 0x0002, 0x0003, 0x0004, 0x000c, 0x001c, 0x001d, 0x003e, 0x007e, 0x01fe, 0x07fe, 0x3ffe, 0x3fff},
106 {0x0ffe, 0x07fe, 0x01fe, 0x00fc, 0x00fd, 0x007c, 0x001c, 0x000a, 0x000b, 0x0000, 0x0001, 0x0002,
107 0x0003, 0x0004, 0x000c, 0x000d, 0x001d, 0x001e, 0x007d, 0x00fe, 0x03fe, 0x1ffe, 0x3ffe, 0x3fff},
108 {0x7ffc, 0xfffc, 0x7ffd, 0x0ffe, 0x03fe, 0x00fe, 0x003e, 0x001c, 0x000c, 0x0002, 0x0003, 0x0004,
109 0x0000, 0x0005, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffe, 0xfffd, 0xfffe, 0xffff},
110 {0x3ffc, 0x3ffd, 0x07fe, 0x03fe, 0x01fc, 0x007c, 0x007d, 0x001c, 0x001d, 0x000c, 0x0002, 0x0003,
111 0x0000, 0x0004, 0x0005, 0x000d, 0x001e, 0x007e, 0x01fd, 0x01fe, 0x0ffe, 0x3ffe, 0x7ffe, 0x7fff},
112 {0x01fc, 0x01fd, 0x01fe, 0x00fc, 0x007c, 0x003c, 0x001c, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003,
113 0x0004, 0x0005, 0x000d, 0x001d, 0x003d, 0x007d, 0x00fd, 0x03fe, 0x07fe, 0x0ffe, 0x1ffe, 0x1fff},
114 {0x3ffc, 0x0ffe, 0x03fe, 0x00fc, 0x003c, 0x003d, 0x001c, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003,
115 0x0004, 0x0005, 0x000d, 0x001d, 0x003e, 0x00fd, 0x00fe, 0x01fe, 0x07fe, 0x3ffd, 0x3ffe, 0x3fff},
116 {0x1ffe, 0x03fe, 0x01fc, 0x00fc, 0x003c, 0x003d, 0x001c, 0x000a, 0x000b, 0x000c, 0x0002, 0x0003,
117 0x0000, 0x0004, 0x000d, 0x001d, 0x003e, 0x00fd, 0x01fd, 0x01fe, 0x07fe, 0x0ffe, 0x3ffe, 0x3fff},
118 {0xfffc, 0x1ffe, 0x0ffe, 0x07fe, 0x01fe, 0x003e, 0x001c, 0x001d, 0x000a, 0x000b, 0x000c, 0x0002,
119 0x0000, 0x0003, 0x0004, 0x000d, 0x001e, 0x007e, 0x00fe, 0x03fe, 0x3ffe, 0xfffd, 0xfffe, 0xffff},
120 {0x1ffc, 0x3ffa, 0x3ffb, 0x3ffc, 0x03fe, 0x00fe, 0x007c, 0x007d, 0x001c, 0x000c, 0x0002, 0x0003,
121 0x0000, 0x0004, 0x0005, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x3ffd, 0x3ffe, 0x3fff},
125 static const uint8_t cvh_huffbits0[191] = {
126 1, 4, 6, 6, 7, 7, 8, 8, 8, 9, 9, 10,
127 11, 11, 4, 5, 6, 7, 7, 8, 8, 9, 9, 9,
128 9, 10, 11, 11, 5, 6, 7, 8, 8, 9, 9, 9,
129 9, 10, 10, 10, 11, 12, 6, 7, 8, 9, 9, 9,
130 9, 10, 10, 10, 10, 11, 12, 13, 7, 7, 8, 9,
131 9, 9, 10, 10, 10, 10, 11, 11, 12, 13, 8, 8,
132 9, 9, 9, 10, 10, 10, 10, 11, 11, 12, 13, 14,
133 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13,
134 13, 15, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12,
135 12, 13, 14, 15, 9, 9, 9, 10, 10, 10, 11, 11,
136 12, 13, 12, 14, 15, 16, 9, 9, 10, 10, 10, 10,
137 11, 12, 12, 14, 14, 16, 16, 0, 9, 9, 10, 10,
138 11, 11, 12, 13, 13, 14, 14, 15, 0, 0, 10, 10,
139 10, 11, 11, 12, 12, 13, 15, 15, 16, 0, 0, 0,
140 11, 11, 11, 12, 13, 13, 13, 15, 16, 16, 0, 0,
141 0, 0, 11, 11, 12, 13, 13, 14, 15, 16, 16,
144 static const uint16_t cvh_huffcodes0[191] = {
145 0x0000,0x0008,0x002c,0x002d,0x0062,0x0063,0x00d4,0x00d5,0x00d6,0x01c6,0x01c7,0x03ca,
146 0x07d6,0x07d7,0x0009,0x0014,0x002e,0x0064,0x0065,0x00d7,0x00d8,0x01c8,0x01c9,0x01ca,
147 0x01cb,0x03cb,0x07d8,0x07d9,0x0015,0x002f,0x0066,0x00d9,0x00da,0x01cc,0x01cd,0x01ce,
148 0x01cf,0x03cc,0x03cd,0x03ce,0x07da,0x0fe4,0x0030,0x0067,0x00db,0x01d0,0x01d1,0x01d2,
149 0x01d3,0x03cf,0x03d0,0x03d1,0x03d2,0x07db,0x0fe5,0x1fea,0x0068,0x0069,0x00dc,0x01d4,
150 0x01d5,0x01d6,0x03d3,0x03d4,0x03d5,0x03d6,0x07dc,0x07dd,0x0fe6,0x1feb,0x00dd,0x00de,
151 0x01d7,0x01d8,0x01d9,0x03d7,0x03d8,0x03d9,0x03da,0x07de,0x07df,0x0fe7,0x1fec,0x3ff2,
152 0x00df,0x00e0,0x01da,0x01db,0x03db,0x03dc,0x07e0,0x07e1,0x07e2,0x0fe8,0x0fe9,0x1fed,
153 0x1fee,0x7ff4,0x00e1,0x00e2,0x01dc,0x01dd,0x03dd,0x03de,0x07e3,0x07e4,0x07e5,0x0fea,
154 0x0feb,0x1fef,0x3ff3,0x7ff5,0x01de,0x01df,0x01e0,0x03df,0x03e0,0x03e1,0x07e6,0x07e7,
155 0x0fec,0x1ff0,0x0fed,0x3ff4,0x7ff6,0xfff8,0x01e1,0x01e2,0x03e2,0x03e3,0x03e4,0x03e5,
156 0x07e8,0x0fee,0x0fef,0x3ff5,0x3ff6,0xfff9,0xfffa,0xfffa,0x01e3,0x01e4,0x03e6,0x03e7,
157 0x07e9,0x07ea,0x0ff0,0x1ff1,0x1ff2,0x3ff7,0x3ff8,0x7ff7,0x7ff7,0xfffa,0x03e8,0x03e9,
158 0x03ea,0x07eb,0x07ec,0x0ff1,0x0ff2,0x1ff3,0x7ff8,0x7ff9,0xfffb,0x3ff8,0x7ff7,0x7ff7,
159 0x07ed,0x07ee,0x07ef,0x0ff3,0x1ff4,0x1ff5,0x1ff6,0x7ffa,0xfffc,0xfffd,0xfffb,0xfffb,
160 0x3ff8,0x7ff7,0x07f0,0x07f1,0x0ff4,0x1ff7,0x1ff8,0x3ff9,0x7ffb,0xfffe,0xffff,
164 static const uint8_t cvh_huffbits1[97] = {
165 1, 4, 5, 6, 7, 8, 8, 9, 10, 10, 4, 5,
166 6, 7, 7, 8, 8, 9, 9, 11, 5, 5, 6, 7,
167 8, 8, 9, 9, 10, 11, 6, 6, 7, 8, 8, 9,
168 9, 10, 11, 12, 7, 7, 8, 8, 9, 9, 10, 11,
169 11, 13, 8, 8, 8, 9, 9, 10, 10, 11, 12, 14,
170 8, 8, 8, 9, 10, 11, 11, 12, 13, 15, 9, 9,
171 9, 10, 11, 12, 12, 14, 14, 0, 9, 9, 9, 10,
172 11, 12, 14, 16, 0, 0, 10, 10, 11, 12, 13, 14,
177 static const uint16_t cvh_huffcodes1[97] = {
178 0x0000,0x0008,0x0014,0x0030,0x006a,0x00e2,0x00e3,0x01e4,0x03ec,0x03ed,0x0009,0x0015,
179 0x0031,0x006b,0x006c,0x00e4,0x00e5,0x01e5,0x01e6,0x07f0,0x0016,0x0017,0x0032,0x006d,
180 0x00e6,0x00e7,0x01e7,0x01e8,0x03ee,0x07f1,0x0033,0x0034,0x006e,0x00e8,0x00e9,0x01e9,
181 0x01ea,0x03ef,0x07f2,0x0ff6,0x006f,0x0070,0x00ea,0x00eb,0x01eb,0x01ec,0x03f0,0x07f3,
182 0x07f4,0x1ffa,0x00ec,0x00ed,0x00ee,0x01ed,0x01ee,0x03f1,0x03f2,0x07f5,0x0ff7,0x3ffa,
183 0x00ef,0x00f0,0x00f1,0x01ef,0x03f3,0x07f6,0x07f7,0x0ff8,0x1ffb,0x7ffe,0x01f0,0x01f1,
184 0x01f2,0x03f4,0x07f8,0x0ff9,0x0ffa,0x3ffb,0x3ffc,0x0000,0x01f3,0x01f4,0x01f5,0x03f5,
185 0x07f9,0x0ffb,0x3ffd,0xfffe,0x0000,0x0000,0x03f6,0x03f7,0x07fa,0x0ffc,0x1ffc,0x3ffe,
189 static const uint8_t cvh_huffbits2[48] = {
190 1, 4, 5, 7, 8, 9, 10, 3, 4, 5, 7, 8,
191 9, 10, 5, 5, 6, 7, 8, 10, 10, 7, 6, 7,
192 8, 9, 10, 12, 8, 8, 8, 9, 10, 12, 14, 8,
193 9, 9, 10, 11, 15, 16, 9, 10, 11, 12, 13, 16,
196 static const uint16_t cvh_huffcodes2[48] = {
197 0x0000,0x000a,0x0018,0x0074,0x00f2,0x01f4,0x03f6,0x0004,0x000b,0x0019,0x0075,0x00f3,
198 0x01f5,0x03f7,0x001a,0x001b,0x0038,0x0076,0x00f4,0x03f8,0x03f9,0x0077,0x0039,0x0078,
199 0x00f5,0x01f6,0x03fa,0x0ffc,0x00f6,0x00f7,0x00f8,0x01f7,0x03fb,0x0ffd,0x3ffe,0x00f9,
200 0x01f8,0x01f9,0x03fc,0x07fc,0x7ffe,0xfffe,0x01fa,0x03fd,0x07fd,0x0ffe,0x1ffe,0xffff,
203 static const uint8_t cvh_huffbits3[607] = {
204 2, 4, 6, 8, 10, 5, 5, 6, 8, 10, 7, 8,
205 8, 10, 12, 9, 9, 10, 12, 15, 10, 11, 13, 16,
206 16, 5, 6, 8, 10, 11, 5, 6, 8, 10, 12, 7,
207 7, 8, 10, 13, 9, 9, 10, 12, 15, 12, 11, 13,
208 16, 16, 7, 9, 10, 12, 15, 7, 8, 10, 12, 13,
209 9, 9, 11, 13, 16, 11, 11, 12, 14, 16, 12, 12,
210 14, 16, 0, 9, 11, 12, 16, 16, 9, 10, 13, 15,
211 16, 10, 11, 12, 16, 16, 13, 13, 16, 16, 16, 16,
212 16, 15, 16, 0, 11, 13, 16, 16, 15, 11, 13, 15,
213 16, 16, 13, 13, 16, 16, 0, 14, 16, 16, 16, 0,
214 16, 16, 0, 0, 0, 4, 6, 8, 10, 13, 6, 6,
215 8, 10, 13, 9, 8, 10, 12, 16, 10, 10, 11, 15,
216 16, 13, 12, 14, 16, 16, 5, 6, 8, 11, 13, 6,
217 6, 8, 10, 13, 8, 8, 9, 11, 14, 10, 10, 12,
218 12, 16, 13, 12, 13, 15, 16, 7, 8, 9, 12, 16,
219 7, 8, 10, 12, 14, 9, 9, 10, 13, 16, 11, 10,
220 12, 15, 16, 13, 13, 16, 16, 0, 9, 11, 13, 16,
221 16, 9, 10, 12, 15, 16, 10, 11, 13, 16, 16, 13,
222 12, 16, 16, 16, 16, 16, 16, 16, 0, 11, 13, 16,
223 16, 16, 11, 13, 16, 16, 16, 12, 13, 15, 16, 0,
224 16, 16, 16, 16, 0, 16, 16, 0, 0, 0, 6, 8,
225 11, 13, 16, 8, 8, 10, 12, 16, 11, 10, 11, 13,
226 16, 12, 13, 13, 15, 16, 16, 16, 14, 16, 0, 6,
227 8, 10, 13, 16, 8, 8, 10, 12, 16, 10, 10, 11,
228 13, 16, 13, 12, 13, 16, 16, 14, 14, 14, 16, 0,
229 8, 9, 11, 13, 16, 8, 9, 11, 16, 14, 10, 10,
230 12, 15, 16, 12, 12, 13, 16, 16, 15, 16, 16, 16,
231 0, 10, 12, 15, 16, 16, 10, 12, 12, 14, 16, 12,
232 12, 13, 16, 16, 14, 15, 16, 16, 0, 16, 16, 16,
233 0, 0, 12, 15, 15, 16, 0, 13, 13, 16, 16, 0,
234 14, 16, 16, 16, 0, 16, 16, 16, 0, 0, 0, 0,
235 0, 0, 0, 8, 10, 13, 15, 16, 10, 11, 13, 16,
236 16, 13, 13, 14, 16, 16, 16, 16, 16, 16, 16, 16,
237 16, 16, 16, 0, 8, 10, 11, 15, 16, 9, 10, 12,
238 16, 16, 12, 12, 15, 16, 16, 16, 14, 16, 16, 16,
239 16, 16, 16, 16, 0, 9, 11, 14, 16, 16, 10, 11,
240 13, 16, 16, 14, 13, 14, 16, 16, 16, 15, 15, 16,
241 0, 16, 16, 16, 0, 0, 11, 13, 16, 16, 16, 11,
242 13, 15, 16, 16, 13, 16, 16, 16, 0, 16, 16, 16,
243 16, 0, 16, 16, 0, 0, 0, 15, 16, 16, 16, 0,
244 14, 16, 16, 16, 0, 16, 16, 16, 0, 0, 16, 16,
245 0, 0, 0, 0, 0, 0, 0, 0, 9, 13, 16, 16,
246 16, 11, 13, 16, 16, 16, 14, 15, 16, 16, 0, 15,
247 16, 16, 16, 0, 16, 16, 0, 0, 0, 9, 13, 15,
248 15, 16, 12, 13, 14, 16, 16, 16, 15, 16, 16, 0,
249 16, 16, 16, 16, 0, 16, 16, 0, 0, 0, 11, 13,
250 15, 16, 0, 12, 14, 16, 16, 0, 16, 16, 16, 16,
251 0, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 16,
252 16, 16, 16, 0, 16, 16, 16, 16, 0, 16, 16, 16,
253 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0,
254 16, 16, 0, 0, 0, 16, 16,
258 static const uint16_t cvh_huffcodes3[607] = {
259 0x0000,0x0004,0x0022,0x00c6,0x03b0,0x000c,0x000d,0x0023,0x00c7,0x03b1,0x005c,0x00c8,
260 0x00c9,0x03b2,0x0fa4,0x01c2,0x01c3,0x03b3,0x0fa5,0x7f72,0x03b4,0x07b2,0x1f9a,0xff24,
261 0xff25,0x000e,0x0024,0x00ca,0x03b5,0x07b3,0x000f,0x0025,0x00cb,0x03b6,0x0fa6,0x005d,
262 0x005e,0x00cc,0x03b7,0x1f9b,0x01c4,0x01c5,0x03b8,0x0fa7,0x7f73,0x0fa8,0x07b4,0x1f9c,
263 0xff26,0xff27,0x005f,0x01c6,0x03b9,0x0fa9,0x7f74,0x0060,0x00cd,0x03ba,0x0faa,0x1f9d,
264 0x01c7,0x01c8,0x07b5,0x1f9e,0xff28,0x07b6,0x07b7,0x0fab,0x3fa2,0xff29,0x0fac,0x0fad,
265 0x3fa3,0xff2a,0x3fa2,0x01c9,0x07b8,0x0fae,0xff2b,0xff2c,0x01ca,0x03bb,0x1f9f,0x7f75,
266 0xff2d,0x03bc,0x07b9,0x0faf,0xff2e,0xff2f,0x1fa0,0x1fa1,0xff30,0xff31,0xff32,0xff33,
267 0xff34,0x7f76,0xff35,0xff31,0x07ba,0x1fa2,0xff36,0xff37,0x7f77,0x07bb,0x1fa3,0x7f78,
268 0xff38,0xff39,0x1fa4,0x1fa5,0xff3a,0xff3b,0xff2e,0x3fa4,0xff3c,0xff3d,0xff3e,0xff31,
269 0xff3f,0xff40,0xff30,0xff31,0xff31,0x0005,0x0026,0x00ce,0x03bd,0x1fa6,0x0027,0x0028,
270 0x00cf,0x03be,0x1fa7,0x01cb,0x00d0,0x03bf,0x0fb0,0xff41,0x03c0,0x03c1,0x07bc,0x7f79,
271 0xff42,0x1fa8,0x0fb1,0x3fa5,0xff43,0xff44,0x0010,0x0029,0x00d1,0x07bd,0x1fa9,0x002a,
272 0x002b,0x00d2,0x03c2,0x1faa,0x00d3,0x00d4,0x01cc,0x07be,0x3fa6,0x03c3,0x03c4,0x0fb2,
273 0x0fb3,0xff45,0x1fab,0x0fb4,0x1fac,0x7f7a,0xff46,0x0061,0x00d5,0x01cd,0x0fb5,0xff47,
274 0x0062,0x00d6,0x03c5,0x0fb6,0x3fa7,0x01ce,0x01cf,0x03c6,0x1fad,0xff48,0x07bf,0x03c7,
275 0x0fb7,0x7f7b,0xff49,0x1fae,0x1faf,0xff4a,0xff4b,0x7f7b,0x01d0,0x07c0,0x1fb0,0xff4c,
276 0xff4d,0x01d1,0x03c8,0x0fb8,0x7f7c,0xff4e,0x03c9,0x07c1,0x1fb1,0xff4f,0xff50,0x1fb2,
277 0x0fb9,0xff51,0xff52,0xff53,0xff54,0xff55,0xff56,0xff57,0xff52,0x07c2,0x1fb3,0xff58,
278 0xff59,0xff5a,0x07c3,0x1fb4,0xff5b,0xff5c,0xff5d,0x0fba,0x1fb5,0x7f7d,0xff5e,0xff4f,
279 0xff5f,0xff60,0xff61,0xff62,0xff52,0xff63,0xff64,0xff51,0xff52,0xff52,0x002c,0x00d7,
280 0x07c4,0x1fb6,0xff65,0x00d8,0x00d9,0x03ca,0x0fbb,0xff66,0x07c5,0x03cb,0x07c6,0x1fb7,
281 0xff67,0x0fbc,0x1fb8,0x1fb9,0x7f7e,0xff68,0xff69,0xff6a,0x3fa8,0xff6b,0x7f7e,0x002d,
282 0x00da,0x03cc,0x1fba,0xff6c,0x00db,0x00dc,0x03cd,0x0fbd,0xff6d,0x03ce,0x03cf,0x07c7,
283 0x1fbb,0xff6e,0x1fbc,0x0fbe,0x1fbd,0xff6f,0xff70,0x3fa9,0x3faa,0x3fab,0xff71,0xff6f,
284 0x00dd,0x01d2,0x07c8,0x1fbe,0xff72,0x00de,0x01d3,0x07c9,0xff73,0x3fac,0x03d0,0x03d1,
285 0x0fbf,0x7f7f,0xff74,0x0fc0,0x0fc1,0x1fbf,0xff75,0xff76,0x7f80,0xff77,0xff78,0xff79,
286 0xff75,0x03d2,0x0fc2,0x7f81,0xff7a,0xff7b,0x03d3,0x0fc3,0x0fc4,0x3fad,0xff7c,0x0fc5,
287 0x0fc6,0x1fc0,0xff7d,0xff7e,0x3fae,0x7f82,0xff7f,0xff80,0xff80,0xff81,0xff82,0xff83,
288 0xff80,0xff80,0x0fc7,0x7f83,0x7f84,0xff84,0xff7a,0x1fc1,0x1fc2,0xff85,0xff86,0x3fad,
289 0x3faf,0xff87,0xff88,0xff89,0xff7d,0xff8a,0xff8b,0xff8c,0xff80,0xff80,0x3fae,0x7f82,
290 0xff7f,0xff80,0xff80,0x00df,0x03d4,0x1fc3,0x7f85,0xff8d,0x03d5,0x07ca,0x1fc4,0xff8e,
291 0xff8f,0x1fc5,0x1fc6,0x3fb0,0xff90,0xff91,0xff92,0xff93,0xff94,0xff95,0xff96,0xff97,
292 0xff98,0xff99,0xff9a,0xff95,0x00e0,0x03d6,0x07cb,0x7f86,0xff9b,0x01d4,0x03d7,0x0fc8,
293 0xff9c,0xff9d,0x0fc9,0x0fca,0x7f87,0xff9e,0xff9f,0xffa0,0x3fb1,0xffa1,0xffa2,0xffa3,
294 0xffa4,0xffa5,0xffa6,0xffa7,0xffa2,0x01d5,0x07cc,0x3fb2,0xffa8,0xffa9,0x03d8,0x07cd,
295 0x1fc7,0xffaa,0xffab,0x3fb3,0x1fc8,0x3fb4,0xffac,0xffad,0xffae,0x7f88,0x7f89,0xffaf,
296 0xffaf,0xffb0,0xffb1,0xffb2,0xffaf,0xffaf,0x07ce,0x1fc9,0xffb3,0xffb4,0xffb5,0x07cf,
297 0x1fca,0x7f8a,0xffb6,0xffb7,0x1fcb,0xffb8,0xffb9,0xffba,0xffba,0xffbb,0xffbc,0xffbd,
298 0xffbe,0xffbe,0xffbf,0xffc0,0xffbd,0xffbe,0xffbe,0x7f8b,0xffc1,0xffc2,0xffc3,0xffb4,
299 0x3fb5,0xffc4,0xffc5,0xffc6,0xffb6,0xffc7,0xffc8,0xffc9,0xffba,0xffba,0xffca,0xffcb,
300 0xffbd,0xffbe,0xffbe,0xffbb,0xffbc,0xffbd,0xffbe,0xffbe,0x01d6,0x1fcc,0xffcc,0xffcd,
301 0xffce,0x07d0,0x1fcd,0xffcf,0xffd0,0xffd1,0x3fb6,0x7f8c,0xffd2,0xffd3,0xff90,0x7f8d,
302 0xffd4,0xffd5,0xffd6,0xff95,0xffd7,0xffd8,0xff94,0xff95,0xff95,0x01d7,0x1fce,0x7f8e,
303 0x7f8f,0xffd9,0x0fcb,0x1fcf,0x3fb7,0xffda,0xffdb,0xffdc,0x7f90,0xffdd,0xffde,0xff9e,
304 0xffdf,0xffe0,0xffe1,0xffe2,0xffa2,0xffe3,0xffe4,0xffa1,0xffa2,0xffa2,0x07d1,0x1fd0,
305 0x7f91,0xffe5,0xffa8,0x0fcc,0x3fb8,0xffe6,0xffe7,0xffaa,0xffe8,0xffe9,0xffea,0xffeb,
306 0xffac,0xffec,0xffed,0xffee,0xffaf,0xffaf,0xffae,0x7f88,0x7f89,0xffaf,0xffaf,0xffef,
307 0xfff0,0xfff1,0xfff2,0xffb4,0xfff3,0xfff4,0xfff5,0xfff6,0xffb6,0xfff7,0xfff8,0xfff9,
308 0xffba,0xffba,0xfffa,0xfffb,0xffbd,0xffbe,0xffbe,0xffbb,0xffbc,0xffbd,0xffbe,0xffbe,
309 0xfffc,0xfffd,0xffb3,0xffb4,0xffb4,0xfffe,0xffff,
312 static const uint8_t cvh_huffbits4[246] = {
313 2, 4, 7, 10, 4, 5, 7, 10, 7, 8, 10, 14,
314 11, 11, 15, 15, 4, 5, 9, 12, 5, 5, 8, 12,
315 8, 7, 10, 15, 11, 11, 15, 15, 7, 9, 12, 15,
316 8, 8, 12, 15, 10, 10, 13, 15, 14, 14, 15, 0,
317 11, 13, 15, 15, 11, 13, 15, 15, 14, 15, 15, 0,
318 15, 15, 0, 0, 4, 5, 9, 13, 5, 6, 9, 13,
319 9, 9, 11, 15, 14, 13, 15, 15, 4, 6, 9, 12,
320 5, 6, 9, 13, 9, 8, 11, 15, 13, 12, 15, 15,
321 7, 9, 12, 15, 7, 8, 11, 15, 10, 10, 14, 15,
322 14, 15, 15, 0, 10, 12, 15, 15, 11, 13, 15, 15,
323 15, 15, 15, 0, 15, 15, 0, 0, 6, 9, 13, 14,
324 8, 9, 12, 15, 12, 12, 15, 15, 15, 15, 15, 0,
325 7, 9, 13, 15, 8, 9, 12, 15, 11, 12, 15, 15,
326 15, 15, 15, 0, 9, 11, 15, 15, 9, 11, 15, 15,
327 14, 14, 15, 0, 15, 15, 0, 0, 14, 15, 15, 0,
328 14, 15, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0,
329 9, 12, 15, 15, 12, 13, 15, 15, 15, 15, 15, 0,
330 15, 15, 0, 0, 10, 12, 15, 15, 12, 14, 15, 15,
331 15, 15, 15, 0, 15, 15, 0, 0, 14, 15, 15, 0,
332 15, 15, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0,
333 15, 15, 0, 0, 15, 15,
337 static const uint16_t cvh_huffcodes4[246] = {
338 0x0000,0x0004,0x006c,0x03e6,0x0005,0x0012,0x006d,0x03e7,0x006e,0x00e8,0x03e8,0x3fc4,
339 0x07e0,0x07e1,0x7fa4,0x7fa5,0x0006,0x0013,0x01e2,0x0fda,0x0014,0x0015,0x00e9,0x0fdb,
340 0x00ea,0x006f,0x03e9,0x7fa6,0x07e2,0x07e3,0x7fa7,0x7fa8,0x0070,0x01e3,0x0fdc,0x7fa9,
341 0x00eb,0x00ec,0x0fdd,0x7faa,0x03ea,0x03eb,0x1fd6,0x7fab,0x3fc5,0x3fc6,0x7fac,0x1fd6,
342 0x07e4,0x1fd7,0x7fad,0x7fae,0x07e5,0x1fd8,0x7faf,0x7fb0,0x3fc7,0x7fb1,0x7fb2,0x1fd6,
343 0x7fb3,0x7fb4,0x1fd6,0x1fd6,0x0007,0x0016,0x01e4,0x1fd9,0x0017,0x0032,0x01e5,0x1fda,
344 0x01e6,0x01e7,0x07e6,0x7fb5,0x3fc8,0x1fdb,0x7fb6,0x7fb7,0x0008,0x0033,0x01e8,0x0fde,
345 0x0018,0x0034,0x01e9,0x1fdc,0x01ea,0x00ed,0x07e7,0x7fb8,0x1fdd,0x0fdf,0x7fb9,0x7fba,
346 0x0071,0x01eb,0x0fe0,0x7fbb,0x0072,0x00ee,0x07e8,0x7fbc,0x03ec,0x03ed,0x3fc9,0x7fbd,
347 0x3fca,0x7fbe,0x7fbf,0x3fc9,0x03ee,0x0fe1,0x7fc0,0x7fc1,0x07e9,0x1fde,0x7fc2,0x7fc3,
348 0x7fc4,0x7fc5,0x7fc6,0x3fc9,0x7fc7,0x7fc8,0x3fc9,0x3fc9,0x0035,0x01ec,0x1fdf,0x3fcb,
349 0x00ef,0x01ed,0x0fe2,0x7fc9,0x0fe3,0x0fe4,0x7fca,0x7fcb,0x7fcc,0x7fcd,0x7fce,0x7fca,
350 0x0073,0x01ee,0x1fe0,0x7fcf,0x00f0,0x01ef,0x0fe5,0x7fd0,0x07ea,0x0fe6,0x7fd1,0x7fd2,
351 0x7fd3,0x7fd4,0x7fd5,0x7fd1,0x01f0,0x07eb,0x7fd6,0x7fd7,0x01f1,0x07ec,0x7fd8,0x7fd9,
352 0x3fcc,0x3fcd,0x7fda,0x7fda,0x7fdb,0x7fdc,0x7fda,0x7fda,0x3fce,0x7fdd,0x7fde,0x7fd6,
353 0x3fcf,0x7fdf,0x7fe0,0x7fd8,0x7fe1,0x7fe2,0x7fda,0x7fda,0x3fcc,0x3fcd,0x7fda,0x7fda,
354 0x01f2,0x0fe7,0x7fe3,0x7fe4,0x0fe8,0x1fe1,0x7fe5,0x7fe6,0x7fe7,0x7fe8,0x7fe9,0x7fca,
355 0x7fea,0x7feb,0x7fca,0x7fca,0x03ef,0x0fe9,0x7fec,0x7fed,0x0fea,0x3fd0,0x7fee,0x7fef,
356 0x7ff0,0x7ff1,0x7ff2,0x7fd1,0x7ff3,0x7ff4,0x7fd1,0x7fd1,0x3fd1,0x7ff5,0x7ff6,0x7fd6,
357 0x7ff7,0x7ff8,0x7ff9,0x7fd8,0x7ffa,0x7ffb,0x7fda,0x7fda,0x3fcc,0x3fcd,0x7fda,0x7fda,
358 0x7ffc,0x7ffd,0x7fd6,0x7fd6,0x7ffe,0x7fff,
362 static const uint8_t cvh_huffbits5[230] = {
363 2, 4, 8, 4, 5, 9, 9, 10, 14, 4, 6, 11,
364 5, 6, 12, 10, 11, 15, 9, 11, 15, 10, 13, 15,
365 14, 15, 0, 4, 6, 12, 6, 7, 12, 12, 12, 15,
366 5, 7, 13, 6, 7, 13, 12, 13, 15, 10, 12, 15,
367 11, 13, 15, 15, 15, 0, 8, 13, 15, 11, 12, 15,
368 15, 15, 0, 10, 13, 15, 12, 15, 15, 15, 15, 0,
369 15, 15, 0, 15, 15, 0, 0, 0, 0, 4, 5, 11,
370 5, 7, 12, 11, 12, 15, 6, 7, 13, 7, 8, 14,
371 12, 14, 15, 11, 13, 15, 12, 13, 15, 15, 15, 0,
372 5, 6, 13, 7, 8, 15, 12, 14, 15, 6, 8, 14,
373 7, 8, 15, 14, 15, 15, 12, 12, 15, 12, 13, 15,
374 15, 15, 0, 9, 13, 15, 12, 13, 15, 15, 15, 0,
375 11, 13, 15, 13, 13, 15, 15, 15, 0, 14, 15, 0,
376 15, 15, 0, 0, 0, 0, 8, 10, 15, 11, 12, 15,
377 15, 15, 0, 10, 12, 15, 12, 13, 15, 15, 15, 0,
378 14, 15, 0, 15, 15, 0, 0, 0, 0, 8, 12, 15,
379 12, 13, 15, 15, 15, 0, 11, 13, 15, 13, 15, 15,
380 15, 15, 0, 15, 15, 0, 15, 15, 0, 0, 0, 0,
381 14, 15, 0, 15, 15, 0, 0, 0, 0, 15, 15, 0,
387 static const uint16_t cvh_huffcodes5[230] = {
388 0x0000,0x0004,0x00f0,0x0005,0x0012,0x01f0,0x01f1,0x03e8,0x3fce,0x0006,0x0030,0x07de,
389 0x0013,0x0031,0x0fd2,0x03e9,0x07df,0x7fb0,0x01f2,0x07e0,0x7fb1,0x03ea,0x1fd2,0x7fb2,
390 0x3fcf,0x7fb3,0x0031,0x0007,0x0032,0x0fd3,0x0033,0x0070,0x0fd4,0x0fd5,0x0fd6,0x7fb4,
391 0x0014,0x0071,0x1fd3,0x0034,0x0072,0x1fd4,0x0fd7,0x1fd5,0x7fb5,0x03eb,0x0fd8,0x7fb6,
392 0x07e1,0x1fd6,0x7fb7,0x7fb8,0x7fb9,0x0072,0x00f1,0x1fd7,0x7fba,0x07e2,0x0fd9,0x7fbb,
393 0x7fbc,0x7fbd,0x0070,0x03ec,0x1fd8,0x7fbe,0x0fda,0x7fbf,0x7fc0,0x7fc1,0x7fc2,0x0072,
394 0x7fc3,0x7fc4,0x0071,0x7fc5,0x7fc6,0x0072,0x0034,0x0072,0x0072,0x0008,0x0015,0x07e3,
395 0x0016,0x0073,0x0fdb,0x07e4,0x0fdc,0x7fc7,0x0035,0x0074,0x1fd9,0x0075,0x00f2,0x3fd0,
396 0x0fdd,0x3fd1,0x7fc8,0x07e5,0x1fda,0x7fc9,0x0fde,0x1fdb,0x7fca,0x7fcb,0x7fcc,0x00f2,
397 0x0017,0x0036,0x1fdc,0x0076,0x00f3,0x7fcd,0x0fdf,0x3fd2,0x7fce,0x0037,0x00f4,0x3fd3,
398 0x0077,0x00f5,0x7fcf,0x3fd4,0x7fd0,0x7fd1,0x0fe0,0x0fe1,0x7fd2,0x0fe2,0x1fdd,0x7fd3,
399 0x7fd4,0x7fd5,0x00f5,0x01f3,0x1fde,0x7fd6,0x0fe3,0x1fdf,0x7fd7,0x7fd8,0x7fd9,0x00f3,
400 0x07e6,0x1fe0,0x7fda,0x1fe1,0x1fe2,0x7fdb,0x7fdc,0x7fdd,0x00f5,0x3fd5,0x7fde,0x00f4,
401 0x7fdf,0x7fe0,0x00f5,0x0077,0x00f5,0x00f5,0x00f6,0x03ed,0x7fe1,0x07e7,0x0fe4,0x7fe2,
402 0x7fe3,0x7fe4,0x0073,0x03ee,0x0fe5,0x7fe5,0x0fe6,0x1fe3,0x7fe6,0x7fe7,0x7fe8,0x00f2,
403 0x3fd6,0x7fe9,0x0074,0x7fea,0x7feb,0x00f2,0x0075,0x00f2,0x00f2,0x00f7,0x0fe7,0x7fec,
404 0x0fe8,0x1fe4,0x7fed,0x7fee,0x7fef,0x00f3,0x07e8,0x1fe5,0x7ff0,0x1fe6,0x7ff1,0x7ff2,
405 0x7ff3,0x7ff4,0x00f5,0x7ff5,0x7ff6,0x00f4,0x7ff7,0x7ff8,0x00f5,0x0077,0x00f5,0x00f5,
406 0x3fd7,0x7ff9,0x0036,0x7ffa,0x7ffb,0x00f3,0x0076,0x00f3,0x00f3,0x7ffc,0x7ffd,0x0000,
411 static const uint8_t cvh_huffbits6[32] = {
412 1, 4, 4, 6, 4, 6, 6, 8, 4, 6, 6, 8,
413 6, 9, 8, 10, 4, 6, 7, 8, 6, 9, 8, 11,
414 6, 9, 8, 10, 8, 10, 9, 11,
417 static const uint16_t cvh_huffcodes6[32] = {
418 0x0000,0x0008,0x0009,0x0034,0x000a,0x0035,0x0036,0x00f6,0x000b,0x0037,0x0038,0x00f7,
419 0x0039,0x01fa,0x00f8,0x03fc,0x000c,0x003a,0x007a,0x00f9,0x003b,0x01fb,0x00fa,0x07fe,
420 0x003c,0x01fc,0x00fb,0x03fd,0x00fc,0x03fe,0x01fd,0x07ff,
423 static const uint16_t* cvh_huffcodes[7] = {
424 cvh_huffcodes0, cvh_huffcodes1, cvh_huffcodes2, cvh_huffcodes3,
425 cvh_huffcodes4, cvh_huffcodes5, cvh_huffcodes6,
428 static const uint8_t* cvh_huffbits[7] = {
429 cvh_huffbits0, cvh_huffbits1, cvh_huffbits2, cvh_huffbits3,
430 cvh_huffbits4, cvh_huffbits5, cvh_huffbits6,
434 static const uint16_t ccpl_huffcodes2[3] = {
438 static const uint16_t ccpl_huffcodes3[7] = {
439 0x3e,0x1e,0x02,0x00,0x06,0x0e,0x3f,
442 static const uint16_t ccpl_huffcodes4[15] = {
443 0xfc,0xfd,0x7c,0x3c,0x1c,0x0c,0x04,0x00,0x05,0x0d,0x1d,0x3d,
447 static const uint16_t ccpl_huffcodes5[31] = {
448 0x03f8,0x03f9,0x03fa,0x03fb,0x01f8,0x01f9,0x00f8,0x00f9,0x0078,0x0079,0x0038,0x0039,
449 0x0018,0x0019,0x0004,0x0000,0x0005,0x001a,0x001b,0x003a,0x003b,0x007a,0x007b,0x00fa,
450 0x00fb,0x01fa,0x01fb,0x03fc,0x03fd,0x03fe,0x03ff,
453 static const uint16_t ccpl_huffcodes6[63] = {
454 0x0004,0x0005,0x0005,0x0006,0x0006,0x0007,0x0007,0x0007,0x0007,0x0008,0x0008,0x0008,
455 0x0008,0x0009,0x0009,0x0009,0x0009,0x000a,0x000a,0x000a,0x000a,0x000a,0x000b,0x000b,
456 0x000b,0x000b,0x000c,0x000d,0x000e,0x000e,0x0010,0x0000,0x000a,0x0018,0x0019,0x0036,
457 0x0037,0x0074,0x0075,0x0076,0x0077,0x00f4,0x00f5,0x00f6,0x00f7,0x01f5,0x01f6,0x01f7,
458 0x01f8,0x03f6,0x03f7,0x03f8,0x03f9,0x03fa,0x07fa,0x07fb,0x07fc,0x07fd,0x0ffd,0x1ffd,
459 0x3ffd,0x3ffe,0xffff,
462 static const uint8_t ccpl_huffbits2[3] = {
466 static const uint8_t ccpl_huffbits3[7] = {
470 static const uint8_t ccpl_huffbits4[15] = {
471 8,8,7,6,5,4,3,1,3,4,5,6,7,8,8,
474 static const uint8_t ccpl_huffbits5[31] = {
475 10,10,10,10,9,9,8,8,7,7,6,6,
476 5,5,3,1,3,5,5,6,6,7,7,8,
480 static const uint8_t ccpl_huffbits6[63] = {
481 16,15,14,13,12,11,11,11,11,10,10,10,
482 10,9,9,9,9,9,8,8,8,8,7,7,
483 7,7,6,6,5,5,3,1,4,5,5,6,
484 6,7,7,7,7,8,8,8,8,9,9,9,
485 9,10,10,10,10,10,11,11,11,11,12,13,
489 static const uint16_t* ccpl_huffcodes[5] = {
490 ccpl_huffcodes2,ccpl_huffcodes3,
491 ccpl_huffcodes4,ccpl_huffcodes5,ccpl_huffcodes6
494 static const uint8_t* ccpl_huffbits[5] = {
495 ccpl_huffbits2,ccpl_huffbits3,
496 ccpl_huffbits4,ccpl_huffbits5,ccpl_huffbits6
502 static const int cplband[51] = {
503 0,1,2,3,4,5,6,7,8,9,
504 10,11,11,12,12,13,13,14,14,14,
505 15,15,15,15,16,16,16,16,16,17,
506 17,17,17,17,17,18,18,18,18,18,
507 18,18,19,19,19,19,19,19,19,19,
511 static const float cplscale2[3] = {
512 0.953020632266998,0.70710676908493,0.302905440330505,
515 static const float cplscale3[7] = {
516 0.981279790401459,0.936997592449188,0.875934481620789,0.70710676908493,
517 0.482430040836334,0.349335819482803,0.192587479948997,
520 static const float cplscale4[15] = {
521 0.991486728191376,0.973249018192291,0.953020632266998,0.930133521556854,
522 0.903453230857849,0.870746195316315,0.826180458068848,0.70710676908493,
523 0.563405573368073,0.491732746362686,0.428686618804932,0.367221474647522,
524 0.302905440330505,0.229752898216248,0.130207896232605,
527 static const float cplscale5[31] = {
528 0.995926380157471,0.987517595291138,0.978726446628571,0.969505727291107,
529 0.95979779958725,0.949531257152557,0.938616216182709,0.926936149597168,
530 0.914336204528809,0.900602877140045,0.885426938533783,0.868331849575043,
531 0.84851086139679,0.824381768703461,0.791833400726318,0.70710676908493,
532 0.610737144947052,0.566034197807312,0.529177963733673,0.495983630418777,
533 0.464778542518616,0.434642940759659,0.404955863952637,0.375219136476517,
534 0.344963222742081,0.313672333955765,0.280692428350449,0.245068684220314,
535 0.205169528722763,0.157508864998817,0.0901700109243393,
538 static const float cplscale6[63] = {
539 0.998005926609039,0.993956744670868,0.989822506904602,0.985598564147949,
540 0.981279790401459,0.976860702037811,0.972335040569305,0.967696130275726,
541 0.962936460971832,0.958047747612000,0.953020632266998,0.947844684123993,
542 0.942508161067963,0.936997592449188,0.931297719478607,0.925390899181366,
543 0.919256627559662,0.912870943546295,0.906205296516418,0.899225592613220,
544 0.891890347003937,0.884148240089417,0.875934481620789,0.867165684700012,
545 0.857730865478516,0.847477376461029,0.836184680461884,0.823513329029083,
546 0.808890223503113,0.791194140911102,0.767520070075989,0.707106769084930,
547 0.641024887561798,0.611565053462982,0.587959706783295,0.567296981811523,
548 0.548448026180267,0.530831515789032,0.514098942279816,0.498019754886627,
549 0.482430040836334,0.467206478118896,0.452251672744751,0.437485188245773,
550 0.422837972640991,0.408248275518417,0.393658757209778,0.379014074802399,
551 0.364258885383606,0.349335819482803,0.334183186292648,0.318732559680939,
552 0.302905440330505,0.286608695983887,0.269728302955627,0.252119421958923,
553 0.233590632677078,0.213876649737358,0.192587479948997,0.169101938605309,
554 0.142307326197624,0.109772264957428,0.0631198287010193,
557 static const float* cplscales[5] = {
558 cplscale2, cplscale3, cplscale4, cplscale5, cplscale6,