qua_gain_tbl.cpp revision 4f1efc098cb5791c3e9f483f2af84aef70d2d0a0
1c383a500aa59423264811be3874461bf8adbfea0Zonr Chang/* ------------------------------------------------------------------
248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines * Copyright (C) 1998-2009 PacketVideo
3c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
4c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * Licensed under the Apache License, Version 2.0 (the "License");
5c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * you may not use this file except in compliance with the License.
6c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * You may obtain a copy of the License at
7c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
8c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *      http://www.apache.org/licenses/LICENSE-2.0
9c383a500aa59423264811be3874461bf8adbfea0Zonr Chang *
10c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * Unless required by applicable law or agreed to in writing, software
11c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * distributed under the License is distributed on an "AS IS" BASIS,
12c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * express or implied.
14c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * See the License for the specific language governing permissions
15c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * and limitations under the License.
16c383a500aa59423264811be3874461bf8adbfea0Zonr Chang * -------------------------------------------------------------------
176315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr */
18462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao/****************************************************************************************
19e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen HinesPortions of this file are derived from the following 3GPP standard:
20e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines
21462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    3GPP TS 26.073
229ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
23e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines    Available from http://www.3gpp.org
24e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines
25e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
26e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen HinesPermission to distribute, modify and use this file under the standard license
27462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoterms listed above has been obtained from the copyright holder.
286315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr****************************************************************************************/
2989273bd59a182fc0401d68f14ad206bf4dc800c7Zonr Chang/*
306315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
318d5a2f6ab321615bfb3a46f68aff0b643a71caa0Raphael Filename: /audio/gsm_amr/c/src/qua_gain_tbl.c
326315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
336315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr------------------------------------------------------------------------------
34593a894650e81be54173106ec266f0311cebebd3Stephen Hines REVISION HISTORY
356315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
366315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr Description: Created this file from the reference, qua_gain.tab
37e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines
386315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr Description: Added #ifdef __cplusplus and removed "extern" from table
399ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao              definition.
409ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
41462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao Description: Put "extern" back.
429ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
439ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao Who:                               Date:
44462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao Description:
459ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
46462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao------------------------------------------------------------------------------
479ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao MODULE DESCRIPTION
489ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
49462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao------------------------------------------------------------------------------
509ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao*/
519ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
52462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao/*----------------------------------------------------------------------------
539ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao; INCLUDES
54593a894650e81be54173106ec266f0311cebebd3Stephen Hines----------------------------------------------------------------------------*/
55462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao#include "typedef.h"
569ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao#include "qua_gain.h"
579ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
58462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao/*--------------------------------------------------------------------------*/
59e639eb5caa2c386b4a60659a4929e8a6141a2cbeStephen Hines#ifdef __cplusplus
60462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoextern "C"
619ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao{
629ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao#endif
639ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
649ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /*----------------------------------------------------------------------------
65462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    ; MACROS
669ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; [Define module specific macros here]
679ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ----------------------------------------------------------------------------*/
68462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
699ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /*----------------------------------------------------------------------------
709ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; DEFINES
71462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    ; [Include all pre-processor statements here. Include conditional
729ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; compile variables also.]
73462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    ----------------------------------------------------------------------------*/
74462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
759ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /*----------------------------------------------------------------------------
769ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; LOCAL FUNCTION DEFINITIONS
7791a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634Shih-wei Liao    ; [List function prototypes here]
789ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ----------------------------------------------------------------------------*/
799ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
809ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /*----------------------------------------------------------------------------
819ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; LOCAL VARIABLE DEFINITIONS
829ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ; [Variable declaration - defined here and used outside this module]
839ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    ----------------------------------------------------------------------------*/
849ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
859ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /* The tables contains the following data:
869ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *
879ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *    g_pitch        (Q14),
8891a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634Shih-wei Liao     *    g_fac          (Q12), (g_code = g_code0*g_fac),
899ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *    qua_ener_MR122 (Q10), (log2(g_fac))
909ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *    qua_ener       (Q10)  (20*log10(g_fac))
919ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *
929ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *    The log2() and log10() values are calculated on the fixed point value
939ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao     *    (g_fac Q12) and not on the original floating point value of g_fac
9492b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang     *    to make the quantizer/MA predictdor use corresponding values.
9592b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang     */
9692b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang
979ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /* table used in 'high' rates: MR67 MR74 */
9892b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang
9992b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang    extern const Word16 table_gain_highrates[VQ_SIZE_HIGHRATES*4] =
1009ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    {
10192b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang
10292b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        /*
10392b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang         * Note: column 4 (qua_ener) contains the original values from IS641
1049ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao         *       to ensure bit-exactness; however, they are not exactly the
1059ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao         *       rounded value of (20*log10(g_fac))
1069ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao         *
1079ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao         */
1089ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
1099ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        /*g_pit,    g_fac,  qua_ener_MR122, qua_ener */
1109ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        577,      662,           -2692,   -16214,
1119ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        806,     1836,           -1185,    -7135,
1129ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        3109,     1052,           -2008,   -12086,
1139ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        4181,     1387,           -1600,    -9629,
1149ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        2373,     1425,           -1560,    -9394,
1159ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        3248,     1985,           -1070,    -6442,
1166e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        1827,     2320,            -840,    -5056,
1179ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        941,     3314,            -313,    -1885,
118462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao        2351,     2977,            -471,    -2838,
119462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao        3616,     2420,            -777,    -4681,
1209ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        3451,     3096,            -414,    -2490,
1219ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        2955,     4301,              72,      434,
1224f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        1848,     4500,             139,      836,
1234f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        3884,     5416,             413,     2484,
1244f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        1187,     7210,             835,     5030,
1254f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        3083,     9000,            1163,     7002,
1264f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        7384,      883,           -2267,   -13647,
1274f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        5962,     1506,           -1478,    -8900,
1289ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        5155,     2134,            -963,    -5800,
1299ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        7944,     2009,           -1052,    -6335,
1309ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6507,     2250,            -885,    -5327,
1319ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        7670,     2752,            -588,    -3537,
1329ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        5952,     3016,            -452,    -2724,
13348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        4898,     3764,            -125,     -751,
1349ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6989,     3588,            -196,    -1177,
1359ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        8174,     3978,             -43,     -260,
1369ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6064,     4404,             107,      645,
1379ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        7709,     5087,             320,     1928,
1389ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        5523,     6021,             569,     3426,
1399ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        7769,     7126,             818,     4926,
1409ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6060,     7938,             977,     5885,
1419ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        5594,    11487,            1523,     9172,
1429ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10581,     1356,           -1633,    -9831,
1439ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9049,     1597,           -1391,    -8380,
1449ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9794,     2035,           -1033,    -6220,
1459ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        8946,     2415,            -780,    -4700,
1469ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10296,     2584,            -681,    -4099,
1479ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9407,     2734,            -597,    -3595,
148a5d2c232d56b04292cb51c8fb343aef990f7970fStephen Hines        8700,     3218,            -356,    -2144,
1499ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9757,     3395,            -277,    -1669,
1509ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10177,     3892,             -75,     -454,
1519ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9170,     4528,             148,      891,
1529ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10152,     5004,             296,     1781,
1539ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9114,     5735,             497,     2993,
1549ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10500,     6266,             628,     3782,
1559ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10110,     7631,             919,     5534,
1569ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        8844,     8727,            1117,     6728,
1574f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        8956,    12496,            1648,     9921,
1584f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        12924,      976,           -2119,   -12753,
1594f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        11435,     1755,           -1252,    -7539,
1604f9e08bd32ea91d42160d4b8f2f452947dbacbdfStephen Hines        12138,     2328,            -835,    -5024,
1619ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11388,     2368,            -810,    -4872,
16248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        10700,     3064,            -429,    -2580,
1636e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        12332,     2861,            -530,    -3192,
1649ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11722,     3327,            -307,    -1848,
1659ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11270,     3700,            -150,     -904,
1669ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10861,     4413,             110,      663,
167462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao        12082,     4533,             150,      902,
1686e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        11283,     5205,             354,     2132,
1696e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        11960,     6305,             637,     3837,
17048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        11167,     7534,             900,     5420,
17148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12128,     8329,            1049,     6312,
17248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        10969,    10777,            1429,     8604,
17348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        10300,    17376,            2135,    12853,
17448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13899,     1681,           -1316,    -7921,
17548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12580,     2045,           -1026,    -6179,
17648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13265,     2439,            -766,    -4610,
17748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14033,     2989,            -465,    -2802,
17848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13452,     3098,            -413,    -2482,
17948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12396,     3658,            -167,    -1006,
18048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13510,     3780,            -119,     -713,
18148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12880,     4272,              62,      374,
18248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13533,     4861,             253,     1523,
18348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12667,     5457,             424,     2552,
18448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13854,     6106,             590,     3551,
18548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13031,     6483,             678,     4084,
18648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13557,     7721,             937,     5639,
18748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12957,     9311,            1213,     7304,
18848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13714,    11551,            1532,     9221,
18948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        12591,    15206,            1938,    11667,
19048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15113,     1540,           -1445,    -8700,
19148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15072,     2333,            -832,    -5007,
19248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14527,     2511,            -723,    -4352,
19348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14692,     3199,            -365,    -2197,
19448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15382,     3560,            -207,    -1247,
19548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14133,     3960,             -50,     -300,
19648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15102,     4236,              50,      298,
19748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14332,     4824,             242,     1454,
19848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14846,     5451,             422,     2542,
19948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15306,     6083,             584,     3518,
20048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14329,     6888,             768,     4623,
20148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15060,     7689,             930,     5602,
20248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14406,     9426,            1231,     7413,
20348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15387,     9741,            1280,     7706,
20448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        14824,    14271,            1844,    11102,
20548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        13600,    24939,            2669,    16067,
20648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16396,     1969,           -1082,    -6517,
20748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16817,     2832,            -545,    -3283,
20848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15713,     2843,            -539,    -3248,
20948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16104,     3336,            -303,    -1825,
21048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16384,     3963,             -49,     -294,
21148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16940,     4579,             165,      992,
21248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15711,     4599,             171,     1030,
21348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16222,     5448,             421,     2537,
21448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16832,     6382,             655,     3945,
21548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15745,     7141,             821,     4944,
21648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16326,     7469,             888,     5343,
21748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16611,     8624,            1100,     6622,
21848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        17028,    10418,            1379,     8303,
21948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        15905,    11817,            1565,     9423,
22048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16878,    14690,            1887,    11360,
22148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        16515,    20870,            2406,    14483,
22248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        18142,     2083,            -999,    -6013,
22348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        19401,     3178,            -375,    -2257,
22448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        17508,     3426,            -264,    -1589,
22548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        20054,     4027,             -25,     -151,
22648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        18069,     4249,              54,      326,
22748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        18952,     5066,             314,     1890,
22848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        17711,     5402,             409,     2461,
22948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        19835,     6192,             610,     3676,
23048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        17950,     7014,             795,     4784,
23148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        21318,     7877,             966,     5816,
23248b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        17910,     9289,            1210,     7283,
23348b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        19144,     9290,            1210,     7284,
23448b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        20517,    11381,            1510,     9089,
23548b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        18075,    14485,            1866,    11234,
23648b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        19999,    17882,            2177,    13108,
23748b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines        18842,    32764,            3072,    18494
23848b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines    };
23948b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines
24048b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines
24148b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1Stephen Hines    /* table used in 'low' rates: MR475, MR515, MR59 */
242462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
2439ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    extern const Word16 table_gain_lowrates[VQ_SIZE_LOWRATES*4] =
244462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    {
245462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao        /*g_pit,    g_fac,  qua_ener_MR122, qua_ener */
24692b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        10813,    28753,            2879,    17333,
24792b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        20480,     2785,            -570,    -3431,
24892b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        18841,     6594,             703,     4235,
24992b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        6225,     7413,             876,     5276,
25092b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        17203,    10444,            1383,     8325,
25192b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        21626,     1269,           -1731,   -10422,
25292b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        21135,     4423,             113,      683,
25392b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        11304,     1556,           -1430,    -8609,
25492b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        19005,    12820,            1686,    10148,
25592b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        17367,     2498,            -731,    -4398,
25692b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        17858,     4833,             244,     1472,
2576e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        9994,     2498,            -731,    -4398,
25892b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        17530,     7864,             964,     5802,
25992b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        14254,     1884,           -1147,    -6907,
26092b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang        15892,     3153,            -387,    -2327,
2616e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        6717,     1802,           -1213,    -7303,
2629ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        18186,    20193,            2357,    14189,
2639ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        18022,     3031,            -445,    -2678,
2649ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        16711,     5857,             528,     3181,
2659ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        8847,     4014,             -30,     -180,
2669ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        15892,     8970,            1158,     6972,
2679ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        18022,     1392,           -1594,    -9599,
268324c0479ec3edda573de60b2e6476507a99d06f7Shih-wei Liao        16711,     4096,               0,        0,
2696e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        8192,      655,           -2708,   -16305,
2706e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines        15237,    13926,            1808,    10884,
271324c0479ec3edda573de60b2e6476507a99d06f7Shih-wei Liao        14254,     3112,            -406,    -2444,
2729ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        14090,     4669,             193,     1165,
273324c0479ec3edda573de60b2e6476507a99d06f7Shih-wei Liao        5406,     2703,            -614,    -3697,
274324c0479ec3edda573de60b2e6476507a99d06f7Shih-wei Liao        13434,     6553,             694,     4180,
2759ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        12451,      901,           -2237,   -13468,
2766315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr        12451,     2662,            -637,    -3833,
27791a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634Shih-wei Liao        3768,      655,           -2708,   -16305,
2789ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        14745,    23511,            2582,    15543,
2799ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        19169,     2457,            -755,    -4546,
2809ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        20152,     5079,             318,     1913,
2819ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6881,     4096,               0,        0,
2829ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        20480,     8560,            1089,     6556,
2839ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        19660,      737,           -2534,   -15255,
2849ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        19005,     4259,              58,      347,
2859ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        7864,     2088,            -995,    -5993,
2869ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11468,    12288,            1623,     9771,
2879ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        15892,     1474,           -1510,    -9090,
28891a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634Shih-wei Liao        15728,     4628,             180,     1086,
2899ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9175,     1433,           -1552,    -9341,
2909ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        16056,     7004,             793,     4772,
2919ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        14827,      737,           -2534,   -15255,
2929ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        15073,     2252,            -884,    -5321,
2939ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        5079,     1228,           -1780,   -10714,
294aa180e98d5209fb44e7d5ecaec758be4a43078cdAlex Sakhartchouk        13271,    17326,            2131,    12827,
295aa180e98d5209fb44e7d5ecaec758be4a43078cdAlex Sakhartchouk        16547,     2334,            -831,    -5002,
296aa180e98d5209fb44e7d5ecaec758be4a43078cdAlex Sakhartchouk        15073,     5816,             518,     3118,
2979ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        3932,     3686,            -156,     -938,
2989ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        14254,     8601,            1096,     6598,
2999ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        16875,      778,           -2454,   -14774,
3009ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        15073,     3809,            -107,     -646,
3019ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        6062,      614,           -2804,   -16879,
3029ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        9338,     9256,            1204,     7251,
3039ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        13271,     1761,           -1247,    -7508,
3049ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        13271,     3522,            -223,    -1343,
3059ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        2457,     1966,           -1084,    -6529,
3069ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11468,     5529,             443,     2668,
3079ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        10485,      737,           -2534,   -15255,
3089ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        11632,     3194,            -367,    -2212,
3099ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao        1474,      778,           -2454,   -14774
3109ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    };
3119ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3129ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    /*--------------------------------------------------------------------------*/
3139ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao#ifdef __cplusplus
3149ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao}
3156e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines#endif
3169ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
317462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao/*
318462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao------------------------------------------------------------------------------
3199ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao FUNCTION NAME:
3209ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao------------------------------------------------------------------------------
3212e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang INPUT AND OUTPUT DEFINITIONS
3226315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
3236315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr Inputs:
3249ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    None
3259ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3269ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao Outputs:
3279ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    None
3289ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3299ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao Returns:
3309ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    None
3319ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3329ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao Global Variables Used:
333462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao    None
3349ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3359ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao Local Variables Needed:
3369ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao    None
33792b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang
33892b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang------------------------------------------------------------------------------
3392e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang FUNCTION DESCRIPTION
3402e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang
3412e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang None
3422e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang
3432e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang------------------------------------------------------------------------------
3442e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang REQUIREMENTS
3452e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang
34692b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang None
3479ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3486315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr------------------------------------------------------------------------------
3496315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr REFERENCES
3509ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3519ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao [1] qua_gain.tab,  UMTS GSM AMR speech codec,
3526e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines                    R99 - Version 3.2.0, March 2, 2001
3539ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3549ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao------------------------------------------------------------------------------
355462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao PSEUDO-CODE
3569ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
357462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
358462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao------------------------------------------------------------------------------
359cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao RESOURCES USED [optional]
360cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
361cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao When the code is written for a specific target processor the
3621ab1a450fed988c70c621c24dcf655733ccd3708Zonr Chang the resources used should be documented below.
3631ab1a450fed988c70c621c24dcf655733ccd3708Zonr Chang
3641ab1a450fed988c70c621c24dcf655733ccd3708Zonr Chang HEAP MEMORY USED: x bytes
365cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
3661ab1a450fed988c70c621c24dcf655733ccd3708Zonr Chang STACK MEMORY USED: x bytes
3671ab1a450fed988c70c621c24dcf655733ccd3708Zonr Chang
368cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao CLOCK CYCLES: (cycle count equation for this function) + (variable
369cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao                used to represent cycle count for each subroutine
370cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao                called)
371cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao     where: (cycle count variable) = cycle count for [subroutine
372cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao                                     name]
373cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
374cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao------------------------------------------------------------------------------
375cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao CAUTION [optional]
376cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao [State any special notes, constraints or cautions for users of this function]
377cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
378cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao------------------------------------------------------------------------------
379cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao*/
380cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
3816e6578a360497f78a181e63d7783422a9c9bfb15Stephen Hines/*----------------------------------------------------------------------------
382cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao; FUNCTION CODE
383cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao----------------------------------------------------------------------------*/
384cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
385cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
386cf950c49a909350e529ddecffaae8be5429b9479Shih-wei Liao
3879ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao
3882e1dba6c779a0ae55c76d36a3c03553e16725ab7Zonr Chang
3896315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
3906315f76e3cc6ff2d012d1183a0b030d4ff0dc808zonr
3919ef2f785e0cc490af678dfd685995dec787321ffShih-wei Liao