[FFmpeg-soc] [soc] G.723.1 Decoder d130193470ccf5ead3b2bd33d2672fedaad61155

naufal11 at gmail.com naufal11 at gmail.com
Mon Jul 12 01:01:22 CEST 2010



- Log -----------------------------------------------------------------
commit d130193470ccf5ead3b2bd33d2672fedaad61155
Author: Naufal <naufal11 at gmail.com>
Date:   Mon Jul 12 04:29:00 2010 +0530

    Add a parser for G.723.1

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index d3cd00b..25a7b7b 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -552,6 +552,7 @@ OBJS-$(CONFIG_DIRAC_PARSER)            += dirac_parser.o
 OBJS-$(CONFIG_DNXHD_PARSER)            += dnxhd_parser.o
 OBJS-$(CONFIG_DVBSUB_PARSER)           += dvbsub_parser.o
 OBJS-$(CONFIG_DVDSUB_PARSER)           += dvdsub_parser.o
+OBJS-$(CONFIG_G723_1_PARSER)           += g723_1_parser.o
 OBJS-$(CONFIG_H261_PARSER)             += h261_parser.o
 OBJS-$(CONFIG_H263_PARSER)             += h263_parser.o
 OBJS-$(CONFIG_H264_PARSER)             += h264_parser.o h264.o            \
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 696ed3c..efae9ae 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -363,6 +363,7 @@ void avcodec_register_all(void)
     REGISTER_PARSER  (DNXHD, dnxhd);
     REGISTER_PARSER  (DVBSUB, dvbsub);
     REGISTER_PARSER  (DVDSUB, dvdsub);
+    REGISTER_PARSER  (G723_1, g723_1);
     REGISTER_PARSER  (H261, h261);
     REGISTER_PARSER  (H263, h263);
     REGISTER_PARSER  (H264, h264);
diff --git a/libavcodec/g723_1_parser.c b/libavcodec/g723_1_parser.c
new file mode 100644
index 0000000..26cae6f
--- /dev/null
+++ b/libavcodec/g723_1_parser.c
@@ -0,0 +1,75 @@
+/*
+ * @file
+ * G.723.1 parser
+ *
+ * Copyright (c) 2003 Fabrice Bellard
+ * Copyright (c) 2003 Michael Niedermayer
+ * Copyright (c) 2010 Martin Storsjo
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "parser.h"
+#include "g723_1_data.h"
+
+typedef struct {
+    ParseContext pc;
+    int frame_size;
+} G723_1_ParseContext;
+
+static int g723_1_parse(AVCodecParserContext *s1,
+                        AVCodecContext *avctx,
+                        const uint8_t **poutbuf, int *poutbuf_size,
+                        const uint8_t *buf, int buf_size)
+{
+    G723_1_ParseContext *s = s1->priv_data;
+    ParseContext *pc = &s->pc;
+    int next = END_NOT_FOUND, i;
+
+    for (i = 0; i < buf_size; ) {
+        if (s->frame_size) {
+            int inc = FFMIN(buf_size - i, s->frame_size);
+            i += inc;
+            s->frame_size -= inc;
+
+            if (!s->frame_size) {
+                next = i;
+                break;
+            }
+        } else {
+            s->frame_size = frame_size[buf[i] & 3];
+        }
+    }
+
+    if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {
+        *poutbuf = NULL;
+        *poutbuf_size = 0;
+        return buf_size;
+    }
+
+    *poutbuf = buf;
+    *poutbuf_size = buf_size;
+    return next;
+}
+
+AVCodecParser g723_1_parser = {
+    {CODEC_ID_G723_1},
+    sizeof(G723_1_ParseContext),
+    NULL,
+    g723_1_parse,
+    ff_parse_close,
+};

commit 9864feb61935c4945ab337bb6650603b6c5a557a
Author: Naufal <naufal11 at gmail.com>
Date:   Mon Jul 12 02:02:02 2010 +0530

    Make LSP VQ tables 2D

diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index 90c77ea..44c5a44 100755
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -232,7 +232,7 @@ static int16_t scale_vector(int16_t *vector, int16_t length)
  * @param prev_lsp   the previous LSP vector
  */
 static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
