diff options
Diffstat (limited to 'libtoolame-dab/tables.c')
-rw-r--r-- | libtoolame-dab/tables.c | 1086 |
1 files changed, 1086 insertions, 0 deletions
diff --git a/libtoolame-dab/tables.c b/libtoolame-dab/tables.c new file mode 100644 index 0000000..2ed35b4 --- /dev/null +++ b/libtoolame-dab/tables.c @@ -0,0 +1,1086 @@ +/********************************************************************** + * MPEG/Audio Tables I/O routines + **********************************************************************/ +#include <stdio.h> +#include <string.h> +#include <ctype.h> +#include <unistd.h> +#include "common.h" +#include "mem.h" +#include "tables.h" + +#define NUMTABLES 38 +char table_names[NUMTABLES][9]; +long table_offsets[NUMTABLES]; +int numtables = 0; +char table_filename[250]; + +int pick_table (frame_info * frame) +/* choose table, load if necess, return # sb's */ +{ + int table, lay, ws, bsp, br_per_ch, sfrq; + int sblim = frame->sblimit; /* return current value if no load */ + + lay = frame->header->lay - 1; + bsp = frame->header->bitrate_index; + br_per_ch = bitrate[frame->header->version][bsp] / frame->nch; + ws = frame->header->sampling_frequency; + sfrq = s_freq[frame->header->version][ws]; + /* decision rules refer to per-channel bitrates (kbits/sec/chan) */ + if (frame->header->version == MPEG_AUDIO_ID) { /* MPEG-1 */ + if ((sfrq == 48 && br_per_ch >= 56) + || (br_per_ch >= 56 && br_per_ch <= 80)) + table = 0; + else if (sfrq != 48 && br_per_ch >= 96) + table = 1; + else if (sfrq != 32 && br_per_ch <= 48) + table = 2; + else + table = 3; + } else { /* MPEG-2 LSF */ + table = 4; + } + if (frame->tab_num != table) { + if (frame->tab_num >= 0) + mem_free ((void **) &(frame->alloc)); + frame->alloc = (al_table *) mem_alloc (sizeof (al_table), "alloc"); + sblim = read_bit_alloc (frame->tab_num = table, frame->alloc); + } + return sblim; +} + + +/*********************************************************************** + * + * Read one of the data files ("alloc_*") specifying the bit allocation + * quatization parameters for each subband in layer II encoding + * + **********************************************************************/ + +int read_bit_alloc (table, alloc) /* read in table, return # subbands */ + int table; + al_table *alloc; +{ + + static const int startindex_subband[5] = { 0, 290, 592, 674, 788 }; + + static const char alloc_subbands[][20] = { + "<alloc_0>", + "27", + "0 0 0 4 0 0", + "0 1 3 5 1 0", + "0 2 7 3 3 2", + "0 3 15 4 3 4", + "0 4 31 5 3 5", + "0 5 63 6 3 6", + "0 6 127 7 3 7", + "0 7 255 8 3 8", + "0 8 511 9 3 9", + "0 9 1023 10 3 10", + "0 10 2047 11 3 11", + "0 11 4095 12 3 12", + "0 12 8191 13 3 13", + "0 13 16383 14 3 14", + "0 14 32767 15 3 15", + "0 15 65535 16 3 16", + "1 0 0 4 0 0", + "1 1 3 5 1 0", + "1 2 7 3 3 2", + "1 3 15 4 3 4", + "1 4 31 5 3 5", + "1 5 63 6 3 6", + "1 6 127 7 3 7", + "1 7 255 8 3 8", + "1 8 511 9 3 9", + "1 9 1023 10 3 10", + "1 10 2047 11 3 11", + "1 11 4095 12 3 12", + "1 12 8191 13 3 13", + "1 13 16383 14 3 14", + "1 14 32767 15 3 15", + "1 15 65535 16 3 16", + "2 0 0 4 0 0", + "2 1 3 5 1 0", + "2 2 7 3 3 2", + "2 3 15 4 3 4", + "2 4 31 5 3 5", + "2 5 63 6 3 6", + "2 6 127 7 3 7", + "2 7 255 8 3 8", + "2 8 511 9 3 9", + "2 9 1023 10 3 10", + "2 10 2047 11 3 11", + "2 11 4095 12 3 12", + "2 12 8191 13 3 13", + "2 13 16383 14 3 14", + "2 14 32767 15 3 15", + "2 15 65535 16 3 16", + "3 0 0 4 0 0", + "3 1 3 5 1 0", + "3 2 5 7 1 1", + "3 3 7 3 3 2", + "3 4 9 10 1 3", + "3 5 15 4 3 4", + "3 6 31 5 3 5", + "3 7 63 6 3 6", + "3 8 127 7 3 7 ", + "3 9 255 8 3 8", + "3 10 511 9 3 9", + "3 11 1023 10 3 10", + "3 12 2047 11 3 11", + "3 13 4095 12 3 12", + "3 14 8191 13 3 13", + "3 15 65535 16 3 16", + "4 0 0 4 0 0", + "4 1 3 5 1 0", + "4 2 5 7 1 1", + "4 3 7 3 3 2", + "4 4 9 10 1 3", + "4 5 15 4 3 4", + "4 6 31 5 3 5", + "4 7 63 6 3 6", + "4 8 127 7 3 7 ", + "4 9 255 8 3 8", + "4 10 511 9 3 9", + "4 11 1023 10 3 10", + "4 12 2047 11 3 11", + "4 13 4095 12 3 12", + "4 14 8191 13 3 13", + "4 15 65535 16 3 16", + "5 0 0 4 0 0", + "5 1 3 5 1 0", + "5 2 5 7 1 1", + "5 3 7 3 3 2", + "5 4 9 10 1 3", + "5 5 15 4 3 4", + "5 6 31 5 3 5", + "5 7 63 6 3 6", + "5 8 127 7 3 7 ", + "5 9 255 8 3 8", + "5 10 511 9 3 9", + "5 11 1023 10 3 10", + "5 12 2047 11 3 11", + "5 13 4095 12 3 12", + "5 14 8191 13 3 13", + "5 15 65535 16 3 16", + "6 0 0 4 0 0", + "6 1 3 5 1 0", + "6 2 5 7 1 1", + "6 3 7 3 3 2", + "6 4 9 10 1 3", + "6 5 15 4 3 4", + "6 6 31 5 3 5", + "6 7 63 6 3 6", + "6 8 127 7 3 7 ", + "6 9 255 8 3 8", + "6 10 511 9 3 9", + "6 11 1023 10 3 10", + "6 12 2047 11 3 11", + "6 13 4095 12 3 12", + "6 14 8191 13 3 13", + "6 15 65535 16 3 16", + "7 0 0 4 0 0", + "7 1 3 5 1 0", + "7 2 5 7 1 1", + "7 3 7 3 3 2", + "7 4 9 10 1 3", + "7 5 15 4 3 4", + "7 6 31 5 3 5", + "7 7 63 6 3 6", + "7 8 127 7 3 7 ", + "7 9 255 8 3 8", + "7 10 511 9 3 9", + "7 11 1023 10 3 10", + "7 12 2047 11 3 11", + "7 13 4095 12 3 12", + "7 14 8191 13 3 13", + "7 15 65535 16 3 16", + "8 0 0 4 0 0", + "8 1 3 5 1 0", + "8 2 5 7 1 1", + "8 3 7 3 3 2", + "8 4 9 10 1 3", + "8 5 15 4 3 4", + "8 6 31 5 3 5", + "8 7 63 6 3 6", + "8 8 127 7 3 7 ", + "8 9 255 8 3 8", + "8 10 511 9 3 9", + "8 11 1023 10 3 10", + "8 12 2047 11 3 11", + "8 13 4095 12 3 12", + "8 14 8191 13 3 13", + "8 15 65535 16 3 16", + "9 0 0 4 0 0", + "9 1 3 5 1 0", + "9 2 5 7 1 1", + "9 3 7 3 3 2", + "9 4 9 10 1 3", + "9 5 15 4 3 4", + "9 6 31 5 3 5", + "9 7 63 6 3 6", + "9 8 127 7 3 7 ", + "9 9 255 8 3 8", + "9 10 511 9 3 9", + "9 11 1023 10 3 10", + "9 12 2047 11 3 11", + "9 13 4095 12 3 12", + "9 14 8191 13 3 13", + "9 15 65535 16 3 16", + "10 0 0 4 0 0", + "10 1 3 5 1 0", + "10 2 5 7 1 1", + "10 3 7 3 3 2", + "10 4 9 10 1 3", + "10 5 15 4 3 4", + "10 6 31 5 3 5", + "10 7 63 6 3 6", + "10 8 127 7 3 7 ", + "10 9 255 8 3 8", + "10 10 511 9 3 9", + "10 11 1023 10 3 10", + "10 12 2047 11 3 11", + "10 13 4095 12 3 12", + "10 14 8191 13 3 13", + "10 15 65535 16 3 16", + "11 0 0 3 0 0", + "11 1 3 5 1 0", + "11 2 5 7 1 1", + "11 3 7 3 3 2", + "11 4 9 10 1 3", + "11 5 15 4 3 4", + "11 6 31 5 3 5", + "11 7 65535 16 3 16 ", + "12 0 0 3 0 0", + "12 1 3 5 1 0", + "12 2 5 7 1 1", + "12 3 7 3 3 2", + "12 4 9 10 1 3", + "12 5 15 4 3 4", + "12 6 31 5 3 5", + "12 7 65535 16 3 16 ", + "13 0 0 3 0 0", + "13 1 3 5 1 0", + "13 2 5 7 1 1", + "13 3 7 3 3 2", + "13 4 9 10 1 3", + "13 5 15 4 3 4", + "13 6 31 5 3 5", + "13 7 65535 16 3 16 ", + "14 0 0 3 0 0", + "14 1 3 5 1 0", + "14 2 5 7 1 1", + "14 3 7 3 3 2", + "14 4 9 10 1 3", + "14 5 15 4 3 4", + "14 6 31 5 3 5", + "14 7 65535 16 3 16 ", + "15 0 0 3 0 0", + "15 1 3 5 1 0", + "15 2 5 7 1 1", + "15 3 7 3 3 2", + "15 4 9 10 1 3", + "15 5 15 4 3 4", + "15 6 31 5 3 5", + "15 7 65535 16 3 16 ", + "16 0 0 3 0 0", + "16 1 3 5 1 0", + "16 2 5 7 1 1", + "16 3 7 3 3 2", + "16 4 9 10 1 3", + "16 5 15 4 3 4", + "16 6 31 5 3 5", + "16 7 65535 16 3 16 ", + "17 0 0 3 0 0", + "17 1 3 5 1 0", + "17 2 5 7 1 1", + "17 3 7 3 3 2", + "17 4 9 10 1 3", + "17 5 15 4 3 4", + "17 6 31 5 3 5", + "17 7 65535 16 3 16 ", + "18 0 0 3 0 0", + "18 1 3 5 1 0", + "18 2 5 7 1 1", + "18 3 7 3 3 2", + "18 4 9 10 1 3", + "18 5 15 4 3 4", + "18 6 31 5 3 5", + "18 7 65535 16 3 16 ", + "19 0 0 3 0 0", + "19 1 3 5 1 0", + "19 2 5 7 1 1", + "19 3 7 3 3 2", + "19 4 9 10 1 3", + "19 5 15 4 3 4", + "19 6 31 5 3 5", + "19 7 65535 16 3 16 ", + "20 0 0 3 0 0", + "20 1 3 5 1 0", + "20 2 5 7 1 1", + "20 3 7 3 3 2", + "20 4 9 10 1 3", + "20 5 15 4 3 4", + "20 6 31 5 3 5", + "20 7 65535 16 3 16 ", + "21 0 0 3 0 0", + "21 1 3 5 1 0", + "21 2 5 7 1 1", + "21 3 7 3 3 2", + "21 4 9 10 1 3", + "21 5 15 4 3 4", + "21 6 31 5 3 5", + "21 7 65535 16 3 16 ", + "22 0 0 3 0 0", + "22 1 3 5 1 0", + "22 2 5 7 1 1", + "22 3 7 3 3 2", + "22 4 9 10 1 3", + "22 5 15 4 3 4", + "22 6 31 5 3 5", + "22 7 65535 16 3 16 ", + "23 0 0 2 0 0", + "23 1 3 5 1 0", + "23 2 5 7 1 1", + "23 3 65535 16 3 16", + "24 0 0 2 0 0", + "24 1 3 5 1 0", + "24 2 5 7 1 1", + "24 3 65535 16 3 16", + "25 0 0 2 0 0", + "25 1 3 5 1 0", + "25 2 5 7 1 1", + "25 3 65535 16 3 16", + "26 0 0 2 0 0", + "26 1 3 5 1 0", + "26 2 5 7 1 1", + "26 3 65535 16 3 16", + "<alloc_1>", + "30", + "0 0 0 4 0 0", + "0 1 3 5 1 0", + "0 2 7 3 3 2", + "0 3 15 4 3 4", + "0 4 31 5 3 5", + "0 5 63 6 3 6", + "0 6 127 7 3 7", + "0 7 255 8 3 8", + "0 8 511 9 3 9", + "0 9 1023 10 3 10", + "0 10 2047 11 3 11", + "0 11 4095 12 3 12", + "0 12 8191 13 3 13", + "0 13 16383 14 3 14", + "0 14 32767 15 3 15", + "0 15 65535 16 3 16", + "1 0 0 4 0 0", + "1 1 3 5 1 0", + "1 2 7 3 3 2", + "1 3 15 4 3 4", + "1 4 31 5 3 5", + "1 5 63 6 3 6", + "1 6 127 7 3 7", + "1 7 255 8 3 8", + "1 8 511 9 3 9", + "1 9 1023 10 3 10", + "1 10 2047 11 3 11", + "1 11 4095 12 3 12", + "1 12 8191 13 3 13", + "1 13 16383 14 3 14", + "1 14 32767 15 3 15", + "1 15 65535 16 3 16", + "2 0 0 4 0 0", + "2 1 3 5 1 0", + "2 2 7 3 3 2", + "2 3 15 4 3 4", + "2 4 31 5 3 5", + "2 5 63 6 3 6", + "2 6 127 7 3 7", + "2 7 255 8 3 8", + "2 8 511 9 3 9", + "2 9 1023 10 3 10", + "2 10 2047 11 3 11", + "2 11 4095 12 3 12", + "2 12 8191 13 3 13", + "2 13 16383 14 3 14", + "2 14 32767 15 3 15", + "2 15 65535 16 3 16", + "3 0 0 4 0 0", + "3 1 3 5 1 0", + "3 2 5 7 1 1", + "3 3 7 3 3 2", + "3 4 9 10 1 3", + "3 5 15 4 3 4", + "3 6 31 5 3 5", + "3 7 63 6 3 6", + "3 8 127 7 3 7 ", + "3 9 255 8 3 8", + "3 10 511 9 3 9", + "3 11 1023 10 3 10", + "3 12 2047 11 3 11", + "3 13 4095 12 3 12", + "3 14 8191 13 3 13", + "3 15 65535 16 3 16", + "4 0 0 4 0 0", + "4 1 3 5 1 0", + "4 2 5 7 1 1", + "4 3 7 3 3 2", + "4 4 9 10 1 3", + "4 5 15 4 3 4", + "4 6 31 5 3 5", + "4 7 63 6 3 6", + "4 8 127 7 3 7 ", + "4 9 255 8 3 8", + "4 10 511 9 3 9", + "4 11 1023 10 3 10", + "4 12 2047 11 3 11", + "4 13 4095 12 3 12", + "4 14 8191 13 3 13", + "4 15 65535 16 3 16", + "5 0 0 4 0 0", + "5 1 3 5 1 0", + "5 2 5 7 1 1", + "5 3 7 3 3 2", + "5 4 9 10 1 3", + "5 5 15 4 3 4", + "5 6 31 5 3 5", + "5 7 63 6 3 6", + "5 8 127 7 3 7 ", + "5 9 255 8 3 8", + "5 10 511 9 3 9", + "5 11 1023 10 3 10", + "5 12 2047 11 3 11", + "5 13 4095 12 3 12", + "5 14 8191 13 3 13", + "5 15 65535 16 3 16", + "6 0 0 4 0 0", + "6 1 3 5 1 0", + "6 2 5 7 1 1", + "6 3 7 3 3 2", + "6 4 9 10 1 3", + "6 5 15 4 3 4", + "6 6 31 5 3 5", + "6 7 63 6 3 6", + "6 8 127 7 3 7 ", + "6 9 255 8 3 8", + "6 10 511 9 3 9", + "6 11 1023 10 3 10", + "6 12 2047 11 3 11", + "6 13 4095 12 3 12", + "6 14 8191 13 3 13", + "6 15 65535 16 3 16", + "7 0 0 4 0 0", + "7 1 3 5 1 0", + "7 2 5 7 1 1", + "7 3 7 3 3 2", + "7 4 9 10 1 3", + "7 5 15 4 3 4", + "7 6 31 5 3 5", + "7 7 63 6 3 6", + "7 8 127 7 3 7 ", + "7 9 255 8 3 8", + "7 10 511 9 3 9", + "7 11 1023 10 3 10", + "7 12 2047 11 3 11", + "7 13 4095 12 3 12", + "7 14 8191 13 3 13", + "7 15 65535 16 3 16", + "8 0 0 4 0 0", + "8 1 3 5 1 0", + "8 2 5 7 1 1", + "8 3 7 3 3 2", + "8 4 9 10 1 3", + "8 5 15 4 3 4", + "8 6 31 5 3 5", + "8 7 63 6 3 6", + "8 8 127 7 3 7 ", + "8 9 255 8 3 8", + "8 10 511 9 3 9", + "8 11 1023 10 3 10", + "8 12 2047 11 3 11", + "8 13 4095 12 3 12", + "8 14 8191 13 3 13", + "8 15 65535 16 3 16", + "9 0 0 4 0 0", + "9 1 3 5 1 0", + "9 2 5 7 1 1", + "9 3 7 3 3 2", + "9 4 9 10 1 3", + "9 5 15 4 3 4", + "9 6 31 5 3 5", + "9 7 63 6 3 6", + "9 8 127 7 3 7 ", + "9 9 255 8 3 8", + "9 10 511 9 3 9", + "9 11 1023 10 3 10", + "9 12 2047 11 3 11", + "9 13 4095 12 3 12", + "9 14 8191 13 3 13", + "9 15 65535 16 3 16", + "10 0 0 4 0 0", + "10 1 3 5 1 0", + "10 2 5 7 1 1", + "10 3 7 3 3 2", + "10 4 9 10 1 3", + "10 5 15 4 3 4", + "10 6 31 5 3 5", + "10 7 63 6 3 6", + "10 8 127 7 3 7 ", + "10 9 255 8 3 8", + "10 10 511 9 3 9", + "10 11 1023 10 3 10", + "10 12 2047 11 3 11", + "10 13 4095 12 3 12", + "10 14 8191 13 3 13", + "10 15 65535 16 3 16", + "11 0 0 3 0 0", + "11 1 3 5 1 0", + "11 2 5 7 1 1", + "11 3 7 3 3 2", + "11 4 9 10 1 3", + "11 5 15 4 3 4", + "11 6 31 5 3 5", + "11 7 65535 16 3 16 ", + "12 0 0 3 0 0", + "12 1 3 5 1 0", + "12 2 5 7 1 1", + "12 3 7 3 3 2", + "12 4 9 10 1 3", + "12 5 15 4 3 4", + "12 6 31 5 3 5", + "12 7 65535 16 3 16 ", + "13 0 0 3 0 0", + "13 1 3 5 1 0", + "13 2 5 7 1 1", + "13 3 7 3 3 2", + "13 4 9 10 1 3", + "13 5 15 4 3 4", + "13 6 31 5 3 5", + "13 7 65535 16 3 16 ", + "14 0 0 3 0 0", + "14 1 3 5 1 0", + "14 2 5 7 1 1", + "14 3 7 3 3 2", + "14 4 9 10 1 3", + "14 5 15 4 3 4", + "14 6 31 5 3 5", + "14 7 65535 16 3 16 ", + "15 0 0 3 0 0", + "15 1 3 5 1 0", + "15 2 5 7 1 1", + "15 3 7 3 3 2", + "15 4 9 10 1 3", + "15 5 15 4 3 4", + "15 6 31 5 3 5", + "15 7 65535 16 3 16 ", + "16 0 0 3 0 0", + "16 1 3 5 1 0", + "16 2 5 7 1 1", + "16 3 7 3 3 2", + "16 4 9 10 1 3", + "16 5 15 4 3 4", + "16 6 31 5 3 5", + "16 7 65535 16 3 16 ", + "17 0 0 3 0 0", + "17 1 3 5 1 0", + "17 2 5 7 1 1", + "17 3 7 3 3 2", + "17 4 9 10 1 3", + "17 5 15 4 3 4", + "17 6 31 5 3 5", + "17 7 65535 16 3 16 ", + "18 0 0 3 0 0", + "18 1 3 5 1 0", + "18 2 5 7 1 1", + "18 3 7 3 3 2", + "18 4 9 10 1 3", + "18 5 15 4 3 4", + "18 6 31 5 3 5", + "18 7 65535 16 3 16 ", + "19 0 0 3 0 0", + "19 1 3 5 1 0", + "19 2 5 7 1 1", + "19 3 7 3 3 2", + "19 4 9 10 1 3", + "19 5 15 4 3 4", + "19 6 31 5 3 5", + "19 7 65535 16 3 16 ", + "20 0 0 3 0 0", + "20 1 3 5 1 0", + "20 2 5 7 1 1", + "20 3 7 3 3 2", + "20 4 9 10 1 3", + "20 5 15 4 3 4", + "20 6 31 5 3 5", + "20 7 65535 16 3 16 ", + "21 0 0 3 0 0", + "21 1 3 5 1 0", + "21 2 5 7 1 1", + "21 3 7 3 3 2", + "21 4 9 10 1 3", + "21 5 15 4 3 4", + "21 6 31 5 3 5", + "21 7 65535 16 3 16 ", + "22 0 0 3 0 0", + "22 1 3 5 1 0", + "22 2 5 7 1 1", + "22 3 7 3 3 2", + "22 4 9 10 1 3", + "22 5 15 4 3 4", + "22 6 31 5 3 5", + "22 7 65535 16 3 16 ", + "23 0 0 2 0 0", + "23 1 3 5 1 0", + "23 2 5 7 1 1", + "23 3 65535 16 3 16", + "24 0 0 2 0 0", + "24 1 3 5 1 0", + "24 2 5 7 1 1", + "24 3 65535 16 3 16", + "25 0 0 2 0 0", + "25 1 3 5 1 0", + "25 2 5 7 1 1", + "25 3 65535 16 3 16", + "26 0 0 2 0 0", + "26 1 3 5 1 0", + "26 2 5 7 1 1", + "26 3 65535 16 3 16", + "27 0 0 2 0 0", + "27 1 3 5 1 0", + "27 2 5 7 1 1", + "27 3 65535 16 3 16", + "28 0 0 2 0 0", + "28 1 3 5 1 0", + "28 2 5 7 1 1", + "28 3 65535 16 3 16", + "29 0 0 2 0 0", + "29 1 3 5 1 0", + "29 2 5 7 1 1", + "29 3 65535 16 3 16", + "<alloc_2>", + "8", + "0 0 0 4 0 0", + "0 1 3 5 1 0", + "0 2 5 7 1 1", + "0 3 9 10 1 3", + "0 4 15 4 3 4", + "0 5 31 5 3 5", + "0 6 63 6 3 6", + "0 7 127 7 3 7", + "0 8 255 8 3 8", + "0 9 511 9 3 9", + "0 10 1023 10 3 10", + "0 11 2047 11 3 11", + "0 12 4095 12 3 12", + "0 13 8191 13 3 13", + "0 14 16383 14 3 14", + "0 15 32767 15 3 15", + "1 0 0 4 0 0", + "1 1 3 5 1 0", + "1 2 5 7 1 1", + "1 3 9 10 1 3", + "1 4 15 4 3 4", + "1 5 31 5 3 5", + "1 6 63 6 3 6", + "1 7 127 7 3 7", + "1 8 255 8 3 8", + "1 9 511 9 3 9", + "1 10 1023 10 3 10", + "1 11 2047 11 3 11", + "1 12 4095 12 3 12", + "1 13 8191 13 3 13", + "1 14 16383 14 3 14", + "1 15 32767 15 3 15", + "2 0 0 3 0 0", + "2 1 3 5 1 0", + "2 2 5 7 1 1", + "2 3 9 10 1 3", + "2 4 15 4 3 4", + "2 5 31 5 3 5", + "2 6 63 6 3 6", + "2 7 127 7 3 7", + "3 0 0 3 0 0", + "3 1 3 5 1 0", + "3 2 5 7 1 1", + "3 3 9 10 1 3", + "3 4 15 4 3 4", + "3 5 31 5 3 5", + "3 6 63 6 3 6", + "3 7 127 7 3 7", + "4 0 0 3 0 0", + "4 1 3 5 1 0", + "4 2 5 7 1 1", + "4 3 9 10 1 3", + "4 4 15 4 3 4", + "4 5 31 5 3 5", + "4 6 63 6 3 6", + "4 7 127 7 3 7", + "5 0 0 3 0 0", + "5 1 3 5 1 0", + "5 2 5 7 1 1", + "5 3 9 10 1 3", + "5 4 15 4 3 4", + "5 5 31 5 3 5", + "5 6 63 6 3 6", + "5 7 127 7 3 7", + "6 0 0 3 0 0", + "6 1 3 5 1 0", + "6 2 5 7 1 1", + "6 3 9 10 1 3", + "6 4 15 4 3 4", + "6 5 31 5 3 5", + "6 6 63 6 3 6", + "6 7 127 7 3 7", + "7 0 0 3 0 0", + "7 1 3 5 1 0", + "7 2 5 7 1 1", + "7 3 9 10 1 3", + "7 4 15 4 3 4", + "7 5 31 5 3 5", + "7 6 63 6 3 6", + "7 7 127 7 3 7", + "<alloc_3>", + "12", + "0 0 0 4 0 0", + "0 1 3 5 1 0", + "0 2 5 7 1 1", + "0 3 9 10 1 3", + "0 4 15 4 3 4", + "0 5 31 5 3 5", + "0 6 63 6 3 6", + "0 7 127 7 3 7", + "0 8 255 8 3 8", + "0 9 511 9 3 9", + "0 10 1023 10 3 10", + "0 11 2047 11 3 11", + "0 12 4095 12 3 12", + "0 13 8191 13 3 13", + "0 14 16383 14 3 14", + "0 15 32767 15 3 15", + "1 0 0 4 0 0", + "1 1 3 5 1 0", + "1 2 5 7 1 1", + "1 3 9 10 1 3", + "1 4 15 4 3 4", + "1 5 31 5 3 5", + "1 6 63 6 3 6", + "1 7 127 7 3 7", + "1 8 255 8 3 8", + "1 9 511 9 3 9", + "1 10 1023 10 3 10", + "1 11 2047 11 3 11", + "1 12 4095 12 3 12", + "1 13 8191 13 3 13", + "1 14 16383 14 3 14", + "1 15 32767 15 3 15", + "2 0 0 3 0 0", + "2 1 3 5 1 0", + "2 2 5 7 1 1", + "2 3 9 10 1 3", + "2 4 15 4 3 4", + "2 5 31 5 3 5", + "2 6 63 6 3 6", + "2 7 127 7 3 7", + "3 0 0 3 0 0", + "3 1 3 5 1 0", + "3 2 5 7 1 1", + "3 3 9 10 1 3", + "3 4 15 4 3 4", + "3 5 31 5 3 5", + "3 6 63 6 3 6", + "3 7 127 7 3 7", + "4 0 0 3 0 0", + "4 1 3 5 1 0", + "4 2 5 7 1 1", + "4 3 9 10 1 3", + "4 4 15 4 3 4", + "4 5 31 5 3 5", + "4 6 63 6 3 6", + "4 7 127 7 3 7", + "5 0 0 3 0 0", + "5 1 3 5 1 0", + "5 2 5 7 1 1", + "5 3 9 10 1 3", + "5 4 15 4 3 4", + "5 5 31 5 3 5", + "5 6 63 6 3 6", + "5 7 127 7 3 7", + "6 0 0 3 0 0", + "6 1 3 5 1 0", + "6 2 5 7 1 1", + "6 3 9 10 1 3", + "6 4 15 4 3 4", + "6 5 31 5 3 5", + "6 6 63 6 3 6", + "6 7 127 7 3 7", + "7 0 0 3 0 0", + "7 1 3 5 1 0", + "7 2 5 7 1 1", + "7 3 9 10 1 3", + "7 4 15 4 3 4", + "7 5 31 5 3 5", + "7 6 63 6 3 6", + "7 7 127 7 3 7", + "8 0 0 3 0 0", + "8 1 3 5 1 0", + "8 2 5 7 1 1", + "8 3 9 10 1 3", + "8 4 15 4 3 4", + "8 5 31 5 3 5", + "8 6 63 6 3 6", + "8 7 127 7 3 7", + "9 0 0 3 0 0", + "9 1 3 5 1 0", + "9 2 5 7 1 1", + "9 3 9 10 1 3", + "9 4 15 4 3 4", + "9 5 31 5 3 5", + "9 6 63 6 3 6", + "9 7 127 7 3 7", + "10 0 0 3 0 0", + "10 1 3 5 1 0", + "10 2 5 7 1 1", + "10 3 9 10 1 3", + "10 4 15 4 3 4", + "10 5 31 5 3 5", + "10 6 63 6 3 6", + "10 7 127 7 3 7", + "11 0 0 3 0 0", + "11 1 3 5 1 0", + "11 2 5 7 1 1", + "11 3 9 10 1 3", + "11 4 15 4 3 4", + "11 5 31 5 3 5", + "11 6 63 6 3 6", + "11 7 127 7 3 7", + "<alloc_4>", + "30", + "0 0 0 4 0 0", + "0 1 3 5 1 0", + "0 2 5 7 1 1", + "0 3 7 3 3 2", + "0 4 9 10 1 3", + "0 5 15 4 3 4", + "0 6 31 5 3 5", + "0 7 63 6 3 6", + "0 8 127 7 3 7", + "0 9 255 8 3 8", + "0 10 511 9 3 9", + "0 11 1023 10 3 10", + "0 12 2047 11 3 11", + "0 13 4095 12 3 12", + "0 14 8191 13 3 13", + "0 15 16383 14 3 14", + "1 0 0 4 0 0", + "1 1 3 5 1 0", + "1 2 5 7 1 1", + "1 3 7 3 3 2", + "1 4 9 10 1 3", + "1 5 15 4 3 4", + "1 6 31 5 3 5", + "1 7 63 6 3 6", + "1 8 127 7 3 7", + "1 9 255 8 3 8", + "1 10 511 9 3 9", + "1 11 1023 10 3 10", + "1 12 2047 11 3 11", + "1 13 4095 12 3 12", + "1 14 8191 13 3 13", + "1 15 16383 14 3 14", + "2 0 0 4 0 0", + "2 1 3 5 1 0", + "2 2 5 7 1 1", + "2 3 7 3 3 2", + "2 4 9 10 1 3", + "2 5 15 4 3 4", + "2 6 31 5 3 5", + "2 7 63 6 3 6", + "2 8 127 7 3 7", + "2 9 255 8 3 8", + "2 10 511 9 3 9", + "2 11 1023 10 3 10", + "2 12 2047 11 3 11", + "2 13 4095 12 3 12", + "2 14 8191 13 3 13", + "2 15 16383 14 3 14", + "3 0 0 4 0 0", + "3 1 3 5 1 0", + "3 2 5 7 1 1", + "3 3 7 3 3 2", + "3 4 9 10 1 3", + "3 5 15 4 3 4", + "3 6 31 5 3 5", + "3 7 63 6 3 6", + "3 8 127 7 3 7", + "3 9 255 8 3 8", + "3 10 511 9 3 9", + "3 11 1023 10 3 10", + "3 12 2047 11 3 11", + "3 13 4095 12 3 12", + "3 14 8191 13 3 13", + "3 15 16383 14 3 14", + "4 0 0 3 0 0", + "4 1 3 5 1 0", + "4 2 5 7 1 1", + "4 3 9 10 1 3", + "4 4 15 4 3 4", + "4 5 31 5 3 5", + "4 6 63 6 3 6", + "4 7 127 7 3 7 ", + "5 0 0 3 0 0", + "5 1 3 5 1 0", + "5 2 5 7 1 1", + "5 3 9 10 1 3", + "5 4 15 4 3 4", + "5 5 31 5 3 5", + "5 6 63 6 3 6", + "5 7 127 7 3 7 ", + "6 0 0 3 0 0", + "6 1 3 5 1 0", + "6 2 5 7 1 1", + "6 3 9 10 1 3", + "6 4 15 4 3 4", + "6 5 31 5 3 5", + "6 6 63 6 3 6", + "6 7 127 7 3 7 ", + "7 0 0 3 0 0", + "7 1 3 5 1 0", + "7 2 5 7 1 1", + "7 3 9 10 1 3", + "7 4 15 4 3 4", + "7 5 31 5 3 5", + "7 6 63 6 3 6", + "7 7 127 7 3 7 ", + "8 0 0 3 0 0", + "8 1 3 5 1 0", + "8 2 5 7 1 1", + "8 3 9 10 1 3", + "8 4 15 4 3 4", + "8 5 31 5 3 5", + "8 6 63 6 3 6", + "8 7 127 7 3 7 ", + "9 0 0 3 0 0", + "9 1 3 5 1 0", + "9 2 5 7 1 1", + "9 3 9 10 1 3", + "9 4 15 4 3 4", + "9 5 31 5 3 5", + "9 6 63 6 3 6", + "9 7 127 7 3 7 ", + "10 0 0 3 0 0", + "10 1 3 5 1 0", + "10 2 5 7 1 1", + "10 3 9 10 1 3", + "10 4 15 4 3 4", + "10 5 31 5 3 5", + "10 6 63 6 3 6", + "10 7 127 7 3 7 ", + "11 0 0 2 0 0", + "11 1 3 5 1 0", + "11 2 5 7 1 1", + "11 3 9 10 1 3", + "12 0 0 2 0 0", + "12 1 3 5 1 0", + "12 2 5 7 1 1", + "12 3 9 10 1 3", + "13 0 0 2 0 0", + "13 1 3 5 1 0", + "13 2 5 7 1 1", + "13 3 9 10 1 3", + "14 0 0 2 0 0", + "14 1 3 5 1 0", + "14 2 5 7 1 1", + "14 3 9 10 1 3", + "15 0 0 2 0 0", + "15 1 3 5 1 0", + "15 2 5 7 1 1", + "15 3 9 10 1 3", + "16 0 0 2 0 0", + "16 1 3 5 1 0", + "16 2 5 7 1 1", + "16 3 9 10 1 3", + "17 0 0 2 0 0", + "17 1 3 5 1 0", + "17 2 5 7 1 1", + "17 3 9 10 1 3", + "18 0 0 2 0 0", + "18 1 3 5 1 0", + "18 2 5 7 1 1", + "18 3 9 10 1 3", + "19 0 0 2 0 0", + "19 1 3 5 1 0", + "19 2 5 7 1 1", + "19 3 9 10 1 3", + "20 0 0 2 0 0", + "20 1 3 5 1 0", + "20 2 5 7 1 1", + "20 3 9 10 1 3", + "21 0 0 2 0 0", + "21 1 3 5 1 0", + "21 2 5 7 1 1", + "21 3 9 10 1 3", + "22 0 0 2 0 0", + "22 1 3 5 1 0", + "22 2 5 7 1 1", + "22 3 9 10 1 3", + "23 0 0 2 0 0", + "23 1 3 5 1 0", + "23 2 5 7 1 1", + "23 3 9 10 1 3", + "24 0 0 2 0 0", + "24 1 3 5 1 0", + "24 2 5 7 1 1", + "24 3 9 10 1 3", + "25 0 0 2 0 0", + "25 1 3 5 1 0", + "25 2 5 7 1 1", + "25 3 9 10 1 3", + "26 0 0 2 0 0", + "26 1 3 5 1 0", + "26 2 5 7 1 1", + "26 3 9 10 1 3", + "27 0 0 2 0 0", + "27 1 3 5 1 0", + "27 2 5 7 1 1", + "27 3 9 10 1 3", + "28 0 0 2 0 0", + "28 1 3 5 1 0", + "28 2 5 7 1 1", + "28 3 9 10 1 3", + "29 0 0 2 0 0", + "29 1 3 5 1 0", + "29 2 5 7 1 1", + "29 3 9 10 1 3", + "<next>" + }; + + unsigned int a, b, c, d, i, j; + char t[80]; + int sblim; + int startindex; + + if ((table < 0) || (table > 4)) + table = 0; + + startindex = startindex_subband[table] + 1; + +// if (g_verbose) printf("using bit allocation table %d\n", table); + + sprintf (t, "%s", alloc_subbands[startindex]); + startindex++; + sscanf (t, "%d\n", &sblim); + + while (t[0] != '<') { + sprintf (t, "%s", alloc_subbands[startindex]); + startindex++; + if (t[0] == '<') + break; + + sscanf (t, "%d %d %d %d %d %d\n", &i, &j, &a, &b, &c, &d); + (*alloc)[i][j].steps = a; + (*alloc)[i][j].bits = b; + (*alloc)[i][j].group = c; + (*alloc)[i][j].quant = d; + } + return sblim; +} |