r666: Merged the official release 2.0.
[cinelerra_cv.git] / toolame-02l / tables.c
blob2ed35b4b89bebbcb48ae182f8a673f55300a5899
1 /**********************************************************************
2 * MPEG/Audio Tables I/O routines
3 **********************************************************************/
4 #include <stdio.h>
5 #include <string.h>
6 #include <ctype.h>
7 #include <unistd.h>
8 #include "common.h"
9 #include "mem.h"
10 #include "tables.h"
12 #define NUMTABLES 38
13 char table_names[NUMTABLES][9];
14 long table_offsets[NUMTABLES];
15 int numtables = 0;
16 char table_filename[250];
18 int pick_table (frame_info * frame)
19 /* choose table, load if necess, return # sb's */
21 int table, lay, ws, bsp, br_per_ch, sfrq;
22 int sblim = frame->sblimit; /* return current value if no load */
24 lay = frame->header->lay - 1;
25 bsp = frame->header->bitrate_index;
26 br_per_ch = bitrate[frame->header->version][bsp] / frame->nch;
27 ws = frame->header->sampling_frequency;
28 sfrq = s_freq[frame->header->version][ws];
29 /* decision rules refer to per-channel bitrates (kbits/sec/chan) */
30 if (frame->header->version == MPEG_AUDIO_ID) { /* MPEG-1 */
31 if ((sfrq == 48 && br_per_ch >= 56)
32 || (br_per_ch >= 56 && br_per_ch <= 80))
33 table = 0;
34 else if (sfrq != 48 && br_per_ch >= 96)
35 table = 1;
36 else if (sfrq != 32 && br_per_ch <= 48)
37 table = 2;
38 else
39 table = 3;
40 } else { /* MPEG-2 LSF */
41 table = 4;
43 if (frame->tab_num != table) {
44 if (frame->tab_num >= 0)
45 mem_free ((void **) &(frame->alloc));
46 frame->alloc = (al_table *) mem_alloc (sizeof (al_table), "alloc");
47 sblim = read_bit_alloc (frame->tab_num = table, frame->alloc);
49 return sblim;
53 /***********************************************************************
55 * Read one of the data files ("alloc_*") specifying the bit allocation
56 * quatization parameters for each subband in layer II encoding
58 **********************************************************************/
60 int read_bit_alloc (table, alloc) /* read in table, return # subbands */
61 int table;
62 al_table *alloc;
65 static const int startindex_subband[5] = { 0, 290, 592, 674, 788 };
67 static const char alloc_subbands[][20] = {
68 "<alloc_0>",
69 "27",
70 "0 0 0 4 0 0",
71 "0 1 3 5 1 0",
72 "0 2 7 3 3 2",
73 "0 3 15 4 3 4",
74 "0 4 31 5 3 5",
75 "0 5 63 6 3 6",
76 "0 6 127 7 3 7",
77 "0 7 255 8 3 8",
78 "0 8 511 9 3 9",
79 "0 9 1023 10 3 10",
80 "0 10 2047 11 3 11",
81 "0 11 4095 12 3 12",
82 "0 12 8191 13 3 13",
83 "0 13 16383 14 3 14",
84 "0 14 32767 15 3 15",
85 "0 15 65535 16 3 16",
86 "1 0 0 4 0 0",
87 "1 1 3 5 1 0",
88 "1 2 7 3 3 2",
89 "1 3 15 4 3 4",
90 "1 4 31 5 3 5",
91 "1 5 63 6 3 6",
92 "1 6 127 7 3 7",
93 "1 7 255 8 3 8",
94 "1 8 511 9 3 9",
95 "1 9 1023 10 3 10",
96 "1 10 2047 11 3 11",
97 "1 11 4095 12 3 12",
98 "1 12 8191 13 3 13",
99 "1 13 16383 14 3 14",
100 "1 14 32767 15 3 15",
101 "1 15 65535 16 3 16",
102 "2 0 0 4 0 0",
103 "2 1 3 5 1 0",
104 "2 2 7 3 3 2",
105 "2 3 15 4 3 4",
106 "2 4 31 5 3 5",
107 "2 5 63 6 3 6",
108 "2 6 127 7 3 7",
109 "2 7 255 8 3 8",
110 "2 8 511 9 3 9",
111 "2 9 1023 10 3 10",
112 "2 10 2047 11 3 11",
113 "2 11 4095 12 3 12",
114 "2 12 8191 13 3 13",
115 "2 13 16383 14 3 14",
116 "2 14 32767 15 3 15",
117 "2 15 65535 16 3 16",
118 "3 0 0 4 0 0",
119 "3 1 3 5 1 0",
120 "3 2 5 7 1 1",
121 "3 3 7 3 3 2",
122 "3 4 9 10 1 3",
123 "3 5 15 4 3 4",
124 "3 6 31 5 3 5",
125 "3 7 63 6 3 6",
126 "3 8 127 7 3 7 ",
127 "3 9 255 8 3 8",
128 "3 10 511 9 3 9",
129 "3 11 1023 10 3 10",
130 "3 12 2047 11 3 11",
131 "3 13 4095 12 3 12",
132 "3 14 8191 13 3 13",
133 "3 15 65535 16 3 16",
134 "4 0 0 4 0 0",
135 "4 1 3 5 1 0",
136 "4 2 5 7 1 1",
137 "4 3 7 3 3 2",
138 "4 4 9 10 1 3",
139 "4 5 15 4 3 4",
140 "4 6 31 5 3 5",
141 "4 7 63 6 3 6",
142 "4 8 127 7 3 7 ",
143 "4 9 255 8 3 8",
144 "4 10 511 9 3 9",
145 "4 11 1023 10 3 10",
146 "4 12 2047 11 3 11",
147 "4 13 4095 12 3 12",
148 "4 14 8191 13 3 13",
149 "4 15 65535 16 3 16",
150 "5 0 0 4 0 0",
151 "5 1 3 5 1 0",
152 "5 2 5 7 1 1",
153 "5 3 7 3 3 2",
154 "5 4 9 10 1 3",
155 "5 5 15 4 3 4",
156 "5 6 31 5 3 5",
157 "5 7 63 6 3 6",
158 "5 8 127 7 3 7 ",
159 "5 9 255 8 3 8",
160 "5 10 511 9 3 9",
161 "5 11 1023 10 3 10",
162 "5 12 2047 11 3 11",
163 "5 13 4095 12 3 12",
164 "5 14 8191 13 3 13",
165 "5 15 65535 16 3 16",
166 "6 0 0 4 0 0",
167 "6 1 3 5 1 0",
168 "6 2 5 7 1 1",
169 "6 3 7 3 3 2",
170 "6 4 9 10 1 3",
171 "6 5 15 4 3 4",
172 "6 6 31 5 3 5",
173 "6 7 63 6 3 6",
174 "6 8 127 7 3 7 ",
175 "6 9 255 8 3 8",
176 "6 10 511 9 3 9",
177 "6 11 1023 10 3 10",
178 "6 12 2047 11 3 11",
179 "6 13 4095 12 3 12",
180 "6 14 8191 13 3 13",
181 "6 15 65535 16 3 16",
182 "7 0 0 4 0 0",
183 "7 1 3 5 1 0",
184 "7 2 5 7 1 1",
185 "7 3 7 3 3 2",
186 "7 4 9 10 1 3",
187 "7 5 15 4 3 4",
188 "7 6 31 5 3 5",
189 "7 7 63 6 3 6",
190 "7 8 127 7 3 7 ",
191 "7 9 255 8 3 8",
192 "7 10 511 9 3 9",
193 "7 11 1023 10 3 10",
194 "7 12 2047 11 3 11",
195 "7 13 4095 12 3 12",
196 "7 14 8191 13 3 13",
197 "7 15 65535 16 3 16",
198 "8 0 0 4 0 0",
199 "8 1 3 5 1 0",
200 "8 2 5 7 1 1",
201 "8 3 7 3 3 2",
202 "8 4 9 10 1 3",
203 "8 5 15 4 3 4",
204 "8 6 31 5 3 5",
205 "8 7 63 6 3 6",
206 "8 8 127 7 3 7 ",
207 "8 9 255 8 3 8",
208 "8 10 511 9 3 9",
209 "8 11 1023 10 3 10",
210 "8 12 2047 11 3 11",
211 "8 13 4095 12 3 12",
212 "8 14 8191 13 3 13",
213 "8 15 65535 16 3 16",
214 "9 0 0 4 0 0",
215 "9 1 3 5 1 0",
216 "9 2 5 7 1 1",
217 "9 3 7 3 3 2",
218 "9 4 9 10 1 3",
219 "9 5 15 4 3 4",
220 "9 6 31 5 3 5",
221 "9 7 63 6 3 6",
222 "9 8 127 7 3 7 ",
223 "9 9 255 8 3 8",
224 "9 10 511 9 3 9",
225 "9 11 1023 10 3 10",
226 "9 12 2047 11 3 11",
227 "9 13 4095 12 3 12",
228 "9 14 8191 13 3 13",
229 "9 15 65535 16 3 16",
230 "10 0 0 4 0 0",
231 "10 1 3 5 1 0",
232 "10 2 5 7 1 1",
233 "10 3 7 3 3 2",
234 "10 4 9 10 1 3",
235 "10 5 15 4 3 4",
236 "10 6 31 5 3 5",
237 "10 7 63 6 3 6",
238 "10 8 127 7 3 7 ",
239 "10 9 255 8 3 8",
240 "10 10 511 9 3 9",
241 "10 11 1023 10 3 10",
242 "10 12 2047 11 3 11",
243 "10 13 4095 12 3 12",
244 "10 14 8191 13 3 13",
245 "10 15 65535 16 3 16",
246 "11 0 0 3 0 0",
247 "11 1 3 5 1 0",
248 "11 2 5 7 1 1",
249 "11 3 7 3 3 2",
250 "11 4 9 10 1 3",
251 "11 5 15 4 3 4",
252 "11 6 31 5 3 5",
253 "11 7 65535 16 3 16 ",
254 "12 0 0 3 0 0",
255 "12 1 3 5 1 0",
256 "12 2 5 7 1 1",
257 "12 3 7 3 3 2",
258 "12 4 9 10 1 3",
259 "12 5 15 4 3 4",
260 "12 6 31 5 3 5",
261 "12 7 65535 16 3 16 ",
262 "13 0 0 3 0 0",
263 "13 1 3 5 1 0",
264 "13 2 5 7 1 1",
265 "13 3 7 3 3 2",
266 "13 4 9 10 1 3",
267 "13 5 15 4 3 4",
268 "13 6 31 5 3 5",
269 "13 7 65535 16 3 16 ",
270 "14 0 0 3 0 0",
271 "14 1 3 5 1 0",
272 "14 2 5 7 1 1",
273 "14 3 7 3 3 2",
274 "14 4 9 10 1 3",
275 "14 5 15 4 3 4",
276 "14 6 31 5 3 5",
277 "14 7 65535 16 3 16 ",
278 "15 0 0 3 0 0",
279 "15 1 3 5 1 0",
280 "15 2 5 7 1 1",
281 "15 3 7 3 3 2",
282 "15 4 9 10 1 3",
283 "15 5 15 4 3 4",
284 "15 6 31 5 3 5",
285 "15 7 65535 16 3 16 ",
286 "16 0 0 3 0 0",
287 "16 1 3 5 1 0",
288 "16 2 5 7 1 1",
289 "16 3 7 3 3 2",
290 "16 4 9 10 1 3",
291 "16 5 15 4 3 4",
292 "16 6 31 5 3 5",
293 "16 7 65535 16 3 16 ",
294 "17 0 0 3 0 0",
295 "17 1 3 5 1 0",
296 "17 2 5 7 1 1",
297 "17 3 7 3 3 2",
298 "17 4 9 10 1 3",
299 "17 5 15 4 3 4",
300 "17 6 31 5 3 5",
301 "17 7 65535 16 3 16 ",
302 "18 0 0 3 0 0",
303 "18 1 3 5 1 0",
304 "18 2 5 7 1 1",
305 "18 3 7 3 3 2",
306 "18 4 9 10 1 3",
307 "18 5 15 4 3 4",
308 "18 6 31 5 3 5",
309 "18 7 65535 16 3 16 ",
310 "19 0 0 3 0 0",
311 "19 1 3 5 1 0",
312 "19 2 5 7 1 1",
313 "19 3 7 3 3 2",
314 "19 4 9 10 1 3",
315 "19 5 15 4 3 4",
316 "19 6 31 5 3 5",
317 "19 7 65535 16 3 16 ",
318 "20 0 0 3 0 0",
319 "20 1 3 5 1 0",
320 "20 2 5 7 1 1",
321 "20 3 7 3 3 2",
322 "20 4 9 10 1 3",
323 "20 5 15 4 3 4",
324 "20 6 31 5 3 5",
325 "20 7 65535 16 3 16 ",
326 "21 0 0 3 0 0",
327 "21 1 3 5 1 0",
328 "21 2 5 7 1 1",
329 "21 3 7 3 3 2",
330 "21 4 9 10 1 3",
331 "21 5 15 4 3 4",
332 "21 6 31 5 3 5",
333 "21 7 65535 16 3 16 ",
334 "22 0 0 3 0 0",
335 "22 1 3 5 1 0",
336 "22 2 5 7 1 1",
337 "22 3 7 3 3 2",
338 "22 4 9 10 1 3",
339 "22 5 15 4 3 4",
340 "22 6 31 5 3 5",
341 "22 7 65535 16 3 16 ",
342 "23 0 0 2 0 0",
343 "23 1 3 5 1 0",
344 "23 2 5 7 1 1",
345 "23 3 65535 16 3 16",
346 "24 0 0 2 0 0",
347 "24 1 3 5 1 0",
348 "24 2 5 7 1 1",
349 "24 3 65535 16 3 16",
350 "25 0 0 2 0 0",
351 "25 1 3 5 1 0",
352 "25 2 5 7 1 1",
353 "25 3 65535 16 3 16",
354 "26 0 0 2 0 0",
355 "26 1 3 5 1 0",
356 "26 2 5 7 1 1",
357 "26 3 65535 16 3 16",
358 "<alloc_1>",
359 "30",
360 "0 0 0 4 0 0",
361 "0 1 3 5 1 0",
362 "0 2 7 3 3 2",
363 "0 3 15 4 3 4",
364 "0 4 31 5 3 5",
365 "0 5 63 6 3 6",
366 "0 6 127 7 3 7",
367 "0 7 255 8 3 8",
368 "0 8 511 9 3 9",
369 "0 9 1023 10 3 10",
370 "0 10 2047 11 3 11",
371 "0 11 4095 12 3 12",
372 "0 12 8191 13 3 13",
373 "0 13 16383 14 3 14",
374 "0 14 32767 15 3 15",
375 "0 15 65535 16 3 16",
376 "1 0 0 4 0 0",
377 "1 1 3 5 1 0",
378 "1 2 7 3 3 2",
379 "1 3 15 4 3 4",
380 "1 4 31 5 3 5",
381 "1 5 63 6 3 6",
382 "1 6 127 7 3 7",
383 "1 7 255 8 3 8",
384 "1 8 511 9 3 9",
385 "1 9 1023 10 3 10",
386 "1 10 2047 11 3 11",
387 "1 11 4095 12 3 12",
388 "1 12 8191 13 3 13",
389 "1 13 16383 14 3 14",
390 "1 14 32767 15 3 15",
391 "1 15 65535 16 3 16",
392 "2 0 0 4 0 0",
393 "2 1 3 5 1 0",
394 "2 2 7 3 3 2",
395 "2 3 15 4 3 4",
396 "2 4 31 5 3 5",
397 "2 5 63 6 3 6",
398 "2 6 127 7 3 7",
399 "2 7 255 8 3 8",
400 "2 8 511 9 3 9",
401 "2 9 1023 10 3 10",
402 "2 10 2047 11 3 11",
403 "2 11 4095 12 3 12",
404 "2 12 8191 13 3 13",
405 "2 13 16383 14 3 14",
406 "2 14 32767 15 3 15",
407 "2 15 65535 16 3 16",
408 "3 0 0 4 0 0",
409 "3 1 3 5 1 0",
410 "3 2 5 7 1 1",
411 "3 3 7 3 3 2",
412 "3 4 9 10 1 3",
413 "3 5 15 4 3 4",
414 "3 6 31 5 3 5",
415 "3 7 63 6 3 6",
416 "3 8 127 7 3 7 ",
417 "3 9 255 8 3 8",
418 "3 10 511 9 3 9",
419 "3 11 1023 10 3 10",
420 "3 12 2047 11 3 11",
421 "3 13 4095 12 3 12",
422 "3 14 8191 13 3 13",
423 "3 15 65535 16 3 16",
424 "4 0 0 4 0 0",
425 "4 1 3 5 1 0",
426 "4 2 5 7 1 1",
427 "4 3 7 3 3 2",
428 "4 4 9 10 1 3",
429 "4 5 15 4 3 4",
430 "4 6 31 5 3 5",
431 "4 7 63 6 3 6",
432 "4 8 127 7 3 7 ",
433 "4 9 255 8 3 8",
434 "4 10 511 9 3 9",
435 "4 11 1023 10 3 10",
436 "4 12 2047 11 3 11",
437 "4 13 4095 12 3 12",
438 "4 14 8191 13 3 13",
439 "4 15 65535 16 3 16",
440 "5 0 0 4 0 0",
441 "5 1 3 5 1 0",
442 "5 2 5 7 1 1",
443 "5 3 7 3 3 2",
444 "5 4 9 10 1 3",
445 "5 5 15 4 3 4",
446 "5 6 31 5 3 5",
447 "5 7 63 6 3 6",
448 "5 8 127 7 3 7 ",
449 "5 9 255 8 3 8",
450 "5 10 511 9 3 9",
451 "5 11 1023 10 3 10",
452 "5 12 2047 11 3 11",
453 "5 13 4095 12 3 12",
454 "5 14 8191 13 3 13",
455 "5 15 65535 16 3 16",
456 "6 0 0 4 0 0",
457 "6 1 3 5 1 0",
458 "6 2 5 7 1 1",
459 "6 3 7 3 3 2",
460 "6 4 9 10 1 3",
461 "6 5 15 4 3 4",
462 "6 6 31 5 3 5",
463 "6 7 63 6 3 6",
464 "6 8 127 7 3 7 ",
465 "6 9 255 8 3 8",
466 "6 10 511 9 3 9",
467 "6 11 1023 10 3 10",
468 "6 12 2047 11 3 11",
469 "6 13 4095 12 3 12",
470 "6 14 8191 13 3 13",
471 "6 15 65535 16 3 16",
472 "7 0 0 4 0 0",
473 "7 1 3 5 1 0",
474 "7 2 5 7 1 1",
475 "7 3 7 3 3 2",
476 "7 4 9 10 1 3",
477 "7 5 15 4 3 4",
478 "7 6 31 5 3 5",
479 "7 7 63 6 3 6",
480 "7 8 127 7 3 7 ",
481 "7 9 255 8 3 8",
482 "7 10 511 9 3 9",
483 "7 11 1023 10 3 10",
484 "7 12 2047 11 3 11",
485 "7 13 4095 12 3 12",
486 "7 14 8191 13 3 13",
487 "7 15 65535 16 3 16",
488 "8 0 0 4 0 0",
489 "8 1 3 5 1 0",
490 "8 2 5 7 1 1",
491 "8 3 7 3 3 2",
492 "8 4 9 10 1 3",
493 "8 5 15 4 3 4",
494 "8 6 31 5 3 5",
495 "8 7 63 6 3 6",
496 "8 8 127 7 3 7 ",
497 "8 9 255 8 3 8",
498 "8 10 511 9 3 9",
499 "8 11 1023 10 3 10",
500 "8 12 2047 11 3 11",
501 "8 13 4095 12 3 12",
502 "8 14 8191 13 3 13",
503 "8 15 65535 16 3 16",
504 "9 0 0 4 0 0",
505 "9 1 3 5 1 0",
506 "9 2 5 7 1 1",
507 "9 3 7 3 3 2",
508 "9 4 9 10 1 3",
509 "9 5 15 4 3 4",
510 "9 6 31 5 3 5",
511 "9 7 63 6 3 6",
512 "9 8 127 7 3 7 ",
513 "9 9 255 8 3 8",
514 "9 10 511 9 3 9",
515 "9 11 1023 10 3 10",
516 "9 12 2047 11 3 11",
517 "9 13 4095 12 3 12",
518 "9 14 8191 13 3 13",
519 "9 15 65535 16 3 16",
520 "10 0 0 4 0 0",
521 "10 1 3 5 1 0",
522 "10 2 5 7 1 1",
523 "10 3 7 3 3 2",
524 "10 4 9 10 1 3",
525 "10 5 15 4 3 4",
526 "10 6 31 5 3 5",
527 "10 7 63 6 3 6",
528 "10 8 127 7 3 7 ",
529 "10 9 255 8 3 8",
530 "10 10 511 9 3 9",
531 "10 11 1023 10 3 10",
532 "10 12 2047 11 3 11",
533 "10 13 4095 12 3 12",
534 "10 14 8191 13 3 13",
535 "10 15 65535 16 3 16",
536 "11 0 0 3 0 0",
537 "11 1 3 5 1 0",
538 "11 2 5 7 1 1",
539 "11 3 7 3 3 2",
540 "11 4 9 10 1 3",
541 "11 5 15 4 3 4",
542 "11 6 31 5 3 5",
543 "11 7 65535 16 3 16 ",
544 "12 0 0 3 0 0",
545 "12 1 3 5 1 0",
546 "12 2 5 7 1 1",
547 "12 3 7 3 3 2",
548 "12 4 9 10 1 3",
549 "12 5 15 4 3 4",
550 "12 6 31 5 3 5",
551 "12 7 65535 16 3 16 ",
552 "13 0 0 3 0 0",
553 "13 1 3 5 1 0",
554 "13 2 5 7 1 1",
555 "13 3 7 3 3 2",
556 "13 4 9 10 1 3",
557 "13 5 15 4 3 4",
558 "13 6 31 5 3 5",
559 "13 7 65535 16 3 16 ",
560 "14 0 0 3 0 0",
561 "14 1 3 5 1 0",
562 "14 2 5 7 1 1",
563 "14 3 7 3 3 2",
564 "14 4 9 10 1 3",
565 "14 5 15 4 3 4",
566 "14 6 31 5 3 5",
567 "14 7 65535 16 3 16 ",
568 "15 0 0 3 0 0",
569 "15 1 3 5 1 0",
570 "15 2 5 7 1 1",
571 "15 3 7 3 3 2",
572 "15 4 9 10 1 3",
573 "15 5 15 4 3 4",
574 "15 6 31 5 3 5",
575 "15 7 65535 16 3 16 ",
576 "16 0 0 3 0 0",
577 "16 1 3 5 1 0",
578 "16 2 5 7 1 1",
579 "16 3 7 3 3 2",
580 "16 4 9 10 1 3",
581 "16 5 15 4 3 4",
582 "16 6 31 5 3 5",
583 "16 7 65535 16 3 16 ",
584 "17 0 0 3 0 0",
585 "17 1 3 5 1 0",
586 "17 2 5 7 1 1",
587 "17 3 7 3 3 2",
588 "17 4 9 10 1 3",
589 "17 5 15 4 3 4",
590 "17 6 31 5 3 5",
591 "17 7 65535 16 3 16 ",
592 "18 0 0 3 0 0",
593 "18 1 3 5 1 0",
594 "18 2 5 7 1 1",
595 "18 3 7 3 3 2",
596 "18 4 9 10 1 3",
597 "18 5 15 4 3 4",
598 "18 6 31 5 3 5",
599 "18 7 65535 16 3 16 ",
600 "19 0 0 3 0 0",
601 "19 1 3 5 1 0",
602 "19 2 5 7 1 1",
603 "19 3 7 3 3 2",
604 "19 4 9 10 1 3",
605 "19 5 15 4 3 4",
606 "19 6 31 5 3 5",
607 "19 7 65535 16 3 16 ",
608 "20 0 0 3 0 0",
609 "20 1 3 5 1 0",
610 "20 2 5 7 1 1",
611 "20 3 7 3 3 2",
612 "20 4 9 10 1 3",
613 "20 5 15 4 3 4",
614 "20 6 31 5 3 5",
615 "20 7 65535 16 3 16 ",
616 "21 0 0 3 0 0",
617 "21 1 3 5 1 0",
618 "21 2 5 7 1 1",
619 "21 3 7 3 3 2",
620 "21 4 9 10 1 3",
621 "21 5 15 4 3 4",
622 "21 6 31 5 3 5",
623 "21 7 65535 16 3 16 ",
624 "22 0 0 3 0 0",
625 "22 1 3 5 1 0",
626 "22 2 5 7 1 1",
627 "22 3 7 3 3 2",
628 "22 4 9 10 1 3",
629 "22 5 15 4 3 4",
630 "22 6 31 5 3 5",
631 "22 7 65535 16 3 16 ",
632 "23 0 0 2 0 0",
633 "23 1 3 5 1 0",
634 "23 2 5 7 1 1",
635 "23 3 65535 16 3 16",
636 "24 0 0 2 0 0",
637 "24 1 3 5 1 0",
638 "24 2 5 7 1 1",
639 "24 3 65535 16 3 16",
640 "25 0 0 2 0 0",
641 "25 1 3 5 1 0",
642 "25 2 5 7 1 1",
643 "25 3 65535 16 3 16",
644 "26 0 0 2 0 0",
645 "26 1 3 5 1 0",
646 "26 2 5 7 1 1",
647 "26 3 65535 16 3 16",
648 "27 0 0 2 0 0",
649 "27 1 3 5 1 0",
650 "27 2 5 7 1 1",
651 "27 3 65535 16 3 16",
652 "28 0 0 2 0 0",
653 "28 1 3 5 1 0",
654 "28 2 5 7 1 1",
655 "28 3 65535 16 3 16",
656 "29 0 0 2 0 0",
657 "29 1 3 5 1 0",
658 "29 2 5 7 1 1",
659 "29 3 65535 16 3 16",
660 "<alloc_2>",
661 "8",
662 "0 0 0 4 0 0",
663 "0 1 3 5 1 0",
664 "0 2 5 7 1 1",
665 "0 3 9 10 1 3",
666 "0 4 15 4 3 4",
667 "0 5 31 5 3 5",
668 "0 6 63 6 3 6",
669 "0 7 127 7 3 7",
670 "0 8 255 8 3 8",
671 "0 9 511 9 3 9",
672 "0 10 1023 10 3 10",
673 "0 11 2047 11 3 11",
674 "0 12 4095 12 3 12",
675 "0 13 8191 13 3 13",
676 "0 14 16383 14 3 14",
677 "0 15 32767 15 3 15",
678 "1 0 0 4 0 0",
679 "1 1 3 5 1 0",
680 "1 2 5 7 1 1",
681 "1 3 9 10 1 3",
682 "1 4 15 4 3 4",
683 "1 5 31 5 3 5",
684 "1 6 63 6 3 6",
685 "1 7 127 7 3 7",
686 "1 8 255 8 3 8",
687 "1 9 511 9 3 9",
688 "1 10 1023 10 3 10",
689 "1 11 2047 11 3 11",
690 "1 12 4095 12 3 12",
691 "1 13 8191 13 3 13",
692 "1 14 16383 14 3 14",
693 "1 15 32767 15 3 15",
694 "2 0 0 3 0 0",
695 "2 1 3 5 1 0",
696 "2 2 5 7 1 1",
697 "2 3 9 10 1 3",
698 "2 4 15 4 3 4",
699 "2 5 31 5 3 5",
700 "2 6 63 6 3 6",
701 "2 7 127 7 3 7",
702 "3 0 0 3 0 0",
703 "3 1 3 5 1 0",
704 "3 2 5 7 1 1",
705 "3 3 9 10 1 3",
706 "3 4 15 4 3 4",
707 "3 5 31 5 3 5",
708 "3 6 63 6 3 6",
709 "3 7 127 7 3 7",
710 "4 0 0 3 0 0",
711 "4 1 3 5 1 0",
712 "4 2 5 7 1 1",
713 "4 3 9 10 1 3",
714 "4 4 15 4 3 4",
715 "4 5 31 5 3 5",
716 "4 6 63 6 3 6",
717 "4 7 127 7 3 7",
718 "5 0 0 3 0 0",
719 "5 1 3 5 1 0",
720 "5 2 5 7 1 1",
721 "5 3 9 10 1 3",
722 "5 4 15 4 3 4",
723 "5 5 31 5 3 5",
724 "5 6 63 6 3 6",
725 "5 7 127 7 3 7",
726 "6 0 0 3 0 0",
727 "6 1 3 5 1 0",
728 "6 2 5 7 1 1",
729 "6 3 9 10 1 3",
730 "6 4 15 4 3 4",
731 "6 5 31 5 3 5",
732 "6 6 63 6 3 6",
733 "6 7 127 7 3 7",
734 "7 0 0 3 0 0",
735 "7 1 3 5 1 0",
736 "7 2 5 7 1 1",
737 "7 3 9 10 1 3",
738 "7 4 15 4 3 4",
739 "7 5 31 5 3 5",
740 "7 6 63 6 3 6",
741 "7 7 127 7 3 7",
742 "<alloc_3>",
743 "12",
744 "0 0 0 4 0 0",
745 "0 1 3 5 1 0",
746 "0 2 5 7 1 1",
747 "0 3 9 10 1 3",
748 "0 4 15 4 3 4",
749 "0 5 31 5 3 5",
750 "0 6 63 6 3 6",
751 "0 7 127 7 3 7",
752 "0 8 255 8 3 8",
753 "0 9 511 9 3 9",
754 "0 10 1023 10 3 10",
755 "0 11 2047 11 3 11",
756 "0 12 4095 12 3 12",
757 "0 13 8191 13 3 13",
758 "0 14 16383 14 3 14",
759 "0 15 32767 15 3 15",
760 "1 0 0 4 0 0",
761 "1 1 3 5 1 0",
762 "1 2 5 7 1 1",
763 "1 3 9 10 1 3",
764 "1 4 15 4 3 4",
765 "1 5 31 5 3 5",
766 "1 6 63 6 3 6",
767 "1 7 127 7 3 7",
768 "1 8 255 8 3 8",
769 "1 9 511 9 3 9",
770 "1 10 1023 10 3 10",
771 "1 11 2047 11 3 11",
772 "1 12 4095 12 3 12",
773 "1 13 8191 13 3 13",
774 "1 14 16383 14 3 14",
775 "1 15 32767 15 3 15",
776 "2 0 0 3 0 0",
777 "2 1 3 5 1 0",
778 "2 2 5 7 1 1",
779 "2 3 9 10 1 3",
780 "2 4 15 4 3 4",
781 "2 5 31 5 3 5",
782 "2 6 63 6 3 6",
783 "2 7 127 7 3 7",
784 "3 0 0 3 0 0",
785 "3 1 3 5 1 0",
786 "3 2 5 7 1 1",
787 "3 3 9 10 1 3",
788 "3 4 15 4 3 4",
789 "3 5 31 5 3 5",
790 "3 6 63 6 3 6",
791 "3 7 127 7 3 7",
792 "4 0 0 3 0 0",
793 "4 1 3 5 1 0",
794 "4 2 5 7 1 1",
795 "4 3 9 10 1 3",
796 "4 4 15 4 3 4",
797 "4 5 31 5 3 5",
798 "4 6 63 6 3 6",
799 "4 7 127 7 3 7",
800 "5 0 0 3 0 0",
801 "5 1 3 5 1 0",
802 "5 2 5 7 1 1",
803 "5 3 9 10 1 3",
804 "5 4 15 4 3 4",
805 "5 5 31 5 3 5",
806 "5 6 63 6 3 6",
807 "5 7 127 7 3 7",
808 "6 0 0 3 0 0",
809 "6 1 3 5 1 0",
810 "6 2 5 7 1 1",
811 "6 3 9 10 1 3",
812 "6 4 15 4 3 4",
813 "6 5 31 5 3 5",
814 "6 6 63 6 3 6",
815 "6 7 127 7 3 7",
816 "7 0 0 3 0 0",
817 "7 1 3 5 1 0",
818 "7 2 5 7 1 1",
819 "7 3 9 10 1 3",
820 "7 4 15 4 3 4",
821 "7 5 31 5 3 5",
822 "7 6 63 6 3 6",
823 "7 7 127 7 3 7",
824 "8 0 0 3 0 0",
825 "8 1 3 5 1 0",
826 "8 2 5 7 1 1",
827 "8 3 9 10 1 3",
828 "8 4 15 4 3 4",
829 "8 5 31 5 3 5",
830 "8 6 63 6 3 6",
831 "8 7 127 7 3 7",
832 "9 0 0 3 0 0",
833 "9 1 3 5 1 0",
834 "9 2 5 7 1 1",
835 "9 3 9 10 1 3",
836 "9 4 15 4 3 4",
837 "9 5 31 5 3 5",
838 "9 6 63 6 3 6",
839 "9 7 127 7 3 7",
840 "10 0 0 3 0 0",
841 "10 1 3 5 1 0",
842 "10 2 5 7 1 1",
843 "10 3 9 10 1 3",
844 "10 4 15 4 3 4",
845 "10 5 31 5 3 5",
846 "10 6 63 6 3 6",
847 "10 7 127 7 3 7",
848 "11 0 0 3 0 0",
849 "11 1 3 5 1 0",
850 "11 2 5 7 1 1",
851 "11 3 9 10 1 3",
852 "11 4 15 4 3 4",
853 "11 5 31 5 3 5",
854 "11 6 63 6 3 6",
855 "11 7 127 7 3 7",
856 "<alloc_4>",
857 "30",
858 "0 0 0 4 0 0",
859 "0 1 3 5 1 0",
860 "0 2 5 7 1 1",
861 "0 3 7 3 3 2",
862 "0 4 9 10 1 3",
863 "0 5 15 4 3 4",
864 "0 6 31 5 3 5",
865 "0 7 63 6 3 6",
866 "0 8 127 7 3 7",
867 "0 9 255 8 3 8",
868 "0 10 511 9 3 9",
869 "0 11 1023 10 3 10",
870 "0 12 2047 11 3 11",
871 "0 13 4095 12 3 12",
872 "0 14 8191 13 3 13",
873 "0 15 16383 14 3 14",
874 "1 0 0 4 0 0",
875 "1 1 3 5 1 0",
876 "1 2 5 7 1 1",
877 "1 3 7 3 3 2",
878 "1 4 9 10 1 3",
879 "1 5 15 4 3 4",
880 "1 6 31 5 3 5",
881 "1 7 63 6 3 6",
882 "1 8 127 7 3 7",
883 "1 9 255 8 3 8",
884 "1 10 511 9 3 9",
885 "1 11 1023 10 3 10",
886 "1 12 2047 11 3 11",
887 "1 13 4095 12 3 12",
888 "1 14 8191 13 3 13",
889 "1 15 16383 14 3 14",
890 "2 0 0 4 0 0",
891 "2 1 3 5 1 0",
892 "2 2 5 7 1 1",
893 "2 3 7 3 3 2",
894 "2 4 9 10 1 3",
895 "2 5 15 4 3 4",
896 "2 6 31 5 3 5",
897 "2 7 63 6 3 6",
898 "2 8 127 7 3 7",
899 "2 9 255 8 3 8",
900 "2 10 511 9 3 9",
901 "2 11 1023 10 3 10",
902 "2 12 2047 11 3 11",
903 "2 13 4095 12 3 12",
904 "2 14 8191 13 3 13",
905 "2 15 16383 14 3 14",
906 "3 0 0 4 0 0",
907 "3 1 3 5 1 0",
908 "3 2 5 7 1 1",
909 "3 3 7 3 3 2",
910 "3 4 9 10 1 3",
911 "3 5 15 4 3 4",
912 "3 6 31 5 3 5",
913 "3 7 63 6 3 6",
914 "3 8 127 7 3 7",
915 "3 9 255 8 3 8",
916 "3 10 511 9 3 9",
917 "3 11 1023 10 3 10",
918 "3 12 2047 11 3 11",
919 "3 13 4095 12 3 12",
920 "3 14 8191 13 3 13",
921 "3 15 16383 14 3 14",
922 "4 0 0 3 0 0",
923 "4 1 3 5 1 0",
924 "4 2 5 7 1 1",
925 "4 3 9 10 1 3",
926 "4 4 15 4 3 4",
927 "4 5 31 5 3 5",
928 "4 6 63 6 3 6",
929 "4 7 127 7 3 7 ",
930 "5 0 0 3 0 0",
931 "5 1 3 5 1 0",
932 "5 2 5 7 1 1",
933 "5 3 9 10 1 3",
934 "5 4 15 4 3 4",
935 "5 5 31 5 3 5",
936 "5 6 63 6 3 6",
937 "5 7 127 7 3 7 ",
938 "6 0 0 3 0 0",
939 "6 1 3 5 1 0",
940 "6 2 5 7 1 1",
941 "6 3 9 10 1 3",
942 "6 4 15 4 3 4",
943 "6 5 31 5 3 5",
944 "6 6 63 6 3 6",
945 "6 7 127 7 3 7 ",
946 "7 0 0 3 0 0",
947 "7 1 3 5 1 0",
948 "7 2 5 7 1 1",
949 "7 3 9 10 1 3",
950 "7 4 15 4 3 4",
951 "7 5 31 5 3 5",
952 "7 6 63 6 3 6",
953 "7 7 127 7 3 7 ",
954 "8 0 0 3 0 0",
955 "8 1 3 5 1 0",
956 "8 2 5 7 1 1",
957 "8 3 9 10 1 3",
958 "8 4 15 4 3 4",
959 "8 5 31 5 3 5",
960 "8 6 63 6 3 6",
961 "8 7 127 7 3 7 ",
962 "9 0 0 3 0 0",
963 "9 1 3 5 1 0",
964 "9 2 5 7 1 1",
965 "9 3 9 10 1 3",
966 "9 4 15 4 3 4",
967 "9 5 31 5 3 5",
968 "9 6 63 6 3 6",
969 "9 7 127 7 3 7 ",
970 "10 0 0 3 0 0",
971 "10 1 3 5 1 0",
972 "10 2 5 7 1 1",
973 "10 3 9 10 1 3",
974 "10 4 15 4 3 4",
975 "10 5 31 5 3 5",
976 "10 6 63 6 3 6",
977 "10 7 127 7 3 7 ",
978 "11 0 0 2 0 0",
979 "11 1 3 5 1 0",
980 "11 2 5 7 1 1",
981 "11 3 9 10 1 3",
982 "12 0 0 2 0 0",
983 "12 1 3 5 1 0",
984 "12 2 5 7 1 1",
985 "12 3 9 10 1 3",
986 "13 0 0 2 0 0",
987 "13 1 3 5 1 0",
988 "13 2 5 7 1 1",
989 "13 3 9 10 1 3",
990 "14 0 0 2 0 0",
991 "14 1 3 5 1 0",
992 "14 2 5 7 1 1",
993 "14 3 9 10 1 3",
994 "15 0 0 2 0 0",
995 "15 1 3 5 1 0",
996 "15 2 5 7 1 1",
997 "15 3 9 10 1 3",
998 "16 0 0 2 0 0",
999 "16 1 3 5 1 0",
1000 "16 2 5 7 1 1",
1001 "16 3 9 10 1 3",
1002 "17 0 0 2 0 0",
1003 "17 1 3 5 1 0",
1004 "17 2 5 7 1 1",
1005 "17 3 9 10 1 3",
1006 "18 0 0 2 0 0",
1007 "18 1 3 5 1 0",
1008 "18 2 5 7 1 1",
1009 "18 3 9 10 1 3",
1010 "19 0 0 2 0 0",
1011 "19 1 3 5 1 0",
1012 "19 2 5 7 1 1",
1013 "19 3 9 10 1 3",
1014 "20 0 0 2 0 0",
1015 "20 1 3 5 1 0",
1016 "20 2 5 7 1 1",
1017 "20 3 9 10 1 3",
1018 "21 0 0 2 0 0",
1019 "21 1 3 5 1 0",
1020 "21 2 5 7 1 1",
1021 "21 3 9 10 1 3",
1022 "22 0 0 2 0 0",
1023 "22 1 3 5 1 0",
1024 "22 2 5 7 1 1",
1025 "22 3 9 10 1 3",
1026 "23 0 0 2 0 0",
1027 "23 1 3 5 1 0",
1028 "23 2 5 7 1 1",
1029 "23 3 9 10 1 3",
1030 "24 0 0 2 0 0",
1031 "24 1 3 5 1 0",
1032 "24 2 5 7 1 1",
1033 "24 3 9 10 1 3",
1034 "25 0 0 2 0 0",
1035 "25 1 3 5 1 0",
1036 "25 2 5 7 1 1",
1037 "25 3 9 10 1 3",
1038 "26 0 0 2 0 0",
1039 "26 1 3 5 1 0",
1040 "26 2 5 7 1 1",
1041 "26 3 9 10 1 3",
1042 "27 0 0 2 0 0",
1043 "27 1 3 5 1 0",
1044 "27 2 5 7 1 1",
1045 "27 3 9 10 1 3",
1046 "28 0 0 2 0 0",
1047 "28 1 3 5 1 0",
1048 "28 2 5 7 1 1",
1049 "28 3 9 10 1 3",
1050 "29 0 0 2 0 0",
1051 "29 1 3 5 1 0",
1052 "29 2 5 7 1 1",
1053 "29 3 9 10 1 3",
1054 "<next>"
1057 unsigned int a, b, c, d, i, j;
1058 char t[80];
1059 int sblim;
1060 int startindex;
1062 if ((table < 0) || (table > 4))
1063 table = 0;
1065 startindex = startindex_subband[table] + 1;
1067 // if (g_verbose) printf("using bit allocation table %d\n", table);
1069 sprintf (t, "%s", alloc_subbands[startindex]);
1070 startindex++;
1071 sscanf (t, "%d\n", &sblim);
1073 while (t[0] != '<') {
1074 sprintf (t, "%s", alloc_subbands[startindex]);
1075 startindex++;
1076 if (t[0] == '<')
1077 break;
1079 sscanf (t, "%d %d %d %d %d %d\n", &i, &j, &a, &b, &c, &d);
1080 (*alloc)[i][j].steps = a;
1081 (*alloc)[i][j].bits = b;
1082 (*alloc)[i][j].group = c;
1083 (*alloc)[i][j].quant = d;
1085 return sblim;