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