00001
00002
00003
00004 #include <stdio.h>
00005 #include <string.h>
00006 #include <ctype.h>
00007 #include <unistd.h>
00008 #include "common.h"
00009 #include "mem.h"
00010 #include "tables.h"
00011
00012 #define NUMTABLES 38
00013 char table_names[NUMTABLES][9];
00014 long table_offsets[NUMTABLES];
00015 int numtables = 0;
00016 char table_filename[250];
00017
00018 int pick_table (frame_info * frame)
00019
00020 {
00021 int table, lay, ws, bsp, br_per_ch, sfrq;
00022 int sblim = frame->sblimit;
00023
00024 lay = frame->header->lay - 1;
00025 bsp = frame->header->bitrate_index;
00026 br_per_ch = bitrate[frame->header->version][bsp] / frame->nch;
00027 ws = frame->header->sampling_frequency;
00028 sfrq = s_freq[frame->header->version][ws];
00029
00030 if (frame->header->version == MPEG_AUDIO_ID) {
00031 if ((sfrq == 48 && br_per_ch >= 56)
00032 || (br_per_ch >= 56 && br_per_ch <= 80))
00033 table = 0;
00034 else if (sfrq != 48 && br_per_ch >= 96)
00035 table = 1;
00036 else if (sfrq != 32 && br_per_ch <= 48)
00037 table = 2;
00038 else
00039 table = 3;
00040 } else {
00041 table = 4;
00042 }
00043 if (frame->tab_num != table) {
00044 if (frame->tab_num >= 0)
00045 mem_free ((void **) &(frame->alloc));
00046 frame->alloc = (al_table *) mem_alloc (sizeof (al_table), "alloc");
00047 sblim = read_bit_alloc (frame->tab_num = table, frame->alloc);
00048 }
00049 return sblim;
00050 }
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060 int read_bit_alloc (table, alloc)
00061 int table;
00062 al_table *alloc;
00063 {
00064
00065 static const int startindex_subband[5] = { 0, 290, 592, 674, 788 };
00066
00067 static const char alloc_subbands[][20] = {
00068 "<alloc_0>",
00069 "27",
00070 "0 0 0 4 0 0",
00071 "0 1 3 5 1 0",
00072 "0 2 7 3 3 2",
00073 "0 3 15 4 3 4",
00074 "0 4 31 5 3 5",
00075 "0 5 63 6 3 6",
00076 "0 6 127 7 3 7",
00077 "0 7 255 8 3 8",
00078 "0 8 511 9 3 9",
00079 "0 9 1023 10 3 10",
00080 "0 10 2047 11 3 11",
00081 "0 11 4095 12 3 12",
00082 "0 12 8191 13 3 13",
00083 "0 13 16383 14 3 14",
00084 "0 14 32767 15 3 15",
00085 "0 15 65535 16 3 16",
00086 "1 0 0 4 0 0",
00087 "1 1 3 5 1 0",
00088 "1 2 7 3 3 2",
00089 "1 3 15 4 3 4",
00090 "1 4 31 5 3 5",
00091 "1 5 63 6 3 6",
00092 "1 6 127 7 3 7",
00093 "1 7 255 8 3 8",
00094 "1 8 511 9 3 9",
00095 "1 9 1023 10 3 10",
00096 "1 10 2047 11 3 11",
00097 "1 11 4095 12 3 12",
00098 "1 12 8191 13 3 13",
00099 "1 13 16383 14 3 14",
00100 "1 14 32767 15 3 15",
00101 "1 15 65535 16 3 16",
00102 "2 0 0 4 0 0",
00103 "2 1 3 5 1 0",
00104 "2 2 7 3 3 2",
00105 "2 3 15 4 3 4",
00106 "2 4 31 5 3 5",
00107 "2 5 63 6 3 6",
00108 "2 6 127 7 3 7",
00109 "2 7 255 8 3 8",
00110 "2 8 511 9 3 9",
00111 "2 9 1023 10 3 10",
00112 "2 10 2047 11 3 11",
00113 "2 11 4095 12 3 12",
00114 "2 12 8191 13 3 13",
00115 "2 13 16383 14 3 14",
00116 "2 14 32767 15 3 15",
00117 "2 15 65535 16 3 16",
00118 "3 0 0 4 0 0",
00119 "3 1 3 5 1 0",
00120 "3 2 5 7 1 1",
00121 "3 3 7 3 3 2",
00122 "3 4 9 10 1 3",
00123 "3 5 15 4 3 4",
00124 "3 6 31 5 3 5",
00125 "3 7 63 6 3 6",
00126 "3 8 127 7 3 7 ",
00127 "3 9 255 8 3 8",
00128 "3 10 511 9 3 9",
00129 "3 11 1023 10 3 10",
00130 "3 12 2047 11 3 11",
00131 "3 13 4095 12 3 12",
00132 "3 14 8191 13 3 13",
00133 "3 15 65535 16 3 16",
00134 "4 0 0 4 0 0",
00135 "4 1 3 5 1 0",
00136 "4 2 5 7 1 1",
00137 "4 3 7 3 3 2",
00138 "4 4 9 10 1 3",
00139 "4 5 15 4 3 4",
00140 "4 6 31 5 3 5",
00141 "4 7 63 6 3 6",
00142 "4 8 127 7 3 7 ",
00143 "4 9 255 8 3 8",
00144 "4 10 511 9 3 9",
00145 "4 11 1023 10 3 10",
00146 "4 12 2047 11 3 11",
00147 "4 13 4095 12 3 12",
00148 "4 14 8191 13 3 13",
00149 "4 15 65535 16 3 16",
00150 "5 0 0 4 0 0",
00151 "5 1 3 5 1 0",
00152 "5 2 5 7 1 1",
00153 "5 3 7 3 3 2",
00154 "5 4 9 10 1 3",
00155 "5 5 15 4 3 4",
00156 "5 6 31 5 3 5",
00157 "5 7 63 6 3 6",
00158 "5 8 127 7 3 7 ",
00159 "5 9 255 8 3 8",
00160 "5 10 511 9 3 9",
00161 "5 11 1023 10 3 10",
00162 "5 12 2047 11 3 11",
00163 "5 13 4095 12 3 12",
00164 "5 14 8191 13 3 13",
00165 "5 15 65535 16 3 16",
00166 "6 0 0 4 0 0",
00167 "6 1 3 5 1 0",
00168 "6 2 5 7 1 1",
00169 "6 3 7 3 3 2",
00170 "6 4 9 10 1 3",
00171 "6 5 15 4 3 4",
00172 "6 6 31 5 3 5",
00173 "6 7 63 6 3 6",
00174 "6 8 127 7 3 7 ",
00175 "6 9 255 8 3 8",
00176 "6 10 511 9 3 9",
00177 "6 11 1023 10 3 10",
00178 "6 12 2047 11 3 11",
00179 "6 13 4095 12 3 12",
00180 "6 14 8191 13 3 13",
00181 "6 15 65535 16 3 16",
00182 "7 0 0 4 0 0",
00183 "7 1 3 5 1 0",
00184 "7 2 5 7 1 1",
00185 "7 3 7 3 3 2",
00186 "7 4 9 10 1 3",
00187 "7 5 15 4 3 4",
00188 "7 6 31 5 3 5",
00189 "7 7 63 6 3 6",
00190 "7 8 127 7 3 7 ",
00191 "7 9 255 8 3 8",
00192 "7 10 511 9 3 9",
00193 "7 11 1023 10 3 10",
00194 "7 12 2047 11 3 11",
00195 "7 13 4095 12 3 12",
00196 "7 14 8191 13 3 13",
00197 "7 15 65535 16 3 16",
00198 "8 0 0 4 0 0",
00199 "8 1 3 5 1 0",
00200 "8 2 5 7 1 1",
00201 "8 3 7 3 3 2",
00202 "8 4 9 10 1 3",
00203 "8 5 15 4 3 4",
00204 "8 6 31 5 3 5",
00205 "8 7 63 6 3 6",
00206 "8 8 127 7 3 7 ",
00207 "8 9 255 8 3 8",
00208 "8 10 511 9 3 9",
00209 "8 11 1023 10 3 10",
00210 "8 12 2047 11 3 11",
00211 "8 13 4095 12 3 12",
00212 "8 14 8191 13 3 13",
00213 "8 15 65535 16 3 16",
00214 "9 0 0 4 0 0",
00215 "9 1 3 5 1 0",
00216 "9 2 5 7 1 1",
00217 "9 3 7 3 3 2",
00218 "9 4 9 10 1 3",
00219 "9 5 15 4 3 4",
00220 "9 6 31 5 3 5",
00221 "9 7 63 6 3 6",
00222 "9 8 127 7 3 7 ",
00223 "9 9 255 8 3 8",
00224 "9 10 511 9 3 9",
00225 "9 11 1023 10 3 10",
00226 "9 12 2047 11 3 11",
00227 "9 13 4095 12 3 12",
00228 "9 14 8191 13 3 13",
00229 "9 15 65535 16 3 16",
00230 "10 0 0 4 0 0",
00231 "10 1 3 5 1 0",
00232 "10 2 5 7 1 1",
00233 "10 3 7 3 3 2",
00234 "10 4 9 10 1 3",
00235 "10 5 15 4 3 4",
00236 "10 6 31 5 3 5",
00237 "10 7 63 6 3 6",
00238 "10 8 127 7 3 7 ",
00239 "10 9 255 8 3 8",
00240 "10 10 511 9 3 9",
00241 "10 11 1023 10 3 10",
00242 "10 12 2047 11 3 11",
00243 "10 13 4095 12 3 12",
00244 "10 14 8191 13 3 13",
00245 "10 15 65535 16 3 16",
00246 "11 0 0 3 0 0",
00247 "11 1 3 5 1 0",
00248 "11 2 5 7 1 1",
00249 "11 3 7 3 3 2",
00250 "11 4 9 10 1 3",
00251 "11 5 15 4 3 4",
00252 "11 6 31 5 3 5",
00253 "11 7 65535 16 3 16 ",
00254 "12 0 0 3 0 0",
00255 "12 1 3 5 1 0",
00256 "12 2 5 7 1 1",
00257 "12 3 7 3 3 2",
00258 "12 4 9 10 1 3",
00259 "12 5 15 4 3 4",
00260 "12 6 31 5 3 5",
00261 "12 7 65535 16 3 16 ",
00262 "13 0 0 3 0 0",
00263 "13 1 3 5 1 0",
00264 "13 2 5 7 1 1",
00265 "13 3 7 3 3 2",
00266 "13 4 9 10 1 3",
00267 "13 5 15 4 3 4",
00268 "13 6 31 5 3 5",
00269 "13 7 65535 16 3 16 ",
00270 "14 0 0 3 0 0",
00271 "14 1 3 5 1 0",
00272 "14 2 5 7 1 1",
00273 "14 3 7 3 3 2",
00274 "14 4 9 10 1 3",
00275 "14 5 15 4 3 4",
00276 "14 6 31 5 3 5",
00277 "14 7 65535 16 3 16 ",
00278 "15 0 0 3 0 0",
00279 "15 1 3 5 1 0",
00280 "15 2 5 7 1 1",
00281 "15 3 7 3 3 2",
00282 "15 4 9 10 1 3",
00283 "15 5 15 4 3 4",
00284 "15 6 31 5 3 5",
00285 "15 7 65535 16 3 16 ",
00286 "16 0 0 3 0 0",
00287 "16 1 3 5 1 0",
00288 "16 2 5 7 1 1",
00289 "16 3 7 3 3 2",
00290 "16 4 9 10 1 3",
00291 "16 5 15 4 3 4",
00292 "16 6 31 5 3 5",
00293 "16 7 65535 16 3 16 ",
00294 "17 0 0 3 0 0",
00295 "17 1 3 5 1 0",
00296 "17 2 5 7 1 1",
00297 "17 3 7 3 3 2",
00298 "17 4 9 10 1 3",
00299 "17 5 15 4 3 4",
00300 "17 6 31 5 3 5",
00301 "17 7 65535 16 3 16 ",
00302 "18 0 0 3 0 0",
00303 "18 1 3 5 1 0",
00304 "18 2 5 7 1 1",
00305 "18 3 7 3 3 2",
00306 "18 4 9 10 1 3",
00307 "18 5 15 4 3 4",
00308 "18 6 31 5 3 5",
00309 "18 7 65535 16 3 16 ",
00310 "19 0 0 3 0 0",
00311 "19 1 3 5 1 0",
00312 "19 2 5 7 1 1",
00313 "19 3 7 3 3 2",
00314 "19 4 9 10 1 3",
00315 "19 5 15 4 3 4",
00316 "19 6 31 5 3 5",
00317 "19 7 65535 16 3 16 ",
00318 "20 0 0 3 0 0",
00319 "20 1 3 5 1 0",
00320 "20 2 5 7 1 1",
00321 "20 3 7 3 3 2",
00322 "20 4 9 10 1 3",
00323 "20 5 15 4 3 4",
00324 "20 6 31 5 3 5",
00325 "20 7 65535 16 3 16 ",
00326 "21 0 0 3 0 0",
00327 "21 1 3 5 1 0",
00328 "21 2 5 7 1 1",
00329 "21 3 7 3 3 2",
00330 "21 4 9 10 1 3",
00331 "21 5 15 4 3 4",
00332 "21 6 31 5 3 5",
00333 "21 7 65535 16 3 16 ",
00334 "22 0 0 3 0 0",
00335 "22 1 3 5 1 0",
00336 "22 2 5 7 1 1",
00337 "22 3 7 3 3 2",
00338 "22 4 9 10 1 3",
00339 "22 5 15 4 3 4",
00340 "22 6 31 5 3 5",
00341 "22 7 65535 16 3 16 ",
00342 "23 0 0 2 0 0",
00343 "23 1 3 5 1 0",
00344 "23 2 5 7 1 1",
00345 "23 3 65535 16 3 16",
00346 "24 0 0 2 0 0",
00347 "24 1 3 5 1 0",
00348 "24 2 5 7 1 1",
00349 "24 3 65535 16 3 16",
00350 "25 0 0 2 0 0",
00351 "25 1 3 5 1 0",
00352 "25 2 5 7 1 1",
00353 "25 3 65535 16 3 16",
00354 "26 0 0 2 0 0",
00355 "26 1 3 5 1 0",
00356 "26 2 5 7 1 1",
00357 "26 3 65535 16 3 16",
00358 "<alloc_1>",
00359 "30",
00360 "0 0 0 4 0 0",
00361 "0 1 3 5 1 0",
00362 "0 2 7 3 3 2",
00363 "0 3 15 4 3 4",
00364 "0 4 31 5 3 5",
00365 "0 5 63 6 3 6",
00366 "0 6 127 7 3 7",
00367 "0 7 255 8 3 8",
00368 "0 8 511 9 3 9",
00369 "0 9 1023 10 3 10",
00370 "0 10 2047 11 3 11",
00371 "0 11 4095 12 3 12",
00372 "0 12 8191 13 3 13",
00373 "0 13 16383 14 3 14",
00374 "0 14 32767 15 3 15",
00375 "0 15 65535 16 3 16",
00376 "1 0 0 4 0 0",
00377 "1 1 3 5 1 0",
00378 "1 2 7 3 3 2",
00379 "1 3 15 4 3 4",
00380 "1 4 31 5 3 5",
00381 "1 5 63 6 3 6",
00382 "1 6 127 7 3 7",
00383 "1 7 255 8 3 8",
00384 "1 8 511 9 3 9",
00385 "1 9 1023 10 3 10",
00386 "1 10 2047 11 3 11",
00387 "1 11 4095 12 3 12",
00388 "1 12 8191 13 3 13",
00389 "1 13 16383 14 3 14",
00390 "1 14 32767 15 3 15",
00391 "1 15 65535 16 3 16",
00392 "2 0 0 4 0 0",
00393 "2 1 3 5 1 0",
00394 "2 2 7 3 3 2",
00395 "2 3 15 4 3 4",
00396 "2 4 31 5 3 5",
00397 "2 5 63 6 3 6",
00398 "2 6 127 7 3 7",
00399 "2 7 255 8 3 8",
00400 "2 8 511 9 3 9",
00401 "2 9 1023 10 3 10",
00402 "2 10 2047 11 3 11",
00403 "2 11 4095 12 3 12",
00404 "2 12 8191 13 3 13",
00405 "2 13 16383 14 3 14",
00406 "2 14 32767 15 3 15",
00407 "2 15 65535 16 3 16",
00408 "3 0 0 4 0 0",
00409 "3 1 3 5 1 0",
00410 "3 2 5 7 1 1",
00411 "3 3 7 3 3 2",
00412 "3 4 9 10 1 3",
00413 "3 5 15 4 3 4",
00414 "3 6 31 5 3 5",
00415 "3 7 63 6 3 6",
00416 "3 8 127 7 3 7 ",
00417 "3 9 255 8 3 8",
00418 "3 10 511 9 3 9",
00419 "3 11 1023 10 3 10",
00420 "3 12 2047 11 3 11",
00421 "3 13 4095 12 3 12",
00422 "3 14 8191 13 3 13",
00423 "3 15 65535 16 3 16",
00424 "4 0 0 4 0 0",
00425 "4 1 3 5 1 0",
00426 "4 2 5 7 1 1",
00427 "4 3 7 3 3 2",
00428 "4 4 9 10 1 3",
00429 "4 5 15 4 3 4",
00430 "4 6 31 5 3 5",
00431 "4 7 63 6 3 6",
00432 "4 8 127 7 3 7 ",
00433 "4 9 255 8 3 8",
00434 "4 10 511 9 3 9",
00435 "4 11 1023 10 3 10",
00436 "4 12 2047 11 3 11",
00437 "4 13 4095 12 3 12",
00438 "4 14 8191 13 3 13",
00439 "4 15 65535 16 3 16",
00440 "5 0 0 4 0 0",
00441 "5 1 3 5 1 0",
00442 "5 2 5 7 1 1",
00443 "5 3 7 3 3 2",
00444 "5 4 9 10 1 3",
00445 "5 5 15 4 3 4",
00446 "5 6 31 5 3 5",
00447 "5 7 63 6 3 6",
00448 "5 8 127 7 3 7 ",
00449 "5 9 255 8 3 8",
00450 "5 10 511 9 3 9",
00451 "5 11 1023 10 3 10",
00452 "5 12 2047 11 3 11",
00453 "5 13 4095 12 3 12",
00454 "5 14 8191 13 3 13",
00455 "5 15 65535 16 3 16",
00456 "6 0 0 4 0 0",
00457 "6 1 3 5 1 0",
00458 "6 2 5 7 1 1",
00459 "6 3 7 3 3 2",
00460 "6 4 9 10 1 3",
00461 "6 5 15 4 3 4",
00462 "6 6 31 5 3 5",
00463 "6 7 63 6 3 6",
00464 "6 8 127 7 3 7 ",
00465 "6 9 255 8 3 8",
00466 "6 10 511 9 3 9",
00467 "6 11 1023 10 3 10",
00468 "6 12 2047 11 3 11",
00469 "6 13 4095 12 3 12",
00470 "6 14 8191 13 3 13",
00471 "6 15 65535 16 3 16",
00472 "7 0 0 4 0 0",
00473 "7 1 3 5 1 0",
00474 "7 2 5 7 1 1",
00475 "7 3 7 3 3 2",
00476 "7 4 9 10 1 3",
00477 "7 5 15 4 3 4",
00478 "7 6 31 5 3 5",
00479 "7 7 63 6 3 6",
00480 "7 8 127 7 3 7 ",
00481 "7 9 255 8 3 8",
00482 "7 10 511 9 3 9",
00483 "7 11 1023 10 3 10",
00484 "7 12 2047 11 3 11",
00485 "7 13 4095 12 3 12",
00486 "7 14 8191 13 3 13",
00487 "7 15 65535 16 3 16",
00488 "8 0 0 4 0 0",
00489 "8 1 3 5 1 0",
00490 "8 2 5 7 1 1",
00491 "8 3 7 3 3 2",
00492 "8 4 9 10 1 3",
00493 "8 5 15 4 3 4",
00494 "8 6 31 5 3 5",
00495 "8 7 63 6 3 6",
00496 "8 8 127 7 3 7 ",
00497 "8 9 255 8 3 8",
00498 "8 10 511 9 3 9",
00499 "8 11 1023 10 3 10",
00500 "8 12 2047 11 3 11",
00501 "8 13 4095 12 3 12",
00502 "8 14 8191 13 3 13",
00503 "8 15 65535 16 3 16",
00504 "9 0 0 4 0 0",
00505 "9 1 3 5 1 0",
00506 "9 2 5 7 1 1",
00507 "9 3 7 3 3 2",
00508 "9 4 9 10 1 3",
00509 "9 5 15 4 3 4",
00510 "9 6 31 5 3 5",
00511 "9 7 63 6 3 6",
00512 "9 8 127 7 3 7 ",
00513 "9 9 255 8 3 8",
00514 "9 10 511 9 3 9",
00515 "9 11 1023 10 3 10",
00516 "9 12 2047 11 3 11",
00517 "9 13 4095 12 3 12",
00518 "9 14 8191 13 3 13",
00519 "9 15 65535 16 3 16",
00520 "10 0 0 4 0 0",
00521 "10 1 3 5 1 0",
00522 "10 2 5 7 1 1",
00523 "10 3 7 3 3 2",
00524 "10 4 9 10 1 3",
00525 "10 5 15 4 3 4",
00526 "10 6 31 5 3 5",
00527 "10 7 63 6 3 6",
00528 "10 8 127 7 3 7 ",
00529 "10 9 255 8 3 8",
00530 "10 10 511 9 3 9",
00531 "10 11 1023 10 3 10",
00532 "10 12 2047 11 3 11",
00533 "10 13 4095 12 3 12",
00534 "10 14 8191 13 3 13",
00535 "10 15 65535 16 3 16",
00536 "11 0 0 3 0 0",
00537 "11 1 3 5 1 0",
00538 "11 2 5 7 1 1",
00539 "11 3 7 3 3 2",
00540 "11 4 9 10 1 3",
00541 "11 5 15 4 3 4",
00542 "11 6 31 5 3 5",
00543 "11 7 65535 16 3 16 ",
00544 "12 0 0 3 0 0",
00545 "12 1 3 5 1 0",
00546 "12 2 5 7 1 1",
00547 "12 3 7 3 3 2",
00548 "12 4 9 10 1 3",
00549 "12 5 15 4 3 4",
00550 "12 6 31 5 3 5",
00551 "12 7 65535 16 3 16 ",
00552 "13 0 0 3 0 0",
00553 "13 1 3 5 1 0",
00554 "13 2 5 7 1 1",
00555 "13 3 7 3 3 2",
00556 "13 4 9 10 1 3",
00557 "13 5 15 4 3 4",
00558 "13 6 31 5 3 5",
00559 "13 7 65535 16 3 16 ",
00560 "14 0 0 3 0 0",
00561 "14 1 3 5 1 0",
00562 "14 2 5 7 1 1",
00563 "14 3 7 3 3 2",
00564 "14 4 9 10 1 3",
00565 "14 5 15 4 3 4",
00566 "14 6 31 5 3 5",
00567 "14 7 65535 16 3 16 ",
00568 "15 0 0 3 0 0",
00569 "15 1 3 5 1 0",
00570 "15 2 5 7 1 1",
00571 "15 3 7 3 3 2",
00572 "15 4 9 10 1 3",
00573 "15 5 15 4 3 4",
00574 "15 6 31 5 3 5",
00575 "15 7 65535 16 3 16 ",
00576 "16 0 0 3 0 0",
00577 "16 1 3 5 1 0",
00578 "16 2 5 7 1 1",
00579 "16 3 7 3 3 2",
00580 "16 4 9 10 1 3",
00581 "16 5 15 4 3 4",
00582 "16 6 31 5 3 5",
00583 "16 7 65535 16 3 16 ",
00584 "17 0 0 3 0 0",
00585 "17 1 3 5 1 0",
00586 "17 2 5 7 1 1",
00587 "17 3 7 3 3 2",
00588 "17 4 9 10 1 3",
00589 "17 5 15 4 3 4",
00590 "17 6 31 5 3 5",
00591 "17 7 65535 16 3 16 ",
00592 "18 0 0 3 0 0",
00593 "18 1 3 5 1 0",
00594 "18 2 5 7 1 1",
00595 "18 3 7 3 3 2",
00596 "18 4 9 10 1 3",
00597 "18 5 15 4 3 4",
00598 "18 6 31 5 3 5",
00599 "18 7 65535 16 3 16 ",
00600 "19 0 0 3 0 0",
00601 "19 1 3 5 1 0",
00602 "19 2 5 7 1 1",
00603 "19 3 7 3 3 2",
00604 "19 4 9 10 1 3",
00605 "19 5 15 4 3 4",
00606 "19 6 31 5 3 5",
00607 "19 7 65535 16 3 16 ",
00608 "20 0 0 3 0 0",
00609 "20 1 3 5 1 0",
00610 "20 2 5 7 1 1",
00611 "20 3 7 3 3 2",
00612 "20 4 9 10 1 3",
00613 "20 5 15 4 3 4",
00614 "20 6 31 5 3 5",
00615 "20 7 65535 16 3 16 ",
00616 "21 0 0 3 0 0",
00617 "21 1 3 5 1 0",
00618 "21 2 5 7 1 1",
00619 "21 3 7 3 3 2",
00620 "21 4 9 10 1 3",
00621 "21 5 15 4 3 4",
00622 "21 6 31 5 3 5",
00623 "21 7 65535 16 3 16 ",
00624 "22 0 0 3 0 0",
00625 "22 1 3 5 1 0",
00626 "22 2 5 7 1 1",
00627 "22 3 7 3 3 2",
00628 "22 4 9 10 1 3",
00629 "22 5 15 4 3 4",
00630 "22 6 31 5 3 5",
00631 "22 7 65535 16 3 16 ",
00632 "23 0 0 2 0 0",
00633 "23 1 3 5 1 0",
00634 "23 2 5 7 1 1",
00635 "23 3 65535 16 3 16",
00636 "24 0 0 2 0 0",
00637 "24 1 3 5 1 0",
00638 "24 2 5 7 1 1",
00639 "24 3 65535 16 3 16",
00640 "25 0 0 2 0 0",
00641 "25 1 3 5 1 0",
00642 "25 2 5 7 1 1",
00643 "25 3 65535 16 3 16",
00644 "26 0 0 2 0 0",
00645 "26 1 3 5 1 0",
00646 "26 2 5 7 1 1",
00647 "26 3 65535 16 3 16",
00648 "27 0 0 2 0 0",
00649 "27 1 3 5 1 0",
00650 "27 2 5 7 1 1",
00651 "27 3 65535 16 3 16",
00652 "28 0 0 2 0 0",
00653 "28 1 3 5 1 0",
00654 "28 2 5 7 1 1",
00655 "28 3 65535 16 3 16",
00656 "29 0 0 2 0 0",
00657 "29 1 3 5 1 0",
00658 "29 2 5 7 1 1",
00659 "29 3 65535 16 3 16",
00660 "<alloc_2>",
00661 "8",
00662 "0 0 0 4 0 0",
00663 "0 1 3 5 1 0",
00664 "0 2 5 7 1 1",
00665 "0 3 9 10 1 3",
00666 "0 4 15 4 3 4",
00667 "0 5 31 5 3 5",
00668 "0 6 63 6 3 6",
00669 "0 7 127 7 3 7",
00670 "0 8 255 8 3 8",
00671 "0 9 511 9 3 9",
00672 "0 10 1023 10 3 10",
00673 "0 11 2047 11 3 11",
00674 "0 12 4095 12 3 12",
00675 "0 13 8191 13 3 13",
00676 "0 14 16383 14 3 14",
00677 "0 15 32767 15 3 15",
00678 "1 0 0 4 0 0",
00679 "1 1 3 5 1 0",
00680 "1 2 5 7 1 1",
00681 "1 3 9 10 1 3",
00682 "1 4 15 4 3 4",
00683 "1 5 31 5 3 5",
00684 "1 6 63 6 3 6",
00685 "1 7 127 7 3 7",
00686 "1 8 255 8 3 8",
00687 "1 9 511 9 3 9",
00688 "1 10 1023 10 3 10",
00689 "1 11 2047 11 3 11",
00690 "1 12 4095 12 3 12",
00691 "1 13 8191 13 3 13",
00692 "1 14 16383 14 3 14",
00693 "1 15 32767 15 3 15",
00694 "2 0 0 3 0 0",
00695 "2 1 3 5 1 0",
00696 "2 2 5 7 1 1",
00697 "2 3 9 10 1 3",
00698 "2 4 15 4 3 4",
00699 "2 5 31 5 3 5",
00700 "2 6 63 6 3 6",
00701 "2 7 127 7 3 7",
00702 "3 0 0 3 0 0",
00703 "3 1 3 5 1 0",
00704 "3 2 5 7 1 1",
00705 "3 3 9 10 1 3",
00706 "3 4 15 4 3 4",
00707 "3 5 31 5 3 5",
00708 "3 6 63 6 3 6",
00709 "3 7 127 7 3 7",
00710 "4 0 0 3 0 0",
00711 "4 1 3 5 1 0",
00712 "4 2 5 7 1 1",
00713 "4 3 9 10 1 3",
00714 "4 4 15 4 3 4",
00715 "4 5 31 5 3 5",
00716 "4 6 63 6 3 6",
00717 "4 7 127 7 3 7",
00718 "5 0 0 3 0 0",
00719 "5 1 3 5 1 0",
00720 "5 2 5 7 1 1",
00721 "5 3 9 10 1 3",
00722 "5 4 15 4 3 4",
00723 "5 5 31 5 3 5",
00724 "5 6 63 6 3 6",
00725 "5 7 127 7 3 7",
00726 "6 0 0 3 0 0",
00727 "6 1 3 5 1 0",
00728 "6 2 5 7 1 1",
00729 "6 3 9 10 1 3",
00730 "6 4 15 4 3 4",
00731 "6 5 31 5 3 5",
00732 "6 6 63 6 3 6",
00733 "6 7 127 7 3 7",
00734 "7 0 0 3 0 0",
00735 "7 1 3 5 1 0",
00736 "7 2 5 7 1 1",
00737 "7 3 9 10 1 3",
00738 "7 4 15 4 3 4",
00739 "7 5 31 5 3 5",
00740 "7 6 63 6 3 6",
00741 "7 7 127 7 3 7",
00742 "<alloc_3>",
00743 "12",
00744 "0 0 0 4 0 0",
00745 "0 1 3 5 1 0",
00746 "0 2 5 7 1 1",
00747 "0 3 9 10 1 3",
00748 "0 4 15 4 3 4",
00749 "0 5 31 5 3 5",
00750 "0 6 63 6 3 6",
00751 "0 7 127 7 3 7",
00752 "0 8 255 8 3 8",
00753 "0 9 511 9 3 9",
00754 "0 10 1023 10 3 10",
00755 "0 11 2047 11 3 11",
00756 "0 12 4095 12 3 12",
00757 "0 13 8191 13 3 13",
00758 "0 14 16383 14 3 14",
00759 "0 15 32767 15 3 15",
00760 "1 0 0 4 0 0",
00761 "1 1 3 5 1 0",
00762 "1 2 5 7 1 1",
00763 "1 3 9 10 1 3",
00764 "1 4 15 4 3 4",
00765 "1 5 31 5 3 5",
00766 "1 6 63 6 3 6",
00767 "1 7 127 7 3 7",
00768 "1 8 255 8 3 8",
00769 "1 9 511 9 3 9",
00770 "1 10 1023 10 3 10",
00771 "1 11 2047 11 3 11",
00772 "1 12 4095 12 3 12",
00773 "1 13 8191 13 3 13",
00774 "1 14 16383 14 3 14",
00775 "1 15 32767 15 3 15",
00776 "2 0 0 3 0 0",
00777 "2 1 3 5 1 0",
00778 "2 2 5 7 1 1",
00779 "2 3 9 10 1 3",
00780 "2 4 15 4 3 4",
00781 "2 5 31 5 3 5",
00782 "2 6 63 6 3 6",
00783 "2 7 127 7 3 7",
00784 "3 0 0 3 0 0",
00785 "3 1 3 5 1 0",
00786 "3 2 5 7 1 1",
00787 "3 3 9 10 1 3",
00788 "3 4 15 4 3 4",
00789 "3 5 31 5 3 5",
00790 "3 6 63 6 3 6",
00791 "3 7 127 7 3 7",
00792 "4 0 0 3 0 0",
00793 "4 1 3 5 1 0",
00794 "4 2 5 7 1 1",
00795 "4 3 9 10 1 3",
00796 "4 4 15 4 3 4",
00797 "4 5 31 5 3 5",
00798 "4 6 63 6 3 6",
00799 "4 7 127 7 3 7",
00800 "5 0 0 3 0 0",
00801 "5 1 3 5 1 0",
00802 "5 2 5 7 1 1",
00803 "5 3 9 10 1 3",
00804 "5 4 15 4 3 4",
00805 "5 5 31 5 3 5",
00806 "5 6 63 6 3 6",
00807 "5 7 127 7 3 7",
00808 "6 0 0 3 0 0",
00809 "6 1 3 5 1 0",
00810 "6 2 5 7 1 1",
00811 "6 3 9 10 1 3",
00812 "6 4 15 4 3 4",
00813 "6 5 31 5 3 5",
00814 "6 6 63 6 3 6",
00815 "6 7 127 7 3 7",
00816 "7 0 0 3 0 0",
00817 "7 1 3 5 1 0",
00818 "7 2 5 7 1 1",
00819 "7 3 9 10 1 3",
00820 "7 4 15 4 3 4",
00821 "7 5 31 5 3 5",
00822 "7 6 63 6 3 6",
00823 "7 7 127 7 3 7",
00824 "8 0 0 3 0 0",
00825 "8 1 3 5 1 0",
00826 "8 2 5 7 1 1",
00827 "8 3 9 10 1 3",
00828 "8 4 15 4 3 4",
00829 "8 5 31 5 3 5",
00830 "8 6 63 6 3 6",
00831 "8 7 127 7 3 7",
00832 "9 0 0 3 0 0",
00833 "9 1 3 5 1 0",
00834 "9 2 5 7 1 1",
00835 "9 3 9 10 1 3",
00836 "9 4 15 4 3 4",
00837 "9 5 31 5 3 5",
00838 "9 6 63 6 3 6",
00839 "9 7 127 7 3 7",
00840 "10 0 0 3 0 0",
00841 "10 1 3 5 1 0",
00842 "10 2 5 7 1 1",
00843 "10 3 9 10 1 3",
00844 "10 4 15 4 3 4",
00845 "10 5 31 5 3 5",
00846 "10 6 63 6 3 6",
00847 "10 7 127 7 3 7",
00848 "11 0 0 3 0 0",
00849 "11 1 3 5 1 0",
00850 "11 2 5 7 1 1",
00851 "11 3 9 10 1 3",
00852 "11 4 15 4 3 4",
00853 "11 5 31 5 3 5",
00854 "11 6 63 6 3 6",
00855 "11 7 127 7 3 7",
00856 "<alloc_4>",
00857 "30",
00858 "0 0 0 4 0 0",
00859 "0 1 3 5 1 0",
00860 "0 2 5 7 1 1",
00861 "0 3 7 3 3 2",
00862 "0 4 9 10 1 3",
00863 "0 5 15 4 3 4",
00864 "0 6 31 5 3 5",
00865 "0 7 63 6 3 6",
00866 "0 8 127 7 3 7",
00867 "0 9 255 8 3 8",
00868 "0 10 511 9 3 9",
00869 "0 11 1023 10 3 10",
00870 "0 12 2047 11 3 11",
00871 "0 13 4095 12 3 12",
00872 "0 14 8191 13 3 13",
00873 "0 15 16383 14 3 14",
00874 "1 0 0 4 0 0",
00875 "1 1 3 5 1 0",
00876 "1 2 5 7 1 1",
00877 "1 3 7 3 3 2",
00878 "1 4 9 10 1 3",
00879 "1 5 15 4 3 4",
00880 "1 6 31 5 3 5",
00881 "1 7 63 6 3 6",
00882 "1 8 127 7 3 7",
00883 "1 9 255 8 3 8",
00884 "1 10 511 9 3 9",
00885 "1 11 1023 10 3 10",
00886 "1 12 2047 11 3 11",
00887 "1 13 4095 12 3 12",
00888 "1 14 8191 13 3 13",
00889 "1 15 16383 14 3 14",
00890 "2 0 0 4 0 0",
00891 "2 1 3 5 1 0",
00892 "2 2 5 7 1 1",
00893 "2 3 7 3 3 2",
00894 "2 4 9 10 1 3",
00895 "2 5 15 4 3 4",
00896 "2 6 31 5 3 5",
00897 "2 7 63 6 3 6",
00898 "2 8 127 7 3 7",
00899 "2 9 255 8 3 8",
00900 "2 10 511 9 3 9",
00901 "2 11 1023 10 3 10",
00902 "2 12 2047 11 3 11",
00903 "2 13 4095 12 3 12",
00904 "2 14 8191 13 3 13",
00905 "2 15 16383 14 3 14",
00906 "3 0 0 4 0 0",
00907 "3 1 3 5 1 0",
00908 "3 2 5 7 1 1",
00909 "3 3 7 3 3 2",
00910 "3 4 9 10 1 3",
00911 "3 5 15 4 3 4",
00912 "3 6 31 5 3 5",
00913 "3 7 63 6 3 6",
00914 "3 8 127 7 3 7",
00915 "3 9 255 8 3 8",
00916 "3 10 511 9 3 9",
00917 "3 11 1023 10 3 10",
00918 "3 12 2047 11 3 11",
00919 "3 13 4095 12 3 12",
00920 "3 14 8191 13 3 13",
00921 "3 15 16383 14 3 14",
00922 "4 0 0 3 0 0",
00923 "4 1 3 5 1 0",
00924 "4 2 5 7 1 1",
00925 "4 3 9 10 1 3",
00926 "4 4 15 4 3 4",
00927 "4 5 31 5 3 5",
00928 "4 6 63 6 3 6",
00929 "4 7 127 7 3 7 ",
00930 "5 0 0 3 0 0",
00931 "5 1 3 5 1 0",
00932 "5 2 5 7 1 1",
00933 "5 3 9 10 1 3",
00934 "5 4 15 4 3 4",
00935 "5 5 31 5 3 5",
00936 "5 6 63 6 3 6",
00937 "5 7 127 7 3 7 ",
00938 "6 0 0 3 0 0",
00939 "6 1 3 5 1 0",
00940 "6 2 5 7 1 1",
00941 "6 3 9 10 1 3",
00942 "6 4 15 4 3 4",
00943 "6 5 31 5 3 5",
00944 "6 6 63 6 3 6",
00945 "6 7 127 7 3 7 ",
00946 "7 0 0 3 0 0",
00947 "7 1 3 5 1 0",
00948 "7 2 5 7 1 1",
00949 "7 3 9 10 1 3",
00950 "7 4 15 4 3 4",
00951 "7 5 31 5 3 5",
00952 "7 6 63 6 3 6",
00953 "7 7 127 7 3 7 ",
00954 "8 0 0 3 0 0",
00955 "8 1 3 5 1 0",
00956 "8 2 5 7 1 1",
00957 "8 3 9 10 1 3",
00958 "8 4 15 4 3 4",
00959 "8 5 31 5 3 5",
00960 "8 6 63 6 3 6",
00961 "8 7 127 7 3 7 ",
00962 "9 0 0 3 0 0",
00963 "9 1 3 5 1 0",
00964 "9 2 5 7 1 1",
00965 "9 3 9 10 1 3",
00966 "9 4 15 4 3 4",
00967 "9 5 31 5 3 5",
00968 "9 6 63 6 3 6",
00969 "9 7 127 7 3 7 ",
00970 "10 0 0 3 0 0",
00971 "10 1 3 5 1 0",
00972 "10 2 5 7 1 1",
00973 "10 3 9 10 1 3",
00974 "10 4 15 4 3 4",
00975 "10 5 31 5 3 5",
00976 "10 6 63 6 3 6",
00977 "10 7 127 7 3 7 ",
00978 "11 0 0 2 0 0",
00979 "11 1 3 5 1 0",
00980 "11 2 5 7 1 1",
00981 "11 3 9 10 1 3",
00982 "12 0 0 2 0 0",
00983 "12 1 3 5 1 0",
00984 "12 2 5 7 1 1",
00985 "12 3 9 10 1 3",
00986 "13 0 0 2 0 0",
00987 "13 1 3 5 1 0",
00988 "13 2 5 7 1 1",
00989 "13 3 9 10 1 3",
00990 "14 0 0 2 0 0",
00991 "14 1 3 5 1 0",
00992 "14 2 5 7 1 1",
00993 "14 3 9 10 1 3",
00994 "15 0 0 2 0 0",
00995 "15 1 3 5 1 0",
00996 "15 2 5 7 1 1",
00997 "15 3 9 10 1 3",
00998 "16 0 0 2 0 0",
00999 "16 1 3 5 1 0",
01000 "16 2 5 7 1 1",
01001 "16 3 9 10 1 3",
01002 "17 0 0 2 0 0",
01003 "17 1 3 5 1 0",
01004 "17 2 5 7 1 1",
01005 "17 3 9 10 1 3",
01006 "18 0 0 2 0 0",
01007 "18 1 3 5 1 0",
01008 "18 2 5 7 1 1",
01009 "18 3 9 10 1 3",
01010 "19 0 0 2 0 0",
01011 "19 1 3 5 1 0",
01012 "19 2 5 7 1 1",
01013 "19 3 9 10 1 3",
01014 "20 0 0 2 0 0",
01015 "20 1 3 5 1 0",
01016 "20 2 5 7 1 1",
01017 "20 3 9 10 1 3",
01018 "21 0 0 2 0 0",
01019 "21 1 3 5 1 0",
01020 "21 2 5 7 1 1",
01021 "21 3 9 10 1 3",
01022 "22 0 0 2 0 0",
01023 "22 1 3 5 1 0",
01024 "22 2 5 7 1 1",
01025 "22 3 9 10 1 3",
01026 "23 0 0 2 0 0",
01027 "23 1 3 5 1 0",
01028 "23 2 5 7 1 1",
01029 "23 3 9 10 1 3",
01030 "24 0 0 2 0 0",
01031 "24 1 3 5 1 0",
01032 "24 2 5 7 1 1",
01033 "24 3 9 10 1 3",
01034 "25 0 0 2 0 0",
01035 "25 1 3 5 1 0",
01036 "25 2 5 7 1 1",
01037 "25 3 9 10 1 3",
01038 "26 0 0 2 0 0",
01039 "26 1 3 5 1 0",
01040 "26 2 5 7 1 1",
01041 "26 3 9 10 1 3",
01042 "27 0 0 2 0 0",
01043 "27 1 3 5 1 0",
01044 "27 2 5 7 1 1",
01045 "27 3 9 10 1 3",
01046 "28 0 0 2 0 0",
01047 "28 1 3 5 1 0",
01048 "28 2 5 7 1 1",
01049 "28 3 9 10 1 3",
01050 "29 0 0 2 0 0",
01051 "29 1 3 5 1 0",
01052 "29 2 5 7 1 1",
01053 "29 3 9 10 1 3",
01054 "<next>"
01055 };
01056
01057 unsigned int a, b, c, d, i, j;
01058 char t[80];
01059 int sblim;
01060 int startindex;
01061
01062 if ((table < 0) || (table > 4))
01063 table = 0;
01064
01065 startindex = startindex_subband[table] + 1;
01066
01067
01068
01069 sprintf (t, "%s", alloc_subbands[startindex]);
01070 startindex++;
01071 sscanf (t, "%d\n", &sblim);
01072
01073 while (t[0] != '<') {
01074 sprintf (t, "%s", alloc_subbands[startindex]);
01075 startindex++;
01076 if (t[0] == '<')
01077 break;
01078
01079 sscanf (t, "%d %d %d %d %d %d\n", &i, &j, &a, &b, &c, &d);
01080 (*alloc)[i][j].steps = a;
01081 (*alloc)[i][j].bits = b;
01082 (*alloc)[i][j].group = c;
01083 (*alloc)[i][j].quant = d;
01084 }
01085 return sblim;
01086 }