aboutsummaryrefslogtreecommitdiffstats
path: root/libtoolame-dab/tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtoolame-dab/tables.c')
-rw-r--r--libtoolame-dab/tables.c1086
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;
+}