annotate amrnbdata.h @ 12086:d780ae746855 libavcodec

Simple H/V loopfilter for VP8 in MMX, MMX2 and SSE2 (yay for yasm macros).
author rbultje
date Sat, 03 Jul 2010 19:26:30 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11235
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1 /*
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
2 * AMR narrowband data and definitions
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
3 * Copyright (c) 2006-2007 Robert Swain
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
4 * Copyright (c) 2009 Colin McQuillan
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
5 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
6 * This file is part of FFmpeg.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
7 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
12 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
16 * Lesser General Public License for more details.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
17 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
21 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
22
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
23
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
24 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 11235
diff changeset
25 * @file
11235
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
26 * AMR narrowband data and definitions
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
27 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
28
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
29 #ifndef AVCODEC_AMRNBDATA_H
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
30 #define AVCODEC_AMRNBDATA_H
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
31
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
32 #include <stdint.h>
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
33
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
34 #include "libavutil/common.h" /* offsetof */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
35
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
36 #define AMR_SUBFRAME_SIZE 40 ///< samples per subframe
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
37
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
38 /** Frame type (Table 1a in 3GPP TS 26.101) */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
39 enum Mode {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
40 MODE_4k75 = 0, ///< 4.75 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
41 MODE_5k15, ///< 5.15 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
42 MODE_5k9, ///< 5.90 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
43 MODE_6k7, ///< 6.70 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
44 MODE_7k4, ///< 7.40 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
45 MODE_7k95, ///< 7.95 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
46 MODE_10k2, ///< 10.2 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
47 MODE_12k2, ///< 12.2 kbit/s
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
48 MODE_DTX, ///< silent frame
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
49 N_MODES, ///< number of modes
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
50 NO_DATA = 15 ///< no transmission
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
51 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
52
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
53 #define LP_FILTER_ORDER 10 ///< linear predictive coding filter order
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
54
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
55 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
56 * AMRNB unpacked data subframe
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
57 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
58 typedef struct {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
59 uint16_t p_lag; ///< index to decode the pitch lag
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
60 uint16_t p_gain; ///< index to decode the pitch gain
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
61 uint16_t fixed_gain; ///< index to decode the fixed gain factor, for MODE_12k2 and MODE_7k95
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
62 uint16_t pulses[10]; ///< pulses: 10 for MODE_12k2, 7 for MODE_10k2, and index and sign for others
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
63 } AMRNBSubframe;
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
64
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
65 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
66 * AMRNB unpacked data frame
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
67 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
68 typedef struct {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
69 uint16_t lsf[5]; ///< lsf parameters: 5 parameters for MODE_12k2, only 3 for other modes
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
70 AMRNBSubframe subframe[4]; ///< unpacked data for each subframe
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
71 } AMRNBFrame;
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
72
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
73 /** The index of a frame parameter */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
74 #define AMR_BIT(field) (offsetof(AMRNBFrame, field) >> 1)
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
75 /** The index of a subframe-specific parameter */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
76 #define AMR_OF(frame_num, variable) AMR_BIT(subframe[frame_num].variable)
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
77
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
78 // The following order* tables are used to convert AMR frame parameters to and
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
79 // from a bitstream. See 3GPP TS 26.101 for more information.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
80 // Each field in AMRNBFrame is stored as:
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
81 // * one byte for the number of bits in the field
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
82 // * one byte for the field index
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
83 // * then, one byte for each bit of the field (from most-significant to least)
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
84 // of the position of that bit in the AMR frame.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
85 static const uint8_t order_MODE_4k75[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
86 8, AMR_BIT(lsf[0]), 7, 6, 5, 4, 3, 2, 1, 0,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
87 8, AMR_BIT(lsf[1]), 15, 14, 13, 12, 11, 10, 9, 8,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
88 7, AMR_BIT(lsf[2]), 51, 35, 34, 50, 33, 49, 32,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
89 8, AMR_OF(0,p_lag), 23, 22, 21, 20, 19, 18, 43, 42,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
90 8, AMR_OF(0,p_gain), 54, 55, 40, 41, 24, 25, 26, 27,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
91 7, AMR_OF(0,pulses[0]), 92, 68, 67, 84, 66, 65, 80,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
92 2, AMR_OF(0,pulses[1]), 53, 52,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
93 4, AMR_OF(1,p_lag), 17, 16, 48, 63,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
94 7, AMR_OF(1,pulses[0]), 91, 64, 79, 83, 78, 77, 95,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
95 2, AMR_OF(1,pulses[1]), 62, 61,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
96 4, AMR_OF(2,p_lag), 31, 30, 60, 59,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
97 8, AMR_OF(2,p_gain), 44, 45, 46, 47, 36, 37, 38, 39,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
98 7, AMR_OF(2,pulses[0]), 90, 76, 75, 82, 74, 73, 94,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
99 2, AMR_OF(2,pulses[1]), 58, 57,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
100 4, AMR_OF(3,p_lag), 29, 28, 56, 71,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
101 7, AMR_OF(3,pulses[0]), 89, 72, 87, 81, 86, 85, 93,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
102 2, AMR_OF(3,pulses[1]), 70, 69,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
103 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
104 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
105
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
106 static const uint8_t order_MODE_5k15[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
107 8, AMR_BIT(lsf[0]), 0, 1, 2, 3, 4, 5, 6, 7,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
108 8, AMR_BIT(lsf[1]), 8, 9, 10, 11, 12, 13, 14, 15,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
109 7, AMR_BIT(lsf[2]), 70, 51, 43, 71, 50, 60, 49,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
110 8, AMR_OF(0,p_lag), 23, 22, 21, 20, 19, 47, 54, 59,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
111 6, AMR_OF(0,p_gain), 48, 42, 35, 29, 30, 31,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
112 7, AMR_OF(0,pulses[0]), 92, 84, 82, 100, 79, 72, 88,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
113 2, AMR_OF(0,pulses[1]), 67, 68,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
114 4, AMR_OF(1,p_lag), 18, 46, 53, 58,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
115 6, AMR_OF(1,p_gain), 63, 41, 34, 26, 27, 28,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
116 7, AMR_OF(1,pulses[0]), 91, 83, 81, 99, 78, 87, 103,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
117 2, AMR_OF(1,pulses[1]), 65, 66,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
118 4, AMR_OF(2,p_lag), 17, 45, 52, 57,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
119 6, AMR_OF(2,p_gain), 62, 40, 33, 39, 24, 25,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
120 7, AMR_OF(2,pulses[0]), 90, 80, 95, 98, 77, 86, 102,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
121 2, AMR_OF(2,pulses[1]), 75, 64,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
122 4, AMR_OF(3,p_lag), 16, 44, 56, 69,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
123 6, AMR_OF(3,p_gain), 61, 55, 32, 36, 37, 38,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
124 7, AMR_OF(3,pulses[0]), 89, 94, 93, 97, 76, 85, 101,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
125 2, AMR_OF(3,pulses[1]), 73, 74,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
126 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
127 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
128
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
129 static const uint8_t order_MODE_5k9[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
130 8, AMR_BIT(lsf[0]), 7, 6, 0, 3, 5, 4, 2, 1,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
131 9, AMR_BIT(lsf[1]), 13, 12, 8, 11, 10, 15, 9, 14, 23,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
132 9, AMR_BIT(lsf[2]), 71, 56, 60, 70, 59, 57, 58, 69, 76,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
133 8, AMR_OF(0,p_lag), 16, 18, 22, 20, 30, 38, 44, 42,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
134 6, AMR_OF(0,p_gain), 75, 48, 52, 40, 34, 26,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
135 9, AMR_OF(0,pulses[0]), 101, 89, 93, 117, 105, 81, 85, 109, 97,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
136 2, AMR_OF(0,pulses[1]), 67, 78,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
137 4, AMR_OF(1,p_lag), 28, 36, 46, 87,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
138 6, AMR_OF(1,p_gain), 74, 63, 51, 55, 33, 25,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
139 9, AMR_OF(1,pulses[0]), 100, 88, 92, 116, 104, 80, 84, 108, 96,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
140 2, AMR_OF(1,pulses[1]), 64, 79,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
141 8, AMR_OF(2,p_lag), 31, 17, 21, 19, 29, 37, 43, 41,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
142 6, AMR_OF(2,p_gain), 73, 62, 50, 54, 32, 24,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
143 9, AMR_OF(2,pulses[0]), 99, 103, 91, 115, 119, 95, 83, 107, 111,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
144 2, AMR_OF(2,pulses[1]), 66, 77,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
145 4, AMR_OF(3,p_lag), 27, 35, 45, 86,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
146 6, AMR_OF(3,p_gain), 72, 61, 49, 53, 47, 39,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
147 9, AMR_OF(3,pulses[0]), 98, 102, 90, 114, 118, 94, 82, 106, 110,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
148 2, AMR_OF(3,pulses[1]), 65, 68,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
149 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
150 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
151
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
152 static const uint8_t order_MODE_6k7[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
153 8, AMR_BIT(lsf[0]), 7, 6, 15, 4, 5, 3, 2, 0,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
154 9, AMR_BIT(lsf[1]), 14, 13, 8, 12, 10, 1, 9, 11, 29,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
155 9, AMR_BIT(lsf[2]), 57, 58, 50, 56, 60, 59, 49, 71, 70,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
156 8, AMR_OF(0,p_lag), 17, 19, 23, 21, 31, 24, 32, 52,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
157 7, AMR_OF(0,p_gain), 36, 82, 69, 46, 42, 48, 77,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
158 11, AMR_OF(0,pulses[0]), 109, 97, 133, 121, 101, 89, 125, 113, 93, 117,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
159 105,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
160 3, AMR_OF(0,pulses[1]), 81, 73, 65,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
161 4, AMR_OF(1,p_lag), 28, 26, 38, 54,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
162 7, AMR_OF(1,p_gain), 35, 83, 68, 45, 41, 63, 76,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
163 11, AMR_OF(1,pulses[0]), 108, 96, 132, 120, 100, 88, 124, 112, 92, 116,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
164 104,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
165 3, AMR_OF(1,pulses[1]), 80, 72, 64,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
166 8, AMR_OF(2,p_lag), 16, 18, 22, 20, 30, 39, 47, 51,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
167 7, AMR_OF(2,p_gain), 34, 84, 67, 44, 40, 62, 75,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
168 11, AMR_OF(2,pulses[0]), 107, 111, 131, 135, 99, 103, 123, 127, 91, 115,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
169 119,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
170 3, AMR_OF(2,pulses[1]), 95, 87, 79,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
171 4, AMR_OF(3,p_lag), 27, 25, 37, 53,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
172 7, AMR_OF(3,p_gain), 33, 85, 66, 43, 55, 61, 74,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
173 11, AMR_OF(3,pulses[0]), 106, 110, 130, 134, 98, 102, 122, 126, 90, 114,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
174 118,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
175 3, AMR_OF(3,pulses[1]), 94, 86, 78,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
176 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
177 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
178
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
179 static const uint8_t order_MODE_7k4[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
180 8, AMR_BIT(lsf[0]), 7, 6, 5, 4, 3, 2, 1, 0,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
181 9, AMR_BIT(lsf[1]), 15, 14, 13, 12, 11, 10, 9, 8, 23,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
182 9, AMR_BIT(lsf[2]), 53, 52, 51, 58, 40, 55, 54, 57, 56,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
183 8, AMR_OF(0,p_lag), 22, 20, 18, 16, 30, 50, 95, 94,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
184 7, AMR_OF(0,p_gain), 28, 24, 73, 36, 32, 62, 67,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
185 13, AMR_OF(0,pulses[0]), 127, 123, 135, 131, 143, 139, 151, 103, 102, 101,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
186 100, 99, 98,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
187 4, AMR_OF(0,pulses[1]), 83, 75, 79, 71,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
188 5, AMR_OF(1,p_lag), 44, 42, 49, 93, 92,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
189 7, AMR_OF(1,p_gain), 27, 39, 72, 35, 47, 61, 66,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
190 13, AMR_OF(1,pulses[0]), 126, 122, 134, 130, 142, 138, 150, 97, 96, 111,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
191 110, 109, 108,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
192 4, AMR_OF(1,pulses[1]), 82, 74, 78, 70,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
193 8, AMR_OF(2,p_lag), 21, 19, 17, 31, 29, 48, 91, 90,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
194 7, AMR_OF(2,p_gain), 26, 38, 87, 34, 46, 60, 65,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
195 13, AMR_OF(2,pulses[0]), 125, 121, 133, 129, 141, 137, 149, 107, 106, 105,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
196 104, 119, 118,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
197 4, AMR_OF(2,pulses[1]), 81, 85, 77, 69,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
198 5, AMR_OF(3,p_lag), 43, 41, 63, 89, 88,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
199 7, AMR_OF(3,p_gain), 25, 37, 86, 33, 45, 59, 64,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
200 13, AMR_OF(3,pulses[0]), 124, 120, 132, 128, 140, 136, 148, 117, 116, 115,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
201 114, 113, 112,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
202 4, AMR_OF(3,pulses[1]), 80, 84, 76, 68,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
203 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
204 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
205
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
206 static const uint8_t order_MODE_7k95[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
207 9, AMR_BIT(lsf[0]), 67, 68, 1, 2, 3, 4, 5, 6, 7,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
208 9, AMR_BIT(lsf[1]), 14, 13, 9, 12, 11, 0, 10, 15, 8,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
209 9, AMR_BIT(lsf[2]), 18, 19, 23, 17, 22, 20, 21, 66, 65,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
210 8, AMR_OF(0,p_lag), 44, 42, 40, 54, 52, 56, 64, 78,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
211 4, AMR_OF(0,p_gain), 36, 32, 72, 80,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
212 5, AMR_OF(0,fixed_gain), 16, 28, 24, 60, 84,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
213 13, AMR_OF(0,pulses[0]), 135, 109, 144, 156, 120, 97, 148, 121, 101, 122,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
214 123, 89, 124,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
215 4, AMR_OF(0,pulses[1]), 125, 126, 127, 112,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
216 6, AMR_OF(1,p_lag), 50, 48, 62, 70, 76, 74,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
217 4, AMR_OF(1,p_gain), 35, 47, 87, 95,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
218 5, AMR_OF(1,fixed_gain), 31, 27, 39, 59, 83,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
219 13, AMR_OF(1,pulses[0]), 129, 108, 159, 155, 130, 96, 147, 131, 100, 132,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
220 133, 88, 134,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
221 4, AMR_OF(1,pulses[1]), 113, 114, 115, 116,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
222 8, AMR_OF(2,p_lag), 43, 41, 55, 53, 51, 71, 79, 77,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
223 4, AMR_OF(2,p_gain), 34, 46, 86, 94,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
224 5, AMR_OF(2,fixed_gain), 30, 26, 38, 58, 82,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
225 13, AMR_OF(2,pulses[0]), 139, 107, 158, 154, 140, 111, 146, 141, 99, 142,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
226 143, 103, 128,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
227 4, AMR_OF(2,pulses[1]), 105, 90, 91, 92,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
228 6, AMR_OF(3,p_lag), 49, 63, 61, 69, 75, 73,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
229 4, AMR_OF(3,p_gain), 33, 45, 85, 93,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
230 5, AMR_OF(3,fixed_gain), 29, 25, 37, 57, 81,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
231 13, AMR_OF(3,pulses[0]), 149, 106, 157, 153, 150, 110, 145, 151, 98, 136,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
232 137, 102, 138,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
233 4, AMR_OF(3,pulses[1]), 117, 118, 119, 104,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
234 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
235 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
236
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
237 static const uint8_t order_MODE_10k2[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
238 8, AMR_BIT(lsf[0]), 0, 1, 2, 3, 4, 5, 6, 7,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
239 9, AMR_BIT(lsf[1]), 23, 8, 9, 10, 11, 12, 13, 14, 15,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
240 9, AMR_BIT(lsf[2]), 57, 58, 62, 56, 60, 59, 61, 71, 70,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
241 8, AMR_OF(0,p_lag), 22, 21, 20, 19, 18, 17, 42, 41,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
242 7, AMR_OF(0,p_gain), 38, 50, 84, 37, 36, 85, 83,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
243 1, AMR_OF(0,pulses[0]), 66,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
244 1, AMR_OF(0,pulses[1]), 67,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
245 1, AMR_OF(0,pulses[2]), 68,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
246 1, AMR_OF(0,pulses[3]), 69,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
247 10, AMR_OF(0,pulses[4]), 145, 144, 156, 153, 154, 163, 161, 192, 206, 195,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
248 10, AMR_OF(0,pulses[5]), 158, 159, 157, 152, 155, 165, 160, 205, 204, 194,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
249 7, AMR_OF(0,pulses[6]), 167, 166, 162, 164, 196, 207, 193,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
250 5, AMR_OF(1,p_lag), 26, 25, 54, 53, 89,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
251 7, AMR_OF(1,p_gain), 35, 49, 81, 34, 33, 82, 80,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
252 1, AMR_OF(1,pulses[0]), 78,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
253 1, AMR_OF(1,pulses[1]), 79,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
254 1, AMR_OF(1,pulses[2]), 64,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
255 1, AMR_OF(1,pulses[3]), 65,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
256 10, AMR_OF(1,pulses[4]), 103, 102, 98, 111, 96, 105, 119, 185, 199, 188,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
257 10, AMR_OF(1,pulses[5]), 100, 101, 99, 110, 97, 107, 118, 198, 197, 187,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
258 7, AMR_OF(1,pulses[6]), 109, 108, 104, 106, 189, 184, 186,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
259 8, AMR_OF(2,p_lag), 16, 31, 30, 29, 28, 27, 40, 55,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
260 7, AMR_OF(2,p_gain), 32, 48, 94, 47, 46, 95, 93,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
261 1, AMR_OF(2,pulses[0]), 74,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
262 1, AMR_OF(2,pulses[1]), 75,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
263 1, AMR_OF(2,pulses[2]), 76,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
264 1, AMR_OF(2,pulses[3]), 77,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
265 10, AMR_OF(2,pulses[4]), 117, 116, 112, 125, 126, 135, 133, 178, 176, 181,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
266 10, AMR_OF(2,pulses[5]), 114, 115, 113, 124, 127, 121, 132, 191, 190, 180,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
267 7, AMR_OF(2,pulses[6]), 123, 122, 134, 120, 182, 177, 179,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
268 5, AMR_OF(3,p_lag), 24, 39, 52, 51, 88,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
269 7, AMR_OF(3,p_gain), 45, 63, 91, 44, 43, 92, 90,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
270 1, AMR_OF(3,pulses[0]), 86,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
271 1, AMR_OF(3,pulses[1]), 87,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
272 1, AMR_OF(3,pulses[2]), 72,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
273 1, AMR_OF(3,pulses[3]), 73,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
274 10, AMR_OF(3,pulses[4]), 131, 130, 142, 139, 140, 149, 147, 171, 169, 174,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
275 10, AMR_OF(3,pulses[5]), 128, 129, 143, 138, 141, 151, 146, 168, 183, 173,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
276 7, AMR_OF(3,pulses[6]), 137, 136, 148, 150, 175, 170, 172,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
277 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
278 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
279
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
280 static const uint8_t order_MODE_12k2[] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
281 7, AMR_BIT(lsf[0]), 7, 6, 5, 4, 3, 2, 1,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
282 8, AMR_BIT(lsf[1]), 0, 15, 14, 13, 12, 11, 10, 9,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
283 9, AMR_BIT(lsf[2]), 23, 22, 21, 20, 19, 18, 17, 16, 8,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
284 8, AMR_BIT(lsf[3]), 31, 30, 29, 28, 27, 86, 85, 84,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
285 6, AMR_BIT(lsf[4]), 83, 82, 81, 80, 127, 126,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
286 9, AMR_OF(0,p_lag), 26, 24, 38, 36, 34, 32, 46, 44, 42,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
287 4, AMR_OF(0,p_gain), 40, 52, 48, 95,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
288 5, AMR_OF(0,fixed_gain), 60, 56, 68, 91, 111,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
289 3, AMR_OF(0,pulses[0]), 191, 176, 177,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
290 4, AMR_OF(0,pulses[1]), 103, 123, 124, 125,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
291 3, AMR_OF(0,pulses[2]), 188, 189, 190,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
292 4, AMR_OF(0,pulses[3]), 99, 120, 121, 122,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
293 3, AMR_OF(0,pulses[4]), 185, 186, 187,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
294 4, AMR_OF(0,pulses[5]), 107, 133, 134, 135,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
295 3, AMR_OF(0,pulses[6]), 198, 199, 184,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
296 4, AMR_OF(0,pulses[7]), 119, 130, 131, 132,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
297 3, AMR_OF(0,pulses[8]), 195, 196, 197,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
298 4, AMR_OF(0,pulses[9]), 115, 143, 128, 129,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
299 6, AMR_OF(1,p_lag), 64, 78, 76, 74, 72, 245,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
300 4, AMR_OF(1,p_gain), 55, 51, 63, 94,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
301 5, AMR_OF(1,fixed_gain), 59, 71, 67, 90, 110,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
302 3, AMR_OF(1,pulses[0]), 192, 193, 194,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
303 4, AMR_OF(1,pulses[1]), 102, 140, 141, 142,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
304 3, AMR_OF(1,pulses[2]), 205, 206, 207,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
305 4, AMR_OF(1,pulses[3]), 98, 137, 138, 139,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
306 3, AMR_OF(1,pulses[4]), 202, 203, 204,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
307 4, AMR_OF(1,pulses[5]), 106, 150, 151, 136,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
308 3, AMR_OF(1,pulses[6]), 215, 200, 201,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
309 4, AMR_OF(1,pulses[7]), 118, 147, 148, 149,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
310 3, AMR_OF(1,pulses[8]), 212, 213, 214,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
311 4, AMR_OF(1,pulses[9]), 114, 144, 145, 146,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
312 9, AMR_OF(2,p_lag), 25, 39, 37, 35, 33, 47, 45, 43, 41,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
313 4, AMR_OF(2,p_gain), 54, 50, 62, 93,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
314 5, AMR_OF(2,fixed_gain), 58, 70, 66, 89, 109,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
315 3, AMR_OF(2,pulses[0]), 209, 210, 211,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
316 4, AMR_OF(2,pulses[1]), 101, 157, 158, 159,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
317 3, AMR_OF(2,pulses[2]), 222, 223, 208,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
318 4, AMR_OF(2,pulses[3]), 97, 154, 155, 156,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
319 3, AMR_OF(2,pulses[4]), 219, 220, 221,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
320 4, AMR_OF(2,pulses[5]), 105, 167, 152, 153,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
321 3, AMR_OF(2,pulses[6]), 216, 217, 218,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
322 4, AMR_OF(2,pulses[7]), 117, 164, 165, 166,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
323 3, AMR_OF(2,pulses[8]), 229, 230, 231,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
324 4, AMR_OF(2,pulses[9]), 113, 161, 162, 163,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
325 6, AMR_OF(3,p_lag), 79, 77, 75, 73, 87, 244,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
326 4, AMR_OF(3,p_gain), 53, 49, 61, 92,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
327 5, AMR_OF(3,fixed_gain), 57, 69, 65, 88, 108,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
328 3, AMR_OF(3,pulses[0]), 226, 227, 228,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
329 4, AMR_OF(3,pulses[1]), 100, 174, 175, 160,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
330 3, AMR_OF(3,pulses[2]), 239, 224, 225,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
331 4, AMR_OF(3,pulses[3]), 96, 171, 172, 173,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
332 3, AMR_OF(3,pulses[4]), 236, 237, 238,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
333 4, AMR_OF(3,pulses[5]), 104, 168, 169, 170,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
334 3, AMR_OF(3,pulses[6]), 233, 234, 235,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
335 4, AMR_OF(3,pulses[7]), 116, 181, 182, 183,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
336 3, AMR_OF(3,pulses[8]), 246, 247, 232,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
337 4, AMR_OF(3,pulses[9]), 112, 178, 179, 180,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
338 0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
339 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
340
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
341 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
342 * position of the bitmapping data for each packet type in
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
343 * the AMRNBFrame
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
344 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
345 static const uint8_t * const amr_unpacking_bitmaps_per_mode[N_MODES] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
346 order_MODE_4k75,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
347 order_MODE_5k15,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
348 order_MODE_5k9,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
349 order_MODE_6k7,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
350 order_MODE_7k4,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
351 order_MODE_7k95,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
352 order_MODE_10k2,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
353 order_MODE_12k2,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
354 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
355
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
356 /** number of bytes for each mode */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
357 static const uint8_t frame_sizes_nb[N_MODES] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
358 12, 13, 15, 17, 19, 20, 26, 31, 5
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
359 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
360
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
361 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
362 * Base-5 representation for values 0-124
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
363 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
364 * This is useful for decoding pulse positions in 10.2 kbit/s frames.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
365 * Safe values are provided for out of range positions 125-127.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
366 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
367 static const uint8_t base_five_table[128][3] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
368 {0, 0, 0}, {0, 0, 1}, {0, 0, 2}, {0, 0, 3}, {0, 0, 4}, {0, 1, 0}, {0, 1, 1},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
369 {0, 1, 2}, {0, 1, 3}, {0, 1, 4}, {0, 2, 0}, {0, 2, 1}, {0, 2, 2}, {0, 2, 3},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
370 {0, 2, 4}, {0, 3, 0}, {0, 3, 1}, {0, 3, 2}, {0, 3, 3}, {0, 3, 4}, {0, 4, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
371 {0, 4, 1}, {0, 4, 2}, {0, 4, 3}, {0, 4, 4}, {1, 0, 0}, {1, 0, 1}, {1, 0, 2},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
372 {1, 0, 3}, {1, 0, 4}, {1, 1, 0}, {1, 1, 1}, {1, 1, 2}, {1, 1, 3}, {1, 1, 4},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
373 {1, 2, 0}, {1, 2, 1}, {1, 2, 2}, {1, 2, 3}, {1, 2, 4}, {1, 3, 0}, {1, 3, 1},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
374 {1, 3, 2}, {1, 3, 3}, {1, 3, 4}, {1, 4, 0}, {1, 4, 1}, {1, 4, 2}, {1, 4, 3},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
375 {1, 4, 4}, {2, 0, 0}, {2, 0, 1}, {2, 0, 2}, {2, 0, 3}, {2, 0, 4}, {2, 1, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
376 {2, 1, 1}, {2, 1, 2}, {2, 1, 3}, {2, 1, 4}, {2, 2, 0}, {2, 2, 1}, {2, 2, 2},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
377 {2, 2, 3}, {2, 2, 4}, {2, 3, 0}, {2, 3, 1}, {2, 3, 2}, {2, 3, 3}, {2, 3, 4},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
378 {2, 4, 0}, {2, 4, 1}, {2, 4, 2}, {2, 4, 3}, {2, 4, 4}, {3, 0, 0}, {3, 0, 1},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
379 {3, 0, 2}, {3, 0, 3}, {3, 0, 4}, {3, 1, 0}, {3, 1, 1}, {3, 1, 2}, {3, 1, 3},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
380 {3, 1, 4}, {3, 2, 0}, {3, 2, 1}, {3, 2, 2}, {3, 2, 3}, {3, 2, 4}, {3, 3, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
381 {3, 3, 1}, {3, 3, 2}, {3, 3, 3}, {3, 3, 4}, {3, 4, 0}, {3, 4, 1}, {3, 4, 2},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
382 {3, 4, 3}, {3, 4, 4}, {4, 0, 0}, {4, 0, 1}, {4, 0, 2}, {4, 0, 3}, {4, 0, 4},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
383 {4, 1, 0}, {4, 1, 1}, {4, 1, 2}, {4, 1, 3}, {4, 1, 4}, {4, 2, 0}, {4, 2, 1},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
384 {4, 2, 2}, {4, 2, 3}, {4, 2, 4}, {4, 3, 0}, {4, 3, 1}, {4, 3, 2}, {4, 3, 3},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
385 {4, 3, 4}, {4, 4, 0}, {4, 4, 1}, {4, 4, 2}, {4, 4, 3}, {4, 4, 4}, {0, 0, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
386 {0, 0, 0}, {0, 0, 0}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
387 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
388
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
389 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
390 * Values for the lsp vector from the 4th subframe of the
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
391 * previous subframe values.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
392 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
393 * @note: Taken from Decoder_amr_reset in Q15 using val/1000
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
394 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
395 static const int8_t lsp_sub4_init[LP_FILTER_ORDER] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
396 30, 26, 21, 15, 8, 0, -8, -15, -21, -26
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
397 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
398
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
399 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
400 * Mean lsp values.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
401 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
402 * @note: Taken from Decoder_amr_reset in Q15
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
403 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
404 static const int16_t lsp_avg_init[LP_FILTER_ORDER] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
405 1384, 2077, 3420, 5108, 6742, 8122, 9863, 11092, 12714, 13701
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
406 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
407
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
408 // LSF tables
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
409
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
410 // These are stored as integers to save space. The values are taken from
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
411 // q_plsf_3.tab and q_plsf_5.tab in 3GPP TS 26.090.
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
412
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
413 static const int16_t lsf_3_3_MODE_5k15[128][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
414 { 419, 163, -30, -262}, { -455, -789,-1430, -721}, { 1006, 664, 269, 25},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
415 { 619, 260, 183, 96}, { -968,-1358, -388, 135}, { -693, 835, 456, 154},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
416 { 1105, 703, 569, 363}, { 1625, 1326, 985, 748}, { -220, 219, 76, -208},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
417 {-1455,-1662, 49, 149}, { -964, -172, -752, -336}, { 625, 209, -250, -66},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
418 {-1017, -838, -2, 317}, {-2168,-1485, -138, 123}, {-1876,-2099, -521, 85},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
419 { -967, -366, -695, -881}, { -921,-1011, -763, -949}, { -124, -256, -352, -660},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
420 { 178, 463, 354, 304}, {-1744, -591, -282, 79}, {-2249, 175, 867, 499},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
421 { -138, -180, -181, -21}, {-2291,-1241, -460, -520}, { -771, 451, -10, -308},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
422 { 271, -65, 4, 214}, { -279, -435, -43, -348}, { -670, 35, -65, -211},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
423 { 806, 535, 85, 297}, { 57, 239, 722, 493}, { 225, 661, 840, 547},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
424 { -540, -376, 14, 349}, { 469, 721, 331, 162}, { -544, -752, -62, -10},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
425 { 398, -88, 724, 701}, { -19, -533, -94, 601}, { 136, -71, -681, -747},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
426 { -166, -344, 261, -50}, { 161, -52, 485, 337}, {-1675, 50, 190, -93},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
427 {-2282, -231, -194, -82}, { -95, -595, -154, 128}, { 894, 501, 588, 457},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
428 { -345, 206, 122, 110}, { -631, -227, -569, 3}, { 408, 239, 397, 226},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
429 { -197, -2, 128, 491}, { 1281, 904, 292, 215}, { 538, 306, 259, 509},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
430 { -677,-1047, 13, 321}, { -679, -588, -358, -212}, { -558, 243, 646, 479},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
431 { 486, 342, 634, 532}, { 107, 802, 331, 136}, { -112, -398,-1031, -286},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
432 { -326, -705, 288, 272}, { 1299, 1144, 1178, 860}, { -423, 121, -385, -148},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
433 { -295, -302, -834, -819}, { 16, -24, -201, -476}, { 555, 91, -245, 294},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
434 { -38, -379, -962,-1221}, {-1191,-1518, -273, -395}, { -390,-1013, -645, 573},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
435 {-1843,-1030, 505, 468}, { 744, 947, 609, 493}, { -689,-1172, -628, -135},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
436 {-1026, 195, 411, 196}, { 1582, 1147, 575, 337}, {-1239, -777, -648, -142},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
437 { 595, 825, 967, 735}, {-1206, -970, -81, -342}, { -745, 13, -72, 375},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
438 { 454, 19, 1407, 921}, {-1647, -172, 861, 562}, { 928, 1537, 1063, 740},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
439 {-2472, -952, 264, 82}, { -502, -965,-1334, 123}, { 867, 1236, 534, 171},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
440 {-2320, -460, 780, 363}, {-1190, -617, 252, -61}, { -174, 34, 1011, 788},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
441 {-2333, 247, 423, 153}, { -16, -355, 262, 449}, {-1576,-1073, -544, -371},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
442 { -615, -305, 1051, 805}, { 687, 528, 6, -182}, { 935, 875, 1002, 809},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
443 { 199, 257, 126, 76}, { -584,-1138, 599, 556}, {-1105,-1391,-1591, -519},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
444 { -977,-1325, 108, 347}, { -722, -975, 365, 101}, { -145, 681, 249, -153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
445 { 0, -334, -570, 159}, { 412, 285, -336, -617}, { -953, -966, 887, 689},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
446 {-1251, 84, -185, -398}, { -592, 433, 1044, 653}, { 85, 329, -40, 361},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
447 { -433, -705, 466, 574}, { -154, 654, 592, 290}, { -167, 72, 349, 175},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
448 { 674, 297, 977, 720}, { 1235, 1204, 757, 488}, { -400, -269, 538, 372},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
449 {-1350,-1387,-1194, -91}, { 1262, 876, 775, 700}, { -599, -38, -430, -722},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
450 { 1976, 1630, 991, 608}, { 111, 276, -226, -96}, { -947, -388, -11, -7},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
451 { -303, -531, -839, 338}, { 1734, 1710, 1405, 1013}, { -516, -855, -645, 210},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
452 { -688, -416, 513, 230}, { -822, -637,-1146, -320}, { -952, -658, -694, 183},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
453 { -114, -623, 818, 674}, { -191, -204, 731, 635}, { 51, 1221, 883, 576},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
454 { -954, -431, 826, 598}, { -342, -755, -900, -407}, {-1126, -354, -206, -512},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
455 { -547, -810, -357, -620}, { 66, 515, -73, -410}, { -872, -945,-1444,-1227},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
456 { 191, -17, -544, -231}, {-1540, -544, -901, -886}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
457 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
458
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
459 static const int16_t lsf_3_1_MODE_7k95[512][3] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
460 { -890,-1550,-2541}, { -819, -970, 175}, { -826,-1234, -762},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
461 { -599, -22, 634}, { -811, -987, -902}, { -323, 203, 26},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
462 { -383, -235, -781}, { -399, 1262, 906}, { -932,-1399,-1380},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
463 { -624, 93, 87}, { -414, -539, -691}, { 37, 633, 510},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
464 { -387, -476,-1330}, { 399, 66, 263}, { -407, -49, -335},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
465 { -417, 1041, 1865}, { -779,-1089,-1440}, { -746, -858, 832},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
466 { -581, -759, -371}, { -673, -506, 2088}, { -560, -634,-1179},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
467 { 271, 241, 14}, { -438, -244, -397}, { 463, 1202, 1047},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
468 { -606, -797,-1438}, { -51, -323, 481}, { -224, -584, -527},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
469 { 494, 881, 682}, { -433, -306,-1002}, { 554, 659, 222},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
470 { 171, -160, -353}, { 681, 1798, 1565}, { -852,-1181,-1695},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
471 { -336, -666, 114}, { -581, -756, -744}, { -195, 375, 497},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
472 { -465, -804,-1098}, { 154, 282, -131}, { -50, -191, -719},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
473 { 323, 732, 1542}, { -722, -819,-1404}, { 105, -250, 185},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
474 { -178, -502, -742}, { 321, 510, 1111}, { -323, -567, -966},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
475 { 127, 484, 338}, { -160, 52, -338}, { 732, 1367, 1554},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
476 { -626, -802,-1696}, { -286, -586, 676}, { -695, -343, -370},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
477 { -490, 295, 1893}, { -630, -574,-1014}, { -80, 645, -69},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
478 { -6, -318, -364}, { 782, 1450, 1038}, { -313, -733,-1395},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
479 { 120, 60, 477}, { -264, -585, -123}, { 711, 1245, 633},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
480 { -91, -355,-1016}, { 771, 758, 261}, { 253, 81, -474},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
481 { 930, 2215, 1720}, { -808,-1099,-1925}, { -560, -782, 169},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
482 { -804,-1074, -188}, { -626, -55, 1405}, { -694, -716,-1194},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
483 { -660, 354, 329}, { -514, -55, -543}, { 366, 1033, 1182},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
484 { -658, -959,-1357}, { -55, -184, 93}, { -605, -286, -662},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
485 { 404, 449, 827}, { -286, -350,-1263}, { 628, 306, 227},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
486 { -16, 147, -623}, { 186, 923, 2146}, { -674, -890,-1606},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
487 { -443, -228, 339}, { -369, -790, -409}, { 231, 86, 1469},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
488 { -448, -581,-1061}, { 594, 450, -177}, { -124, -170, -447},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
489 { 671, 1159, 1404}, { -476, -667,-1511}, { -77, -138, 716},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
490 { -177, -372, -381}, { 451, 934, 915}, { -250, -432, -822},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
491 { 272, 828, 446}, { 26, 19, -31}, { 698, 1692, 2168},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
492 { -646, -977,-1924}, { -179, -473, 268}, { -379, -745, -691},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
493 { 11, 127, 1033}, { -488, -917, -825}, { 61, 323, 135},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
494 { 147, -145, -686}, { 685, 786, 1682}, { -506, -848,-1297},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
495 { 35, 90, 222}, { -23, -346, -670}, { 455, 591, 1287},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
496 { -203, -593,-1086}, { 652, 352, 437}, { 39, 63, -457},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
497 { 841, 1265, 2105}, { -520, -882,-1584}, { -328, -711, 1421},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
498 { -596, -342, -70}, { 209, 173, 1928}, { -423, -598, -921},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
499 { 421, 605, -38}, { -2, -245, -127}, { 896, 1969, 1135},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
500 { -379, -518,-1579}, { 173, 118, 753}, { -55, -381, -52},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
501 { 985, 1021, 753}, { -2, -291, -891}, { 753, 992, 423},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
502 { 264, 131, -196}, { 895, 2274, 2543}, { -635,-1088,-2499},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
503 { -529, -982, 526}, { -764, -830, -548}, { -436, 316, 599},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
504 { -675, -940, -746}, { -57, 236, -11}, { -201, -81, -798},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
505 { 16, 845, 1558}, { -737, -985,-1212}, { -468, 17, 290},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
506 { -279, -584, -700}, { 183, 822, 705}, { -265, -492,-1187},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
507 { 421, 152, 468}, { -390, 166, -268}, { 39, 1550, 1868},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
508 { -635, -966,-1571}, { -453, -492, 910}, { -284,-1027, -75},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
509 { -181, -133, 1852}, { -445, -624,-1174}, { 420, 367, -49},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
510 { -389, -212, -169}, { 707, 1073, 1208}, { -539, -710,-1449},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
511 { 83, -163, 484}, { -236, -543, -355}, { 338, 1175, 814},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
512 { -246, -309, -958}, { 606, 760, 60}, { 166, -8, -163},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
513 { -306, 1849, 2563}, { -747,-1025,-1783}, { -419, -446, 209},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
514 { -718, -566, -534}, { -506, 693, 857}, { -463, -697,-1082},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
515 { 325, 431, -206}, { -15, -8, -763}, { 545, 919, 1518},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
516 { -611, -783,-1313}, { 256, -55, 208}, { -165, -348, -662},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
517 { 321, 680, 930}, { -326, -429, -951}, { 484, 446, 570},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
518 { -197, 72, -73}, { 909, 1455, 1741}, { -563, -737,-1974},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
519 { -124, -416, 718}, { -478, -404, -314}, { -16, 446, 1636},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
520 { -551, -537, -750}, { -58, 638, 214}, { 55, -185, -271},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
521 { 1148, 1301, 1212}, { -483, -671,-1264}, { 117, 285, 543},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
522 { -204, -391, -111}, { 513, 1538, 854}, { -114, -190, -978},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
523 { 877, 595, 464}, { 260, 260, -311}, { 748, 2283, 2216},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
524 { -517, -945,-2171}, { -326, -708, 378}, { -812, -691, -232},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
525 { -560, 687, 1409}, { -732, -690, -836}, { -359, 645, 386},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
526 { -265, 62, -678}, { 145, 1644, 1208}, { -555, -988,-1233},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
527 { -78, 14, 114}, { -327, -358, -489}, { 392, 677, 697},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
528 { -201, -236,-1140}, { 693, 449, 178}, { -243, 256, -433},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
529 { 611, 1385, 2456}, { -612, -901,-1464}, { -307, -17, 499},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
530 { -315, -667, -254}, { 256, 428, 1463}, { -486, -422,-1056},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
531 { 655, 370, 18}, { -102, -185, -276}, { 755, 1578, 1335},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
532 { -488, -603,-1418}, { 182, -93, 870}, { -73, -458, -348},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
533 { 835, 862, 957}, { -282, -333, -746}, { 547, 839, 428},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
534 { 273, -89, 13}, { 940, 1708, 2576}, { -418,-1084,-1758},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
535 { -44, -358, 259}, { -497, -643, -560}, { 99, 557, 961},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
536 { -421, -766, -917}, { 295, 326, 184}, { 175, 15, -626},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
537 { 532, 878, 1981}, { -443, -768,-1275}, { 221, 156, 268},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
538 { 39, -363, -505}, { 695, 772, 1140}, { -162, -459, -912},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
539 { 709, 444, 658}, { 25, 303, -312}, { 1268, 1410, 1715},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
540 { -297, -766,-1836}, { -263, -108, 1070}, { -406, -13, -129},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
541 { 57, 438, 2734}, { -374, -487, -835}, { 304, 696, 164},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
542 { 104, -235, 5}, { 1611, 1900, 1399}, { -229, -582,-1325},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
543 { 405, 192, 817}, { -87, -438, 111}, { 1028, 1199, 993},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
544 { 68, -175, -934}, { 1033, 1117, 451}, { 478, 200, -248},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
545 { 2127, 2696, 2042}, { -835,-1323,-2131}, { -799, -692, 466},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
546 { -812,-1032, -469}, { -622, 288, 920}, { -701, -841,-1070},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
547 { -411, 512, 8}, { -390, -91, -744}, { -30, 1043, 1161},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
548 { -822,-1148,-1156}, { -294, -46, 110}, { -411, -374, -678},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
549 { 214, 531, 668}, { -406, -420,-1194}, { 487, 232, 303},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
550 { -318, 91, -472}, { 123, 1232, 2445}, { -722, -952,-1495},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
551 { -738, -675, 1332}, { -543, -606, -211}, { -95, -98, 1508},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
552 { -549, -514,-1193}, { 473, 211, 73}, { -288, -112, -389},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
553 { 537, 1332, 1258}, { -567, -755,-1545}, { 71, -283, 632},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
554 { -170, -481, -493}, { 681, 1002, 817}, { -356, -331, -877},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
555 { 419, 706, 346}, { 241, -34, -326}, { 377, 1950, 1883},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
556 { -727,-1075,-1625}, { -233, -543, 116}, { -524, -806, -585},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
557 { -73, 478, 729}, { -288, -925,-1143}, { 173, 447, -52},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
558 { 68, -229, -606}, { 449, 529, 1797}, { -591, -875,-1363},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
559 { 183, -144, 324}, { -103, -452, -666}, { 623, 488, 1176},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
560 { -238, -511,-1004}, { 326, 552, 458}, { 136, 108, -319},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
561 { 626, 1343, 1883}, { -490, -646,-1730}, { -186, -449, 984},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
562 { -738, -76, -170}, { -550, 755, 2560}, { -496, -510, -947},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
563 { 210, 694, -52}, { 84, -322, -199}, { 1090, 1625, 1224},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
564 { -376, -603,-1396}, { 343, 74, 632}, { -175, -502, -32},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
565 { 972, 1332, 734}, { 52, -295,-1113}, { 1065, 918, 160},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
566 { 393, 107, -397}, { 1214, 2649, 1741}, { -632,-1201,-1891},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
567 { -719, -277, 353}, { -651, -880, -122}, { -211, 209, 1338},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
568 { -562, -714,-1059}, { -208, 388, 159}, { -320, -61, -551},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
569 { 293, 1092, 1443}, { -648, -865,-1253}, { -49, -143, 305},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
570 { -401, -227, -585}, { 561, 532, 927}, { -117, -443,-1188},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
571 { 507, 436, 292}, { -79, 233, -458}, { 671, 1025, 2396},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
572 { -633, -842,-1525}, { -308, -286, 640}, { -373, -621, -407},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
573 { 418, 253, 1305}, { -315, -581,-1137}, { 572, 685, -281},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
574 { 61, -68, -371}, { 991, 1101, 1498}, { -493, -683,-1362},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
575 { -47, 164, 704}, { -256, -314, -268}, { 631, 949, 1052},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
576 { -118, -348, -833}, { 68, 1180, 568}, { 152, 117, 34},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
577 { 1113, 1902, 2239}, { -601, -959,-1706}, { -143, -489, 480},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
578 { -332, -655, -574}, { 54, 353, 1192}, { -462, -652, -796},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
579 { 150, 549, 112}, { 195, -111, -515}, { 679, 1108, 1647},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
580 { -558, -749,-1217}, { -9, 272, 341}, { -53, -265, -535},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
581 { 489, 843, 1298}, { -120, -482,-1032}, { 632, 543, 408},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
582 { 179, 306, -526}, { 1124, 1464, 2244}, { -417, -786,-1562},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
583 { -224, -384, 1364}, { -377, -459, -25}, { 385, 489, 2174},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
584 { -332, -651, -829}, { 544, 553, 61}, { 22, -113, -89},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
585 { 1128, 1725, 1524}, { -216, -373,-1653}, { 161, 316, 908},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
586 { -165, -222, -67}, { 1362, 1175, 789}, { 73, -252, -767},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
587 { 738, 932, 616}, { 362, 246, -126}, { 787, 2654, 3027},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
588 { -691,-1106,-2190}, { -565, -588, 524}, { -590, -979, -490},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
589 { -263, 397, 982}, { -577, -837, -945}, { -22, 435, -49},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
590 { -190, -118, -629}, { -88, 1240, 1513}, { -636,-1051,-1019},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
591 { -291, 189, 259}, { -257, -470, -629}, { 145, 945, 894},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
592 { -326, -364,-1094}, { 543, 260, 630}, { -202, 189, -209},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
593 { 357, 1379, 2091}, { -569,-1075,-1449}, { -714, -239, 919},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
594 { -420, -705, -84}, { -109, -114, 2407}, { -413, -529,-1177},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
595 { 482, 368, 131}, { -186, -72, -131}, { 861, 1255, 1220},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
596 { -611, -658,-1341}, { 227, -121, 631}, { -176, -489, -218},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
597 { 745, 1175, 957}, { -321, -148, -936}, { 671, 966, 216},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
598 { 340, -3, -143}, { 469, 1848, 2437}, { -729, -961,-1683},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
599 { -213, -254, 321}, { -511, -438, -521}, { -126, 725, 903},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
600 { -340, -685,-1032}, { 316, 480, 20}, { 23, -89, -551},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
601 { 353, 1051, 1789}, { -544, -757,-1364}, { 298, -25, 436},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
602 { -100, -392, -519}, { 467, 754, 1078}, { -210, -398,-1078},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
603 { 620, 658, 630}, { 33, 147, -178}, { 921, 1687, 1921},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
604 { -325, -528,-1978}, { 2, -285, 910}, { -371, -490, -230},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
605 { 0, 597, 2010}, { -496, -395, -834}, { 37, 945, 245},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
606 { 181, -160, -144}, { 1481, 1373, 1357}, { -355, -601,-1270},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
607 { 298, 322, 672}, { -193, -336, 77}, { 1089, 1533, 922},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
608 { 177, -39,-1125}, { 996, 781, 536}, { 456, 366, -432},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
609 { 1415, 2440, 2279}, { -466, -758,-2325}, { -303, -509, 387},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
610 { -727, -557, 66}, { -145, 643, 1248}, { -544, -676, -916},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
611 { -225, 862, 588}, { -152, 40, -533}, { 423, 1423, 1558},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
612 { -572, -843,-1145}, { -128, 85, 461}, { -238, -257, -584},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
613 { 605, 748, 861}, { 24, -202,-1409}, { 797, 487, 303},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
614 { -181, 364, -182}, { 616, 1378, 2942}, { -494, -852,-1441},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
615 { -292, 61, 812}, { -84, -723, -182}, { 555, 532, 1506},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
616 { -365, -493,-1057}, { 822, 588, 11}, { -14, -18, -230},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
617 { 1001, 1401, 1451}, { -474, -569,-1292}, { 302, 62, 1062},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
618 { -70, -376, -222}, { 982, 974, 1149}, { -196, -234, -795},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
619 { 479, 1098, 499}, { 362, 58, 70}, { 1147, 2069, 2857},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
620 { -487, -878,-1824}, { 73, -288, 348}, { -358, -500, -508},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
621 { 199, 721, 1242}, { -78, -697, -795}, { 361, 536, 196},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
622 { 374, 110, -735}, { 847, 1051, 1896}, { -366, -713,-1182},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
623 { 315, 320, 429}, { 72, -215, -450}, { 759, 886, 1363},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
624 { -30, -428, -834}, { 861, 627, 796}, { 118, 468, -279},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
625 { 1355, 1883, 1893}, { -188, -642,-1612}, { 63, -175, 1198},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
626 { -418, -211, 51}, { 414, 587, 2601}, { -234, -557, -858},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
627 { 424, 889, 222}, { 136, -101, 83}, { 1413, 2278, 1383},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
628 { -84, -445,-1389}, { 414, 313, 1045}, { 29, -343, 65},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
629 { 1552, 1647, 980}, { 183, -91, -829}, { 1273, 1413, 360},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
630 { 553, 272, -107}, { 1587, 3149, 2603}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
631 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
632
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
633 static const int16_t lsf_3_1[256][3] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
634 { 6, 82, -131}, { 154, -56, -735}, { 183, -65, -265},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
635 { 9, -210, -361}, { 113, 718, 1817}, { 1010, 1214, 1573},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
636 { 857, 1333, 2276}, { 827, 1568, 1933}, { 717, 1989, 2206},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
637 { 838, 1172, 1823}, { 721, 1000, 2154}, { 286, 476, 1509},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
638 { -247, -531, 230}, { 147, -82, 569}, { 26, -177, -944},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
639 { -27, -273, 692}, { -164, -264, -183}, { 224, 790, 1039},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
640 { 899, 946, 601}, { 485, 771, 1150}, { 524, 677, 903},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
641 { -140, 375, 778}, { 410, 676, 429}, { 301, 530, 1009},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
642 { 719, 646, 38}, { 226, 367, 40}, { 145, -45, -505},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
643 { 290, 121, -121}, { 302, 127, 166}, { -124, -383, -956},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
644 { -358, -455, -977}, { 715, 878, 894}, { 978, 923, 211},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
645 { 477, 272, 64}, { 188, -78, 17}, { -143, -65, 38},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
646 { 643, 586, 621}, { -134, -426, -651}, { 347, 545, 2820},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
647 { 1188, 2726, 2442}, { 142, -80, 1735}, { 283, 130, 461},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
648 { -262, -399,-1145}, { -411, 155, 430}, { 329, 375, 779},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
649 { 53, -226, -139}, { -129, -236, 1682}, { 285, 744, 1327},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
650 { 738, 697, 1664}, { 312, 409, 266}, { 325, 720, 135},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
651 { 1, 221, 453}, { 8, 203, 145}, { 299, 640, 760},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
652 { 29, 468, 638}, { 103, 429, 379}, { 420, 954, 932},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
653 { 1326, 1210, 1258}, { 704, 1012, 1152}, { -166, -444, -266},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
654 { -316, -130, -376}, { 191, 1151, 1904}, { -240, -543,-1260},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
655 { -112, 268, 1207}, { 70, 1062, 1583}, { 278, 1360, 1574},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
656 { -258, -272, -768}, { 19, 563, 2240}, { -3, -265, 135},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
657 { -295, -591, -388}, { 140, 354, -206}, { -260, -504, -795},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
658 { -433, -718,-1319}, { 109, 331, 962}, { -429, -87, 652},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
659 { -296, 426, 1019}, { -239, 775, 851}, { 489, 1334, 1073},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
660 { -334, -332, 25}, { 543, 1206, 1807}, { 326, 61, 727},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
661 { 578, 849, 1405}, { -208, -277, 329}, { -152, 64, 669},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
662 { -434, -678, -727}, { -454, -71, 251}, { 605, 480, 254},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
663 { -482, 11, 996}, { -289, 395, 486}, { 722, 1049, 1440},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
664 { -30, -316, -786}, { -106, -115, -619}, { 861, 1474, 1412},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
665 { 1055, 1366, 1184}, { 812, 1237, 925}, { 42, -251, -576},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
666 { 342, 141, -454}, { -168, -80, 1359}, { -342, -656,-1763},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
667 { 100, 821, 725}, { 990, 747, 800}, { 332, 440, 568},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
668 { 663, 379, 852}, { 112, 165, -369}, { 597, 910, 282},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
669 { -8, 834, 1281}, { -352, 572, 695}, { 462, 2246, 1806},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
670 { 345, 190, 1374}, { 416, 915, 2166}, { 168, -82, 280},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
671 { -516, -446, 840}, { 47, 533, 44}, { -362, -711,-1143},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
672 { 22, 193, 1472}, { -85, 233, 1813}, { -62, 579, 1504},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
673 { 550, 944, 1749}, { 723, 650, 1148}, { 972, 884, 1395},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
674 { -425, 643, 0}, { 1000, 952, 1098}, { 249, 1446, 672},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
675 { -334, -87, 2172}, { -554, 1882, 2672}, { 140, 1826, 1853},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
676 { 920, 1749, 2590}, { 1076, 1933, 2038}, { -137, -443,-1555},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
677 { 1269, 1174, 468}, { -493, -122, 1521}, { -451, 1033, 1214},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
678 { 482, 1695, 1118}, { 815, 649, 384}, { -446, -692, 107},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
679 { -319, -605, -118}, { -207, -505, 525}, { -468, -12, 2736},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
680 { 75, 1934, 1305}, { 880, 2358, 2267}, { 1285, 1575, 2004},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
681 { -48, -304,-1186}, { -435, -461, -251}, { -366, -404, -547},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
682 { -289, -605, -597}, { -538, -810, -165}, { -120, 3, 356},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
683 { 639, 1241, 1502}, { 96, 177, 750}, { -435, -585,-1174},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
684 { -356, 109, -79}, { -485, 288, 2005}, { 9, 1116, 731},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
685 { 880, 2134, 946}, { -265, 1585, 1065}, { 1157, 1210, 843},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
686 { -498, -668, 431}, { 374, 321, -229}, { 1440, 2101, 1381},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
687 { 449, 461, 1155}, { -105, 39, -384}, { -263, 367, 182},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
688 { -371, -660, 773}, { -188, 1151, 971}, { 1333, 1632, 1435},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
689 { 774, 1267, 1221}, { -482, -832,-1489}, { -237, -210, 860},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
690 { 890, 1615, 1064}, { 472, 1062, 1192}, { 185, 1077, 989},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
691 { -568, -992,-1704}, { -449, -902,-2043}, { -142, -377, -458},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
692 { -210, -554,-1029}, { -11, 1133, 2265}, { -329, -675, -893},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
693 { -250, 657, 1187}, { 519, 1510, 1779}, { 520, 539, 1403},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
694 { 527, 1421, 1302}, { -563, -871,-1248}, { -147, -463, 879},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
695 { -76, 2334, 2840}, { 563, 2573, 2385}, { 632, 1926, 2920},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
696 { 719, 2023, 1840}, { -545, -723, 1108}, { 129, -125, 884},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
697 { 1417, 1632, 925}, { -94, 1566, 1751}, { -341, 1533, 1551},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
698 { 591, 395, -274}, { -76, 981, 2831}, { 153, 2985, 1844},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
699 { 1032, 2565, 2749}, { 1508, 2832, 1879}, { 791, 1199, 538},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
700 { -190, -453, 1489}, { -278, -548, 1158}, { -245, 1941, 2044},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
701 { 1024, 1560, 1650}, { 512, 253, 466}, { -62, -323, 1151},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
702 { -473, -376, 507}, { -433, 1380, 2162}, { 899, 1943, 1445},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
703 { 134, 704, 440}, { 460, 525, -28}, { -450, 279, 1338},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
704 { 0, 971, 252}, { -445, -627, -991}, { -348, -602,-1424},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
705 { 398, 712, 1656}, { -107, 314, -178}, { 93, 2226, 2238},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
706 { 518, 849, 656}, { -462, -711, -447}, { 174, -34, 1191},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
707 { -119, 42, 1005}, { -372, 274, 758}, { 1036, 2352, 1838},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
708 { 675, 1724, 1498}, { 430, 1286, 2133}, { -129, -439, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
709 { -373, 800, 2144}, { 6, 1587, 2478}, { 478, 596, 2128},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
710 { -428, -736, 1505}, { 385, 178, 980}, { 139, 449, 1225},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
711 { -526, -842, -982}, { 145, 1554, 1242}, { 623, 1448, 656},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
712 { 349, 1016, 1482}, { 31, -280, 415}, { -316, 724, 1641},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
713 { 360, 1058, 556}, { -436, -358, 1201}, { -355, 1123, 1939},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
714 { 401, 1584, 2248}, { -527,-1012, 355}, { 233, 238, 2233},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
715 { -550, -897, -639}, { -365, -501, 1957}, { 389, 1860, 1621},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
716 { 162, 1132, 1264}, { -237, 1174, 1390}, { -640, -411, 116},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
717 { -228, 1694, 2298}, { 1639, 2186, 2267}, { 562, 1273, 2658},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
718 { 323, 338, 1774}, { 578, 1107, 852}, { 22, 594, 934},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
719 { -143, 718, 446}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
720 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
721
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
722
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
723 static const int16_t lsf_3_2[512][3] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
724 { 50, 71, -9}, { -338, -698,-1407}, { 102, -138, -820},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
725 { -310, -469,-1147}, { 414, 67, -267}, { 1060, 814, 1441},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
726 { 1548, 1360, 1272}, { 1754, 1895, 1661}, { 2019, 2133, 1820},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
727 { 1808, 2318, 1845}, { 644, -93, 454}, { 858, 329, -136},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
728 { 489, -258, -128}, { -198, -745, -41}, { -52, -265, -985},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
729 { 346, 137, 479}, {-1741, -748, -684}, {-1163,-1725, -367},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
730 { -895,-1145, -784}, { -488, -946, -968}, { -85, -390, -725},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
731 { 215, -340, -171}, { 1020, 916, 1969}, { 564, 179, 746},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
732 { 662, 977, 1734}, { 887, 622, 914}, { 939, 856, 1165},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
733 { 309, 688, 803}, { 917, 161, 570}, { 118, -20, -283},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
734 { -816, -42, 204}, {-1228, -325, -462}, { -963, -202, -143},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
735 { -988, -484, -361}, { -702, -978, -477}, { -302, -790,-1188},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
736 { -100, -786,-1088}, {-1054, -947,-1684}, { -202, -843, -782},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
737 {-1039,-1378, -901}, { -624, -110, -85}, { 356, 213, -10},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
738 { -493, 364, 774}, { 425, 822, 479}, { -83, 557, 520},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
739 { -992,-1560, -572}, { -603, -741, -26}, { -502, -638, -903},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
740 { 209, 306, 147}, { -316, -593, -596}, { -85, -211, -225},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
741 { -918, -529, 117}, { 233, -439, -738}, { 1101, 751, 633},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
742 { 1457, 1716, 1511}, { 1765, 1457, 910}, { 1122, 1156, 849},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
743 { 1354, 868, 470}, { -871,-1150,-1796}, { -871, -861, -992},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
744 { -118, 155, 212}, {-1051, -849, -606}, {-1117,-1849,-2750},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
745 {-1019,-1427,-1869}, { 370, -184, -414}, { 959, 493, 104},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
746 { 958, 1039, 543}, { 154, 653, 201}, { 1249, 507, 150},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
747 { 663, 503, 230}, { 623, 777, 675}, { 659, 88, -110},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
748 { 843, 244, 224}, { 382, 541, 302}, { 724, 433, 666},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
749 { 1166, 734, 341}, { -138, 20, -397}, {-1183, -424, -46},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
750 { -321, -352, -124}, { 1333, 1021, 1080}, { 262, 366, 723},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
751 { 922, 283, -551}, { 31, -636, -611}, { -689, -697, -415},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
752 { -952, -779, -201}, {-1329, -598, -359}, { -953,-1285, 166},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
753 { 493, 305, 221}, { 846, 703, 610}, { 840, 936, 774},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
754 { -723,-1324,-1261}, { -357,-1025,-1388}, {-1096,-1376, -365},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
755 {-1416,-1881, -608}, {-1798,-1727, -674}, { -545,-1173, -703},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
756 { 678, 786, 148}, { -123, 696, 1288}, { 644, 350, -10},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
757 { 414, 614, 15}, { 137, 344, -211}, { -814,-1512, -819},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
758 { -391, -930, -588}, { 47, -591, -898}, { -909,-1097, -163},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
759 {-1272,-1167, -157}, {-1464,-1525, -389}, {-1274,-1188, -624},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
760 { 671, 213, 454}, { 124, -274, -525}, { -729, -496, -152},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
761 {-1344, 122, 135}, {-2905, -589, -394}, {-1728, 441, -50},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
762 { 1476, 904, 787}, { 316, 236, -440}, { -347, 217, 413},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
763 { -911, -917, 121}, { -455, -932, 202}, { -92, -465, -375},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
764 { 488, 390, 474}, { 876, 729, 316}, {-1815,-1312, -669},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
765 { 87, 962, 432}, { 563, -249,-1058}, { 250, 285, 1105},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
766 { 1141, 427, 696}, {-1038,-1664,-1582}, { -948, 346, 160},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
767 { -309, -272, -858}, { 670, 624, 1250}, { -944, -408, -666},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
768 { -606, -320, -384}, { -492, 230, 65}, { 334, -50, -16},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
769 { -16, -690,-1397}, { 1791, 1716, 1399}, { 2478, 2063, 1404},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
770 { 1245, 1471, 1426}, { -382,-1037, -2}, { 173, -398, 1145},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
771 { 1491, 2024, 1801}, { 772, 1274, 1506}, { 1429, 1735, 2001},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
772 { 1079, 1218, 1273}, {-1154,-1851,-1329}, { -808,-1133,-1096},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
773 { -451,-1033,-1722}, { 65, 578, -84}, {-1476,-2434,-1778},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
774 { -765,-1366, -494}, { -218, -594, -931}, { 337, -236, 562},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
775 { 2357, 2662, 1938}, { 1489, 1276, 874}, { 189, 358, 374},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
776 {-1519,-2281,-2346}, { -967,-1271,-2095}, { -628,-1188,-1542},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
777 { 1661, 1043, 546}, { 565, 1061, 732}, { -64, -836, -434},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
778 { -436, -96, 203}, { 1078, 1216, 1636}, { 907, 1534, 986},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
779 { 326, 965, 845}, { 142, -84, 197}, { 470, 2379, 1570},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
780 { 1133, 470, 1214}, { 395, 1376, 1200}, { 1125, 1042, 348},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
781 { -543,-1234, -376}, { -215, -181, 481}, {-1947,-1621, -210},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
782 { -750,-1185, 390}, { 29, -399, 27}, { 820, 1236, 755},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
783 { 695, 979, 409}, { -174, 1197, 1035}, { 912, 1356, 1846},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
784 { -992,-1437, 484}, {-1485,-1700, 208}, { -412, 1204, 1432},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
785 { -271, 896, 1144}, { -416, 1777, 1434}, {-1696,-2644, -204},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
786 {-1789,-1551, 1033}, {-1656,-1559, 1303}, {-1253,-1589, 1081},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
787 { -669,-1095, -66}, { -682, 320, -345}, { 659, 305, 1069},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
788 {-1292, -804, -19}, {-1635,-1291, 29}, {-1683, -497, 71},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
789 { -287, -7, -100}, { -494, -962, -237}, { 852, 1881, 1740},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
790 {-1217,-1387, 227}, { -660, 302, 373}, { 96, 1087, 1257},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
791 {-1074,-1669, 160}, { 485, 2076, 1798}, { -934, -220, 552},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
792 { -596, -612, 237}, { 336, 1720, 879}, { 643, 629, 434},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
793 { 1267, 522, 1633}, { 15, 244, -441}, { 1475, 717, 184},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
794 { 1819, 1590, 1709}, { 988, 261, 937}, { 2093, 2345, 1520},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
795 { 2139, 1858, 1606}, { -577, -579,-1203}, { -956, 135, -488},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
796 { -464, 51, -338}, { -629, -348, -723}, { 1146, 2073, 1442},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
797 { 2192, 1466, 911}, {-1444,-1572,-2278}, { 1400, 710, 1297},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
798 { 1335, 633, 928}, { 1434, 2194, 2594}, { 2422, 2204, 1881},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
799 { 982, 2242, 1854}, { 380, 792, 1145}, { -63, -539, 414},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
800 { -252, -964, -314}, {-1261, -683, -780}, { -831, -526,-1005},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
801 {-1666,-1135, -424}, {-1611, -452, -299}, { 1268, 1048, 642},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
802 { 1147, 853, 856}, { -675, -336, 139}, { 2268, 1343, 1418},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
803 { 29, 768, 797}, {-1224, 423, 564}, {-1318,-1082, 245},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
804 {-1302, -812, 573}, {-1298,-1617, 646}, { -968, 834, 723},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
805 { 993, 1652, 2027}, { -191, -817, 432}, { 662, 60, 198},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
806 { 626, 997, 1330}, { 1648, 1963, 1289}, {-1597, -93, -45},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
807 {-1088, 37, -84}, { 1653, 2607, 2337}, { 1065, 2040, 2377},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
808 { 1139, 2326, 2118}, { 859, 357, 1510}, { 664, 1227, 1099},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
809 { 479, 1360, 912}, { 1897, 1754, 2019}, { 1168, 1909, 1784},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
810 { 399, 34, 256}, { -593, -304,-1053}, { 547, 1694, 1407},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
811 { 647, -99, -341}, { 1492, 1647, 1190}, { 38, -644, -212},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
812 { 395, 846, 222}, { -704, -765, -716}, { -724,-1964,-2804},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
813 { -150, 291, -82}, { 1233, 1459, 1007}, { -140, -155, 153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
814 { 439, 297, 1568}, {-1529, -410, -636}, { 1536, 455, -237},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
815 {-1328, -139, -260}, { 531, 554, 868}, { 269, 1264, 606},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
816 { -233, 883, 463}, { 742, 600, -120}, { -73, 421, 212},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
817 { -439, -58, 804}, {-1286,-1241, 728}, { 294, -490, 50},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
818 { -591, -905,-1254}, { 42, -687, 147}, { -25, 273, 596},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
819 { -311, 1213, 601}, { -754, 849, 584}, { 429, 607, 587},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
820 { -602, -166, 461}, { -796, -823, 777}, { 1380, 910, 1755},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
821 { 119, 1417, 972}, { -219, -880,-1596}, {-1049,-1010, 438},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
822 { -713,-1379, 78}, { 0, -447,-1179}, {-1136,-1319,-1573},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
823 { 2248, 1767, 1309}, { 946, 1583, 1432}, { 1150, 482, 436},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
824 { -469,-1108, 618}, { -447, -966, 1088}, {-1252,-1515, -114},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
825 {-1104,-2008, -579}, { 210, 613, 497}, {-1975,-1437, 642},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
826 {-1269, -856, 1011}, {-1646,-1185, 1063}, {-1555, -672, 1204},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
827 {-1692,-1114, 623}, { -979,-1326,-1277}, { 539, -147, 894},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
828 {-1354, -897, -434}, { 888, 475, 428}, { 153, -384, 338},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
829 {-1492, -511, 359}, { -974,-1115, -470}, { 105, -550, 677},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
830 { -937,-1145, 877}, { 380, -260, 210}, { 1685, 924, 1256},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
831 { 1775, 1190, 1095}, { 1419, 631, 533}, { 627, 299, -347},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
832 { -411, -534, 647}, { -650, 29, -595}, { -378,-1367, 1563},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
833 { 1402, 1121, 1465}, { 1089, 1410, 648}, {-2096,-1090, -6},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
834 { 311, -194, -869}, { -639, -831, 416}, {-1162,-1224, 1349},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
835 {-1247, -941, 1813}, {-2193,-1987, 453}, { -619,-1367, -956},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
836 {-1606,-1972,-1507}, {-1175,-1057,-1104}, { -377, 601, 201},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
837 { 1876, 825, 374}, { -430,-1323, 29}, {-1397,-1249,-1331},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
838 {-1007,-1504, 960}, {-1401,-2009, 197}, {-1379,-1949, -236},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
839 {-1077, 123, 422}, { 615, 1269, 546}, { -306, 1526, 904},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
840 { 1194, 1788, 1177}, { -626, -884,-1526}, { 199, 766, 1504},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
841 {-1065, 862, 197}, {-1034,-1773, -887}, { -800, 145, 599},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
842 {-1134, -519, 626}, {-1205,-1926, 500}, { -910,-1041,-1395},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
843 {-1476,-1567, -969}, { -523, 842, 34}, { 1794, 646, 862},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
844 {-1207,-1888,-1002}, { -78, -9, -672}, { 1044, 759, 80},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
845 { -600, 1139, 1019}, { 57, 2000, 1422}, { -833, 1414, 1121},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
846 {-1202, 1630, 1260}, { -461, 1420, 1244}, { 1537, 975, 253},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
847 { -283, 324, -359}, { 599, -195, 106}, { 588, 62, -587},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
848 { -757, 645, 205}, { 51, 1201, 758}, {-1209, 673, -390},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
849 { -624, 1581, 941}, { -151, 1023, 735}, { 2820, 1301, 690},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
850 { -302, 524, -99}, { -900,-1588,-1189}, { 1084, 251, 238},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
851 { 2014, 1792, 1010}, { 1245, 1633, 1741}, {-1227,-1540,-1208},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
852 { -621, 456, -109}, { 40, -65, 788}, { -805, -699,-1350},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
853 { -583, 904, 832}, { -801, 532, 594}, { 1972, 1408, 1351},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
854 {-1177,-1880,-2114}, { -773, 568, 948}, {-1015, 1079, 1260},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
855 {-1111, 482, -130}, { 1778, 1044, 780}, {-1491, 245, 912},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
856 { -316,-1141, -917}, { -536,-1442,-2346}, { -785,-1546,-1988},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
857 {-2003, 257, 909}, {-1849, -633,-1209}, {-1538,-1918,-1054},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
858 { 1606, 2239, 1576}, { -567,-1500,-1544}, {-1279, 195, 1369},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
859 { -817, 293, 1219}, { -525, 630, 1197}, {-1698,-2425,-1840},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
860 { -303, 731, 747}, {-1169, -251, 269}, { -950, -75, 1684},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
861 {-1182, -453, 1005}, {-1599, 585, 378}, {-2075, -571, -427},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
862 { -529,-1159,-1171}, { -283, -205, -564}, { -796, 1246, 717},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
863 { 2277, 927, 539}, { -454, 559, 440}, { -717, 1460, 1615},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
864 {-1030, 1052, 1610}, {-1169, -138, 847}, { 226, 39, -612},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
865 {-1251, -106, -729}, { -651, 968, 1302}, { -714, -636, 1727},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
866 { 353, 1069, 410}, { -798, -156, 1099}, { -574, 918, 446},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
867 {-1310, 1012, 466}, { 1408, 1591, 765}, { 1429, 1380, 1757},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
868 { 1949, 1956, 2378}, { 1578, 2047, 2148}, { 916, 98, -7},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
869 { 1893, 1418, 2141}, { 348, 1405, 1579}, { 152, 1134, 1801},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
870 { -267, 154, 1395}, {-1166, 469, 1054}, {-1142, -405,-1073},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
871 {-1341,-2264,-1581}, { -364, 869, 1706}, {-1162, 549, 1550},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
872 {-1225,-1932,-1666}, {-1485,-1977,-2055}, {-1727, -906, -98},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
873 {-1897, 233, 1492}, { 892, 108, -331}, {-1728,-1170,-1700},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
874 {-1060, 1980, 1790}, {-1070,-1741,-1909}, { -11, 1539, 1317},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
875 {-1600, 94, 497}, { 421, 443, -197}, {-1578, -349, -994},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
876 { -599, -539, 1140}, { -965,-1419, -129}, {-1341, 175, -447},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
877 { -375, 1311, 2055}, { -371, -650, -307}, {-1073, 605, 365},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
878 {-2057, -113, 430}, { 652, 914, 967}, {-1012,-1586,-2323},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
879 { 1505, 1248, 559}, { 262, -486, -401}, {-1727, 1342, 1546},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
880 { 50, 56, 432}, { -330, 119, -604}, {-1517,-1080, -810},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
881 { 946, 1127, 1055}, {-1400,-1703,-1712}, {-1270, -704,-1317},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
882 { 807, 1821, 1143}, { 2760, 1606, 2171}, { 1120, 409, -150},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
883 { -147, 404, 959}, { 2439, 1911, 2189}, { -906, -141, -866},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
884 { -904, -142, -458}, { -557, -708,-1679}, { -830,-1431,-1583},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
885 {-1842,-1346,-1086}, {-1604, -272, 915}, {-1196, 772, 1056},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
886 { -638,-1234,-1897}, { -500, -81, -822}, {-1289,-1613, -735},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
887 { -117, 785, 168}, {-1090, 1133, 922}, {-1096, -746, 1384},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
888 { 287, -547,-1063}, {-1376,-2201,-1204}, {-2176,-1570,-1757},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
889 {-1511,-2241, -771}, {-1737, 1099, 830}, {-1588, 724, 1243},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
890 {-1542, 693, 805}, {-1690, -240, 1665}, {-1700, -4, -668},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
891 { 2149, 816, 1042}, { -818,-1841, 22}, { -764, -507, 449},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
892 {-1151, -617, 289}, { -843,-1596, -240}, { 498, -234, -657},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
893 { -752, 480, 1678}, { -319, -481, 193}, { -811, 171, -119},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
894 {-2128, -202, -848}, { 1717, 1140, 1700}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
895 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
896
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
897 static const int16_t lsf_3_3[512][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
898 { 67, -17, 66, -12}, {-1690, -581, -104, -272}, {-1076,-1186,-1845, -376},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
899 {-1140, -926, -420, -58}, { -259, -656,-1134, -553}, { 1788, 1227, 455, 129},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
900 { 462, 441, -240, -528}, { 840, 514, 130, -75}, { 1114, 623, 153, 216},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
901 { 1068, 564, -6, -276}, { 1119, 727, 190, -68}, { 704, 306, 119, -264},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
902 { 329, 61, -100, 156}, { 364, 123, 183, -208}, { -171, -123, 220, -65},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
903 { -306, -62, 402, 17}, { -660, -938, -266, 0}, { 385, 235, 276, 285},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
904 { 320, 268, -336, -200}, { -724, 17, -84, 381}, { -544, 429, 494, 519},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
905 { -117, 288, 304, 329}, { 643, 157, 701, 508}, { 1200, 625, 796, 608},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
906 { 998, 421, 492, 632}, { 1204, 780, 446, 132}, { 1257, 844, 547, 449},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
907 { 829, 658, 541, 470}, { 1132, 1258, 918, 639}, { 547, 51, 423, 279},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
908 { 9, 392, 83, 94}, { 542, 543, 229, -147}, { -198, 129, 194, -185},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
909 { -863,-1321, -302, 30}, { -597, -629, -19, 114}, { -900,-1081, 466, 353},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
910 {-1483,-1573, 15, -143}, {-1708,-2059, -751, 196}, {-1876,-2067, -642, -258},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
911 {-2335,-1470, -450, -564}, { -584, -186, -872, -414}, {-1805, -988,-1125,-1310},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
912 { -726,-1129, 28, 169}, {-1039, -864, -718, -246}, { 484, 36, -233, -49},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
913 { 265, 67, 289, 467}, { 178, 543, 810, 540}, { 84, 282, 672, 703},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
914 { -975, -777, 129, 287}, { -938, -227, 955, 595}, {-1617, -289, 836, 649},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
915 {-1847, -215, 1106, 718}, {-2034,-1085, 650, 440}, {-2101, -529, 907, 575},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
916 {-2011, -336, 670, 204}, {-2389, -692, 360, 137}, {-2156,-2204, -9, 280},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
917 { -266, 119, 39, 193}, { 78, -59, -120, 226}, { -975, -858, -781,-1095},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
918 { -619, -413, -451, -842}, {-1216,-1321, -813, -883}, {-1376,-1615, -394, -428},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
919 { -737,-1113, -549, -790}, { -880, -975, -967, -642}, { -985, -886,-1273,-1361},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
920 { -473, -804,-1401,-1407}, { 160, -265, -919, -275}, { -248, -250, -718, -380},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
921 { 97, -103, -375, -229}, { -415, -193, -135, -555}, { 628, 361, 119, 216},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
922 { 579, 364, 391, 209}, { 634, 522, -154, -148}, { 526, 389, 170, 33},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
923 { 105, 267, 64, 380}, {-1503,-1000, -30, -369}, {-1070, 58, 647, 223},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
924 {-1520, -291, 621, 307}, {-1531, 156, 762, 404}, {-2029, 141, 734, 499},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
925 {-1849, -650, 306, 512}, { -187, -104, -59, 438}, { 134, -230, 156, -186},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
926 { -61, -260, -16, 10}, { -569, -3, -421, -297}, {-1725, -521, -346, 178},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
927 {-1362, -59, -44, 157}, {-2146, -461, -470, -349}, {-2170, -1, -369, -121},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
928 {-1579, -373, -900,-1015}, {-1117, -591, -613, -784}, { -561, 122, -75, -449},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
929 { -4, -171, -123, -372}, { 192, 168, -76, -132}, { 252, -107, 340, 210},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
930 { 392, 509, 272, 181}, { -109, 145, 218, 119}, { -416, -263, 485, 265},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
931 { -181, -8, -286, 226}, { -244, -218, 69, -290}, { -158, 191, -1, -64},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
932 { -592, -90, 213, -96}, { 255, 435, 178, -80}, { -369, -18, -33, -80},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
933 { -42, 415, 140, -222}, { 1143, 651, 649, 329}, { 767, 556, 249, 235},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
934 { 948, 413, 442, 279}, { 141, 339, 356, 557}, { -470, -170, 99, 237},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
935 { -569, -800, 352, 565}, { 282, 473, 470, 332}, { -199, -690,-1284, -917},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
936 { -193, -426, -800,-1122}, { -26, -371, -490, -193}, { 637, 595, 519, 330},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
937 { 408, -115, 79, 12}, { 477, 87, -103, -376}, { -666, -347, -277, -291},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
938 { -510, -481, 169, 297}, { -829, -738, -205, -171}, { -320, -540, 328, 283},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
939 { -859, -958, 442, -2}, { 556, 686, 130, 56}, { 1383, 1012, 755, 427},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
940 { 612, 741, 628, 553}, { -339, -796, 134, 277}, { -633,-1085, -2, -246},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
941 { -880,-1035,-1607,-1064}, { -994, -474,-1138, -488}, { -414, -795, 73, -206},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
942 { -8, -139, 439, 204}, { -176, -578, 23, 131}, { -269, -757, -191, 245},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
943 { -109, -338, 112, 316}, { 120, -406, -118, 611}, { -180, -186, -645, 115},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
944 { -173, 34, -518, -489}, { -151, 61, -583, -844}, { 220, -138, -681,-1020},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
945 { 391, -17, -598, -321}, { 157, -295, 129, 155}, { -926, -875, -987, 285},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
946 { 241, -83, -125, -125}, { 620, 597, 432, 92}, { 393, 78, 409, 61},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
947 { -393, -739, -413, -748}, { 83, 54, 361, 27}, {-1084, 130, -337, -694},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
948 {-1565, 297, 318, -19}, {-1873, 36, 51, -317}, {-2323, -246, 231, -84},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
949 {-2306, -783, 40, -179}, {-2233, -930, -474, -462}, { -754, -86, -288, -626},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
950 {-2411, -455, -63, 171}, {-1099,-1094, -26, -143}, {-1193, -455, -406, -381},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
951 { -605, -210, -96, -51}, { -580, -476, -276, -15}, {-1195, -634,-1203, -881},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
952 { -378, -221, -669, -952}, { 594, 178, -403, -676}, { 763, 327, 601, 290},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
953 { 172, 300, 203, 157}, { -56, -336, 356, 24}, { -228, -296, -259, -29},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
954 { -186, 263, 416, 14}, { -353, 373, -12, -216}, { 257, 96, 174, 57},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
955 {-1526, -616, -954, -499}, { -497, -152, -333, 125}, { 105, 200, 179, -97},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
956 { -331, -224, 765, 697}, { 760, 256, 301, 59}, { 455, -85, 204, 288},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
957 { -514, 240, 251, -109}, { 256, 417, -34, -413}, { 101, 430, 384, 156},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
958 { -31, -10, 206, 426}, { 589, 145, 143, 71}, { 808, 906, 333, 349},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
959 { 986, 938, 589, 331}, { 1300, 824, 187, 509}, { 1062, 653, 379, 466},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
960 { 1462, 937, 401, 274}, { 787, 861, 265, 2}, { 609, 553, 28, 305},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
961 { 926, 340, 106, 386}, { 241, -267, -147, 225}, { -178, -534, 347, 502},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
962 { -643, -381, 397, 30}, { -651, -733, -435, 398}, { -407, -726, -484, -248},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
963 { -789, -914, -438, -476}, { -498, -390, 75, -295}, { -964, -590, -606, 150},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
964 { -121, -49, -155, -78}, { 935, 550, 389, 38}, { -321, 127, 424, 315},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
965 { -285, -113, 283, 259}, { 658, 203, 322, 486}, { 903, 505, 748, 417},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
966 { 611, 423, 555, 512}, { 239, -83, -578, -19}, { -339, -731, 349, 13},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
967 { -934,-1399, -114, -360}, { 107, 692, 182, 90}, {-1243,-1538,-1551, -725},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
968 { -568, -903,-1363, -525}, { -517, -853, -861,-1004}, { -168, -690, -835, 63},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
969 { -137, -556, -547, 144}, { -286, -817, 485, 319}, { -147, -408, 526, 246},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
970 { -347, -434, 297, -28}, { -290, -471,-1110,-1285}, { -460, -359, -988, -794},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
971 { 1347, 1299, 690, 523}, { 1216, 1068, 1094, 757}, { 825, 1140, 752, 494},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
972 { 1252, 1365, 1195, 898}, { 521, 1053, 532, 432}, { -334, -216, -313, -263},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
973 { -160, 52, -472, -155}, { 127, 136, -380, 44}, { 851, 410, -162, -489},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
974 { 123, -255, -796, -667}, { 1090, 917, 789, 493}, { 1397, 1197, 558, 202},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
975 { -51, -118, -342, -701}, { 83, 108, -42, -441}, { 61, 95, 287, 256},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
976 { -27, 89, 524, 531}, { 351, 227, 592, 545}, { 697, 155, -164, 307},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
977 { 638, 274, -489, -50}, { 754, 240, -166, -124}, { -116, -579,-1212, -63},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
978 { 190, -295,-1040,-1296}, { 147, -376, -177, -113}, { 841, 1241, 1051, 668},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
979 { 2, 293, 551, 304}, {-1096, -953, -248, 376}, { -750, -965, 87, 516},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
980 { -275, -516, 689, 391}, { -379, -643, 876, 594}, { -390,-1013, -645, 573},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
981 { -107, -568, -689, -826}, {-1025, -27, -328, -203}, { 861, 749, 548, 233},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
982 {-1660,-1043, 451, 108}, { -660, -620, 430, 236}, { 21, -396,-1158, -631},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
983 { 1372, 1298, 967, 577}, { 1125, 1125, 589, 454}, { -323, -865, -467, 153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
984 { -468, -699, -804, -509}, { -392, -718, -204, -35}, { -603,-1093, -567, -162},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
985 { -505,-1004, -102, 350}, { 219, 224, 423, 252}, { 395, 591, 608, 363},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
986 { -746, -96, 373, 172}, { 171, 295, 714, 339}, { 233, 77, 107, 277},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
987 { 157, 153, -499, -356}, { 1547, 1073, 576, 494}, { -292, -339, -504, -592},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
988 { -903, -72, -619, -481}, {-1594,-1117, -567, -254}, { -793, -507, -564, -291},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
989 { -492, -532, 502, 560}, { -382, 427, 600, 230}, { -227, 477, 251, 75},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
990 { 285, 842, 813, 476}, {-1310,-1333, 186, 377}, { -587, -917, 643, 381},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
991 {-1186, -553, 411, 82}, {-1127, -820, -174, -540}, { -604, 119, 543, 205},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
992 { -380, 657, 909, 567}, { 112, -298, -374, 114}, { -857, -251, 56, 159},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
993 { 401, 345, -34, -140}, { -111, -607, 41, 614}, { 355, -114, -77, 474},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
994 { 578, 56, 1450, 924}, { 1098, 1420, 741, 400}, { 246, 22, 588, 313},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
995 { -121, 327, 831, 472}, {-1138, -608, 856, 552}, {-1241,-1072, 638, 600},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
996 { -358, 254, -333, -303}, { -646, 739, 358, 74}, { 1226, 1671, 1221, 849},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
997 { 2241, 1624, 983, 636}, { 1841, 1477, 749, 384}, { 350, 263, 87, 128},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
998 {-1902, -941, -144, -64}, {-1734, -255, 288, -31}, {-2644,-1238, 366, 235},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
999 {-1643,-1092,-1344, -304}, { -541,-1075,-1116, 123}, {-1178, -252, -816, -180},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1000 {-1016, 533, 565, 233}, { -487, -430, -188, 334}, { 867, 1236, 534, 171},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1001 {-1590,-1607, 635, 630}, {-2196, 310, 924, 412}, {-2358, -328, 956, 529},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1002 {-2639, -377, 630, 278}, {-2602, 317, 799, 299}, {-2406, 133, 340, 31},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1003 {-2156,-1468, 131, 125}, {-1184, -490, -139, 46}, { -744, 447, 891, 564},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1004 { 67, -451, 646, 604}, { -553, -429, -876, 396}, { 162, -66, 1305, 915},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1005 { 479, 579, 1088, 794}, { 450, 278, 566, 324}, {-1057, -154, 148, -177},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1006 {-2545, 168, 1070, 592}, {-2351, -42, 819, 345}, {-2344, -707, 721, 250},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1007 {-2175,-1497, -309, 122}, { -78, -73, 120, 173}, { -4, 262, -263, -261},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1008 { -431, -64, -405, -732}, {-2609, 116, -83, -193}, {-1525, -944, -477, -725},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1009 { -508, 307, 170, 172}, { 832, 417, 832, 686}, { -225, 177, 894, 818},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1010 { -482, -389, 1279, 1039}, { -383, 201, -350, 40}, { 730, 635, 226, 526},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1011 { 503, 462, 338, 398}, { 535, 714, 40, -282}, { 1482, 1471, 1085, 731},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1012 { 1561, 1072, 909, 693}, { 1419, 1282, 889, 879}, { 1153, 728, 1186, 840},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1013 { -226, 1130, 949, 689}, { -494, -986,-1556, -128}, { -568, -721, -713, -26},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1014 { 317, 524, 70, 135}, { -405, -865,-1766, -652}, { -174, -801, 885, 773},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1015 { -153, -91, 1099, 751}, { -506,-1149, 853, 646}, { 241, 782, 519, 539},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1016 { 1853, 1700, 1101, 684}, {-1249,-1486, -464, 188}, { -893,-1409,-1312, -341},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1017 { -135, 438, -175, 18}, { 1111, 976, 319, 208}, {-1430,-1768, 83, 458},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1018 { -530,-1000, 307, 129}, { -840, -15, -29, -356}, { -911, -924,-1147, -242},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1019 { -119, -528, 127, -133}, { -761, -765, 190, -83}, { -315, 895, 522, 231},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1020 { -222, 102, -63, -428}, { 316, 699, 379, 70}, { 25, 716, 314, -108},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1021 { 507, 874, 566, 238}, { 108, 941, 519, 195}, { 425, -60, -427, 257},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1022 { 139, -103, -630, 446}, { 334, 370, 412, 48}, { -172, -690, -283, 557},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1023 { 187, -286, 158, 483}, { 140, 270, -344, -631}, { 924, 579, -116, 132},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1024 { 142, 466, -68, -64}, { 230, -145, -302, -542}, { -803, -912, 1018, 737},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1025 { -773, 1015, 630, 297}, {-2596, 95, 445, 336}, {-2122, 491, 510, 191},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1026 {-1253, 161, -2, -324}, {-1450, -633, -712, -105}, { -842, -254, -411, 100},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1027 { -640, -290, 1010, 763}, { -650, 313, 1169, 730}, { 140, 505, 1030, 766},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1028 { 772, 287, 1067, 823}, { 495, 749, 305, 323}, { -164, 462, 78, 399},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1029 { -342, -874, 69, 597}, { -16, 620, 621, 337}, { -138, -444, -265, 218},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1030 { 84, -450, 953, 666}, { -222, -803, 541, 604}, { -921,-1376, 244, 116},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1031 { -841, -723, 630, 588}, { 140, 663, 294, 368}, { 935, 1046, 881, 759},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1032 { 1746, 1464, 916, 628}, { 436, 963, 281, 1}, { -119, 74, 542, 213},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1033 { 1, -567, 301, 241}, { 260, 435, 222, 396}, { 936, 957, 1108, 703},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1034 { 510, 506, 808, 478}, { 601, 694, 960, 620}, { 972, 741, 980, 600},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1035 { 834, 717, 767, 684}, { 643, 972, 935, 638}, { 501, 661, 720, 851},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1036 { -105, -632, -303, -117}, { -429, 130, 789, 442}, { -522, -188, 704, 373},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1037 { -759, 42, 814, 523}, { -531,-1137, 373, 578}, { -682,-1203, -455, 285},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1038 {-1163,-1577,-1098, 44}, { 81, -82, 712, 363}, { 477, 246, 954, 622},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1039 { 1604, 1622, 1277, 891}, { 1409, 859, 924, 892}, { 774, 1041, 947, 1142},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1040 { 40, -546, -75, 288}, { -616, -106, -697, -26}, { -169, -160, -891, -739},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1041 { -279, -384,-1029, -350}, { 1781, 1308, 1046, 816}, { 1580, 1533, 1472, 1178},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1042 { 1505, 1076, 1216, 899}, { 890, 904, 564, 654}, { 920, 692, 1021, 856},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1043 { -493, 132, 177, 505}, { 71, 195, -28, 97}, { 456, 351, -164, 88},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1044 { 439, 278, -40, 350}, { 1395, 949, 234, -95}, { -805, -472, 38, -163},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1045 { 367, -98, 489, 523}, { 1025, 1178, 1212, 906}, { 319, 1314, 814, 461},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1046 { -123, -543, -804, 447}, { -748, -324, -897,-1127}, { -737, -501, -789, -713},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1047 { 715, 777, 1239, 922}, { 1949, 1939, 1368, 865}, { 730, 880, 758, 388},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1048 { -871, 454, 17, -251}, { -381, -810,-1583, 239}, { -521, -966, -792, 259},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1049 { -890,-1358, -770, -73}, { 166, 349, -212, 323}, { -840, -301, 473, 435},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1050 { -679, -464, 728, 351}, { -156, -199, 667, 432}, { 29, -252, 415, 480},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1051 { -731, -379, 145, 559}, { -528, -631,-1158, -159}, { 445, 273, 123, 639},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1052 { 373, -126, 800, 568}, { 84, -162, 720, 712}, { -830, -536, -185, 222},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1053 { 408, 452, 501, 771}, { -897,-1355, -67, 442}, { -792,-1406, 566, 602},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1054 { 167, -326, 509, 330}, { -95, -626, -730, -344}, { 1668, 1217, 779, 455},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1055 { 1316, 828, 584, 719}, { 404, -31, 1013, 789}, { 89, 107, 891, 549},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1056 { 871, 1581, 917, 671}, { 866, 1479, 1289, 854}, { 391, 1068, 1122, 812},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1057 { 78, -562, 345, 563}, { 429, -103, 417, 787}, { -122, -437, 411, 788},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1058 { -913, -417, 602, 754}, { -226, -16, 151, 760}, { -700, 118, -104, -14},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1059 {-1128, 48, 284, 393}, { -390, -419, -639, -116}, { -910, 306, 316, -13},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1060 { 1207, 984, 821, 669}, {-1195, -693, 140, -213}, { -884, -416, -199, -558},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1061 { -616, 245, -404, -664}, { 262, 56, -617, -724}, { -85, -491, -320, -656},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1062 { -570, -831, -129, -528}, {-1506, -63, -367, -385}, { -358, -321, 4, 51},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1063 { -366, -214, 319, 511}, { 146, 671, -17, -291}, { -110, 464, -139, -496},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1064 { -202, 220, -312, -631}, { -660, -73, -655, -820}, { -662, -653,-1288, -857},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1065 { -430, -953, -959, -264}, { -49, -468, -72, -381}, { -350, -563, -193, -407},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1066 { 55, -408, -803, 11}, { -309, 649, 188, -198}, { -512, 461, -79, -458},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1067 {-1318, -263, -134, -523}, {-1657, -435, -495, -765}, { 57, -347, -414, 434},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1068 {-1141, -242, -664, -857}, { 34, -68, -707, -338}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1069 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1070
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1071 static const int16_t lsf_5_1[128][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1072 { -451,-1065, -529,-1305}, { -450, -756, -497, -863}, { -384, -619, -413, -669},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1073 { -317, -538, -331, -556}, { -414, -508, -424, -378}, { -274, -324, -434, -614},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1074 { -226, -500, -232, -514}, { -263, -377, -298, -410}, { -151, -710, -174, -818},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1075 { -149, -412, -156, -429}, { -288, -462, -186, -203}, { -170, -302, -191, -321},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1076 { -131, -147, -297, -395}, { -228, -214, -245, -192}, { -67, -316, -71, -327},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1077 { -104, -205, -94, -183}, { -143, -38, -193, -95}, { 16, -76, -124, -248},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1078 { 23, -237, 24, -244}, { 18, -136, 44, -111}, { -33, -24, -25, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1079 { 149, 19, 23, -143}, { 158, -169, 174, -181}, { 133, -55, 165, -26},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1080 { 111, 84, 98, 75}, { 87, 183, -115, -11}, { -8, 130, 11, 170},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1081 { 254, 77, 205, 17}, { 183, 112, 262, 194}, { 202, 287, 95, 189},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1082 { -42, -105, 234, 179}, { 39, 186, 163, 345}, { 332, 199, 299, 161},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1083 { -54, 285, -78, 281}, { -133, 141, -182, 111}, { 249, 341, 271, 364},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1084 { 93, 403, 75, 391}, { 92, 510, -138, 220}, { -185, -29, -34, 361},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1085 { -115, 320, 3, 554}, { 99, 286, 218, 591}, { -245, 406, -268, 453},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1086 { 0, 580, 25, 606}, { 275, 532, 148, 450}, { -73, 739, -285, 518},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1087 { -288, 94, -203, 674}, { -140, -74, 205, 714}, { -114, 299, 176, 923},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1088 { 182, 557, 240, 705}, { -16, 513, 485, 593}, { 293, 384, 451, 617},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1089 { -38, 50, 563, 529}, { 303, 209, 459, 363}, { 433, 452, 450, 454},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1090 { 367, 606, 477, 741}, { 432, 353, 368, 267}, { 361, 716, 273, 583},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1091 { 453, 166, 510, 172}, { 201, 629, 274, 191}, { 568, 639, 302, 298},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1092 { 634, 387, 643, 350}, { 587, 560, 612, 565}, { 600, 788, 487, 672},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1093 { 512, 1015, 321, 333}, { 357, 854, -125, 413}, { 474, 712, 17, -151},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1094 { 564, 285, 270, -241}, { 971, 889, 489, 220}, { 510, 896, 549, 924},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1095 { 327, 825, 290, 911}, { 540, 1108, 158, 805}, { 199, 957, 511, 730},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1096 { 100, 874, 13, 791}, { 435, 632, 676, 972}, { 249, 900, 467, 1218},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1097 { 781, 1074, 585, 785}, { -23, 669, 267, 1043}, { 619, 1084, 615, 1145},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1098 { 622, 905, 916, 1049}, { 80, 331, 584, 1075}, { 89, 639, 988, 961},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1099 { 770, 720, 798, 699}, { 492, 447, 899, 627}, { 271, 1188, 725, 1333},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1100 { 87, 603, 832, 1603}, { 616, 1127, 890, 1505}, { 1000, 1156, 866, 1009},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1101 { 995, 827, 1149, 858}, { 817, 1450, 773, 1320}, { 500, 1389, 312, 1153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1102 { -20, 1084, 64, 1283}, { 2, 1172, 399, 1869}, { 514, 1706, 502, 1636},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1103 { 886, 1522, 416, 600}, { 1131, 1350, 1275, 1390}, { 889, 1795, 914, 1766},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1104 { 227, 1183, 1250, 1826}, { 505, 1854, 919, 2353}, { -199, 431, 152, 1735},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1105 { -213, -28, 392, 1334}, { -153, -52, 978, 1151}, { -323, -400, 813, 1703},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1106 { -136, 84, 1449, 2015}, { -331, -143, -137, 1192}, { -256, 534, -157, 1031},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1107 { -307, -439, 542, 731}, { -329, -420, -97, 616}, { -362, -168, -322, 366},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1108 { -247, -110, -211, 89}, { -196, -309, 20, 59}, { -364, -463, -286, 89},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1109 { -336, 175, -432, 141}, { -379, -190, -434, -196}, { -79, 150, -278, -227},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1110 { -280, 166, -555, -422}, { -155, 541, -366, 54}, { -29, -83, -301, -774},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1111 { 186, 628, -397, -264}, { 242, 293, -197, -585}, { 124, 410, 53, -133},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1112 { 10, 340, -570,-1065}, { 65, -446, 68, -493}, { 383, 937, -357, -711},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1113 { -359, -250, -677,-1068}, { 292, -26, 363, 6}, { 607, 1313, -127, -10},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1114 { 1513, 1886, 713, 972}, { 1469, 2181, 1443, 2016}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1115 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1116
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1117 static const int16_t lsf_5_2[256][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1118 {-1631,-1600,-1796,-2290}, {-1027,-1770,-1100,-2025}, {-1277,-1388,-1367,-1534},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1119 { -947,-1461, -972,-1524}, { -999,-1222,-1020,-1172}, { -815, -987, -992,-1371},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1120 {-1216,-1006,-1289,-1094}, { -744,-1268, -755,-1293}, { -862, -923, -905, -984},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1121 { -678,-1051, -685,-1050}, {-1087, -985,-1062, -679}, { -989, -641,-1127, -976},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1122 { -762, -654, -890, -806}, { -833,-1091, -706, -629}, { -621, -806, -640, -812},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1123 { -775, -634, -779, -543}, { -996, -565,-1075, -580}, { -546, -611, -572, -619},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1124 { -760, -290, -879, -526}, { -823, -462, -795, -253}, { -553, -415, -589, -439},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1125 { -533, -340, -692, -935}, { -505, -772, -702,-1131}, { -263, -306, -971, -483},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1126 { -445, -74, -555, -548}, { -614, -129, -693, -234}, { -396, -246, -475, -250},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1127 { -265, -404, -376, -514}, { -417, -510, -300, -313}, { -334, -664, -463, -814},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1128 { -386, -704, -337, -615}, { -234, -201, -233, -239}, { -167, -567, -203, -619},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1129 { -147, -415, -115, -352}, { -166, -750, -171, -761}, { -270, -879, -264, -903},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1130 { -367, -744, 43, -475}, { 14, -653, 43, -670}, { 11, -448, -59, -521},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1131 { -126, -119, -155, -613}, { -42, -863, -27, -931}, { 136, -483, 183, -468},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1132 { 55, -298, 55, -304}, { 313, -609, 313, -720}, { 322, -167, 100, -541},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1133 { -3, -119, -111, -187}, { 233, -236, 260, -234}, { 26, -165, 134, -45},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1134 { -40, -549, 360, -203}, { 378, -388, 450, -383}, { 275, 20, 182, -103},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1135 { 246, -111, 431, 37}, { 462, -146, 487, -157}, { -284, -59, 503, -184},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1136 { 24, 53, -3, 54}, { 122, 259, 333, 66}, { 484, 104, 436, 68},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1137 { 195, 116, 190, 206}, { 269, -9, 482, 352}, { 382, 285, 399, 277},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1138 { 452, 256, 69, 186}, { 13, 297, -13, 259}, { -95, 30, 56, 394},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1139 { 196, 425, 205, 456}, { 281, 577, 15, 191}, { 375, 290, 407, 576},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1140 { -56, 227, 544, 405}, { 0, 549, -92, 528}, { -229, 351, -245, 338},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1141 { -362, 435, 167, 527}, { -75, 302, 91, 824}, { 129, 599, 496, 679},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1142 { 186, 749, 153, 737}, { -281, 600, -348, 615}, { -236, 769, 41, 881},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1143 { 38, 890, -220, 841}, { -357, 883, -393, 903}, { -634, 474, -444, 850},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1144 { -175, 678, -493, 242}, { -519, 785, -714, 582}, { -541, 366, -543, 434},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1145 { -597, 500, -765, 222}, { -702, 917, -743, 962}, { -869, 501, -899, 548},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1146 { -379, 200, -435, 157}, { -819, 214, -861, 157}, { -614, 40, -632, 94},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1147 { -883, -54, -741, 516}, { -501, 298, -614, -171}, { -870, -161, -865, -23},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1148 { -818, 93,-1015, -267}, { -662, -359, -549, 2}, { -442, -121, -377, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1149 { -227, 33, -414, -126}, { -129, 212, -934, 34}, {-1082, -282,-1119, -268},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1150 { -710, -825, -420, -191}, {-1076, -928, -917, -93}, { -628, -358, 97, 7},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1151 { -206, -393, -101, 24}, { -203, 38, -168, 83}, { -599, -423, -279, 426},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1152 { -700, 118, -75, 206}, { -981, -673, -680, 417}, { -367, 37, -279, 474},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1153 { -129, -318, 319, 296}, { -626, -39, 343, 602}, { -696, -39, -303, 940},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1154 { 104, 233, -380, 137}, { -36, 269, -75, -214}, { 120, 43, -529, -477},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1155 { 459, 164, -202, -229}, { -49, -167, 609, 792}, { 98, -220, 915, 148},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1156 { 293, 283, 869, 91}, { 575, 394, 326, -78}, { 717, 67, 365, -323},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1157 { 616, -36, 731, 27}, { 619, 238, 632, 273}, { 448, 99, 801, 476},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1158 { 869, 273, 685, 64}, { 789, 72, 1021, 217}, { 793, 459, 734, 360},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1159 { 646, 480, 360, 322}, { 429, 464, 638, 430}, { 756, 363, 1000, 404},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1160 { 683, 528, 602, 615}, { 655, 413, 946, 687}, { 937, 602, 904, 604},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1161 { 555, 737, 786, 662}, { 467, 654, 362, 589}, { 929, 710, 498, 478},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1162 { 415, 420, 693, 883}, { 813, 683, 781, 925}, { 913, 939, 726, 732},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1163 { 491, 853, 531, 948}, { 734, 963, 315, 808}, { 761, 755, 1144, 760},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1164 { 655, 1076, 826, 1057}, { 1091, 838, 1003, 808}, { 1047, 1133, 659, 1101},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1165 { 992, 1050, 1074, 1075}, { 971, 694, 1226, 1054}, { 571, 841, 884, 1404},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1166 { 1379, 1096, 1080, 861}, { 1231, 735, 1284, 760}, { 1272, 991, 1367, 1053},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1167 { 1257, 700, 1050, 534}, { 988, 453, 1264, 599}, { 1140, 679, 1621, 815},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1168 { 1384, 521, 1317, 393}, { 1564, 805, 1448, 686}, { 1068, 648, 875, 307},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1169 { 1083, 361, 1047, 317}, { 1417, 964, 675, 571}, { 1152, 79, 1114, -47},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1170 { 1530, 311, 1721, 314}, { 1166, 689, 514, -94}, { 349, 282, 1412, 328},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1171 { 1025, 487, -65, 57}, { 805, 970, 36, 62}, { 769, -263, 791, -346},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1172 { 637, 699, -137, 620}, { 534, 541, -735, 194}, { 711, 300, -268, -863},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1173 { 926, 769, -708, -428}, { 506, 174, -892, -630}, { 435, 547,-1435, -258},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1174 { 621, 471,-1018,-1368}, { -393, 521, -920, -686}, { -25, 20, -982,-1156},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1175 { 340, 9,-1558,-1135}, { -352, 48,-1579, -402}, { -887, 6,-1156, -888},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1176 { -548, -352,-1643,-1168}, { -159, 610,-2024, -963}, { -225, 193,-1656,-1960},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1177 { -245, -493, -964,-1680}, { -936, -635,-1299,-1744}, {-1388, -604,-1540, -835},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1178 {-1397, -135,-1588, -290}, {-1670, -712,-2011,-1632}, {-1663, -27,-2258, -811},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1179 {-1157, 184,-1265, 189}, {-1367, 586,-2011, 201}, { -790, 712,-1210, 3},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1180 {-1033, 808,-1251, 830}, { -111, 635,-1636, 447}, { -463, -949, -445, -928},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1181 { -504,-1162, -501,-1211}, { 144, -351, -372,-1052}, { -283,-1059, -279,-1123},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1182 { -575,-1438, -587,-1614}, { -935, -984, 229, 690}, { -921, -719, -403, 1362},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1183 { -685, -465, 874, 397}, { -509, -46, 317, 1334}, { -485, 456, 813, 439},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1184 { -411, 339, 898, 1067}, { -425, 46, 1441, 497}, { -909, -800, 1465, 1046},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1185 { -254, -321, 1430, 1165}, { 68, 350, 1034, 666}, { 370, 11, 1311, 790},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1186 { 143, 232, 1041, 1562}, { -114, 663, 1616, 1078}, { 454, 579, 1275, 1040},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1187 { -76, 909, 752, 1067}, { 153, 512, 348, 1214}, { 614, 385, 1843, 808},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1188 { 269, 1034, 203, 1086}, { 652, 1017, 1783, 1130}, { 429, 1327, 387, 1384},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1189 { -49, 1183, -72, 1215}, { -416, 1001, 544, 1749}, { -352, 1223, -502, 1199},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1190 { -589, 569, -227, 1630}, { -142, 1578, -230, 1715}, { -714, 1288, -838, 1398},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1191 { 1131, 1357, -208, 1232}, { 437, 965, -929, 818}, { 811, 1410, 859, 1507},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1192 { 164, 1212, 1387, 1793}, { 484, 1874, 456, 2063}, { 996, 1170, 1326, 1402},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1193 { 1316, 1360, 1135, 1262}, { 1234, 1618, 1361, 1768}, { 1421, 1227, 1584, 1347},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1194 { 854, 672, 1685, 1566}, { 1139, 1270, 2016, 1825}, { 1773, 1581, 1532, 1460},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1195 { 1487, 946, 1659, 1021}, { 1744, 1212, 1392, 977}, { 1772, 1161, 1826, 1164},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1196 { 1718, 1429, 1973, 1591}, { 1185, 864, 2132, 1061}, { 1799, 814, 1838, 757},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1197 { 2104, 1315, 2054, 1258}, { 2113, 915, 2331, 930}, { 1467, 1147, 2590, 1439},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1198 { 2245, 1744, 2090, 1620}, { 2358, 1454, 2666, 1506}, { 1876, 1837, 2070, 1975},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1199 { 1739, 1577, 682, 1289}, { 1584, 2045, 1454, 2098}, { 2498, 2004, 2711, 2066},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1200 { 726, 1588, 2756, 2336}, { 228, 847, 2456, 1659}, { 36, 301, 1942, 1957},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1201 { -446, -96, 2154, 1396}, { 1533, 1101, 14, 608}, { -923, -732, 1383, 1982},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1202 { 1345, 952, -680, 321}, { 1281, 1268,-1594, 365}, { 941, 946,-1737, -822},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1203 { 2374, 2787, 1821, 2788}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1204 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1205
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1206 static const int16_t lsf_5_3[256][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1207 {-1812,-2275,-1879,-2537}, {-1640,-1848,-1695,-2004}, {-1220,-1912,-1221,-2106},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1208 {-1559,-1588,-1573,-1556}, {-1195,-1615,-1224,-1727}, {-1359,-1151,-1616,-1948},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1209 {-1274,-1391,-1305,-1403}, {-1607,-1179,-1676,-1311}, {-1443,-1478,-1367, -898},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1210 {-1256,-1059,-1331,-1134}, { -982,-1133,-1149,-1504}, {-1080,-1308,-1020,-1183},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1211 { -980,-1486, -967,-1495}, { -988, -922,-1047,-1077}, { -838,-1179, -858,-1222},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1212 {-1131,-1041,-1064, -767}, { -872,-1157, -701, -880}, { -706, -906, -774,-1016},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1213 { -578,-1080, -801,-1478}, { -591,-1111, -592,-1146}, { -713,-1388, -640,-1376},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1214 { -597,-1059, -416, -903}, { -686, -832, -661, -708}, { -444, -868, -490, -921},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1215 { -374, -776, -619,-1170}, { -585, -549, -769, -795}, { -435, -659, -530, -741},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1216 { -498, -837, -357, -597}, { -279, -871, -243, -887}, { -282, -665, -280, -667},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1217 { -165, -560, -394, -903}, { -362, -410, -448, -583}, { -409, -574, -313, -357},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1218 { -637, -548, -570, -436}, { -896, -504, -382, -757}, { -58, -481, -165, -618},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1219 { -191, -374, -234, -382}, { -222, -683, -25, -480}, { -418, -359, -730, -353},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1220 { -324, -157, -432, -322}, { -394, -303, -284, -104}, { -601, -289, -556, -196},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1221 { -588, -150, -659, -608}, { -473, -24, -68, -448}, { -474, -8, -506, -45},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1222 { -748, -184, -844, -252}, { -901, -91, -584, -97}, { -652, 138, -764, -131},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1223 { -678, -12, -670, 165}, { -259, -3, -840, -107}, { -909, 37, -992, 44},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1224 { -854, -415, -839, 13}, {-1001, -271,-1026, -309}, { -798, -478, -832, -488},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1225 { -943, 168,-1112, -387}, {-1185, -101,-1183, -40}, { -941, -316,-1030, -770},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1226 {-1044, -625,-1081, -538}, {-1224, -299,-1312, -436}, {-1197, -663,-1167, -161},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1227 {-1216, -690,-1237, -831}, {-1432, -720,-1403, -493}, { -898, -740, -922, -801},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1228 {-1102, -402,-1579, -964}, {-1061, -638,-1269,-1438}, {-1499, -934,-1502, -895},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1229 {-1598, -564,-1723, -717}, { -606, -597,-1166,-1085}, {-1369, -468,-1946,-1493},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1230 {-1838, -953,-1932, -931}, {-1499, -188,-1635, -421}, {-1457, -338,-1448, -22},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1231 {-1942, -422,-2006, -249}, { -496, -114,-1910, -755}, {-1289, 174,-1451, -109},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1232 { -482, -257,-1221, -508}, {-1617, 151,-1694, 208}, { -654, 107,-1651, 29},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1233 {-1141, 279,-1215, 306}, {-1228, -506, -730, -175}, {-1236, -101, -969, 551},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1234 { -870, 278, -823, 315}, { -563, 376,-1051, 228}, { -507, 280, -599, 281},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1235 { -758, 253, -305, 379}, { -755, -134, -611, 660}, { -824, 536, -817, 646},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1236 { -413, 49, -341, 177}, { -453, 526, -482, 589}, { -71, 339, -657, 264},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1237 { -244, 295, -237, 315}, { -387, 569, -506, -9}, { -377, 14, -160, 661},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1238 { -216, 40, -308, -46}, { 95, 214, -242, 167}, { -86, 192, -56, 27},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1239 { -76, 31, 36, 309}, { -106, -182, -113, 74}, { -441, -22, 23, 139},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1240 { 81, -11, 44, 15}, { -87, -137, -118, -207}, { -158, -58, 272, -92},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1241 { -156, -441, 8, -136}, { 128, -221, 101, -218}, { 40, -197, -76, -456},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1242 { 9, -445, 33, -423}, { 226, 60, 73, -222}, { 156, -399, 280, -318},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1243 { 245, -341, 166, -499}, { 339, -190, 327, -219}, { 325, -137, -89, -596},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1244 { 100, -627, 144, -677}, { 487, 28, 252, -391}, { 214, -41, 282, -28},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1245 { 99, -286, 331, 49}, { 459, -388, 565, -369}, { 436, 28, 336, -9},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1246 { 397, -167, 618, 34}, { 596, -17, 561, -140}, { 299, 79, 522, 125},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1247 { 203, 2, 244, 288}, { 255, 211, 175, 82}, { 596, 187, 517, 108},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1248 { 381, 255, 365, 297}, { 497, 352, 327, -82}, { 25, 210, 371, 245},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1249 { 261, 3, 545, 449}, { 140, 294, 44, 295}, { 212, 347, 244, 494},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1250 { 331, 528, 201, 307}, { 349, 411, 613, 284}, { 614, 413, 464, 322},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1251 { 624, 397, 97, 200}, { -160, 384, 149, 362}, { 495, 525, 269, 585},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1252 { 33, 491, -121, 433}, { 427, 611, 498, 516}, { 171, 443, 497, 666},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1253 { 440, 275, 566, 575}, { 146, 639, 155, 670}, { -33, 173, 212, 696},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1254 { -166, 601, -191, 695}, { -489, 503, 175, 742}, { 214, 476, 372, 1083},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1255 { 578, 530, 586, 777}, { 425, 874, 315, 841}, { 374, 848, -165, 565},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1256 { 35, 991, -39, 1062}, { 329, 712, 786, 840}, { 645, 795, 661, 676},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1257 { 571, 918, 632, 1079}, { 673, 817, 318, 388}, { 874, 1012, 564, 848},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1258 { 880, 620, 557, 479}, { 671, 453, 692, 468}, { 840, 642, 844, 645},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1259 { 506, 428, 897, 567}, { 837, 387, 962, 499}, { 691, 561, 939, 926},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1260 { 783, 296, 790, 268}, { 1028, 530, 874, 329}, { 548, 143, 675, 291},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1261 { 503, 66, 1041, 359}, { 786, 97, 805, 33}, { 837, 470, 511, 49},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1262 { 1092, 327, 1174, 323}, { 3, 242, 872, 474}, { 689, 429, 1329, 678},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1263 { 1042, 620, 1109, 664}, { 321, 193, 889, 950}, { 1153, 874, 893, 635},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1264 { 877, 862, 948, 913}, { 1293, 665, 1320, 639}, { 997, 793, 1402, 1030},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1265 { 1176, 1012, 1110, 959}, { 1410, 925, 1403, 915}, { 543, 862, 1116, 1222},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1266 { 835, 1190, 835, 1190}, { 959, 1148, 1147, 1376}, { 1300, 1193, 1415, 1231},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1267 { 1335, 1341, 746, 1092}, { 1711, 1283, 1389, 1073}, { 1334, 1566, 1153, 1475},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1268 { 1645, 1137, 1825, 1220}, { 1056, 1382, 1521, 1730}, { 1632, 1545, 1620, 1542},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1269 { 855, 1596, 865, 1667}, { 693, 885, 1716, 1519}, { 1167, 1296, 2209, 1760},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1270 { 1952, 1493, 2020, 1482}, { 1534, 1866, 1694, 2008}, { 1566, 748, 1761, 825},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1271 { 294, 1392, 1084, 2058}, { 621, 1315, 365, 1287}, { 198, 1028, 488, 1408},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1272 { 249, 403, 1014, 1561}, { 324, 363, 1645, 1044}, { 193, 367, 2034, 1859},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1273 { -251, 579, 750, 994}, { -243, 30, 1325, 879}, { -28, -169, 624, 917},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1274 { -453, 159, 186, 1370}, { -614, 6, 537, 392}, { -94, -291, 781, 229},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1275 { -128, -298, 245, 491}, { -701, -648, 972, 789}, { -501, -640, 178, 255},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1276 { -365, -390, -255, 317}, { -958, -294, -191, 228}, { -775, -447, 157, -237},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1277 { -657, -720, -407, 92}, { -117, -611, 334, -230}, { -679,-1084, -144, -317},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1278 { -901, -861, -738, -360}, { -85, -727, -90, -787}, { 100, -22, -391, -263},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1279 { -56, -73, -337, -754}, { 5, -189, -706, -624}, { 89, -344, -135,-1113},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1280 { -353, -237, -684,-1135}, { -275,-1102, -269,-1203}, { 152, 145, -722,-1232},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1281 { 49, 80,-1248, -776}, { -248, 391, -732, -547}, { 469, 218, -255, -864},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1282 { 69, 366, -166, -485}, { -688, 191,-1212,-1196}, { -170, -169,-1308,-1631},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1283 { 321, 470,-1419,-1243}, { -64, 272,-1361, -248}, { 492, 565, -721, -609},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1284 { 195, 485, -573, -133}, { 427, 202, -171, -118}, { 199, 575, 2, -31},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1285 { 694, 755,-1366, -39}, { 552, 557, -489, 271}, { 680, 537, 13, -453},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1286 { 855, 954, -133, -52}, { -81, 738,-1169, 637}, { 1055, 1059, -95, 676},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1287 { 1259, 1081, 489, 305}, { -449, 954, -534, 996}, { -969, 866,-1058, 1059},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1288 {-1294, 618,-1416, 617}, { -458, 1366, -159, 1821}, { -774, -528, -14, 1110},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1289 {-1202, -901, -772, 433}, {-1256,-1255,-1011, -302}, { -602, -585, -759,-1618},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1290 { -760,-1549, -840,-1921}, { -816, -539,-1769,-2235}, { -227, -36,-2034,-1831},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1291 {-2107,-1126,-2471,-1816}, {-1470, 252,-2701, -415}, { -571, -467, 1509, 1554},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1292 { 2180, 1975, 2326, 2020}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1293 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1294
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1295 static const int16_t lsf_5_4[256][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1296 {-1857,-1681,-1857,-1755}, {-2056,-1150,-2134,-1654}, {-1619,-1099,-1704,-1131},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1297 {-1345,-1608,-1359,-1638}, {-1338,-1293,-1325,-1265}, {-1664,-1649,-1487, -851},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1298 {-1346,-1832,-1413,-2188}, {-1282, -681,-1785,-1649}, { -966,-1082,-1183,-1676},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1299 {-1054,-1073,-1142,-1158}, {-1207, -744,-1274, -997}, { -934,-1383, -927,-1416},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1300 {-1010,-1305, -783, -955}, {-1049, -900, -993, -817}, { -737, -823, -972,-1189},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1301 { -738,-1094, -738,-1154}, { -784, -801, -810, -786}, { -892, -520,-1000, -818},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1302 { -644, -965, -577, -882}, { -541, -694, -671, -917}, { -595, -642, -646, -615},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1303 { -956, -621, -925, -515}, { -727, -483, -815, -485}, { -840, -578, -440, -713},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1304 { -578, -325, -657, -670}, { -386, -570, -441, -666}, { -514, -787, -392, -529},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1305 { -522, -453, -487, -423}, { -616, -585, -617, -157}, { -662, -268, -680, -348},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1306 { -322, -323, -632, -444}, { -304, -430, -332, -458}, { -277, -468, -659, -793},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1307 { -319, -636, -227, -554}, { -373, -347, -334, -210}, { -456, -192, -530, -242},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1308 { -216, -198, -366, -370}, { -338, -161, -409, -748}, { -107, -380, -294, -643},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1309 { -223, -665, -234, -741}, { -141, -496, -130, -510}, { -139, -327, -172, -305},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1310 { -306, -580, -164, -263}, { -262, -172, -67, -402}, { 31, -366, -10, -436},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1311 { -86, -527, 71, -377}, { -22, -609, -12, -678}, { -67, -319, 63, -191},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1312 { 35, -181, -39, -242}, { 126, -167, -140, -544}, { 155, -297, 174, -297},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1313 { 38, -8, 117, -380}, { 197, -452, 240, -522}, { 223, -103, 110, -187},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1314 { 87, -155, 169, -47}, { 157, 26, -83, -100}, { 128, 80, 209, -62},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1315 { 6, 7, 22, 5}, { 318, -20, 248, -45}, { -200, -63, 156, -69},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1316 { 250, -183, 369, -126}, { -113, -76, -142, -122}, { -64, -254, -31, 35},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1317 { -177, -71, -7, 171}, { 93, 27, 108, 212}, { -330, -209, -123, -70},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1318 { -279, 95, -96, 20}, { -188, -61, -314, 87}, { -300, -78, -354, -134},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1319 { 11, 122, -140, 122}, { -275, 152, -293, 140}, { -82, 138, -321, -111},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1320 { -480, -156, -359, 76}, { -254, -40, -635, -96}, { -522, 79, -507, 8},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1321 { -268, 303, -539, 68}, { -446, 61, -522, 306}, { 111, 189, -435, 122},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1322 { -379, 166, -571, -398}, { -632, -74, -747, -95}, { -455, 194, -952, 83},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1323 { -798, 192, -755, 192}, { -781, -162, -619, 234}, { -663, -297, -488, -109},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1324 { -964, -132, -838, -68}, { -843, 58,-1112, -86}, { -805, -299, -944, -253},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1325 { -778, -50, -965, -549}, { -352, -98, -992, -343}, {-1117, -315,-1117, -307},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1326 {-1155, -374, -637, -230}, {-1166, -43,-1299, -100}, { -925, -393,-1274, -600},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1327 { -689, -130,-1479, -312}, {-1321, -254,-1464, -442}, {-1292, -613,-1261, -503},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1328 {-1501, -368,-1322, 26}, {-1432, -66,-1743, -161}, {-1644, -467,-1760, -548},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1329 {-1393, -568,-1556, -871}, {-1495,-1034,-1387, -571}, {-1917, -528,-1783, -123},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1330 {-1897, -231,-2054, -323}, {-2052, -906,-1976, -567}, {-1917, -620,-2047, -989},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1331 {-1077, -370,-2031, -704}, {-2355, -749,-2740,-1089}, {-1909, 159,-2012, 248},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1332 { -626, -123,-2339, -962}, { -669, -408,-1379,-1174}, { -452, -364,-1044, -735},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1333 { -132, 183,-1620, -752}, { -547, -307, -777,-1261}, { -98, 41, -880,-1091},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1334 { -257, 97,-1602,-1833}, { 31, -26, -644, -561}, { -180, -546, -385,-1095},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1335 { -410, -802, -414, -827}, { -457, -970, -490,-1109}, { -215, -916, -144, -937},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1336 { -493,-1269, -517,-1507}, { 181, 101, -332, -889}, { -836, -937, -559, -429},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1337 { -629, -547, -183, -337}, { -545, -82, -250, -286}, { 5, -132, -348, -252},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1338 { -293, -472, -158, 100}, { -29, 197, -236, -424}, { -861, -213, -140, -7},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1339 { -427, -443, 187, -97}, { -684, -736, -293, 258}, { -368, -152, -150, 392},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1340 { -609, 175, -142, 299}, { -138, 152, -119, 329}, { -486, -52, 293, 198},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1341 { -183, 117, 175, 331}, { -58, -274, 231, 300}, { -288, 330, -305, 372},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1342 { -111, 409, -9, 423}, { 83, 256, 67, 367}, { -19, 248, 91, 113},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1343 { -35, 406, -191, 154}, { 238, 296, 5, 197}, { 141, 221, 313, 198},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1344 { 211, 421, 244, 334}, { 88, 426, -243, 454}, { 202, 552, -5, 403},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1345 { 291, 185, 219, 301}, { 251, 138, 128, 69}, { 197, 288, -140, -61},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1346 { 188, 361, 197, 598}, { 442, 273, 290, 143}, { 472, 482, 157, 370},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1347 { 415, 321, 372, 385}, { 402, 552, 155, 24}, { 550, 263, -11, 21},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1348 { 360, 227, 147, -254}, { 424, 97, 366, -13}, { 375, 141, 449, 232},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1349 { 396, 507, 474, 272}, { 701, 324, 362, -47}, { 587, 148, 543, 69},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1350 { 400, -51, 561, 59}, { 220, -10, 352, 147}, { 206, 211, 653, 185},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1351 { 563, 297, 565, 284}, { 594, 121, 766, 192}, { 398, 118, 642, 434},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1352 { 233, 264, 481, 467}, { 129, -165, 699, 239}, { 90, 26, 342, 474},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1353 { -55, 27, 388, 94}, { -172, 0, 725, 379}, { -60, 337, 370, 465},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1354 { 95, 319, 806, 595}, { 78, 260, 497, 851}, { 210, 560, 458, 574},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1355 { -464, 202, 497, 625}, { -202, 152, 48, 712}, { -20, 566, 100, 715},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1356 { 455, 468, 411, 605}, { 319, 646, 195, 615}, { 401, 538, 680, 739},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1357 { 201, 667, 434, 954}, { 454, 425, 646, 491}, { 606, 681, 416, 508},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1358 { 497, 822, 426, 815}, { 660, 647, 628, 716}, { 697, 466, 618, 457},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1359 { 685, 460, 365, 309}, { 721, 567, 836, 601}, { 609, 300, 825, 459},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1360 { 943, 687, 681, 533}, { 915, 598, 591, 243}, { 876, 451, 874, 420},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1361 { 786, 317, 732, 220}, { 922, 317, 1108, 367}, { 531, 466, 1028, 649},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1362 { 1053, 615, 1034, 553}, { 829, 602, 1021, 799}, { 927, 803, 878, 763},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1363 { 799, 496, 1373, 773}, { 585, 770, 803, 930}, { 1099, 793, 1222, 862},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1364 { 1209, 895, 1025, 727}, { 772, 845, 1172, 1115}, { 867, 1021, 830, 1013},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1365 { 841, 910, 506, 703}, { 1239, 1077, 620, 819}, { 1196, 1083, 1155, 1081},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1366 { 1142, 907, 1547, 1121}, { 1309, 648, 1343, 612}, { 1484, 988, 1479, 937},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1367 { 985, 1328, 955, 1341}, { 429, 910, 841, 1338}, { 564, 1179, 412, 1156},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1368 { 1427, 1320, 1434, 1330}, { 640, 760, 1726, 1410}, { 190, 555, 1073, 1005},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1369 { 426, 257, 839, 980}, { 235, 231, 1520, 1167}, { 109, 293, 1014, 1569},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1370 { 305, 142, 1148, 539}, { -291, -108, 1213, 972}, { 22, -216, 667, 828},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1371 { -482, 438, 453, 1431}, { -581, -422, 789, 387}, { -358, -454, 174, 780},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1372 { -36, -372, 390, -134}, { -629, 160, -306, 751}, {-1258, -331, 177, 522},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1373 { -248, 574, -251, 639}, { -531, 407, -596, 394}, { -419, 789, -617, 801},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1374 { -986, 399, -857, 727}, { -7, 518, -703, 310}, {-1143, -24,-1002, 287},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1375 { -960, 363,-1299, 312}, {-1534, 245,-1557, 305}, { 28, 153, -859, -175},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1376 { -33, 332,-1398, -154}, { 212, 410, -593, -197}, {-1092, -704, -904, -65},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1377 { 282, 367, -918, -686}, { 345, 93, -258, -357}, { 696, 644, -693, -28},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1378 { 448, 493, -273, 193}, { 527, 546, -243, -513}, { 384, -136, 273, -353},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1379 { 512, -142, 537, -198}, { 941, 750, 83, 248}, { 578, 861, -56, 592},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1380 { 842, 44, 892, 24}, { 33, 890, -16, 982}, { 831, 1398, 1535, 1898},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1381 { 1716, 1376, 1948, 1465}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1382 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1383
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1384 static const int16_t lsf_5_5[64][4] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1385 {-1002, -929,-1096,-1203}, { -641, -931, -604, -961}, { -779, -673, -835, -788},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1386 { -416, -664, -458, -766}, { -652, -521, -662, -495}, {-1023, -509,-1023, -428},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1387 { -444, -552, -368, -449}, { -479, -211,-1054, -903}, { -316, -249, -569, -591},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1388 { -569, -275, -541, -191}, { -716, -188, -842, -264}, { -333, -248, -318, -228},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1389 { -275, 1, -567, -228}, { -115, -221, -238, -374}, { -197, -507, -222, -579},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1390 { -258, -432, -61, -244}, { -345, 2, -338, 39}, { -215, -169, -58, 0},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1391 { -56, -6, -203, -131}, { 1, -186, -5, -211}, { 6, -380, 11, -418},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1392 { -116, 131, -134, 113}, { 89, -4, 71, -2}, { -19, -192, 262, 24},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1393 { 189, 151, -133, -109}, { 186, -153, 166, -219}, { 37, 139, 193, 171},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1394 { 337, 124, 158, -61}, { 141, 226, -13, 190}, { 231, 34, 354, 109},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1395 { 316, 201, 244, 164}, { 330, -85, 390, -84}, { 254, 327, 257, 335},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1396 { 491, 147, 476, 105}, { 54, 77, 437, 370}, { 421, 314, 449, 342},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1397 { 329, 126, 673, 292}, { 571, 388, 243, 193}, { 653, 320, 621, 280},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1398 { 194, 380, 517, 581}, { 45, 323, 111, 422}, { 489, 395, 734, 534},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1399 { 622, 546, 486, 502}, { 318, 572, 189, 550}, { 385, 422, -157, 153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1400 { -125, 382, -197, 386}, { -263, 334, 228, 697}, { -188, 1, 51, 297},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1401 { -507, 213, -376, 397}, { -24, 255, -547, 89}, { -502, -94, 387, 179},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1402 { -620, 68, -684, 112}, { -642, -350, -260, 172}, { -438, -324, 264, 648},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1403 { -964, -4,-1121, 7}, { -134, 134,-1133, -306}, { 143, 96, -420, -497},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1404 {-1221, -350,-1527, -685}, { -161, 72, 873, 691}, { 732, 283, 921, 353},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1405 { 334, 475, 1095, 821}, { 864, 524, 843, 497}, { 714, 711, 788, 750},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1406 { 1076, 714, 1204, 753}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1407 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1408
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1409 static const float lsf_3_mean[LP_FILTER_ORDER] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1410 377.441, 554.688, 922.363, 1339.84, 1702.15,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1411 2046.390, 2452.880, 2741.460, 3116.70, 3348.14
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1412 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1413
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1414 static const float lsf_5_mean[LP_FILTER_ORDER] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1415 337.891, 507.080, 834.961, 1247.07, 1646.00,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1416 1982.910, 2407.960, 2708.010, 3104.00, 3344.97
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1417 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1418
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1419 /** Prediction factor table for modes other than 12.2kbit/s */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1420 static const float pred_fac[LP_FILTER_ORDER] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1421 0.291626, 0.328644, 0.383636, 0.405640, 0.438873,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1422 0.355560, 0.323120, 0.298065, 0.262238, 0.197876,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1423 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1424
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1425 // fixed tables
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1426
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1427 /**
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1428 * number of pulses per mode
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1429 */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1430 static const uint8_t pulses_nb_per_mode[] = {2, 2, 2, 3, 4, 4, 8, 10};
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1431
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1432 /** track start positions for algebraic code book routines */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1433 static const uint8_t track_position[16] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1434 0, 2, 0, 3, 0, 2, 0, 3, 1, 3, 2, 4, 1, 4, 1, 4
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1435 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1436
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1437 /** 3-bit Gray code to binary lookup table */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1438 static const uint8_t gray_decode[8] = { 0, 5, 15, 10, 25, 30, 20, 35 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1439
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1440
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1441 // gain tables
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1442
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1443 /** scalar quantized pitch gain table for 7.95 and 12.2 kbps modes */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1444 static const uint16_t qua_gain_pit[16] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1445 0, 3277, 6556, 8192, 9830, 11469, 12288, 13107,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1446 13926, 14746, 15565, 16384, 17203, 18022, 18842, 19661
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1447 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1448
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1449 /** scalar quantized fixed gain table for 7.95 and 12.2 kbps modes */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1450 static const uint16_t qua_gain_code[32] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1451 159, 206, 268, 349, 419, 482, 554, 637,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1452 733, 842, 969, 1114, 1281, 1473, 1694, 1948,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1453 2241, 2577, 2963, 3408, 3919, 4507, 5183, 5960,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1454 6855, 7883, 9065, 10425, 12510, 16263, 21142, 27485
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1455 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1456
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1457 /** desired mean innovation energy, indexed by active mode */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1458 static const float energy_mean[8] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1459 33.0, 33.0, 33.0, 28.75, 30.0, 36.0, 33.0, 36.0
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1460 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1461
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1462 /** 4-tap moving average prediction coefficients in reverse order */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1463 static const float energy_pred_fac[4] = { 0.19, 0.34, 0.58, 0.68 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1464
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1465 /** gain table for 4.75 kbps mode
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1466 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1467 * first index has even/odd indexes for subframes 0,2/1,3
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1468 * second index is {pitch_gain, fixed_gain_factor} */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1469 static const uint16_t gains_MODE_4k75[512][2] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1470 { 812, 128}, { 542, 140}, { 2873, 1135}, { 2266, 3402}, { 2067, 563},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1471 {12677, 647}, { 4132, 1798}, { 5601, 5285}, { 7689, 374}, { 3735, 441},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1472 {10912, 2638}, {11807, 2494}, {20490, 797}, { 5218, 675}, { 6724, 8354},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1473 { 5282, 1696}, { 1488, 428}, { 5882, 452}, { 5332, 4072}, { 3583, 1268},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1474 { 2469, 901}, {15894, 1005}, {14982, 3271}, {10331, 4858}, { 3635, 2021},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1475 { 2596, 835}, {12360, 4892}, {12206, 1704}, {13432, 1604}, { 9118, 2341},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1476 { 3968, 1538}, { 5479, 9936}, { 3795, 417}, { 1359, 414}, { 3640, 1569},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1477 { 7995, 3541}, {11405, 645}, { 8552, 635}, { 4056, 1377}, {16608, 6124},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1478 {11420, 700}, { 2007, 607}, {12415, 1578}, {11119, 4654}, {13680, 1708},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1479 {11990, 1229}, { 7996, 7297}, {13231, 5715}, { 2428, 1159}, { 2073, 1941},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1480 { 6218, 6121}, { 3546, 1804}, { 8925, 1802}, { 8679, 1580}, {13935, 3576},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1481 {13313, 6237}, { 6142, 1130}, { 5994, 1734}, {14141, 4662}, {11271, 3321},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1482 {12226, 1551}, {13931, 3015}, { 5081,10464}, { 9444, 6706}, { 1689, 683},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1483 { 1436, 1306}, { 7212, 3933}, { 4082, 2713}, { 7793, 704}, {15070, 802},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1484 { 6299, 5212}, { 4337, 5357}, { 6676, 541}, { 6062, 626}, {13651, 3700},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1485 {11498, 2408}, {16156, 716}, {12177, 751}, { 8065,11489}, { 6314, 2256},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1486 { 4466, 496}, { 7293, 523}, {10213, 3833}, { 8394, 3037}, { 8403, 966},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1487 {14228, 1880}, { 8703, 5409}, {16395, 4863}, { 7420, 1979}, { 6089, 1230},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1488 { 9371, 4398}, {14558, 3363}, {13559, 2873}, {13163, 1465}, { 5534, 1678},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1489 {13138,14771}, { 7338, 600}, { 1318, 548}, { 4252, 3539}, {10044, 2364},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1490 {10587, 622}, {13088, 669}, {14126, 3526}, { 5039, 9784}, {15338, 619},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1491 { 3115, 590}, {16442, 3013}, {15542, 4168}, {15537, 1611}, {15405, 1228},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1492 {16023, 9299}, { 7534, 4976}, { 1990, 1213}, {11447, 1157}, {12512, 5519},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1493 { 9475, 2644}, { 7716, 2034}, {13280, 2239}, {16011, 5093}, { 8066, 6761},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1494 {10083, 1413}, { 5002, 2347}, {12523, 5975}, {15126, 2899}, {18264, 2289},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1495 {15827, 2527}, {16265,10254}, {14651,11319}, { 1797, 337}, { 3115, 397},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1496 { 3510, 2928}, { 4592, 2670}, { 7519, 628}, {11415, 656}, { 5946, 2435},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1497 { 6544, 7367}, { 8238, 829}, { 4000, 863}, {10032, 2492}, {16057, 3551},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1498 {18204, 1054}, { 6103, 1454}, { 5884, 7900}, {18752, 3468}, { 1864, 544},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1499 { 9198, 683}, {11623, 4160}, { 4594, 1644}, { 3158, 1157}, {15953, 2560},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1500 {12349, 3733}, {17420, 5260}, { 6106, 2004}, { 2917, 1742}, {16467, 5257},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1501 {16787, 1680}, {17205, 1759}, { 4773, 3231}, { 7386, 6035}, {14342,10012},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1502 { 4035, 442}, { 4194, 458}, { 9214, 2242}, { 7427, 4217}, {12860, 801},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1503 {11186, 825}, {12648, 2084}, {12956, 6554}, { 9505, 996}, { 6629, 985},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1504 {10537, 2502}, {15289, 5006}, {12602, 2055}, {15484, 1653}, {16194, 6921},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1505 {14231, 5790}, { 2626, 828}, { 5615, 1686}, {13663, 5778}, { 3668, 1554},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1506 {11313, 2633}, { 9770, 1459}, {14003, 4733}, {15897, 6291}, { 6278, 1870},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1507 { 7910, 2285}, {16978, 4571}, {16576, 3849}, {15248, 2311}, {16023, 3244},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1508 {14459,17808}, {11847, 2763}, { 1981, 1407}, { 1400, 876}, { 4335, 3547},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1509 { 4391, 4210}, { 5405, 680}, {17461, 781}, { 6501, 5118}, { 8091, 7677},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1510 { 7355, 794}, { 8333, 1182}, {15041, 3160}, {14928, 3039}, {20421, 880},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1511 {14545, 852}, {12337,14708}, { 6904, 1920}, { 4225, 933}, { 8218, 1087},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1512 {10659, 4084}, {10082, 4533}, { 2735, 840}, {20657, 1081}, {16711, 5966},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1513 {15873, 4578}, {10871, 2574}, { 3773, 1166}, {14519, 4044}, {20699, 2627},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1514 {15219, 2734}, {15274, 2186}, { 6257, 3226}, {13125,19480}, { 7196, 930},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1515 { 2462, 1618}, { 4515, 3092}, {13852, 4277}, {10460, 833}, {17339, 810},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1516 {16891, 2289}, {15546, 8217}, {13603, 1684}, { 3197, 1834}, {15948, 2820},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1517 {15812, 5327}, {17006, 2438}, {16788, 1326}, {15671, 8156}, {11726, 8556},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1518 { 3762, 2053}, { 9563, 1317}, {13561, 6790}, {12227, 1936}, { 8180, 3550},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1519 {13287, 1778}, {16299, 6599}, {16291, 7758}, { 8521, 2551}, { 7225, 2645},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1520 {18269, 7489}, {16885, 2248}, {17882, 2884}, {17265, 3328}, { 9417,20162},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1521 {11042, 8320}, { 1286, 620}, { 1431, 583}, { 5993, 2289}, { 3978, 3626},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1522 { 5144, 752}, {13409, 830}, { 5553, 2860}, {11764, 5908}, {10737, 560},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1523 { 5446, 564}, {13321, 3008}, {11946, 3683}, {19887, 798}, { 9825, 728},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1524 {13663, 8748}, { 7391, 3053}, { 2515, 778}, { 6050, 833}, { 6469, 5074},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1525 { 8305, 2463}, { 6141, 1865}, {15308, 1262}, {14408, 4547}, {13663, 4515},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1526 { 3137, 2983}, { 2479, 1259}, {15088, 4647}, {15382, 2607}, {14492, 2392},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1527 {12462, 2537}, { 7539, 2949}, {12909,12060}, { 5468, 684}, { 3141, 722},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1528 { 5081, 1274}, {12732, 4200}, {15302, 681}, { 7819, 592}, { 6534, 2021},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1529 {16478, 8737}, {13364, 882}, { 5397, 899}, {14656, 2178}, {14741, 4227},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1530 {14270, 1298}, {13929, 2029}, {15477, 7482}, {15815, 4572}, { 2521, 2013},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1531 { 5062, 1804}, { 5159, 6582}, { 7130, 3597}, {10920, 1611}, {11729, 1708},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1532 {16903, 3455}, {16268, 6640}, { 9306, 1007}, { 9369, 2106}, {19182, 5037},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1533 {12441, 4269}, {15919, 1332}, {15357, 3512}, {11898,14141}, {16101, 6854},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1534 { 2010, 737}, { 3779, 861}, {11454, 2880}, { 3564, 3540}, { 9057, 1241},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1535 {12391, 896}, { 8546, 4629}, {11561, 5776}, { 8129, 589}, { 8218, 588},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1536 {18728, 3755}, {12973, 3149}, {15729, 758}, {16634, 754}, {15222,11138},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1537 {15871, 2208}, { 4673, 610}, {10218, 678}, {15257, 4146}, { 5729, 3327},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1538 { 8377, 1670}, {19862, 2321}, {15450, 5511}, {14054, 5481}, { 5728, 2888},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1539 { 7580, 1346}, {14384, 5325}, {16236, 3950}, {15118, 3744}, {15306, 1435},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1540 {14597, 4070}, {12301,15696}, { 7617, 1699}, { 2170, 884}, { 4459, 4567},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1541 {18094, 3306}, {12742, 815}, {14926, 907}, {15016, 4281}, {15518, 8368},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1542 {17994, 1087}, { 2358, 865}, {16281, 3787}, {15679, 4596}, {16356, 1534},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1543 {16584, 2210}, {16833, 9697}, {15929, 4513}, { 3277, 1085}, { 9643, 2187},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1544 {11973, 6068}, { 9199, 4462}, { 8955, 1629}, {10289, 3062}, {16481, 5155},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1545 {15466, 7066}, {13678, 2543}, { 5273, 2277}, {16746, 6213}, {16655, 3408},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1546 {20304, 3363}, {18688, 1985}, {14172,12867}, {15154,15703}, { 4473, 1020},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1547 { 1681, 886}, { 4311, 4301}, { 8952, 3657}, { 5893, 1147}, {11647, 1452},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1548 {15886, 2227}, { 4582, 6644}, { 6929, 1205}, { 6220, 799}, {12415, 3409},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1549 {15968, 3877}, {19859, 2109}, { 9689, 2141}, {14742, 8830}, {14480, 2599},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1550 { 1817, 1238}, { 7771, 813}, {19079, 4410}, { 5554, 2064}, { 3687, 2844},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1551 {17435, 2256}, {16697, 4486}, {16199, 5388}, { 8028, 2763}, { 3405, 2119},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1552 {17426, 5477}, {13698, 2786}, {19879, 2720}, { 9098, 3880}, {18172, 4833},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1553 {17336,12207}, { 5116, 996}, { 4935, 988}, { 9888, 3081}, { 6014, 5371},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1554 {15881, 1667}, { 8405, 1183}, {15087, 2366}, {19777, 7002}, {11963, 1562},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1555 { 7279, 1128}, {16859, 1532}, {15762, 5381}, {14708, 2065}, {20105, 2155},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1556 {17158, 8245}, {17911, 6318}, { 5467, 1504}, { 4100, 2574}, {17421, 6810},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1557 { 5673, 2888}, {16636, 3382}, { 8975, 1831}, {20159, 4737}, {19550, 7294},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1558 { 6658, 2781}, {11472, 3321}, {19397, 5054}, {18878, 4722}, {16439, 2373},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1559 {20430, 4386}, {11353,26526}, {11593, 3068}, { 2866, 1566}, { 5108, 1070},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1560 { 9614, 4915}, { 4939, 3536}, { 7541, 878}, {20717, 851}, { 6938, 4395},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1561 {16799, 7733}, {10137, 1019}, { 9845, 964}, {15494, 3955}, {15459, 3430},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1562 {18863, 982}, {20120, 963}, {16876,12887}, {14334, 4200}, { 6599, 1220},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1563 { 9222, 814}, {16942, 5134}, { 5661, 4898}, { 5488, 1798}, {20258, 3962},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1564 {17005, 6178}, {17929, 5929}, { 9365, 3420}, { 7474, 1971}, {19537, 5177},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1565 {19003, 3006}, {16454, 3788}, {16070, 2367}, { 8664, 2743}, { 9445,26358},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1566 {10856, 1287}, { 3555, 1009}, { 5606, 3622}, {19453, 5512}, {12453, 797},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1567 {20634, 911}, {15427, 3066}, {17037,10275}, {18883, 2633}, { 3913, 1268},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1568 {19519, 3371}, {18052, 5230}, {19291, 1678}, {19508, 3172}, {18072,10754},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1569 {16625, 6845}, { 3134, 2298}, {10869, 2437}, {15580, 6913}, {12597, 3381},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1570 {11116, 3297}, {16762, 2424}, {18853, 6715}, {17171, 9887}, {12743, 2605},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1571 { 8937, 3140}, {19033, 7764}, {18347, 3880}, {20475, 3682}, {19602, 3380},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1572 {13044,19373}, {10526,23124}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1573 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1574
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1575 /** gain table for 6.70, 7.40 and 10.2 kbps modes
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1576 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1577 * second index is {pitch_gain, fixed_gain_factor} */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1578 static const uint16_t gains_high[128][2] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1579 { 577, 662}, { 806, 1836}, { 3109, 1052}, { 4181, 1387}, { 2373, 1425},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1580 { 3248, 1985}, { 1827, 2320}, { 941, 3314}, { 2351, 2977}, { 3616, 2420},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1581 { 3451, 3096}, { 2955, 4301}, { 1848, 4500}, { 3884, 5416}, { 1187, 7210},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1582 { 3083, 9000}, { 7384, 883}, { 5962, 1506}, { 5155, 2134}, { 7944, 2009},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1583 { 6507, 2250}, { 7670, 2752}, { 5952, 3016}, { 4898, 3764}, { 6989, 3588},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1584 { 8174, 3978}, { 6064, 4404}, { 7709, 5087}, { 5523, 6021}, { 7769, 7126},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1585 { 6060, 7938}, { 5594,11487}, {10581, 1356}, { 9049, 1597}, { 9794, 2035},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1586 { 8946, 2415}, {10296, 2584}, { 9407, 2734}, { 8700, 3218}, { 9757, 3395},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1587 {10177, 3892}, { 9170, 4528}, {10152, 5004}, { 9114, 5735}, {10500, 6266},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1588 {10110, 7631}, { 8844, 8727}, { 8956,12496}, {12924, 976}, {11435, 1755},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1589 {12138, 2328}, {11388, 2368}, {10700, 3064}, {12332, 2861}, {11722, 3327},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1590 {11270, 3700}, {10861, 4413}, {12082, 4533}, {11283, 5205}, {11960, 6305},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1591 {11167, 7534}, {12128, 8329}, {10969,10777}, {10300,17376}, {13899, 1681},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1592 {12580, 2045}, {13265, 2439}, {14033, 2989}, {13452, 3098}, {12396, 3658},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1593 {13510, 3780}, {12880, 4272}, {13533, 4861}, {12667, 5457}, {13854, 6106},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1594 {13031, 6483}, {13557, 7721}, {12957, 9311}, {13714,11551}, {12591,15206},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1595 {15113, 1540}, {15072, 2333}, {14527, 2511}, {14692, 3199}, {15382, 3560},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1596 {14133, 3960}, {15102, 4236}, {14332, 4824}, {14846, 5451}, {15306, 6083},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1597 {14329, 6888}, {15060, 7689}, {14406, 9426}, {15387, 9741}, {14824,14271},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1598 {13600,24939}, {16396, 1969}, {16817, 2832}, {15713, 2843}, {16104, 3336},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1599 {16384, 3963}, {16940, 4579}, {15711, 4599}, {16222, 5448}, {16832, 6382},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1600 {15745, 7141}, {16326, 7469}, {16611, 8624}, {17028,10418}, {15905,11817},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1601 {16878,14690}, {16515,20870}, {18142, 2083}, {19401, 3178}, {17508, 3426},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1602 {20054, 4027}, {18069, 4249}, {18952, 5066}, {17711, 5402}, {19835, 6192},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1603 {17950, 7014}, {21318, 7877}, {17910, 9289}, {19144, 9290}, {20517,11381},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1604 {18075,14485}, {19999,17882}, {18842,32764}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1605 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1606
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1607 /** gain table for 5.15 and 5.90 kbps modes
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1608 *
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1609 * second index is {pitch_gain, fixed_gain_factor} */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1610 static const uint16_t gains_low[64][2] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1611 {10813,28753}, {20480, 2785}, {18841, 6594}, { 6225, 7413}, {17203,10444},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1612 {21626, 1269}, {21135, 4423}, {11304, 1556}, {19005,12820}, {17367, 2498},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1613 {17858, 4833}, { 9994, 2498}, {17530, 7864}, {14254, 1884}, {15892, 3153},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1614 { 6717, 1802}, {18186,20193}, {18022, 3031}, {16711, 5857}, { 8847, 4014},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1615 {15892, 8970}, {18022, 1392}, {16711, 4096}, { 8192, 655}, {15237,13926},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1616 {14254, 3112}, {14090, 4669}, { 5406, 2703}, {13434, 6553}, {12451, 901},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1617 {12451, 2662}, { 3768, 655}, {14745,23511}, {19169, 2457}, {20152, 5079},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1618 { 6881, 4096}, {20480, 8560}, {19660, 737}, {19005, 4259}, { 7864, 2088},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1619 {11468,12288}, {15892, 1474}, {15728, 4628}, { 9175, 1433}, {16056, 7004},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1620 {14827, 737}, {15073, 2252}, { 5079, 1228}, {13271,17326}, {16547, 2334},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1621 {15073, 5816}, { 3932, 3686}, {14254, 8601}, {16875, 778}, {15073, 3809},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1622 { 6062, 614}, { 9338, 9256}, {13271, 1761}, {13271, 3522}, { 2457, 1966},
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1623 {11468, 5529}, {10485, 737}, {11632, 3194}, { 1474, 778}
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1624 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1625
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1626
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1627 // pre-processing tables
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1628
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1629 /** impulse response filter tables converted to float from Q15 int32_t
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1630 * used for anti-sparseness processing */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1631 static const float ir_filter_strong_MODE_7k95[AMR_SUBFRAME_SIZE] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1632 0.817169, 0.024445, 0.076447, -0.020844, -0.042175, 0.017761, 0.018433,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1633 -0.038879, 0.107147, -0.179871, 0.138367, -0.015228, -0.059204, 0.091888,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1634 -0.154358, 0.171326, -0.060730, -0.032379, -0.044525, 0.135559, -0.021362,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1635 -0.162811, 0.140656, 0.013794, -0.017975, -0.102295, 0.090118, 0.038666,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1636 -0.036987, -0.079041, 0.052826, 0.112000, -0.136566, -0.029755, 0.134003,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1637 -0.077423, 0.028961, -0.041595, -0.029877, 0.174988,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1638 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1639
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1640 static const float ir_filter_strong[AMR_SUBFRAME_SIZE] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1641 0.448303, 0.351501, 0.038696, -0.084259, -0.173065, 0.229309, -0.001068,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1642 -0.085663, -0.092773, 0.147186, 0.090088, -0.257080, 0.115509, 0.044403,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1643 0.066498, -0.263580, 0.245697, -0.064178, -0.044373, 0.023712, 0.033813,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1644 -0.072784, 0.068787, -0.011078, -0.020569, -0.064178, 0.184509, -0.173370,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1645 0.032715, 0.095306, -0.154358, 0.162109, -0.071075, -0.113770, 0.211304,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1646 -0.118683, 0.020599, -0.054169, 0.000885, 0.309601,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1647 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1648
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1649 static const float ir_filter_medium[AMR_SUBFRAME_SIZE] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1650 0.923889, 0.116913, -0.123169, 0.090698, -0.031982, -0.030579, 0.075592,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1651 -0.092865, 0.085907, -0.068085, 0.053497, -0.049164, 0.052307, -0.054169,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1652 0.047089, -0.030762, 0.013092, -0.005157, 0.014404, -0.038574, 0.066406,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1653 -0.082581, 0.076996, -0.049469, 0.010498, 0.025208, -0.046661, 0.052612,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1654 -0.050568, 0.051910, -0.062958, 0.080688, -0.093384, 0.088409, -0.060364,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1655 0.016998, 0.023804, -0.041779, 0.025696, 0.019989,
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1656 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1657
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1658 static const float *ir_filters_lookup[2] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1659 ir_filter_strong, ir_filter_medium
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1660 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1661 static const float *ir_filters_lookup_MODE_7k95[2] = {
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1662 ir_filter_strong_MODE_7k95, ir_filter_medium
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1663 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1664
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1665 // High-pass coefficients
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1666
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1667 static const float highpass_zeros[2] = { -2.0, 1.0 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1668 static const float highpass_poles[2] = { -1.933105469, 0.935913085 };
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1669 static const float highpass_gain = 0.939819335;
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1670
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1671 #endif /* AVCODEC_AMRNBDATA_H */
5c339e441ace AMR-NB floating-point based decoder.
vitor
parents:
diff changeset
1672