-                          int8_t *lsp_index, int bad_frame)
+                          uint8_t *lsp_index, int bad_frame)
 {
     int min_dist, pred;
     int i, j, temp1, temp2, stable;
@@ -241,9 +241,6 @@ static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
     if (!bad_frame) {
         min_dist = 0x100;
         pred = 12288;
-        lsp_index[0] *= 3;
-        lsp_index[1] *= 3;
-        lsp_index[2] *= 4;
     } else {
         min_dist = 0x200;
         pred = 23552;
@@ -251,16 +248,16 @@ static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
     }
 
     // Get the VQ table entry corresponding to the transmitted index
-    cur_lsp[0] = lsp_band0[lsp_index[0]];
-    cur_lsp[1] = lsp_band0[lsp_index[0] + 1];
-    cur_lsp[2] = lsp_band0[lsp_index[0] + 2];
-    cur_lsp[3] = lsp_band1[lsp_index[1]];
-    cur_lsp[4] = lsp_band1[lsp_index[1] + 1];
-    cur_lsp[5] = lsp_band1[lsp_index[1] + 2];
-    cur_lsp[6] = lsp_band2[lsp_index[2]];
-    cur_lsp[7] = lsp_band2[lsp_index[2] + 1];
-    cur_lsp[8] = lsp_band2[lsp_index[2] + 2];
-    cur_lsp[9] = lsp_band2[lsp_index[2] + 3];
+    cur_lsp[0] = lsp_band0[lsp_index[0]][0];
+    cur_lsp[1] = lsp_band0[lsp_index[0]][1];
+    cur_lsp[2] = lsp_band0[lsp_index[0]][2];
+    cur_lsp[3] = lsp_band1[lsp_index[1]][0];
+    cur_lsp[4] = lsp_band1[lsp_index[1]][1];
+    cur_lsp[5] = lsp_band1[lsp_index[1]][2];
+    cur_lsp[6] = lsp_band2[lsp_index[2]][0];
+    cur_lsp[7] = lsp_band2[lsp_index[2]][1];
+    cur_lsp[8] = lsp_band2[lsp_index[2]][2];
+    cur_lsp[9] = lsp_band2[lsp_index[2]][3];
 
     // Add predicted vector & DC component to the previously quantized vector
     for (i = 0; i < LPC_ORDER; i++) {
diff --git a/libavcodec/g723_1_data.h b/libavcodec/g723_1_data.h
index 402d08f..4daf6d2 100644
--- a/libavcodec/g723_1_data.h
+++ b/libavcodec/g723_1_data.h
@@ -144,781 +144,313 @@ static const int16_t cos_tab[512] = {
 /*
  *  LSP VQ tables
  */
-static const int16_t lsp_band0[LSP_CB_SIZE * 3] = {
-      0,      0,      0,
-   -270,  -1372,  -1032,
-   -541,  -1650,  -1382,
-   -723,  -2011,  -2213,
-   -941,  -1122,  -1942,
-   -780,  -1145,  -2454,
-   -884,  -1309,  -1373,
-  -1051,  -1523,  -1766,
-  -1083,  -1622,  -2300,
-   -777,  -1377,  -2147,
-   -935,  -1467,  -2763,
-   -802,  -1327,  -3471,
-   -935,  -1959,  -3999,
-   -240,    -89,    222,
-   -661,   -257,   -160,
-   -994,   -466,   -419,
-   -188,   -164,   -278,
-   -342,   -512,   -415,
-   -607,   -511,   -797,
-     16,     19,   -716,
-    374,    425,   -972,
-   -346,    245,   -282,
-   -265,    506,   -754,
-   -620,   -147,   1955,
-   -742,   -860,   2597,
-   -150,   -352,   2704,
-    305,    880,   1954,
-    123,    731,   2766,
-   -348,    765,   3327,
-    618,    221,   3258,
-   -178,    -47,   4219,
-    393,   1304,   3842,
-    698,   1702,   4801,
-     63,   -584,   1229,
-   -215,   -732,   1704,
-    172,   -335,   1909,
-     -2,    216,   1797,
-    353,    127,   2205,
-  -1208,    188,     11,
-   -513,    -75,   -683,
-   -973,    222,   -646,
-   -616,   -843,   -388,
-   -950,  -1113,   -359,
-  -1431,   -623,   -705,
-  -1398,  -1063,   -178,
-    -45,   -461,     35,
-     -9,   -657,   -216,
-    127,  -1078,     95,
-   -950,  -1156,    584,
-  -1480,  -1494,    449,
-   -120,   -705,    516,
-   -368,   -961,    727,
-   -378,   -526,    973,
-   -793,   -614,    676,
-   -801,   -755,   1287,
-  -1476,   -340,   1636,
-   -505,  -1254,   1543,
-  -1243,  -1622,   1532,
-   -776,  -1477,   -655,
-  -1151,  -1296,   -823,
-  -1153,  -1672,  -1124,
-  -1291,  -2003,  -1702,
-   -622,  -1283,     57,
-   -471,  -1611,    509,
-  -1060,  -1570,   -139,
-   -873,  -2156,   -536,
-  -1716,  -2021,   -364,
-  -2150,  -3218,  -1291,
-  -1248,  -1945,  -2904,
-  -1215,  -2633,  -2855,
-    167,   -244,     84,
-    349,   -412,   -217,
-    -40,   -352,    632,
-    227,   -529,    405,
-     68,   -383,   -443,
-    167,   -558,   -706,
-   -275,   -854,    -14,
-   -351,  -1089,   -449,
-    341,    -72,   -289,
-    603,   -106,   -474,
-    322,   -219,   -649,
-    179,   -317,   -998,
-    450,   -291,   -996,
-    555,    195,   -525,
-    784,    272,   -831,
-   -148,   -384,   -849,
-     82,   -536,  -1357,
-    238,   -172,  -1354,
-    422,   -268,  -1841,
-    297,   -737,  -2079,
-   -111,   -801,   -598,
-      1,   -668,   -984,
-   -131,   -818,  -1299,
-   -329,   -521,  -1310,
-   -151,   -778,  -1834,
-    -93,   -352,  -1746,
-   -568,   -640,  -1821,
-   -509,   -941,  -2183,
-    464,   -815,  -1250,
-     79,  -1133,  -1597,
-   -184,  -1353,  -2123,
-   -196,   -410,  -2427,
-   -192,   -833,  -2810,
-   -259,  -1382,  -3045,
-   -217,      4,  -1166,
-   -800,   -325,  -1219,
-   -363,   -830,   -898,
-   -661,  -1134,   -960,
-   -386,   -980,  -1501,
-   -627,  -1159,  -1722,
-   -903,   -829,   -855,
-   -685,   -829,  -1313,
-  -1065,   -959,  -1405,
-    441,     25,   -847,
-    655,    -27,  -1181,
-   1159,   -110,   -705,
-    856,    253,  -1671,
-    415,    404,     -1,
-    322,    903,   -398,
-    670,    499,   -292,
-    803,    591,   -610,
-   1144,    591,   -814,
-    717,    183,    393,
-    857,    381,    106,
-    609,     62,    -27,
-    792,    198,   -325,
-    735,    805,     88,
-   1142,    812,     78,
-   1028,    366,   -292,
-   1309,    743,   -237,
-   1615,    589,    -79,
-   1010,    639,   -243,
-    999,    964,   -311,
-   1500,   1137,   -615,
-    988,    357,    646,
-   1227,    667,    683,
-   1164,   1565,    894,
-   1392,   2015,    477,
-   1138,    533,    250,
-   1437,    896,    391,
-   1765,   1118,     99,
-   1112,   1090,    802,
-   1596,    846,   1134,
-    937,   1161,    279,
-   1719,   1254,    683,
-   1338,   1086,     35,
-   1419,   1324,    428,
-   1428,   1524,     40,
-   2108,   1594,     89,
-   1015,    544,   1222,
-   1121,    925,   1263,
-   1030,   1318,   1485,
-   1295,    789,   1817,
-   1323,   1272,   1909,
-   1724,   1237,   1803,
-   1797,   1689,    858,
-   2149,   1367,   1301,
-   2302,   1867,    761,
-   2863,   2351,   1053,
-     52,    163,    -76,
-    230,    309,   -492,
-    -71,    619,     39,
-   -218,    856,    499,
-   -654,    736,   -207,
-   -535,   1259,    155,
-   -480,   1476,    643,
-    262,   1081,    102,
-    309,   1592,   -182,
-    627,   1629,    534,
-    337,    643,    456,
-    758,    670,    713,
-    202,   1126,    658,
-    612,   1131,    666,
-    686,   1223,   1136,
-   -131,    377,    525,
-     42,    708,    907,
-     87,   1488,   1035,
-    432,   2117,    904,
-    137,    981,   1332,
-   -447,   1014,   1136,
-   -839,   1793,   1246,
-   -559,    297,    198,
-   -850,    685,    446,
-  -1273,    632,    826,
-   -401,   -544,    173,
-   -753,   -793,    144,
-   -436,     -9,    772,
-   -115,   -243,   1310,
-   -670,   -269,    374,
-  -1027,    -13,    639,
-   -887,    -81,   1137,
-  -1277,   -455,    158,
-  -1411,   -720,    736,
-    172,     88,    403,
-    386,    255,    756,
-   -500,    522,    910,
-   -958,    659,   1388,
-   -395,    301,   1344,
-   -356,    768,   1813,
-   -613,    841,   2419,
-    445,   -122,    252,
-    629,    -87,    723,
-    283,   -253,    870,
-    456,   -116,   1381,
-    757,    180,   1059,
-    532,    408,   1509,
-    947,    288,   1806,
-   1325,    994,   2524,
-    892,   1219,   3023,
-   1397,   1596,   3406,
-   1143,   1552,   2546,
-   1850,   1433,   2710,
-    -10,    134,   1002,
-    154,    499,   1323,
-    508,    792,   1117,
-    509,   1340,   1616,
-    762,    862,   1608,
-    787,    740,   2320,
-    794,   1727,   1283,
-    465,   2108,   1660,
-   -120,   1451,   1613,
-   -386,   2016,   2169,
-    891,   1225,   2050,
-    456,   1480,   2185,
-   1493,   1283,   1209,
-   1397,   1636,   1518,
-   1776,   1738,   1552,
-   1572,   1698,   2141,
-   1389,   2126,   1271,
-   1959,   2413,   1119,
-   1365,   2892,   1505,
-   2206,   1971,   1623,
-   2076,   1950,   2280,
-   1717,   2291,   1867,
-   2366,   2515,   1953,
-   2865,   2838,   2522,
-   2535,   3465,   2011,
-   3381,   4127,   2638,
-    836,   2667,   2289,
-   1761,   2773,   2337,
-   1415,   3325,   2911,
-   2354,   3138,   3126,
-   2659,   4192,   4010,
-   1048,   1786,   1818,
-   1242,   2111,   2240,
-   1512,   2079,   2780,
-   1573,   2491,   3138,
-   2230,   2377,   2782,
-    416,   1773,   2704,
-    725,   2336,   3297,
-   1252,   2373,   3978,
-   2094,   2268,   3568,
-   2011,   2712,   4528,
-   1341,   3507,   3876,
-   1216,   3919,   4922,
-   1693,   4793,   6012,
+static const int16_t lsp_band0[LSP_CB_SIZE][3] = {
+    {    0,      0,      0}, { -270,  -1372,  -1032}, { -541,  -1650,  -1382},
+    { -723,  -2011,  -2213}, { -941,  -1122,  -1942}, { -780,  -1145,  -2454},
+    { -884,  -1309,  -1373}, {-1051,  -1523,  -1766}, {-1083,  -1622,  -2300},
+    { -777,  -1377,  -2147}, { -935,  -1467,  -2763}, { -802,  -1327,  -3471},
+    { -935,  -1959,  -3999}, { -240,    -89,    222}, { -661,   -257,   -160},
+    { -994,   -466,   -419}, { -188,   -164,   -278}, { -342,   -512,   -415},
+    { -607,   -511,   -797}, {   16,     19,   -716}, {  374,    425,   -972},
+    { -346,    245,   -282}, { -265,    506,   -754}, { -620,   -147,   1955},
+    { -742,   -860,   2597}, { -150,   -352,   2704}, {  305,    880,   1954},
+    {  123,    731,   2766}, { -348,    765,   3327}, {  618,    221,   3258},
+    { -178,    -47,   4219}, {  393,   1304,   3842}, {  698,   1702,   4801},
+    {   63,   -584,   1229}, { -215,   -732,   1704}, {  172,   -335,   1909},
+    {   -2,    216,   1797}, {  353,    127,   2205}, {-1208,    188,     11},
+    { -513,    -75,   -683}, { -973,    222,   -646}, { -616,   -843,   -388},
+    { -950,  -1113,   -359}, {-1431,   -623,   -705}, {-1398,  -1063,   -178},
+    {  -45,   -461,     35}, {   -9,   -657,   -216}, {  127,  -1078,     95},
+    { -950,  -1156,    584}, {-1480,  -1494,    449}, { -120,   -705,    516},
+    { -368,   -961,    727}, { -378,   -526,    973}, { -793,   -614,    676},
+    { -801,   -755,   1287}, {-1476,   -340,   1636}, { -505,  -1254,   1543},
+    {-1243,  -1622,   1532}, { -776,  -1477,   -655}, {-1151,  -1296,   -823},
+    {-1153,  -1672,  -1124}, {-1291,  -2003,  -1702}, { -622,  -1283,     57},
+    { -471,  -1611,    509}, {-1060,  -1570,   -139}, { -873,  -2156,   -536},
+    {-1716,  -2021,   -364}, {-2150,  -3218,  -1291}, {-1248,  -1945,  -2904},
+    {-1215,  -2633,  -2855}, {  167,   -244,     84}, {  349,   -412,   -217},
+    {  -40,   -352,    632}, {  227,   -529,    405}, {   68,   -383,   -443},
+    {  167,   -558,   -706}, { -275,   -854,    -14}, { -351,  -1089,   -449},
+    {  341,    -72,   -289}, {  603,   -106,   -474}, {  322,   -219,   -649},
+    {  179,   -317,   -998}, {  450,   -291,   -996}, {  555,    195,   -525},
+    {  784,    272,   -831}, { -148,   -384,   -849}, {   82,   -536,  -1357},
+    {  238,   -172,  -1354}, {  422,   -268,  -1841}, {  297,   -737,  -2079},
+    { -111,   -801,   -598}, {    1,   -668,   -984}, { -131,   -818,  -1299},
+    { -329,   -521,  -1310}, { -151,   -778,  -1834}, {  -93,   -352,  -1746},
+    { -568,   -640,  -1821}, { -509,   -941,  -2183}, {  464,   -815,  -1250},
+    {   79,  -1133,  -1597}, { -184,  -1353,  -2123}, { -196,   -410,  -2427},
+    { -192,   -833,  -2810}, { -259,  -1382,  -3045}, { -217,      4,  -1166},
+    { -800,   -325,  -1219}, { -363,   -830,   -898}, { -661,  -1134,   -960},
+    { -386,   -980,  -1501}, { -627,  -1159,  -1722}, { -903,   -829,   -855},
+    { -685,   -829,  -1313}, {-1065,   -959,  -1405}, {  441,     25,   -847},
+    {  655,    -27,  -1181}, { 1159,   -110,   -705}, {  856,    253,  -1671},
+    {  415,    404,     -1}, {  322,    903,   -398}, {  670,    499,   -292},
+    {  803,    591,   -610}, { 1144,    591,   -814}, {  717,    183,    393},
+    {  857,    381,    106}, {  609,     62,    -27}, {  792,    198,   -325},
+    {  735,    805,     88}, { 1142,    812,     78}, { 1028,    366,   -292},
+    { 1309,    743,   -237}, { 1615,    589,    -79}, { 1010,    639,   -243},
+    {  999,    964,   -311}, { 1500,   1137,   -615}, {  988,    357,    646},
+    { 1227,    667,    683}, { 1164,   1565,    894}, { 1392,   2015,    477},
+    { 1138,    533,    250}, { 1437,    896,    391}, { 1765,   1118,     99},
+    { 1112,   1090,    802}, { 1596,    846,   1134}, {  937,   1161,    279},
+    { 1719,   1254,    683}, { 1338,   1086,     35}, { 1419,   1324,    428},
+    { 1428,   1524,     40}, { 2108,   1594,     89}, { 1015,    544,   1222},
+    { 1121,    925,   1263}, { 1030,   1318,   1485}, { 1295,    789,   1817},
+    { 1323,   1272,   1909}, { 1724,   1237,   1803}, { 1797,   1689,    858},
+    { 2149,   1367,   1301}, { 2302,   1867,    761}, { 2863,   2351,   1053},
+    {   52,    163,    -76}, {  230,    309,   -492}, {  -71,    619,     39},
+    { -218,    856,    499}, { -654,    736,   -207}, { -535,   1259,    155},
+    { -480,   1476,    643}, {  262,   1081,    102}, {  309,   1592,   -182},
+    {  627,   1629,    534}, {  337,    643,    456}, {  758,    670,    713},
+    {  202,   1126,    658}, {  612,   1131,    666}, {  686,   1223,   1136},
+    { -131,    377,    525}, {   42,    708,    907}, {   87,   1488,   1035},
+    {  432,   2117,    904}, {  137,    981,   1332}, { -447,   1014,   1136},
+    { -839,   1793,   1246}, { -559,    297,    198}, { -850,    685,    446},
+    {-1273,    632,    826}, { -401,   -544,    173}, { -753,   -793,    144},
+    { -436,     -9,    772}, { -115,   -243,   1310}, { -670,   -269,    374},
+    {-1027,    -13,    639}, { -887,    -81,   1137}, {-1277,   -455,    158},
+    {-1411,   -720,    736}, {  172,     88,    403}, {  386,    255,    756},
+    { -500,    522,    910}, { -958,    659,   1388}, { -395,    301,   1344},
+    { -356,    768,   1813}, { -613,    841,   2419}, {  445,   -122,    252},
+    {  629,    -87,    723}, {  283,   -253,    870}, {  456,   -116,   1381},
+    {  757,    180,   1059}, {  532,    408,   1509}, {  947,    288,   1806},
+    { 1325,    994,   2524}, {  892,   1219,   3023}, { 1397,   1596,   3406},
+    { 1143,   1552,   2546}, { 1850,   1433,   2710}, {  -10,    134,   1002},
+    {  154,    499,   1323}, {  508,    792,   1117}, {  509,   1340,   1616},
+    {  762,    862,   1608}, {  787,    740,   2320}, {  794,   1727,   1283},
+    {  465,   2108,   1660}, { -120,   1451,   1613}, { -386,   2016,   2169},
+    {  891,   1225,   2050}, {  456,   1480,   2185}, { 1493,   1283,   1209},
+    { 1397,   1636,   1518}, { 1776,   1738,   1552}, { 1572,   1698,   2141},
+    { 1389,   2126,   1271}, { 1959,   2413,   1119}, { 1365,   2892,   1505},
+    { 2206,   1971,   1623}, { 2076,   1950,   2280}, { 1717,   2291,   1867},
+    { 2366,   2515,   1953}, { 2865,   2838,   2522}, { 2535,   3465,   2011},
+    { 3381,   4127,   2638}, {  836,   2667,   2289}, { 1761,   2773,   2337},
+    { 1415,   3325,   2911}, { 2354,   3138,   3126}, { 2659,   4192,   4010},
+    { 1048,   1786,   1818}, { 1242,   2111,   2240}, { 1512,   2079,   2780},
+    { 1573,   2491,   3138}, { 2230,   2377,   2782}, {  416,   1773,   2704},
+    {  725,   2336,   3297}, { 1252,   2373,   3978}, { 2094,   2268,   3568},
+    { 2011,   2712,   4528}, { 1341,   3507,   3876}, { 1216,   3919,   4922},
+    { 1693,   4793,   6012}
 };
 
-static const int16_t lsp_band1[LSP_CB_SIZE * 3] = {
-      0,      0,      0,
-  -2114,  -1302,     76,
-  -2652,  -1278,  -1368,
-  -2847,   -828,   -349,
-  -3812,  -2190,   -349,
-  -3946,   -364,   -449,
-  -2725,  -4492,  -3607,
-  -3495,  -4764,  -1744,
-    -51,   -756,     84,
-   -153,  -1191,    504,
-    108,  -1418,   1167,
-   -835,   -896,    390,
-   -569,  -1702,     87,
-  -1151,  -1818,    933,
-  -1826,  -2547,    411,
-  -1842,  -1818,   1451,
-  -2438,  -1611,    781,
-  -2747,  -2477,   1311,
-   -940,   1252,    477,
-  -1629,   1688,    602,
-  -1202,    617,    280,
-  -1737,    393,    580,
-  -1528,   1077,   1199,
-  -2165,   -161,   1408,
-  -2504,  -1087,   2371,
-  -3458,   -175,   1395,
-  -1397,    -98,   -843,
-  -2252,   -177,  -1149,
-  -1489,   -726,  -1283,
-  -1558,   -265,  -1744,
-  -1867,   -821,  -1897,
-  -2062,  -1516,  -2340,
-  -2595,  -1142,  -2861,
-    170,     46,   -819,
-   -193,   -204,  -1151,
-    326,   -196,  -1532,
-    780,    329,   -816,
-    201,    369,  -1243,
-    650,   -209,  -1060,
-   1144,    -15,  -1216,
-   1203,   -259,  -1867,
-   -890,   -564,  -1430,
-   -638,   -852,  -1921,
-    177,   -739,  -1358,
-   -261,   -526,  -1666,
-    206,   -407,  -2255,
-    338,   -526,   -822,
-    421,  -1095,  -1009,
-    765,   -607,  -1408,
-    825,  -1295,  -2004,
-    357,   -905,  -1815,
-    -58,  -1248,  -1588,
-   -596,  -1436,  -2046,
-    -73,  -1159,  -2116,
-   -115,  -1382,  -2581,
-   -160,  -1723,  -1952,
-     -6,  -2196,  -2954,
-   -649,  -1705,  -2603,
-   -617,  -1453,  -3282,
-   -949,  -2019,  -3102,
-   -812,   1544,   1937,
-  -1854,    574,   2000,
-  -1463,   1140,   2649,
-  -2683,   1748,   1452,
-  -2486,   2241,   2523,
-    783,   1910,   1435,
-    581,   2682,   1376,
-    236,   2197,   1885,
-   -453,   2943,   2057,
-   -682,   2178,   2565,
-  -1342,   3201,   3328,
-   -288,   -184,    262,
-    121,   -149,   -183,
-    758,   -412,    206,
-   1038,   -204,    853,
-   1577,   -457,    700,
-    937,   -640,   -567,
-   1508,   -528,  -1024,
-   -225,   -527,   -427,
-   -564,  -1095,   -332,
-   -742,   -353,   -186,
-  -1288,   -459,     84,
-  -1853,   -484,   -274,
-  -1554,   -731,    825,
-  -2425,   -234,    382,
-  -1722,    293,   -271,
-  -2515,    425,   -564,
-  -2599,    818,    464,
-   -358,    118,   -375,
-   -613,    198,   -874,
-   -690,    683,   -324,
-  -1352,   1155,   -168,
-  -1093,    129,   -324,
-  -1184,    611,   -858,
-    433,    386,   -372,
-   -120,    486,   -634,
-    234,    851,   -631,
-    602,    128,     46,
-   1099,    410,    159,
-    715,   -145,   -424,
-   1198,    -85,   -593,
-   1390,    367,   -358,
-   1683,    362,   -964,
-   1711,    622,     45,
-   2033,    833,   -383,
-   2890,    549,   -506,
-      7,    401,     52,
-     72,    811,    415,
-    566,    668,     41,
-    467,   1218,    130,
-     68,    957,   -187,
-    -25,   1649,   -103,
-   -661,    260,    214,
-   -925,    -94,    612,
-   -321,   -422,    965,
-   -788,   -672,   1783,
-    400,   -673,    779,
-    741,   -595,   1635,
-   -161,    307,    657,
-   -382,    836,    871,
-   -814,    400,   1223,
-    364,    606,   1247,
-     57,     75,   1571,
-    151,    471,   2287,
-    -81,   1021,   1502,
-    227,   1470,   1097,
-    658,   1275,   1653,
-    664,   1478,   2377,
-    263,   -127,    444,
-    264,     89,    969,
-    794,    171,    576,
-    821,    186,   1226,
-    404,    462,    517,
-    339,    918,    794,
-   1280,   1423,    196,
-   1453,   2019,    365,
-   1615,   1481,    672,
-   2394,   1708,    508,
-    806,   1238,    573,
-    713,   1158,   1078,
-   1285,   1436,   1232,
-   1790,   1188,   1141,
-    765,    643,    864,
-   1032,    797,   1279,
-    900,    563,   1827,
-   1514,    673,   2312,
-   1544,   1129,   3240,
-   1469,   1050,   1594,
-   1945,   1318,   1988,
-   2397,   2026,   2060,
-   3538,   2057,   2620,
-   1249,   -118,     74,
-   1727,    194,    421,
-   2078,    -50,   -463,
-    970,    688,   -432,
-   1149,    952,   -110,
-   1254,   1275,   -651,
-   1386,    929,    401,
-   1960,   1167,    232,
-    407,   -752,   -243,
-    859,  -1118,    172,
-   -227,   -860,   -992,
-   -796,  -1175,  -1380,
-      8,  -1282,   -388,
-    353,  -1781,  -1037,
-   -732,   -397,   -807,
-   -853,    -28,  -1342,
-  -1229,  -1207,  -1959,
-  -1015,  -1125,  -2543,
-  -1452,  -1791,  -2725,
-  -1891,  -2416,  -3269,
-   -918,  -1629,   -783,
-   -580,  -2155,   -698,
-  -1097,  -2364,    -96,
-  -1387,  -1513,      7,
-  -1588,  -2076,   -664,
-  -1473,  -2740,   -784,
-  -2378,  -3149,    -56,
-  -2856,  -2092,   -169,
-  -3391,  -3708,    316,
-  -1176,   -890,   -614,
-  -1944,  -1061,   -800,
-   -299,  -1517,  -1000,
-   -640,  -1850,  -1526,
-  -1454,  -1536,  -1233,
-  -1890,  -1955,  -1756,
-  -1086,  -1921,  -2122,
-   -750,  -2325,  -2260,
-  -1325,  -2413,  -2673,
-  -1114,  -2542,  -3459,
-  -1341,  -2901,  -3963,
-  -1160,  -2226,  -1393,
-  -1001,  -2772,  -1573,
-  -1594,  -2641,  -1978,
-  -1534,  -3046,  -2624,
-  -2224,  -2196,   -675,
-  -2807,  -3054,  -1102,
-  -2008,  -2840,  -1186,
-  -1980,  -3332,  -1695,
-  -1715,  -3562,   -505,
-  -2527,  -4000,  -1887,
-  -2333,  -2734,  -2296,
-  -3440,  -2401,  -3211,
-  -2008,  -3528,  -3337,
-  -2247,  -3291,  -4510,
-   -475,    949,    155,
-   -149,   1365,    545,
-   -757,   1644,   1083,
-   -217,   2053,   1353,
-  -1433,   2301,   1462,
-    495,   1661,    529,
-     10,   2037,    740,
-   2082,   1898,    978,
-   2831,   2294,    911,
-    842,    793,    420,
-   1223,   1023,    863,
-   1237,    451,    780,
-   1744,    708,    822,
-   1533,    284,   1384,
-   2135,    609,   1538,
-   2305,    626,    540,
-   2368,   1187,    955,
-   2586,   1255,     -7,
-   3116,   1131,    726,
-   3431,   1730,    428,
-   2734,   1648,   1307,
-   2988,   1231,   2010,
-   3523,   2024,   1488,
-   1034,   1657,    871,
-   1206,   2163,   1036,
-   1807,   2372,   1233,
-   1808,   1769,   1493,
-   1573,   2332,   1779,
-   1216,   1609,   1866,
-   1480,   1898,   2513,
-    465,   2708,   2776,
-    771,   3638,   3338,
-   1869,   2599,   2623,
-   2825,   2745,   2468,
-   2638,   2439,   1585,
-   2094,   2970,   1308,
-   2022,   3057,   1999,
-   3428,   2912,   1816,
-   4536,   2974,   2129,
-   1046,   2563,   2086,
-   1363,   3562,   2318,
-   2511,   1891,   2984,
-   1866,   2306,   3986,
-   3272,   2924,   3682,
-   3146,   3564,   2272,
-   3592,   3968,   2822,
-   2431,   3369,   3069,
-   1931,   4709,   3090,
-   2629,   4220,   3986,
-   4639,   4056,   3664,
-   4035,   5334,   4912,
+static const int16_t lsp_band1[LSP_CB_SIZE][3] = {
+    {    0,      0,      0}, {-2114,  -1302,     76}, {-2652,  -1278,  -1368},
+    {-2847,   -828,   -349}, {-3812,  -2190,   -349}, {-3946,   -364,   -449},
+    {-2725,  -4492,  -3607}, {-3495,  -4764,  -1744}, {  -51,   -756,     84},
+    { -153,  -1191,    504}, {  108,  -1418,   1167}, { -835,   -896,    390},
+    { -569,  -1702,     87}, {-1151,  -1818,    933}, {-1826,  -2547,    411},
+    {-1842,  -1818,   1451}, {-2438,  -1611,    781}, {-2747,  -2477,   1311},
+    { -940,   1252,    477}, {-1629,   1688,    602}, {-1202,    617,    280},
+    {-1737,    393,    580}, {-1528,   1077,   1199}, {-2165,   -161,   1408},
+    {-2504,  -1087,   2371}, {-3458,   -175,   1395}, {-1397,    -98,   -843},
+    {-2252,   -177,  -1149}, {-1489,   -726,  -1283}, {-1558,   -265,  -1744},
+    {-1867,   -821,  -1897}, {-2062,  -1516,  -2340}, {-2595,  -1142,  -2861},
+    {  170,     46,   -819}, { -193,   -204,  -1151}, {  326,   -196,  -1532},
+    {  780,    329,   -816}, {  201,    369,  -1243}, {  650,   -209,  -1060},
+    { 1144,    -15,  -1216}, { 1203,   -259,  -1867}, { -890,   -564,  -1430},
+    { -638,   -852,  -1921}, {  177,   -739,  -1358}, { -261,   -526,  -1666},
+    {  206,   -407,  -2255}, {  338,   -526,   -822}, {  421,  -1095,  -1009},
+    {  765,   -607,  -1408}, {  825,  -1295,  -2004}, {  357,   -905,  -1815},
+    {  -58,  -1248,  -1588}, { -596,  -1436,  -2046}, {  -73,  -1159,  -2116},
+    { -115,  -1382,  -2581}, { -160,  -1723,  -1952}, {   -6,  -2196,  -2954},
+    { -649,  -1705,  -2603}, { -617,  -1453,  -3282}, { -949,  -2019,  -3102},
+    { -812,   1544,   1937}, {-1854,    574,   2000}, {-1463,   1140,   2649},
+    {-2683,   1748,   1452}, {-2486,   2241,   2523}, {  783,   1910,   1435},
+    {  581,   2682,   1376}, {  236,   2197,   1885}, { -453,   2943,   2057},
+    { -682,   2178,   2565}, {-1342,   3201,   3328}, { -288,   -184,    262},
+    {  121,   -149,   -183}, {  758,   -412,    206}, { 1038,   -204,    853},
+    { 1577,   -457,    700}, {  937,   -640,   -567}, { 1508,   -528,  -1024},
+    { -225,   -527,   -427}, { -564,  -1095,   -332}, { -742,   -353,   -186},
+    {-1288,   -459,     84}, {-1853,   -484,   -274}, {-1554,   -731,    825},
+    {-2425,   -234,    382}, {-1722,    293,   -271}, {-2515,    425,   -564},
+    {-2599,    818,    464}, { -358,    118,   -375}, { -613,    198,   -874},
+    { -690,    683,   -324}, {-1352,   1155,   -168}, {-1093,    129,   -324},
+    {-1184,    611,   -858}, {  433,    386,   -372}, { -120,    486,   -634},
+    {  234,    851,   -631}, {  602,    128,     46}, { 1099,    410,    159},
+    {  715,   -145,   -424}, { 1198,    -85,   -593}, { 1390,    367,   -358},
+    { 1683,    362,   -964}, { 1711,    622,     45}, { 2033,    833,   -383},
+    { 2890,    549,   -506}, {    7,    401,     52}, {   72,    811,    415},
+    {  566,    668,     41}, {  467,   1218,    130}, {   68,    957,   -187},
+    {  -25,   1649,   -103}, { -661,    260,    214}, { -925,    -94,    612},
+    { -321,   -422,    965}, { -788,   -672,   1783}, {  400,   -673,    779},
+    {  741,   -595,   1635}, { -161,    307,    657}, { -382,    836,    871},
+    { -814,    400,   1223}, {  364,    606,   1247}, {   57,     75,   1571},
+    {  151,    471,   2287}, {  -81,   1021,   1502}, {  227,   1470,   1097},
+    {  658,   1275,   1653}, {  664,   1478,   2377}, {  263,   -127,    444},
+    {  264,     89,    969}, {  794,    171,    576}, {  821,    186,   1226},
+    {  404,    462,    517}, {  339,    918,    794}, { 1280,   1423,    196},
+    { 1453,   2019,    365}, { 1615,   1481,    672}, { 2394,   1708,    508},
+    {  806,   1238,    573}, {  713,   1158,   1078}, { 1285,   1436,   1232},
+    { 1790,   1188,   1141}, {  765,    643,    864}, { 1032,    797,   1279},
+    {  900,    563,   1827}, { 1514,    673,   2312}, { 1544,   1129,   3240},
+    { 1469,   1050,   1594}, { 1945,   1318,   1988}, { 2397,   2026,   2060},
+    { 3538,   2057,   2620}, { 1249,   -118,     74}, { 1727,    194,    421},
+    { 2078,    -50,   -463}, {  970,    688,   -432}, { 1149,    952,   -110},
+    { 1254,   1275,   -651}, { 1386,    929,    401}, { 1960,   1167,    232},
+    {  407,   -752,   -243}, {  859,  -1118,    172}, { -227,   -860,   -992},
+    { -796,  -1175,  -1380}, {    8,  -1282,   -388}, {  353,  -1781,  -1037},
+    { -732,   -397,   -807}, { -853,    -28,  -1342}, {-1229,  -1207,  -1959},
+    {-1015,  -1125,  -2543}, {-1452,  -1791,  -2725}, {-1891,  -2416,  -3269},
+    { -918,  -1629,   -783}, { -580,  -2155,   -698}, {-1097,  -2364,    -96},
+    {-1387,  -1513,      7}, {-1588,  -2076,   -664}, {-1473,  -2740,   -784},
+    {-2378,  -3149,    -56}, {-2856,  -2092,   -169}, {-3391,  -3708,    316},
+    {-1176,   -890,   -614}, {-1944,  -1061,   -800}, { -299,  -1517,  -1000},
+    { -640,  -1850,  -1526}, {-1454,  -1536,  -1233}, {-1890,  -1955,  -1756},
+    {-1086,  -1921,  -2122}, { -750,  -2325,  -2260}, {-1325,  -2413,  -2673},
+    {-1114,  -2542,  -3459}, {-1341,  -2901,  -3963}, {-1160,  -2226,  -1393},
+    {-1001,  -2772,  -1573}, {-1594,  -2641,  -1978}, {-1534,  -3046,  -2624},
+    {-2224,  -2196,   -675}, {-2807,  -3054,  -1102}, {-2008,  -2840,  -1186},
+    {-1980,  -3332,  -1695}, {-1715,  -3562,   -505}, {-2527,  -4000,  -1887},
+    {-2333,  -2734,  -2296}, {-3440,  -2401,  -3211}, {-2008,  -3528,  -3337},
+    {-2247,  -3291,  -4510}, { -475,    949,    155}, { -149,   1365,    545},
+    { -757,   1644,   1083}, { -217,   2053,   1353}, {-1433,   2301,   1462},
+    {  495,   1661,    529}, {   10,   2037,    740}, { 2082,   1898,    978},
+    { 2831,   2294,    911}, {  842,    793,    420}, { 1223,   1023,    863},
+    { 1237,    451,    780}, { 1744,    708,    822}, { 1533,    284,   1384},
+    { 2135,    609,   1538}, { 2305,    626,    540}, { 2368,   1187,    955},
+    { 2586,   1255,     -7}, { 3116,   1131,    726}, { 3431,   1730,    428},
+    { 2734,   1648,   1307}, { 2988,   1231,   2010}, { 3523,   2024,   1488},
+    { 1034,   1657,    871}, { 1206,   2163,   1036}, { 1807,   2372,   1233},
+    { 1808,   1769,   1493}, { 1573,   2332,   1779}, { 1216,   1609,   1866},
+    { 1480,   1898,   2513}, {  465,   2708,   2776}, {  771,   3638,   3338},
+    { 1869,   2599,   2623}, { 2825,   2745,   2468}, { 2638,   2439,   1585},
+    { 2094,   2970,   1308}, { 2022,   3057,   1999}, { 3428,   2912,   1816},
+    { 4536,   2974,   2129}, { 1046,   2563,   2086}, { 1363,   3562,   2318},
+    { 2511,   1891,   2984}, { 1866,   2306,   3986}, { 3272,   2924,   3682},
+    { 3146,   3564,   2272}, { 3592,   3968,   2822}, { 2431,   3369,   3069},
+    { 1931,   4709,   3090}, { 2629,   4220,   3986}, { 4639,   4056,   3664},
+    { 4035,   5334,   4912}
 };
 
-static const int16_t lsp_band2[LSP_CB_SIZE * 4] = {
-      0,      0,      0,      0,
-    601,    512,   -542,    334,
-    428,   1087,   -484,   -132,
-    652,    622,   -391,   -572,
-    378,    799,    141,   -860,
-   1040,    409,    112,   -554,
-   1123,    670,    -75,   -847,
-   1421,    494,   -315,  -1095,
-    787,   1001,    114,   -460,
-    988,   1672,    216,   -681,
-   1007,   1241,   -132,  -1247,
-   1073,    399,    186,     -5,
-   1262,    193,   -694,   -129,
-    325,    196,     51,   -641,
-    861,    -59,    350,   -458,
-   1261,    567,    586,   -346,
-   1532,    885,    210,   -517,
-   2027,    937,    113,   -792,
-   1383,   1064,    334,     38,
-   1964,   1468,    459,    133,
-   2062,   1186,    -98,   -121,
-   2577,   1445,    506,   -373,
-   2310,   1682,     -2,   -960,
-   2876,   1939,    765,    138,
-   3581,   2360,    649,   -414,
-    219,    176,   -398,   -309,
-    434,    -78,   -435,   -880,
-   -344,    301,    265,   -552,
-   -915,    470,    657,   -380,
-    419,   -432,   -163,   -453,
-    351,   -953,      8,   -562,
-    789,    -43,     20,   -958,
-    302,   -594,   -352,  -1159,
-   1040,    108,   -668,   -924,
-   1333,    210,  -1217,  -1663,
-    483,    589,   -350,  -1140,
-   1003,    824,   -802,  -1184,
-    745,     58,   -589,  -1443,
-    346,    247,   -915,  -1683,
-    270,    796,   -720,  -2043,
-   1208,    722,   -222,   -193,
-   1486,   1180,   -412,   -672,
-   1722,    179,    -69,   -521,
-   2047,    860,   -666,  -1410,
-   -146,    222,   -281,   -805,
-   -189,     90,   -114,  -1307,
-   -152,   1086,   -241,   -764,
-   -439,    733,   -601,  -1302,
-   -833,   -167,   -351,   -601,
-   -856,   -422,   -411,  -1059,
-   -747,   -355,   -582,  -1644,
-   -837,    210,   -916,  -1144,
-  -1800,     32,   -878,  -1687,
-    -48,    -23,  -1146,     52,
-   -350,   -409,  -1656,   -364,
-    265,   -728,   -858,   -577,
-    458,   -247,  -1141,   -997,
-    691,   -407,  -1988,  -1161,
-    -66,   -104,   -705,  -1249,
-   -431,    -93,  -1191,  -1844,
-    203,   -732,  -1000,  -1693,
-     10,   -832,  -1846,  -1819,
-    493,   -128,  -1436,  -1768,
-    488,   -311,  -1730,  -2540,
-   -653,   -532,  -1150,  -1172,
-  -1086,   -289,  -1706,  -1533,
-   -699,  -1205,  -1216,  -1766,
-  -1032,  -1481,  -2074,  -1523,
-   -721,  -1220,  -2277,  -2600,
-     12,   -539,  -1484,  -1131,
-    -40,   -911,  -2106,   -441,
-   -471,   -484,  -2267,  -1549,
-   -141,   -988,  -3006,  -1721,
-  -1545,  -2102,   -583,    342,
-  -1383,  -2772,   -386,    -13,
-  -2118,  -2589,  -1205,     72,
-  -2147,  -3231,   -965,    390,
-  -2949,  -3300,   -621,    637,
-  -3907,  -4138,   -865,    803,
-  -1287,   -845,   -375,   -548,
-  -1416,  -1169,   -487,  -1277,
-  -1400,  -1690,  -1027,   -418,
-  -2018,  -1909,  -1188,  -1260,
-  -1418,  -2222,  -2029,   -128,
-  -2067,  -2998,  -2693,   -310,
-   -950,  -1028,  -1538,    185,
-  -1616,   -915,  -2205,   -549,
-     19,   -821,  -1145,    352,
-    184,  -1175,  -1356,   -627,
-   -547,  -1088,  -1661,   -911,
-   -216,  -1502,  -2197,   -948,
-   -795,  -1306,  -2374,   -451,
-   -924,  -1889,  -2796,   -680,
-   -600,  -1614,  -3609,   -885,
-  -2392,  -2528,    319,    303,
-  -2908,  -2095,   -310,    573,
-  -3460,  -2141,     49,   -113,
-  -2231,   -448,    675,   -146,
-  -2805,   -532,   1231,    479,
-  -2684,   -486,   -200,    611,
-  -3525,   -971,   -198,    704,
-  -3707,    173,    349,    254,
-  -4734,  -1447,    -34,    880,
-    777,   -512,    114,    -10,
-   1250,    -66,    442,     -5,
-    604,    613,    452,   -352,
-   1224,    777,    675,  -1014,
-  -1372,    -79,  -1208,   -238,
-  -2389,    -17,  -1157,   -818,
-  -1504,   -673,  -1133,  -1060,
-  -1984,   -799,  -2005,  -1973,
-  -2037,   -798,  -1068,   -105,
-  -3190,   -899,  -1817,   -194,
-   -156,   -886,    394,   -318,
-   -258,  -1283,    551,    202,
-   -536,  -1729,    910,    331,
-   -847,  -1109,    795,   -163,
-  -1171,  -1128,    715,    519,
-  -1080,  -1319,   1685,    668,
-  -1000,  -1921,     96,    211,
-  -1487,  -2148,    831,    174,
-  -1139,   -374,    414,     -4,
-  -1517,  -1383,    396,   -352,
-  -1012,    439,    -59,   -967,
-  -1812,    706,   -440,  -1030,
-  -1971,   -329,    -34,   -827,
-  -2472,  -1588,   -151,   -606,
-  -2161,    374,   -281,     76,
-  -3012,    231,    -15,   -690,
-   1104,    566,    721,    209,
-   1685,    564,    383,     98,
-   1898,    750,    792,    -97,
-    556,    -64,    561,    -93,
-    876,    162,    913,    -22,
-    961,    675,   1296,    140,
-    756,   -396,    851,    544,
-    360,   -303,   1341,    396,
-    878,    -22,   1464,    863,
-   -309,   -273,    642,   -129,
-   -686,    -82,    842,    454,
-     -5,    -47,   1069,    998,
-    -94,    967,   1277,    298,
-   -489,    385,   1473,    746,
-   -369,   -717,   1333,    242,
-    281,   -993,   1726,    924,
-    464,    601,   1575,   1376,
-   -250,    206,   2339,   1175,
-   -438,    377,   -597,   -285,
-  -1020,    787,   -790,   -287,
-   -458,   -410,    215,    295,
-   -589,   -860,   -121,    797,
-  -1175,    122,   -437,    466,
-  -1480,   -121,    367,    924,
-    234,    323,    770,   -555,
-    145,     30,    996,     26,
-     66,    849,     93,   -145,
-   -117,   1261,    474,   -399,
-  -1495,   1051,    218,   -506,
-  -1390,    694,    994,     88,
-    616,      7,     78,    304,
-   1060,     52,    -62,    835,
-    833,    454,    649,   1359,
-   -770,    464,     47,     93,
-   -574,   1199,    -39,    379,
-    114,    -98,    488,    485,
-    727,    244,    606,    696,
-    -76,    455,    671,    546,
-   -565,    -13,    145,    819,
-   -376,    569,    448,   1128,
-    218,    122,    265,   1167,
-    230,    738,    932,   1003,
-    138,    477,     36,    450,
-    404,    787,    -73,   1000,
-    497,   1259,    387,   1231,
-     17,    207,    195,    -79,
-    562,    358,     53,   -158,
-    493,    387,    478,    189,
-    678,    831,    640,    558,
-   -197,    523,    613,     57,
-    429,    894,    769,    111,
-     67,   1174,    568,    511,
-   1242,    824,    251,    840,
-   1419,   1074,    864,    481,
-    924,   1474,    669,    724,
-   1539,   1879,    654,   1590,
-    445,    337,   1111,    541,
-    472,   1421,   1264,   1094,
-    794,    735,   1103,    668,
-   1055,    863,   1192,   1020,
-    778,   1105,    806,   1798,
-   1052,   1527,   1587,   2151,
-    881,   1552,   1265,    391,
-    726,    872,   1812,    601,
-   1469,    280,   1008,    616,
-   1403,    577,   1803,   1244,
-   1650,   1314,   1148,   1072,
-   1297,   1669,   1911,   1026,
-   2093,   1044,   2115,   1189,
-   1644,   1961,   2587,   1512,
-     25,   -315,     -9,   -106,
-    290,   -339,    428,   -444,
-    -68,   -783,    735,    772,
-    245,   -555,    468,     47,
-    334,   -895,    814,    146,
-    235,    368,   -964,   -959,
-   -203,    315,  -1566,  -1217,
-    801,     17,   -276,   -354,
-    894,   -495,   -789,   -635,
-    716,    291,  -1189,   -357,
-    560,   -260,   -733,     -2,
-    679,   -508,  -1429,    211,
-    -51,    -62,   -428,    557,
-    322,   -638,   -211,    614,
-   -878,  -1057,    -84,    -71,
-   -388,  -1415,   -167,   -318,
-   -754,  -1574,    214,   -539,
-  -1419,  -2004,    -92,   -787,
-    -47,   -856,   -347,   -255,
-     23,  -1211,   -173,    320,
-   -658,   -487,   -893,    353,
-   -783,  -1587,   -584,    507,
-  -1420,   -859,   -378,    441,
-  -2095,  -1491,   -137,    439,
-   -321,  -1450,  -1288,    -12,
-   -359,  -2113,   -553,     -8,
-   -831,  -1918,  -1561,     32,
-  -1014,  -2487,  -1359,   -939,
-   -475,   -311,   -169,   -236,
-   -907,   -426,    276,   -611,
-    -96,   -400,     50,   -710,
-   -426,  -1022,    -10,   -985,
-   -197,   -258,   -744,   -575,
-   -611,   -930,   -771,   -394,
-   -267,   -776,   -612,   -939,
-   -256,  -1346,   -802,  -1122,
-   -796,  -1570,   -825,   -754,
-    712,    876,    141,    227,
-    981,   1509,     85,    124,
-   1462,   1228,    979,    -39,
-   1734,    999,   1481,    440,
-   2293,   1116,    769,    440,
-   2504,   1480,   1241,    356,
-   2474,   1909,   1558,    810,
-    917,   1134,    607,   -134,
-    509,   1809,    781,   -123,
-   1712,   1506,    559,   -423,
-   2037,   2317,    726,   -155,
-   3031,   2676,   1203,    331,
-   3664,   3274,   1768,    531,
-   1610,   1839,    867,    183,
-   1774,   1972,   1538,     97,
-   1822,   2158,   1282,    659,
-   2222,   2758,   1818,    900,
-   3251,   2124,   1723,    996,
-   3633,   2336,   2408,   1453,
-   2923,   3517,   2567,   1318,
+static const int16_t lsp_band2[LSP_CB_SIZE][4] = {
+   {    0,      0,      0,      0}, {  601,    512,   -542,    334},
+   {  428,   1087,   -484,   -132}, {  652,    622,   -391,   -572},
+   {  378,    799,    141,   -860}, { 1040,    409,    112,   -554},
+   { 1123,    670,    -75,   -847}, { 1421,    494,   -315,  -1095},
+   {  787,   1001,    114,   -460}, {  988,   1672,    216,   -681},
+   { 1007,   1241,   -132,  -1247}, { 1073,    399,    186,     -5},
+   { 1262,    193,   -694,   -129}, {  325,    196,     51,   -641},
+   {  861,    -59,    350,   -458}, { 1261,    567,    586,   -346},
+   { 1532,    885,    210,   -517}, { 2027,    937,    113,   -792},
+   { 1383,   1064,    334,     38}, { 1964,   1468,    459,    133},
+   { 2062,   1186,    -98,   -121}, { 2577,   1445,    506,   -373},
+   { 2310,   1682,     -2,   -960}, { 2876,   1939,    765,    138},
+   { 3581,   2360,    649,   -414}, {  219,    176,   -398,   -309},
+   {  434,    -78,   -435,   -880}, { -344,    301,    265,   -552},
+   { -915,    470,    657,   -380}, {  419,   -432,   -163,   -453},
+   {  351,   -953,      8,   -562}, {  789,    -43,     20,   -958},
+   {  302,   -594,   -352,  -1159}, { 1040,    108,   -668,   -924},
+   { 1333,    210,  -1217,  -1663}, {  483,    589,   -350,  -1140},
+   { 1003,    824,   -802,  -1184}, {  745,     58,   -589,  -1443},
+   {  346,    247,   -915,  -1683}, {  270,    796,   -720,  -2043},
+   { 1208,    722,   -222,   -193}, { 1486,   1180,   -412,   -672},
+   { 1722,    179,    -69,   -521}, { 2047,    860,   -666,  -1410},
+   { -146,    222,   -281,   -805}, { -189,     90,   -114,  -1307},
+   { -152,   1086,   -241,   -764}, { -439,    733,   -601,  -1302},
+   { -833,   -167,   -351,   -601}, { -856,   -422,   -411,  -1059},
+   { -747,   -355,   -582,  -1644}, { -837,    210,   -916,  -1144},
+   {-1800,     32,   -878,  -1687}, {  -48,    -23,  -1146,     52},
+   { -350,   -409,  -1656,   -364}, {  265,   -728,   -858,   -577},
+   {  458,   -247,  -1141,   -997}, {  691,   -407,  -1988,  -1161},
+   {  -66,   -104,   -705,  -1249}, { -431,    -93,  -1191,  -1844},
+   {  203,   -732,  -1000,  -1693}, {   10,   -832,  -1846,  -1819},
+   {  493,   -128,  -1436,  -1768}, {  488,   -311,  -1730,  -2540},
+   { -653,   -532,  -1150,  -1172}, {-1086,   -289,  -1706,  -1533},
+   { -699,  -1205,  -1216,  -1766}, {-1032,  -1481,  -2074,  -1523},
+   { -721,  -1220,  -2277,  -2600}, {   12,   -539,  -1484,  -1131},
+   {  -40,   -911,  -2106,   -441}, { -471,   -484,  -2267,  -1549},
+   { -141,   -988,  -3006,  -1721}, {-1545,  -2102,   -583,    342},
+   {-1383,  -2772,   -386,    -13}, {-2118,  -2589,  -1205,     72},
+   {-2147,  -3231,   -965,    390}, {-2949,  -3300,   -621,    637},
+   {-3907,  -4138,   -865,    803}, {-1287,   -845,   -375,   -548},
+   {-1416,  -1169,   -487,  -1277}, {-1400,  -1690,  -1027,   -418},
+   {-2018,  -1909,  -1188,  -1260}, {-1418,  -2222,  -2029,   -128},
+   {-2067,  -2998,  -2693,   -310}, { -950,  -1028,  -1538,    185},
+   {-1616,   -915,  -2205,   -549}, {   19,   -821,  -1145,    352},
+   {  184,  -1175,  -1356,   -627}, { -547,  -1088,  -1661,   -911},
+   { -216,  -1502,  -2197,   -948}, { -795,  -1306,  -2374,   -451},
+   { -924,  -1889,  -2796,   -680}, { -600,  -1614,  -3609,   -885},
+   {-2392,  -2528,    319,    303}, {-2908,  -2095,   -310,    573},
+   {-3460,  -2141,     49,   -113}, {-2231,   -448,    675,   -146},
+   {-2805,   -532,   1231,    479}, {-2684,   -486,   -200,    611},
+   {-3525,   -971,   -198,    704}, {-3707,    173,    349,    254},
+   {-4734,  -1447,    -34,    880}, {  777,   -512,    114,    -10},
+   { 1250,    -66,    442,     -5}, {  604,    613,    452,   -352},
+   { 1224,    777,    675,  -1014}, {-1372,    -79,  -1208,   -238},
+   {-2389,    -17,  -1157,   -818}, {-1504,   -673,  -1133,  -1060},
+   {-1984,   -799,  -2005,  -1973}, {-2037,   -798,  -1068,   -105},
+   {-3190,   -899,  -1817,   -194}, { -156,   -886,    394,   -318},
+   { -258,  -1283,    551,    202}, { -536,  -1729,    910,    331},
+   { -847,  -1109,    795,   -163}, {-1171,  -1128,    715,    519},
+   {-1080,  -1319,   1685,    668}, {-1000,  -1921,     96,    211},
+   {-1487,  -2148,    831,    174}, {-1139,   -374,    414,     -4},
+   {-1517,  -1383,    396,   -352}, {-1012,    439,    -59,   -967},
+   {-1812,    706,   -440,  -1030}, {-1971,   -329,    -34,   -827},
+   {-2472,  -1588,   -151,   -606}, {-2161,    374,   -281,     76},
+   {-3012,    231,    -15,   -690}, { 1104,    566,    721,    209},
+   { 1685,    564,    383,     98}, { 1898,    750,    792,    -97},
+   {  556,    -64,    561,    -93}, {  876,    162,    913,    -22},
+   {  961,    675,   1296,    140}, {  756,   -396,    851,    544},
+   {  360,   -303,   1341,    396}, {  878,    -22,   1464,    863},
+   { -309,   -273,    642,   -129}, { -686,    -82,    842,    454},
+   {   -5,    -47,   1069,    998}, {  -94,    967,   1277,    298},
+   { -489,    385,   1473,    746}, { -369,   -717,   1333,    242},
+   {  281,   -993,   1726,    924}, {  464,    601,   1575,   1376},
+   { -250,    206,   2339,   1175}, { -438,    377,   -597,   -285},
+   {-1020,    787,   -790,   -287}, { -458,   -410,    215,    295},
+   { -589,   -860,   -121,    797}, {-1175,    122,   -437,    466},
+   {-1480,   -121,    367,    924}, {  234,    323,    770,   -555},
+   {  145,     30,    996,     26}, {   66,    849,     93,   -145},
+   { -117,   1261,    474,   -399}, {-1495,   1051,    218,   -506},
+   {-1390,    694,    994,     88}, {  616,      7,     78,    304},
+   { 1060,     52,    -62,    835}, {  833,    454,    649,   1359},
+   { -770,    464,     47,     93}, { -574,   1199,    -39,    379},
+   {  114,    -98,    488,    485}, {  727,    244,    606,    696},
+   {  -76,    455,    671,    546}, { -565,    -13,    145,    819},
+   { -376,    569,    448,   1128}, {  218,    122,    265,   1167},
+   {  230,    738,    932,   1003}, {  138,    477,     36,    450},
+   {  404,    787,    -73,   1000}, {  497,   1259,    387,   1231},
+   {   17,    207,    195,    -79}, {  562,    358,     53,   -158},
+   {  493,    387,    478,    189}, {  678,    831,    640,    558},
+   { -197,    523,    613,     57}, {  429,    894,    769,    111},
+   {   67,   1174,    568,    511}, { 1242,    824,    251,    840},
+   { 1419,   1074,    864,    481}, {  924,   1474,    669,    724},
+   { 1539,   1879,    654,   1590}, {  445,    337,   1111,    541},
+   {  472,   1421,   1264,   1094}, {  794,    735,   1103,    668},
+   { 1055,    863,   1192,   1020}, {  778,   1105,    806,   1798},
+   { 1052,   1527,   1587,   2151}, {  881,   1552,   1265,    391},
+   {  726,    872,   1812,    601}, { 1469,    280,   1008,    616},
+   { 1403,    577,   1803,   1244}, { 1650,   1314,   1148,   1072},
+   { 1297,   1669,   1911,   1026}, { 2093,   1044,   2115,   1189},
+   { 1644,   1961,   2587,   1512}, {   25,   -315,     -9,   -106},
+   {  290,   -339,    428,   -444}, {  -68,   -783,    735,    772},
+   {  245,   -555,    468,     47}, {  334,   -895,    814,    146},
+   {  235,    368,   -964,   -959}, { -203,    315,  -1566,  -1217},
+   {  801,     17,   -276,   -354}, {  894,   -495,   -789,   -635},
+   {  716,    291,  -1189,   -357}, {  560,   -260,   -733,     -2},
+   {  679,   -508,  -1429,    211}, {  -51,    -62,   -428,    557},
+   {  322,   -638,   -211,    614}, { -878,  -1057,    -84,    -71},
+   { -388,  -1415,   -167,   -318}, { -754,  -1574,    214,   -539},
+   {-1419,  -2004,    -92,   -787}, {  -47,   -856,   -347,   -255},
+   {   23,  -1211,   -173,    320}, { -658,   -487,   -893,    353},
+   { -783,  -1587,   -584,    507}, {-1420,   -859,   -378,    441},
+   {-2095,  -1491,   -137,    439}, { -321,  -1450,  -1288,    -12},
+   { -359,  -2113,   -553,     -8}, { -831,  -1918,  -1561,     32},
+   {-1014,  -2487,  -1359,   -939}, { -475,   -311,   -169,   -236},
+   { -907,   -426,    276,   -611}, {  -96,   -400,     50,   -710},
+   { -426,  -1022,    -10,   -985}, { -197,   -258,   -744,   -575},
+   { -611,   -930,   -771,   -394}, { -267,   -776,   -612,   -939},
+   { -256,  -1346,   -802,  -1122}, { -796,  -1570,   -825,   -754},
+   {  712,    876,    141,    227}, {  981,   1509,     85,    124},
+   { 1462,   1228,    979,    -39}, { 1734,    999,   1481,    440},
+   { 2293,   1116,    769,    440}, { 2504,   1480,   1241,    356},
+   { 2474,   1909,   1558,    810}, {  917,   1134,    607,   -134},
+   {  509,   1809,    781,   -123}, { 1712,   1506,    559,   -423},
+   { 2037,   2317,    726,   -155}, { 3031,   2676,   1203,    331},
+   { 3664,   3274,   1768,    531}, { 1610,   1839,    867,    183},
+   { 1774,   1972,   1538,     97}, { 1822,   2158,   1282,    659},
+   { 2222,   2758,   1818,    900}, { 3251,   2124,   1723,    996},
+   { 3633,   2336,   2408,   1453}, { 2923,   3517,   2567,   1318},
 };
 
 static const int16_t fixed_cb_gain[GAIN_LEVELS] = {

commit ed90effe80e5142fc19fd7a777b5325920bf4593
Author: Naufal <naufal11 at gmail.com>
Date:   Mon Jul 12 01:51:03 2010 +0530

    Revert "Make LSP VQ tables 2D"
    
    This reverts commit 1a2b15e887a1efb7da3188403e4a9eab8445a133.

diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c
index 26bc5c4..90c77ea 100755
--- a/libavcodec/g723_1.c
+++ b/libavcodec/g723_1.c
@@ -232,7 +232,7 @@ static int16_t scale_vector(int16_t *vector, int16_t length)
  * @param prev_lsp   the previous LSP vector
  */
 static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
-                          uint8_t *lsp_index, int bad_frame)
+                          int8_t *lsp_index, int bad_frame)
 {
     int min_dist, pred;
     int i, j, temp1, temp2, stable;
@@ -241,6 +241,9 @@ static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
     if (!bad_frame) {
         min_dist = 0x100;
         pred = 12288;
+        lsp_index[0] *= 3;
+        lsp_index[1] *= 3;
+        lsp_index[2] *= 4;
     } else {
         min_dist = 0x200;
         pred = 23552;
@@ -248,16 +251,16 @@ static void inverse_quant(int16_t *cur_lsp, int16_t *prev_lsp,
     }
 
     // Get the VQ table entry corresponding to the transmitted index
-    cur_lsp[0] = lsp_band0[lsp_index[0]][0];
-    cur_lsp[1] = lsp_band0[lsp_index[0]][1];
-    cur_lsp[2] = lsp_band0[lsp_index[0]][2];
-    cur_lsp[3] = lsp_band1[lsp_index[1]][0];
-    cur_lsp[4] = lsp_band1[lsp_index[1]][1];
-    cur_lsp[5] = lsp_band1[lsp_index[1]][2];
-    cur_lsp[6] = lsp_band2[lsp_index[2]][0];
-    cur_lsp[7] = lsp_band2[lsp_index[2]][1];
-    cur_lsp[8] = lsp_band2[lsp_index[2]][2];
-    cur_lsp[9] = lsp_band2[lsp_index[2]][3];
+    cur_lsp[0] = lsp_band0[lsp_index[0]];
+    cur_lsp[1] = lsp_band0[lsp_index[0] + 1];
+    cur_lsp[2] = lsp_band0[lsp_index[0] + 2];
+    cur_lsp[3] = lsp_band1[lsp_index[1]];
+    cur_lsp[4] = lsp_band1[lsp_index[1] + 1];
+    cur_lsp[5] = lsp_band1[lsp_index[1] + 2];
+    cur_lsp[6] = lsp_band2[lsp_index[2]];
+    cur_lsp[7] = lsp_band2[lsp_index[2] + 1];
+    cur_lsp[8] = lsp_band2[lsp_index[2] + 2];
+    cur_lsp[9] = lsp_band2[lsp_index[2] + 3];
 
     // Add predicted vector & DC component to the previously quantized vector
     for (i = 0; i < LPC_ORDER; i++) {
@@ -776,7 +779,7 @@ static int g723_1_decode_frame(AVCodecContext *avctx, void *data,
         }
     }
 
-    return cur_size;
+    return frame_size[p->cur_frame_type];
 }
 
 AVCodec g723_1_decoder = {
diff --git a/libavcodec/g723_1_data.h b/libavcodec/g723_1_data.h
index 4daf6d2..402d08f 100644
--- a/libavcodec/g723_1_data.h
+++ b/libavcodec/g723_1_data.h
@@ -144,313 +144,781 @@ static const int16_t cos_tab[512] = {
 /*
  *  LSP VQ tables
  */
-static const int16_t lsp_band0[LSP_CB_SIZE][3] = {
-    {    0,      0,      0}, { -270,  -1372,  -1032}, { -541,  -1650,  -1382},
-    { -723,  -2011,  -2213}, { -941,  -1122,  -1942}, { -780,  -1145,  -2454},
-    { -884,  -1309,  -1373}, {-1051,  -1523,  -1766}, {-1083,  -1622,  -2300},
-    { -777,  -1377,  -2147}, { -935,  -1467,  -2763}, { -802,  -1327,  -3471},
-    { -935,  -1959,  -3999}, { -240,    -89,    222}, { -661,   -257,   -160},
-    { -994,   -466,   -419}, { -188,   -164,   -278}, { -342,   -512,   -415},
-    { -607,   -511,   -797}, {   16,     19,   -716}, {  374,    425,   -972},
-    { -346,    245,   -282}, { -265,    506,   -754}, { -620,   -147,   1955},
-    { -742,   -860,   2597}, { -150,   -352,   2704}, {  305,    880,   1954},
-    {  123,    731,   2766}, { -348,    765,   3327}, {  618,    221,   3258},
-    { -178,    -47,   4219}, {  393,   1304,   3842}, {  698,   1702,   4801},
-    {   63,   -584,   1229}, { -215,   -732,   1704}, {  172,   -335,   1909},
-    {   -2,    216,   1797}, {  353,    127,   2205}, {-1208,    188,     11},
-    { -513,    -75,   -683}, { -973,    222,   -646}, { -616,   -843,   -388},
-    { -950,  -1113,   -359}, {-1431,   -623,   -705}, {-1398,  -1063,   -178},
-    {  -45,   -461,     35}, {   -9,   -657,   -216}, {  127,  -1078,     95},
-    { -950,  -1156,    584}, {-1480,  -1494,    449}, { -120,   -705,    516},
-    { -368,   -961,    727}, { -378,   -526,    973}, { -793,   -614,    676},
-    { -801,   -755,   1287}, {-1476,   -340,   1636}, { -505,  -1254,   1543},
-    {-1243,  -1622,   1532}, { -776,  -1477,   -655}, {-1151,  -1296,   -823},
-    {-1153,  -1672,  -1124}, {-1291,  -2003,  -1702}, { -622,  -1283,     57},
-    { -471,  -1611,    509}, {-1060,  -1570,   -139}, { -873,  -2156,   -536},
-    {-1716,  -2021,   -364}, {-2150,  -3218,  -1291}, {-1248,  -1945,  -2904},
-    {-1215,  -2633,  -2855}, {  167,   -244,     84}, {  349,   -412,   -217},
-    {  -40,   -352,    632}, {  227,   -529,    405}, {   68,   -383,   -443},
-    {  167,   -558,   -706}, { -275,   -854,    -14}, { -351,  -1089,   -449},
-    {  341,    -72,   -289}, {  603,   -106,   -474}, {  322,   -219,   -649},
-    {  179,   -317,   -998}, {  450,   -291,   -996}, {  555,    195,   -525},
-    {  784,    272,   -831}, { -148,   -384,   -849}, {   82,   -536,  -1357},
-    {  238,   -172,  -1354}, {  422,   -268,  -1841}, {  297,   -737,  -2079},
-    { -111,   -801,   -598}, {    1,   -668,   -984}, { -131,   -818,  -1299},
-    { -329,   -521,  -1310}, { -151,   -778,  -1834}, {  -93,   -352,  -1746},
-    { -568,   -640,  -1821}, { -509,   -941,  -2183}, {  464,   -815,  -1250},
-    {   79,  -1133,  -1597}, { -184,  -1353,  -2123}, { -196,   -410,  -2427},
-    { -192,   -833,  -2810}, { -259,  -1382,  -3045}, { -217,      4,  -1166},
-    { -800,   -325,  -1219}, { -363,   -830,   -898}, { -661,  -1134,   -960},
-    { -386,   -980,  -1501}, { -627,  -1159,  -1722}, { -903,   -829,   -855},
-    { -685,   -829,  -1313}, {-1065,   -959,  -1405}, {  441,     25,   -847},
-    {  655,    -27,  -1181}, { 1159,   -110,   -705}, {  856,    253,  -1671},
-    {  415,    404,     -1}, {  322,    903,   -398}, {  670,    499,   -292},
-    {  803,    591,   -610}, { 1144,    591,   -814}, {  717,    183,    393},
-    {  857,    381,    106}, {  609,     62,    -27}, {  792,    198,   -325},
-    {  735,    805,     88}, { 1142,    812,     78}, { 1028,    366,   -292},
-    { 1309,    743,   -237}, { 1615,    589,    -79}, { 1010,    639,   -243},
-    {  999,    964,   -311}, { 1500,   1137,   -615}, {  988,    357,    646},
-    { 1227,    667,    683}, { 1164,   1565,    894}, { 1392,   2015,    477},
-    { 1138,    533,    250}, { 1437,    896,    391}, { 1765,   1118,     99},
-    { 1112,   1090,    802}, { 1596,    846,   1134}, {  937,   1161,    279},
-    { 1719,   1254,    683}, { 1338,   1086,     35}, { 1419,   1324,    428},
-    { 1428,   1524,     40}, { 2108,   1594,     89}, { 1015,    544,   1222},
-    { 1121,    925,   1263}, { 1030,   1318,   1485}, { 1295,    789,   1817},
-    { 1323,   1272,   1909}, { 1724,   1237,   1803}, { 1797,   1689,    858},
-    { 2149,   1367,   1301}, { 2302,   1867,    761}, { 2863,   2351,   1053},
-    {   52,    163,    -76}, {  230,    309,   -492}, {  -71,    619,     39},
-    { -218,    856,    499}, { -654,    736,   -207}, { -535,   1259,    155},
-    { -480,   1476,    643}, {  262,   1081,    102}, {  309,   1592,   -182},
-    {  627,   1629,    534}, {  337,    643,    456}, {  758,    670,    713},
-    {  202,   1126,    658}, {  612,   1131,    666}, {  686,   1223,   1136},
-    { -131,    377,    525}, {   42,    708,    907}, {   87,   1488,   1035},
-    {  432,   2117,    904}, {  137,    981,   1332}, { -447,   1014,   1136},
-    { -839,   1793,   1246}, { -559,    297,    198}, { -850,    685,    446},
-    {-1273,    632,    826}, { -401,   -544,    173}, { -753,   -793,    144},
-    { -436,     -9,    772}, { -115,   -243,   1310}, { -670,   -269,    374},
-    {-1027,    -13,    639}, { -887,    -81,   1137}, {-1277,   -455,    158},
-    {-1411,   -720,    736}, {  172,     88,    403}, {  386,    255,    756},
-    { -500,    522,    910}, { -958,    659,   1388}, { -395,    301,   1344},
-    { -356,    768,   1813}, { -613,    841,   2419}, {  445,   -122,    252},
-    {  629,    -87,    723}, {  283,   -253,    870}, {  456,   -116,   1381},
-    {  757,    180,   1059}, {  532,    408,   1509}, {  947,    288,   1806},
-    { 1325,    994,   2524}, {  892,   1219,   3023}, { 1397,   1596,   3406},
-    { 1143,   1552,   2546}, { 1850,   1433,   2710}, {  -10,    134,   1002},
-    {  154,    499,   1323}, {  508,    792,   1117}, {  509,   1340,   1616},
-    {  762,    862,   1608}, {  787,    740,   2320}, {  794,   1727,   1283},
-    {  465,   2108,   1660}, { -120,   1451,   1613}, { -386,   2016,   2169},
-    {  891,   1225,   2050}, {  456,   1480,   2185}, { 1493,   1283,   1209},
-    { 1397,   1636,   1518}, { 1776,   1738,   1552}, { 1572,   1698,   2141},
-    { 1389,   2126,   1271}, { 1959,   2413,   1119}, { 1365,   2892,   1505},
-    { 2206,   1971,   1623}, { 2076,   1950,   2280}, { 1717,   2291,   1867},
-    { 2366,   2515,   1953}, { 2865,   2838,   2522}, { 2535,   3465,   2011},
-    { 3381,   4127,   2638}, {  836,   2667,   2289}, { 1761,   2773,   2337},
-    { 1415,   3325,   2911}, { 2354,   3138,   3126}, { 2659,   4192,   4010},
-    { 1048,   1786,   1818}, { 1242,   2111,   2240}, { 1512,   2079,   2780},
-    { 1573,   2491,   3138}, { 2230,   2377,   2782}, {  416,   1773,   2704},
-    {  725,   2336,   3297}, { 1252,   2373,   3978}, { 2094,   2268,   3568},
-    { 2011,   2712,   4528}, { 1341,   3507,   3876}, { 1216,   3919,   4922},
-    { 1693,   4793,   6012}
+static const int16_t lsp_band0[LSP_CB_SIZE * 3] = {
+      0,      0,      0,
+   -270,  -1372,  -1032,
+   -541,  -1650,  -1382,
+   -723,  -2011,  -2213,
+   -941,  -1122,  -1942,
+   -780,  -1145,  -2454,
+   -884,  -1309,  -1373,
+  -1051,  -1523,  -1766,
+  -1083,  -1622,  -2300,
+   -777,  -1377,  -2147,
+   -935,  -1467,  -2763,
+   -802,  -1327,  -3471,
+   -935,  -1959,  -3999,
+   -240,    -89,    222,
+   -661,   -257,   -160,
+   -994,   -466,   -419,
+   -188,   -164,   -278,
+   -342,   -512,   -415,
+   -607,   -511,   -797,
+     16,     19,   -716,
+    374,    425,   -972,
+   -346,    245,   -282,
+   -265,    506,   -754,
+   -620,   -147,   1955,
+   -742,   -860,   2597,
+   -150,   -352,   2704,
+    305,    880,   1954,
+    123,    731,   2766,
+   -348,    765,   3327,
+    618,    221,   3258,
+   -178,    -47,   4219,
+    393,   1304,   3842,
+    698,   1702,   4801,
+     63,   -584,   1229,
+   -215,   -732,   1704,
+    172,   -335,   1909,
+     -2,    216,   1797,
+    353,    127,   2205,
+  -1208,    188,     11,
+   -513,    -75,   -683,
+   -973,    222,   -646,
+   -616,   -843,   -388,
+   -950,  -1113,   -359,
+  -1431,   -623,   -705,
+  -1398,  -1063,   -178,
+    -45,   -461,     35,
+     -9,   -657,   -216,
+    127,  -1078,     95,
+   -950,  -1156,    584,
+  -1480,  -1494,    449,
+   -120,   -705,    516,
+   -368,   -961,    727,
+   -378,   -526,    973,
+   -793,   -614,    676,
+   -801,   -755,   1287,
+  -1476,   -340,   1636,
+   -505,  -1254,   1543,
+  -1243,  -1622,   1532,
+   -776,  -1477,   -655,
+  -1151,  -1296,   -823,
+  -1153,  -1672,  -1124,
+  -1291,  -2003,  -1702,
+   -622,  -1283,     57,
+   -471,  -1611,    509,
+  -1060,  -1570,   -139,
+   -873,  -2156,   -536,
+  -1716,  -2021,   -364,
+  -2150,  -3218,  -1291,
+  -1248,  -1945,  -2904,
+  -1215,  -2633,  -2855,
+    167,   -244,     84,
+    349,   -412,   -217,
+    -40,   -352,    632,
+    227,   -529,    405,
+     68,   -383,   -443,
+    167,   -558,   -706,
+   -275,   -854,    -14,
+   -351,  -1089,   -449,
+    341,    -72,   -289,
+    603,   -106,   -474,
+    322,   -219,   -649,
+    179,   -317,   -998,
+    450,   -291,   -996,
+    555,    195,   -525,
+    784,    272,   -831,
+   -148,   -384,   -849,
+     82,   -536,  -1357,
+    238,   -172,  -1354,
+    422,   -268,  -1841,
+    297,   -737,  -2079,
+   -111,   -801,   -598,
+      1,   -668,   -984,
+   -131,   -818,  -1299,
+   -329,   -521,  -1310,
+   -151,   -778,  -1834,
+    -93,   -352,  -1746,
+   -568,   -640,  -1821,
+   -509,   -941,  -2183,
+    464,   -815,  -1250,
+     79,  -1133,  -1597,
+   -184,  -1353,  -2123,
+   -196,   -410,  -2427,
+   -192,   -833,  -2810,
+   -259,  -1382,  -3045,
+   -217,      4,  -1166,
+   -800,   -325,  -1219,
+   -363,   -830,   -898,
+   -661,  -1134,   -960,
+   -386,   -980,  -1501,
+   -627,  -1159,  -1722,
+   -903,   -829,   -855,
+   -685,   -829,  -1313,
+  -1065,   -959,  -1405,
+    441,     25,   -847,
+    655,    -27,  -1181,
+   1159,   -110,   -705,
+    856,    253,  -1671,
+    415,    404,     -1,
+    322,    903,   -398,
+    670,    499,   -292,
+    803,    591,   -610,
+   1144,    591,   -814,
+    717,    183,    393,
+    857,    381,    106,
+    609,     62,    -27,
+    792,    198,   -325,
+    735,    805,     88,
+   1142,    812,     78,
+   1028,    366,   -292,
+   1309,    743,   -237,
+   1615,    589,    -79,
+   1010,    639,   -243,
+    999,    964,   -311,
+   1500,   1137,   -615,
+    988,    357,    646,
+   1227,    667,    683,
+   1164,   1565,    894,
+   1392,   2015,    477,
+   1138,    533,    250,
+   1437,    896,    391,
+   1765,   1118,     99,
+   1112,   1090,    802,
+   1596,    846,   1134,
+    937,   1161,    279,
+   1719,   1254,    683,
+   1338,   1086,     35,
+   1419,   1324,    428,
+   1428,   1524,     40,
+   2108,   1594,     89,
+   1015,    544,   1222,
+   1121,    925,   1263,
+   1030,   1318,   1485,
+   1295,    789,   1817,
+   1323,   1272,   1909,
+   1724,   1237,   1803,
+   1797,   1689,    858,
+   2149,   1367,   1301,
+   2302,   1867,    761,
+   2863,   2351,   1053,
+     52,    163,    -76,
+    230,    309,   -492,
+    -71,    619,     39,
+   -218,    856,    499,
+   -654,    736,   -207,
+   -535,   1259,    155,
+   -480,   1476,    643,
+    262,   1081,    102,
+    309,   1592,   -182,
+    627,   1629,    534,
+    337,    643,    456,
+    758,    670,    713,
+    202,   1126,    658,
+    612,   1131,    666,
+    686,   1223,   1136,
+   -131,    377,    525,
+     42,    708,    907,
+     87,   1488,   1035,
+    432,   2117,    904,
+    137,    981,   1332,
+   -447,   1014,   1136,
+   -839,   1793,   1246,
+   -559,    297,    198,
+   -850,    685,    446,
+  -1273,    632,    826,
+   -401,   -544,    173,
+   -753,   -793,    144,
+   -436,     -9,    772,
+   -115,   -243,   1310,
+   -670,   -269,    374,
+  -1027,    -13,    639,
+   -887,    -81,   1137,
+  -1277,   -455,    158,
+  -1411,   -720,    736,
+    172,     88,    403,
+    386,    255,    756,
+   -500,    522,    910,
+   -958,    659,   1388,
+   -395,    301,   1344,
+   -356,    768,   1813,
+   -613,    841,   2419,
+    445,   -122,    252,
+    629,    -87,    723,
+    283,   -253,    870,
+    456,   -116,   1381,
+    757,    180,   1059,
+    532,    408,   1509,
+    947,    288,   1806,
+   1325,    994,   2524,
+    892,   1219,   3023,
+   1397,   1596,   3406,
+   1143,   1552,   2546,
+   1850,   1433,   2710,
+    -10,    134,   1002,
+    154,    499,   1323,
+    508,    792,   1117,
+    509,   1340,   1616,
+    762,    862,   1608,
+    787,    740,   2320,
+    794,   1727,   1283,
+    465,   2108,   1660,
+   -120,   1451,   1613,
+   -386,   2016,   2169,
+    891,   1225,   2050,
+    456,   1480,   2185,
+   1493,   1283,   1209,
+   1397,   1636,   1518,
+   1776,   1738,   1552,
+   1572,   1698,   2141,
+   1389,   2126,   1271,
+   1959,   2413,   1119,
+   1365,   2892,   1505,
+   2206,   1971,   1623,
+   2076,   1950,   2280,
+   1717,   2291,   1867,
+   2366,   2515,   1953,
+   2865,   2838,   2522,
+   2535,   3465,   2011,
+   3381,   4127,   2638,
+    836,   2667,   2289,
+   1761,   2773,   2337,
+   1415,   3325,   2911,
+   2354,   3138,   3126,
+   2659,   4192,   4010,
+   1048,   1786,   1818,
+   1242,   2111,   2240,
+   1512,   2079,   2780,
+   1573,   2491,   3138,
+   2230,   2377,   2782,
+    416,   1773,   2704,
+    725,   2336,   3297,
+   1252,   2373,   3978,
+   2094,   2268,   3568,
+   2011,   2712,   4528,
+   1341,   3507,   3876,
+   1216,   3919,   4922,
+   1693,   4793,   6012,
 };
 
-static const int16_t lsp_band1[LSP_CB_SIZE][3] = {
-    {    0,      0,      0}, {-2114,  -1302,     76}, {-2652,  -1278,  -1368},
-    {-2847,   -828,   -349}, {-3812,  -2190,   -349}, {-3946,   -364,   -449},
-    {-2725,  -4492,  -3607}, {-3495,  -4764,  -1744}, {  -51,   -756,     84},
-    { -153,  -1191,    504}, {  108,  -1418,   1167}, { -835,   -896,    390},
-    { -569,  -1702,     87}, {-1151,  -1818,    933}, {-1826,  -2547,    411},
-    {-1842,  -1818,   1451}, {-2438,  -1611,    781}, {-2747,  -2477,   1311},
-    { -940,   1252,    477}, {-1629,   1688,    602}, {-1202,    617,    280},
-    {-1737,    393,    580}, {-1528,   1077,   1199}, {-2165,   -161,   1408},
-    {-2504,  -1087,   2371}, {-3458,   -175,   1395}, {-1397,    -98,   -843},
-    {-2252,   -177,  -1149}, {-1489,   -726,  -1283}, {-1558,   -265,  -1744},
-    {-1867,   -821,  -1897}, {-2062,  -1516,  -2340}, {-2595,  -1142,  -2861},
-    {  170,     46,   -819}, { -193,   -204,  -1151}, {  326,   -196,  -1532},
-    {  780,    329,   -816}, {  201,    369,  -1243}, {  650,   -209,  -1060},
-    { 1144,    -15,  -1216}, { 1203,   -259,  -1867}, { -890,   -564,  -1430},
-    { -638,   -852,  -1921}, {  177,   -739,  -1358}, { -261,   -526,  -1666},
-    {  206,   -407,  -2255}, {  338,   -526,   -822}, {  421,  -1095,  -1009},
-    {  765,   -607,  -1408}, {  825,  -1295,  -2004}, {  357,   -905,  -1815},
-    {  -58,  -1248,  -1588}, { -596,  -1436,  -2046}, {  -73,  -1159,  -2116},
-    { -115,  -1382,  -2581}, { -160,  -1723,  -1952}, {   -6,  -2196,  -2954},
-    { -649,  -1705,  -2603}, { -617,  -1453,  -3282}, { -949,  -2019,  -3102},
-    { -812,   1544,   1937}, {-1854,    574,   2000}, {-1463,   1140,   2649},
-    {-2683,   1748,   1452}, {-2486,   2241,   2523}, {  783,   1910,   1435},
-    {  581,   2682,   1376}, {  236,   2197,   1885}, { -453,   2943,   2057},
-    { -682,   2178,   2565}, {-1342,   3201,   3328}, { -288,   -184,    262},
-    {  121,   -149,   -183}, {  758,   -412,    206}, { 1038,   -204,    853},
-    { 1577,   -457,    700}, {  937,   -640,   -567}, { 1508,   -528,  -1024},
-    { -225,   -527,   -427}, { -564,  -1095,   -332}, { -742,   -353,   -186},
-    {-1288,   -459,     84}, {-1853,   -484,   -274}, {-1554,   -731,    825},
-    {-2425,   -234,    382}, {-1722,    293,   -271}, {-2515,    425,   -564},
-    {-2599,    818,    464}, { -358,    118,   -375}, { -613,    198,   -874},
-    { -690,    683,   -324}, {-1352,   1155,   -168}, {-1093,    129,   -324},
-    {-1184,    611,   -858}, {  433,    386,   -372}, { -120,    486,   -634},
-    {  234,    851,   -631}, {  602,    128,     46}, { 1099,    410,    159},
-    {  715,   -145,   -424}, { 1198,    -85,   -593}, { 1390,    367,   -358},
-    { 1683,    362,   -964}, { 1711,    622,     45}, { 2033,    833,   -383},
-    { 2890,    549,   -506}, {    7,    401,     52}, {   72,    811,    415},
-    {  566,    668,     41}, {  467,   1218,    130}, {   68,    957,   -187},
-    {  -25,   1649,   -103}, { -661,    260,    214}, { -925,    -94,    612},
-    { -321,   -422,    965}, { -788,   -672,   1783}, {  400,   -673,    779},
-    {  741,   -595,   1635}, { -161,    307,    657}, { -382,    836,    871},
-    { -814,    400,   1223}, {  364,    606,   1247}, {   57,     75,   1571},
-    {  151,    471,   2287}, {  -81,   1021,   1502}, {  227,   1470,   1097},
-    {  658,   1275,   1653}, {  664,   1478,   2377}, {  263,   -127,    444},
-    {  264,     89,    969}, {  794,    171,    576}, {  821,    186,   1226},
-    {  404,    462,    517}, {  339,    918,    794}, { 1280,   1423,    196},
-    { 1453,   2019,    365}, { 1615,   1481,    672}, { 2394,   1708,    508},
-    {  806,   1238,    573}, {  713,   1158,   1078}, { 1285,   1436,   1232},
-    { 1790,   1188,   1141}, {  765,    643,    864}, { 1032,    797,   1279},
-    {  900,    563,   1827}, { 1514,    673,   2312}, { 1544,   1129,   3240},
-    { 1469,   1050,   1594}, { 1945,   1318,   1988}, { 2397,   2026,   2060},
-    { 3538,   2057,   2620}, { 1249,   -118,     74}, { 1727,    194,    421},
-    { 2078,    -50,   -463}, {  970,    688,   -432}, { 1149,    952,   -110},
-    { 1254,   1275,   -651}, { 1386,    929,    401}, { 1960,   1167,    232},
-    {  407,   -752,   -243}, {  859,  -1118,    172}, { -227,   -860,   -992},
-    { -796,  -1175,  -1380}, {    8,  -1282,   -388}, {  353,  -1781,  -1037},
-    { -732,   -397,   -807}, { -853,    -28,  -1342}, {-1229,  -1207,  -1959},
-    {-1015,  -1125,  -2543}, {-1452,  -1791,  -2725}, {-1891,  -2416,  -3269},
-    { -918,  -1629,   -783}, { -580,  -2155,   -698}, {-1097,  -2364,    -96},
-    {-1387,  -1513,      7}, {-1588,  -2076,   -664}, {-1473,  -2740,   -784},
-    {-2378,  -3149,    -56}, {-2856,  -2092,   -169}, {-3391,  -3708,    316},
-    {-1176,   -890,   -614}, {-1944,  -1061,   -800}, { -299,  -1517,  -1000},
-    { -640,  -1850,  -1526}, {-1454,  -1536,  -1233}, {-1890,  -1955,  -1756},
-    {-1086,  -1921,  -2122}, { -750,  -2325,  -2260}, {-1325,  -2413,  -2673},
-    {-1114,  -2542,  -3459}, {-1341,  -2901,  -3963}, {-1160,  -2226,  -1393},
-    {-1001,  -2772,  -1573}, {-1594,  -2641,  -1978}, {-1534,  -3046,  -2624},
-    {-2224,  -2196,   -675}, {-2807,  -3054,  -1102}, {-2008,  -2840,  -1186},
-    {-1980,  -3332,  -1695}, {-1715,  -3562,   -505}, {-2527,  -4000,  -1887},
-    {-2333,  -2734,  -2296}, {-3440,  -2401,  -3211}, {-2008,  -3528,  -3337},
-    {-2247,  -3291,  -4510}, { -475,    949,    155}, { -149,   1365,    545},
-    { -757,   1644,   1083}, { -217,   2053,   1353}, {-1433,   2301,   1462},
-    {  495,   1661,    529}, {   10,   2037,    740}, { 2082,   1898,    978},
-    { 2831,   2294,    911}, {  842,    793,    420}, { 1223,   1023,    863},
-    { 1237,    451,    780}, { 1744,    708,    822}, { 1533,    284,   1384},
-    { 2135,    609,   1538}, { 2305,    626,    540}, { 2368,   1187,    955},
-    { 2586,   1255,     -7}, { 3116,   1131,    726}, { 3431,   1730,    428},
-    { 2734,   1648,   1307}, { 2988,   1231,   2010}, { 3523,   2024,   1488},
-    { 1034,   1657,    871}, { 1206,   2163,   1036}, { 1807,   2372,   1233},
-    { 1808,   1769,   1493}, { 1573,   2332,   1779}, { 1216,   1609,   1866},
-    { 1480,   1898,   2513}, {  465,   2708,   2776}, {  771,   3638,   3338},
-    { 1869,   2599,   2623}, { 2825,   2745,   2468}, { 2638,   2439,   1585},
-    { 2094,   2970,   1308}, { 2022,   3057,   1999}, { 3428,   2912,   1816},
-    { 4536,   2974,   2129}, { 1046,   2563,   2086}, { 1363,   3562,   2318},
-    { 2511,   1891,   2984}, { 1866,   2306,   3986}, { 3272,   2924,   3682},
-    { 3146,   3564,   2272}, { 3592,   3968,   2822}, { 2431,   3369,   3069},
-    { 1931,   4709,   3090}, { 2629,   4220,   3986}, { 4639,   4056,   3664},
-    { 4035,   5334,   4912}
+static const int16_t lsp_band1[LSP_CB_SIZE * 3] = {
+      0,      0,      0,
+  -2114,  -1302,     76,
+  -2652,  -1278,  -1368,
+  -2847,   -828,   -349,
+  -3812,  -2190,   -349,
+  -3946,   -364,   -449,
+  -2725,  -4492,  -3607,
+  -3495,  -4764,  -1744,
+    -51,   -756,     84,
+   -153,  -1191,    504,
+    108,  -1418,   1167,
+   -835,   -896,    390,
+   -569,  -1702,     87,
+  -1151,  -1818,    933,
+  -1826,  -2547,    411,
+  -1842,  -1818,   1451,
+  -2438,  -1611,    781,
+  -2747,  -2477,   1311,
+   -940,   1252,    477,
+  -1629,   1688,    602,
+  -1202,    617,    280,
+  -1737,    393,    580,
+  -1528,   1077,   1199,
+  -2165,   -161,   1408,
+  -2504,  -1087,   2371,
+  -3458,   -175,   1395,
+  -1397,    -98,   -843,
+  -2252,   -177,  -1149,
+  -1489,   -726,  -1283,
+  -1558,   -265,  -1744,
+  -1867,   -821,  -1897,
+  -2062,  -1516,  -2340,
+  -2595,  -1142,  -2861,
+    170,     46,   -819,
+   -193,   -204,  -1151,
+    326,   -196,  -1532,
+    780,    329,   -816,
+    201,    369,  -1243,
+    650,   -209,  -1060,
+   1144,    -15,  -1216,
+   1203,   -259,  -1867,
+   -890,   -564,  -1430,
+   -638,   -852,  -1921,
+    177,   -739,  -1358,
+   -261,   -526,  -1666,
+    206,   -407,  -2255,
+    338,   -526,   -822,
+    421,  -1095,  -1009,
+    765,   -607,  -1408,
+    825,  -1295,  -2004,
+    357,   -905,  -1815,
+    -58,  -1248,  -1588,
+   -596,  -1436,  -2046,
+    -73,  -1159,  -2116,
+   -115,  -1382,  -2581,
+   -160,  -1723,  -1952,
+     -6,  -2196,  -2954,
+   -649,  -1705,  -2603,
+   -617,  -1453,  -3282,
+   -949,  -2019,  -3102,
+   -812,   1544,   1937,
+  -1854,    574,   2000,
+  -1463,   1140,   2649,
+  -2683,   1748,   1452,
+  -2486,   2241,   2523,
+    783,   1910,   1435,
+    581,   2682,   1376,
+    236,   2197,   1885,
+   -453,   2943,   2057,
+   -682,   2178,   2565,
+  -1342,   3201,   3328,
+   -288,   -184,    262,
+    121,   -149,   -183,
+    758,   -412,    206,
+   1038,   -204,    853,
+   1577,   -457,    700,
+    937,   -640,   -567,
+   1508,   -528,  -1024,
+   -225,   -527,   -427,
+   -564,  -1095,   -332,
+   -742,   -353,   -186,
+  -1288,   -459,     84,
+  -1853,   -484,   -274,
+  -1554,   -731,    825,
+  -2425,   -234,    382,
+  -1722,    293,   -271,
+  -2515,    425,   -564,
+  -2599,    818,    464,
+   -358,    118,   -375,
+   -613,    198,   -874,
+   -690,    683,   -324,
+  -1352,   1155,   -168,
+  -1093,    129,   -324,
+  -1184,    611,   -858,
+    433,    386,   -372,
+   -120,    486,   -634,
+    234,    851,   -631,
+    602,    128,     46,
+   1099,    410,    159,
+    715,   -145,   -424,
+   1198,    -85,   -593,
+   1390,    367,   -358,
+   1683,    362,   -964,
+   1711,    622,     45,
+   2033,    833,   -383,
+   2890,    549,   -506,
+      7,    401,     52,
+     72,    811,    415,
+    566,    668,     41,
+    467,   1218,    130,
+     68,    957,   -187,
+    -25,   1649,   -103,
+   -661,    260,    214,
+   -925,    -94,    612,
+   -321,   -422,    965,
+   -788,   -672,   1783,
+    400,   -673,    779,
+    741,   -595,   1635,
+   -161,    307,    657,
+   -382,    836,    871,
+   -814,    400,   1223,
+    364,    606,   1247,
+     57,     75,   1571,
+    151,    471,   2287,
+    -81,   1021,   1502,
+    227,   1470,   1097,
+    658,   1275,   1653,
+    664,   1478,   2377,
+    263,   -127,    444,
+    264,     89,    969,
+    794,    171,    576,
+    821,    186,   1226,
+    404,    462,    517,
+    339,    918,    794,
+   1280,   1423,    196,
+   1453,   2019,    365,
+   1615,   1481,    672,
+   2394,   1708,    508,
+    806,   1238,    573,
+    713,   1158,   1078,
+   1285,   1436,   1232,
+   1790,   1188,   1141,
+    765,    643,    864,
+   1032,    797,   1279,
+    900,    563,   1827,
+   1514,    673,   2312,
+   1544,   1129,   3240,
+   1469,   1050,   1594,
+   1945,   1318,   1988,
+   2397,   2026,   2060,
+   3538,   2057,   2620,
+   1249,   -118,     74,
+   1727,    194,    421,
+   2078,    -50,   -463,
+    970,    688,   -432,
+   1149,    952,   -110,
+   1254,   1275,   -651,
+   1386,    929,    401,
+   1960,   1167,    232,
+    407,   -752,   -243,
+    859,  -1118,    172,
+   -227,   -860,   -992,
+   -796,  -1175,  -1380,
+      8,  -1282,   -388,
+    353,  -1781,  -1037,
+   -732,   -397,   -807,
+   -853,    -28,  -1342,
+  -1229,  -1207,  -1959,
+  -1015,  -1125,  -2543,
+  -1452,  -1791,  -2725,
+  -1891,  -2416,  -3269,
+   -918,  -1629,   -783,
+   -580,  -2155,   -698,
+  -1097,  -2364,    -96,
+  -1387,  -1513,      7,
+  -1588,  -2076,   -664,
+  -1473,  -2740,   -784,
+  -2378,  -3149,    -56,
+  -2856,  -2092,   -169,
+  -3391,  -3708,    316,
+  -1176,   -890,   -614,
+  -1944,  -1061,   -800,
+   -299,  -1517,  -1000,
+   -640,  -1850,  -1526,
+  -1454,  -1536,  -1233,
+  -1890,  -1955,  -1756,
+  -1086,  -1921,  -2122,
+   -750,  -2325,  -2260,
+  -1325,  -2413,  -2673,
+  -1114,  -2542,  -3459,
+  -1341,  -2901,  -3963,
+  -1160,  -2226,  -1393,
+  -1001,  -2772,  -1573,
+  -1594,  -2641,  -1978,
+  -1534,  -3046,  -2624,
+  -2224,  -2196,   -675,
+  -2807,  -3054,  -1102,
+  -2008,  -2840,  -1186,
+  -1980,  -3332,  -1695,
+  -1715,  -3562,   -505,
+  -2527,  -4000,  -1887,
+  -2333,  -2734,  -2296,
+  -3440,  -2401,  -3211,
+  -2008,  -3528,  -3337,
+  -2247,  -3291,  -4510,
+   -475,    949,    155,
+   -149,   1365,    545,
+   -757,   1644,   1083,
+   -217,   2053,   1353,
+  -1433,   2301,   1462,
+    495,   1661,    529,
+     10,   2037,    740,
+   2082,   1898,    978,
+   2831,   2294,    911,
+    842,    793,    420,
+   1223,   1023,    863,
+   1237,    451,    780,
+   1744,    708,    822,
+   1533,    284,   1384,
+   2135,    609,   1538,
+   2305,    626,    540,
+   2368,   1187,    955,
+   2586,   1255,     -7,
+   3116,   1131,    726,
+   3431,   1730,    428,
+   2734,   1648,   1307,
+   2988,   1231,   2010,
+   3523,   2024,   1488,
+   1034,   1657,    871,
+   1206,   2163,   1036,
+   1807,   2372,   1233,
+   1808,   1769,   1493,
+   1573,   2332,   1779,
+   1216,   1609,   1866,
+   1480,   1898,   2513,
+    465,   2708,   2776,
+    771,   3638,   3338,
+   1869,   2599,   2623,
+   2825,   2745,   2468,
+   2638,   2439,   1585,
+   2094,   2970,   1308,
+   2022,   3057,   1999,
+   3428,   2912,   1816,
+   4536,   2974,   2129,
+   1046,   2563,   2086,
+   1363,   3562,   2318,
+   2511,   1891,   2984,
+   1866,   2306,   3986,
+   3272,   2924,   3682,
+   3146,   3564,   2272,
+   3592,   3968,   2822,
+   2431,   3369,   3069,
+   1931,   4709,   3090,
+   2629,   4220,   3986,
+   4639,   4056,   3664,
+   4035,   5334,   4912,
 };
 
-static const int16_t lsp_band2[LSP_CB_SIZE][4] = {
-   {    0,      0,      0,      0}, {  601,    512,   -542,    334},
-   {  428,   1087,   -484,   -132}, {  652,    622,   -391,   -572},
-   {  378,    799,    141,   -860}, { 1040,    409,    112,   -554},
-   { 1123,    670,    -75,   -847}, { 1421,    494,   -315,  -1095},
-   {  787,   1001,    114,   -460}, {  988,   1672,    216,   -681},
-   { 1007,   1241,   -132,  -1247}, { 1073,    399,    186,     -5},
-   { 1262,    193,   -694,   -129}, {  325,    196,     51,   -641},
-   {  861,    -59,    350,   -458}, { 1261,    567,    586,   -346},
-   { 1532,    885,    210,   -517}, { 2027,    937,    113,   -792},
-   { 1383,   1064,    334,     38}, { 1964,   1468,    459,    133},
-   { 2062,   1186,    -98,   -121}, { 2577,   1445,    506,   -373},
-   { 2310,   1682,     -2,   -960}, { 2876,   1939,    765,    138},
-   { 3581,   2360,    649,   -414}, {  219,    176,   -398,   -309},
-   {  434,    -78,   -435,   -880}, { -344,    301,    265,   -552},
-   { -915,    470,    657,   -380}, {  419,   -432,   -163,   -453},
-   {  351,   -953,      8,   -562}, {  789,    -43,     20,   -958},
-   {  302,   -594,   -352,  -1159}, { 1040,    108,   -668,   -924},
-   { 1333,    210,  -1217,  -1663}, {  483,    589,   -350,  -1140},
-   { 1003,    824,   -802,  -1184}, {  745,     58,   -589,  -1443},
-   {  346,    247,   -915,  -1683}, {  270,    796,   -720,  -2043},
-   { 1208,    722,   -222,   -193}, { 1486,   1180,   -412,   -672},
-   { 1722,    179,    -69,   -521}, { 2047,    860,   -666,  -1410},
-   { -146,    222,   -281,   -805}, { -189,     90,   -114,  -1307},
-   { -152,   1086,   -241,   -764}, { -439,    733,   -601,  -1302},
-   { -833,   -167,   -351,   -601}, { -856,   -422,   -411,  -1059},
-   { -747,   -355,   -582,  -1644}, { -837,    210,   -916,  -1144},
-   {-1800,     32,   -878,  -1687}, {  -48,    -23,  -1146,     52},
-   { -350,   -409,  -1656,   -364}, {  265,   -728,   -858,   -577},
-   {  458,   -247,  -1141,   -997}, {  691,   -407,  -1988,  -1161},
-   {  -66,   -104,   -705,  -1249}, { -431,    -93,  -1191,  -1844},
-   {  203,   -732,  -1000,  -1693}, {   10,   -832,  -1846,  -1819},
-   {  493,   -128,  -1436,  -1768}, {  488,   -311,  -1730,  -2540},
-   { -653,   -532,  -1150,  -1172}, {-1086,   -289,  -1706,  -1533},
-   { -699,  -1205,  -1216,  -1766}, {-1032,  -1481,  -2074,  -1523},
-   { -721,  -1220,  -2277,  -2600}, {   12,   -539,  -1484,  -1131},
-   {  -40,   -911,  -2106,   -441}, { -471,   -484,  -2267,  -1549},
-   { -141,   -988,  -3006,  -1721}, {-1545,  -2102,   -583,    342},
-   {-1383,  -2772,   -386,    -13}, {-2118,  -2589,  -1205,     72},
-   {-2147,  -3231,   -965,    390}, {-2949,  -3300,   -621,    637},
-   {-3907,  -4138,   -865,    803}, {-1287,   -845,   -375,   -548},
-   {-1416,  -1169,   -487,  -1277}, {-1400,  -1690,  -1027,   -418},
-   {-2018,  -1909,  -1188,  -1260}, {-1418,  -2222,  -2029,   -128},
-   {-2067,  -2998,  -2693,   -310}, { -950,  -1028,  -1538,    185},
-   {-1616,   -915,  -2205,   -549}, {   19,   -821,  -1145,    352},
-   {  184,  -1175,  -1356,   -627}, { -547,  -1088,  -1661,   -911},
-   { -216,  -1502,  -2197,   -948}, { -795,  -1306,  -2374,   -451},
-   { -924,  -1889,  -2796,   -680}, { -600,  -1614,  -3609,   -885},
-   {-2392,  -2528,    319,    303}, {-2908,  -2095,   -310,    573},
-   {-3460,  -2141,     49,   -113}, {-2231,   -448,    675,   -146},
-   {-2805,   -532,   1231,    479}, {-2684,   -486,   -200,    611},
-   {-3525,   -971,   -198,    704}, {-3707,    173,    349,    254},
-   {-4734,  -1447,    -34,    880}, {  777,   -512,    114,    -10},
-   { 1250,    -66,    442,     -5}, {  604,    613,    452,   -352},
-   { 1224,    777,    675,  -1014}, {-1372,    -79,  -1208,   -238},
-   {-2389,    -17,  -1157,   -818}, {-1504,   -673,  -1133,  -1060},
-   {-1984,   -799,  -2005,  -1973}, {-2037,   -798,  -1068,   -105},
-   {-3190,   -899,  -1817,   -194}, { -156,   -886,    394,   -318},
-   { -258,  -1283,    551,    202}, { -536,  -1729,    910,    331},
-   { -847,  -1109,    795,   -163}, {-1171,  -1128,    715,    519},
-   {-1080,  -1319,   1685,    668}, {-1000,  -1921,     96,    211},
-   {-1487,  -2148,    831,    174}, {-1139,   -374,    414,     -4},
-   {-1517,  -1383,    396,   -352}, {-1012,    439,    -59,   -967},
-   {-1812,    706,   -440,  -1030}, {-1971,   -329,    -34,   -827},
-   {-2472,  -1588,   -151,   -606}, {-2161,    374,   -281,     76},
-   {-3012,    231,    -15,   -690}, { 1104,    566,    721,    209},
-   { 1685,    564,    383,     98}, { 1898,    750,    792,    -97},
-   {  556,    -64,    561,    -93}, {  876,    162,    913,    -22},
-   {  961,    675,   1296,    140}, {  756,   -396,    851,    544},
-   {  360,   -303,   1341,    396}, {  878,    -22,   1464,    863},
-   { -309,   -273,    642,   -129}, { -686,    -82,    842,    454},
-   {   -5,    -47,   1069,    998}, {  -94,    967,   1277,    298},
-   { -489,    385,   1473,    746}, { -369,   -717,   1333,    242},
-   {  281,   -993,   1726,    924}, {  464,    601,   1575,   1376},
-   { -250,    206,   2339,   1175}, { -438,    377,   -597,   -285},
-   {-1020,    787,   -790,   -287}, { -458,   -410,    215,    295},
-   { -589,   -860,   -121,    797}, {-1175,    122,   -437,    466},
-   {-1480,   -121,    367,    924}, {  234,    323,    770,   -555},
-   {  145,     30,    996,     26}, {   66,    849,     93,   -145},
-   { -117,   1261,    474,   -399}, {-1495,   1051,    218,   -506},
-   {-1390,    694,    994,     88}, {  616,      7,     78,    304},
-   { 1060,     52,    -62,    835}, {  833,    454,    649,   1359},
-   { -770,    464,     47,     93}, { -574,   1199,    -39,    379},
-   {  114,    -98,    488,    485}, {  727,    244,    606,    696},
-   {  -76,    455,    671,    546}, { -565,    -13,    145,    819},
-   { -376,    569,    448,   1128}, {  218,    122,    265,   1167},
-   {  230,    738,    932,   1003}, {  138,    477,     36,    450},
-   {  404,    787,    -73,   1000}, {  497,   1259,    387,   1231},
-   {   17,    207,    195,    -79}, {  562,    358,     53,   -158},
-   {  493,    387,    478,    189}, {  678,    831,    640,    558},
-   { -197,    523,    613,     57}, {  429,    894,    769,    111},
-   {   67,   1174,    568,    511}, { 1242,    824,    251,    840},
-   { 1419,   1074,    864,    481}, {  924,   1474,    669,    724},
-   { 1539,   1879,    654,   1590}, {  445,    337,   1111,    541},
-   {  472,   1421,   1264,   1094}, {  794,    735,   1103,    668},
-   { 1055,    863,   1192,   1020}, {  778,   1105,    806,   1798},
-   { 1052,   1527,   1587,   2151}, {  881,   1552,   1265,    391},
-   {  726,    872,   1812,    601}, { 1469,    280,   1008,    616},
-   { 1403,    577,   1803,   1244}, { 1650,   1314,   1148,   1072},
-   { 1297,   1669,   1911,   1026}, { 2093,   1044,   2115,   1189},
-   { 1644,   1961,   2587,   1512}, {   25,   -315,     -9,   -106},
-   {  290,   -339,    428,   -444}, {  -68,   -783,    735,    772},
-   {  245,   -555,    468,     47}, {  334,   -895,    814,    146},
-   {  235,    368,   -964,   -959}, { -203,    315,  -1566,  -1217},
-   {  801,     17,   -276,   -354}, {  894,   -495,   -789,   -635},
-   {  716,    291,  -1189,   -357}, {  560,   -260,   -733,     -2},
-   {  679,   -508,  -1429,    211}, {  -51,    -62,   -428,    557},
-   {  322,   -638,   -211,    614}, { -878,  -1057,    -84,    -71},
-   { -388,  -1415,   -167,   -318}, { -754,  -1574,    214,   -539},
-   {-1419,  -2004,    -92,   -787}, {  -47,   -856,   -347,   -255},
-   {   23,  -1211,   -173,    320}, { -658,   -487,   -893,    353},
-   { -783,  -1587,   -584,    507}, {-1420,   -859,   -378,    441},
-   {-2095,  -1491,   -137,    439}, { -321,  -1450,  -1288,    -12},
-   { -359,  -2113,   -553,     -8}, { -831,  -1918,  -1561,     32},
-   {-1014,  -2487,  -1359,   -939}, { -475,   -311,   -169,   -236},
-   { -907,   -426,    276,   -611}, {  -96,   -400,     50,   -710},
-   { -426,  -1022,    -10,   -985}, { -197,   -258,   -744,   -575},
-   { -611,   -930,   -771,   -394}, { -267,   -776,   -612,   -939},
-   { -256,  -1346,   -802,  -1122}, { -796,  -1570,   -825,   -754},
-   {  712,    876,    141,    227}, {  981,   1509,     85,    124},
-   { 1462,   1228,    979,    -39}, { 1734,    999,   1481,    440},
-   { 2293,   1116,    769,    440}, { 2504,   1480,   1241,    356},
-   { 2474,   1909,   1558,    810}, {  917,   1134,    607,   -134},
-   {  509,   1809,    781,   -123}, { 1712,   1506,    559,   -423},
-   { 2037,   2317,    726,   -155}, { 3031,   2676,   1203,    331},
-   { 3664,   3274,   1768,    531}, { 1610,   1839,    867,    183},
-   { 1774,   1972,   1538,     97}, { 1822,   2158,   1282,    659},
-   { 2222,   2758,   1818,    900}, { 3251,   2124,   1723,    996},
-   { 3633,   2336,   2408,   1453}, { 2923,   3517,   2567,   1318},
+static const int16_t lsp_band2[LSP_CB_SIZE * 4] = {
+      0,      0,      0,      0,
+    601,    512,   -542,    334,
+    428,   1087,   -484,   -132,
+    652,    622,   -391,   -572,
+    378,    799,    141,   -860,
+   1040,    409,    112,   -554,
+   1123,    670,    -75,   -847,
+   1421,    494,   -315,  -1095,
+    787,   1001,    114,   -460,
+    988,   1672,    216,   -681,
+   1007,   1241,   -132,  -1247,
+   1073,    399,    186,     -5,
+   1262,    193,   -694,   -129,
+    325,    196,     51,   -641,
+    861,    -59,    350,   -458,
+   1261,    567,    586,   -346,
+   1532,    885,    210,   -517,
+   2027,    937,    113,   -792,
+   1383,   1064,    334,     38,
+   1964,   1468,    459,    133,
+   2062,   1186,    -98,   -121,
+   2577,   1445,    506,   -373,
+   2310,   1682,     -2,   -960,
+   2876,   1939,    765,    138,
+   3581,   2360,    649,   -414,
+    219,    176,   -398,   -309,
+    434,    -78,   -435,   -880,
+   -344,    301,    265,   -552,
+   -915,    470,    657,   -380,
+    419,   -432,   -163,   -453,
+    351,   -953,      8,   -562,
+    789,    -43,     20,   -958,
+    302,   -594,   -352,  -1159,
+   1040,    108,   -668,   -924,
+   1333,    210,  -1217,  -1663,
+    483,    589,   -350,  -1140,
+   1003,    824,   -802,  -1184,
+    745,     58,   -589,  -1443,
+    346,    247,   -915,  -1683,
+    270,    796,   -720,  -2043,
+   1208,    722,   -222,   -193,
+   1486,   1180,   -412,   -672,
+   1722,    179,    -69,   -521,
+   2047,    860,   -666,  -1410,
+   -146,    222,   -281,   -805,
+   -189,     90,   -114,  -1307,
+   -152,   1086,   -241,   -764,
+   -439,    733,   -601,  -1302,
+   -833,   -167,   -351,   -601,
+   -856,   -422,   -411,  -1059,
+   -747,   -355,   -582,  -1644,
+   -837,    210,   -916,  -1144,
+  -1800,     32,   -878,  -1687,
+    -48,    -23,  -1146,     52,
+   -350,   -409,  -1656,   -364,
+    265,   -728,   -858,   -577,
+    458,   -247,  -1141,   -997,
+    691,   -407,  -1988,  -1161,
+    -66,   -104,   -705,  -1249,
+   -431,    -93,  -1191,  -1844,
+    203,   -732,  -1000,  -1693,
+     10,   -832,  -1846,  -1819,
+    493,   -128,  -1436,  -1768,
+    488,   -311,  -1730,  -2540,
+   -653,   -532,  -1150,  -1172,
+  -1086,   -289,  -1706,  -1533,
+   -699,  -1205,  -1216,  -1766,
+  -1032,  -1481,  -2074,  -1523,
+   -721,  -1220,  -2277,  -2600,
+     12,   -539,  -1484,  -1131,
+    -40,   -911,  -2106,   -441,
+   -471,   -484,  -2267,  -1549,
+   -141,   -988,  -3006,  -1721,
+  -1545,  -2102,   -583,    342,
+  -1383,  -2772,   -386,    -13,
+  -2118,  -2589,  -1205,     72,
+  -2147,  -3231,   -965,    390,
+  -2949,  -3300,   -621,    637,
+  -3907,  -4138,   -865,    803,
+  -1287,   -845,   -375,   -548,
+  -1416,  -1169,   -487,  -1277,
+  -1400,  -1690,  -1027,   -418,
+  -2018,  -1909,  -1188,  -1260,
+  -1418,  -2222,  -2029,   -128,
+  -2067,  -2998,  -2693,   -310,
+   -950,  -1028,  -1538,    185,
+  -1616,   -915,  -2205,   -549,
+     19,   -821,  -1145,    352,
+    184,  -1175,  -1356,   -627,
+   -547,  -1088,  -1661,   -911,
+   -216,  -1502,  -2197,   -948,
+   -795,  -1306,  -2374,   -451,
+   -924,  -1889,  -2796,   -680,
+   -600,  -1614,  -3609,   -885,
+  -2392,  -2528,    319,    303,
+  -2908,  -2095,   -310,    573,
+  -3460,  -2141,     49,   -113,
+  -2231,   -448,    675,   -146,
+  -2805,   -532,   1231,    479,
+  -2684,   -486,   -200,    611,
+  -3525,   -971,   -198,    704,
+  -3707,    173,    349,    254,
+  -4734,  -1447,    -34,    880,
+    777,   -512,    114,    -10,
+   1250,    -66,    442,     -5,
+    604,    613,    452,   -352,
+   1224,    777,    675,  -1014,
+  -1372,    -79,  -1208,   -238,
+  -2389,    -17,  -1157,   -818,
+  -1504,   -673,  -1133,  -1060,
+  -1984,   -799,  -2005,  -1973,
+  -2037,   -798,  -1068,   -105,
+  -3190,   -899,  -1817,   -194,
+   -156,   -886,    394,   -318,
+   -258,  -1283,    551,    202,
+   -536,  -1729,    910,    331,
+   -847,  -1109,    795,   -163,
+  -1171,  -1128,    715,    519,
+  -1080,  -1319,   1685,    668,
+  -1000,  -1921,     96,    211,
+  -1487,  -2148,    831,    174,
+  -1139,   -374,    414,     -4,
+  -1517,  -1383,    396,   -352,
+  -1012,    439,    -59,   -967,
+  -1812,    706,   -440,  -1030,
+  -1971,   -329,    -34,   -827,
+  -2472,  -1588,   -151,   -606,
+  -2161,    374,   -281,     76,
+  -3012,    231,    -15,   -690,
+   1104,    566,    721,    209,
+   1685,    564,    383,     98,
+   1898,    750,    792,    -97,
+    556,    -64,    561,    -93,
+    876,    162,    913,    -22,
+    961,    675,   1296,    140,
+    756,   -396,    851,    544,
+    360,   -303,   1341,    396,
+    878,    -22,   1464,    863,
+   -309,   -273,    642,   -129,
+   -686,    -82,    842,    454,
+     -5,    -47,   1069,    998,
+    -94,    967,   1277,    298,
+   -489,    385,   1473,    746,
+   -369,   -717,   1333,    242,
+    281,   -993,   1726,    924,
+    464,    601,   1575,   1376,
+   -250,    206,   2339,   1175,
+   -438,    377,   -597,   -285,
+  -1020,    787,   -790,   -287,
+   -458,   -410,    215,    295,
+   -589,   -860,   -121,    797,
+  -1175,    122,   -437,    466,
+  -1480,   -121,    367,    924,
+    234,    323,    770,   -555,
+    145,     30,    996,     26,
+     66,    849,     93,   -145,
+   -117,   1261,    474,   -399,
+  -1495,   1051,    218,   -506,
+  -1390,    694,    994,     88,
+    616,      7,     78,    304,
+   1060,     52,    -62,    835,
+    833,    454,    649,   1359,
+   -770,    464,     47,     93,
+   -574,   1199,    -39,    379,
+    114,    -98,    488,    485,
+    727,    244,    606,    696,
+    -76,    455,    671,    546,
+   -565,    -13,    145,    819,
+   -376,    569,    448,   1128,
+    218,    122,    265,   1167,
+    230,    738,    932,   1003,
+    138,    477,     36,    450,
+    404,    787,    -73,   1000,
+    497,   1259,    387,   1231,
+     17,    207,    195,    -79,
+    562,    358,     53,   -158,
+    493,    387,    478,    189,
+    678,    831,    640,    558,
+   -197,    523,    613,     57,
+    429,    894,    769,    111,
+     67,   1174,    568,    511,
+   1242,    824,    251,    840,
+   1419,   1074,    864,    481,
+    924,   1474,    669,    724,
+   1539,   1879,    654,   1590,
+    445,    337,   1111,    541,
+    472,   1421,   1264,   1094,
+    794,    735,   1103,    668,
+   1055,    863,   1192,   1020,
+    778,   1105,    806,   1798,
+   1052,   1527,   1587,   2151,
+    881,   1552,   1265,    391,
+    726,    872,   1812,    601,
+   1469,    280,   1008,    616,
+   1403,    577,   1803,   1244,
+   1650,   1314,   1148,   1072,
+   1297,   1669,   1911,   1026,
+   2093,   1044,   2115,   1189,
+   1644,   1961,   2587,   1512,
+     25,   -315,     -9,   -106,
+    290,   -339,    428,   -444,
+    -68,   -783,    735,    772,
+    245,   -555,    468,     47,
+    334,   -895,    814,    146,
+    235,    368,   -964,   -959,
+   -203,    315,  -1566,  -1217,
+    801,     17,   -276,   -354,
+    894,   -495,   -789,   -635,
+    716,    291,  -1189,   -357,
+    560,   -260,   -733,     -2,
+    679,   -508,  -1429,    211,
+    -51,    -62,   -428,    557,
+    322,   -638,   -211,    614,
+   -878,  -1057,    -84,    -71,
+   -388,  -1415,   -167,   -318,
+   -754,  -1574,    214,   -539,
+  -1419,  -2004,    -92,   -787,
+    -47,   -856,   -347,   -255,
+     23,  -1211,   -173,    320,
+   -658,   -487,   -893,    353,
+   -783,  -1587,   -584,    507,
+  -1420,   -859,   -378,    441,
+  -2095,  -1491,   -137,    439,
+   -321,  -1450,  -1288,    -12,
+   -359,  -2113,   -553,     -8,
+   -831,  -1918,  -1561,     32,
+  -1014,  -2487,  -1359,   -939,
+   -475,   -311,   -169,   -236,
+   -907,   -426,    276,   -611,
+    -96,   -400,     50,   -710,
+   -426,  -1022,    -10,   -985,
+   -197,   -258,   -744,   -575,
+   -611,   -930,   -771,   -394,
+   -267,   -776,   -612,   -939,
+   -256,  -1346,   -802,  -1122,
+   -796,  -1570,   -825,   -754,
+    712,    876,    141,    227,
+    981,   1509,     85,    124,
+   1462,   1228,    979,    -39,
+   1734,    999,   1481,    440,
+   2293,   1116,    769,    440,
+   2504,   1480,   1241,    356,
+   2474,   1909,   1558,    810,
+    917,   1134,    607,   -134,
+    509,   1809,    781,   -123,
+   1712,   1506,    559,   -423,
+   2037,   2317,    726,   -155,
+   3031,   2676,   1203,    331,
+   3664,   3274,   1768,    531,
+   1610,   1839,    867,    183,
+   1774,   1972,   1538,     97,
+   1822,   2158,   1282,    659,
+   2222,   2758,   1818,    900,
+   3251,   2124,   1723,    996,
+   3633,   2336,   2408,   1453,
+   2923,   3517,   2567,   1318,
 };
 
 static const int16_t fixed_cb_gain[GAIN_LEVELS] = {

-----------------------------------------------------------------------

Summary of changes:
 libavcodec/Makefile        |    1 +
 libavcodec/allcodecs.c     |    1 +
 libavcodec/g723_1.c        |    2 +-
 libavcodec/g723_1_parser.c |   75 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 78 insertions(+), 1 deletions(-)
 create mode 100644 libavcodec/g723_1_parser.c


-- 
http://github.com/naufal/ffmpeg-soc


More information about the FFmpeg-soc mailing list