dsputil: template get_pixels() for different bit depths
[ffmpeg.git] / libavcodec / wmavoice_data.h
1 /*
2  * Windows Media Voice (WMAVoice) tables.
3  * Copyright (c) 2009 Ronald S. Bultje
4  *
5  * This file is part of Libav.
6  *
7  * Libav is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * Libav is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with Libav; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21
22 /**
23  * @file
24  * @brief Windows Media Voice (WMAVoice) tables
25  * @author Ronald S. Bultje <rsbultje@gmail.com>
26  */
27
28 #ifndef AVCODEC_WMAVOICE_DATA_H
29 #define AVCODEC_WMAVOICE_DATA_H
30
31 #include <stdint.h>
32
33 static const uint8_t wmavoice_dq_lsp10i[0xf00] = {
34     125, 109,  84,  55,  34,  51, 109, 112, 118, 132,
35     122, 102,  78,  80, 132, 119, 132, 132, 125, 131,
36     109,  91, 131, 131, 136, 136, 137, 137, 140, 145,
37     140, 143, 117, 136, 122, 106, 109,  91, 115, 119,
38     133, 117, 103,  80,  55, 117, 123, 102,  93,  80,
39     139, 116,  70,  39,  95,  89, 103, 113, 112, 122,
40     135, 244, 229, 215, 199, 181, 163, 150, 146, 144,
41     143, 173, 171, 154, 155, 154, 151, 148, 145, 143,
42     132, 138, 116,  85, 117,  94, 108, 117, 107, 116,
43     132, 118, 123, 119,  88,  67,  49,  95,  84,  95,
44     121, 103,  74,  70, 179, 164, 141, 126, 107, 112,
45     119,  95, 103, 149, 139, 148, 144, 147, 148, 141,
46     151, 133, 142, 129, 111, 131, 108, 128, 122, 108,
47     121,  96, 115, 138, 116,  93, 105, 115, 115, 123,
48     129, 106, 136, 180, 147, 130, 108, 141, 131, 118,
49     136, 155, 176, 156, 135, 129, 140, 146, 142, 134,
50     141, 130, 109,  80,  52,  38,  18,  47, 118, 134,
51     155, 141, 100,  78,  72,  89,  79,  96,  92,  98,
52     133, 111,  83,  91,  72,  58, 105, 115, 112, 120,
53     145, 127, 135, 113, 113, 105, 105,  85,  69,  61,
54     115,  96, 116, 145, 159, 170, 175, 175, 168, 155,
55     140, 120,  84,  52,  80, 145, 125, 127, 116, 126,
56     128, 108, 101, 198, 227, 200, 178, 159, 147, 148,
57     121,  88,  46, 109, 124, 126, 126, 137, 147, 147,
58     129, 107, 164, 148, 127, 117, 134, 120, 111, 116,
59     120, 103,  98,  73,  66,  61,  70, 115, 116, 125,
60     126, 100,  77, 188, 162, 140, 114, 128, 139, 123,
61     145, 165, 164, 134, 109, 100, 108, 118, 127, 130,
62     156, 182, 190, 173, 167, 165, 162, 157, 152, 147,
63     150, 164, 179, 183, 173, 155, 140, 136, 134, 135,
64     122,  92,  69, 140, 132, 118, 108, 128, 138, 132,
65     123, 127, 148, 137, 150, 149, 139, 127, 124, 130,
66     136, 138, 112,  70,  41,  37, 132, 140, 129, 125,
67     130, 111,  78,  33,  51, 161, 141, 136, 120, 122,
68     126, 110,  87, 106,  85,  68,  48,  81, 112, 113,
69     135, 125,  98,  85, 102,  80, 100,  87,  86, 116,
70     142, 133, 110,  66,  48, 152, 139, 135, 136, 123,
71     128, 116,  89, 102, 128,  99,  83,  61, 105, 124,
72     120,  94,  73,  83,  78, 100, 122, 124, 128, 132,
73     144, 137, 116, 102,  75, 144, 136, 127, 140, 127,
74     154, 144, 118,  99,  90,  90,  89,  75,  68,  83,
75     123, 103,  89, 198, 180, 154, 138, 122, 136, 120,
76     138, 118, 121, 136, 110, 105,  85, 111, 101, 104,
77     121, 126, 139, 115,  99, 101, 107, 110, 123, 126,
78     127, 115,  88, 109, 164, 134, 138, 138, 120, 121,
79     130, 202, 195, 202, 199, 201, 181, 164, 159, 148,
80     120, 116, 194, 199, 186, 171, 154, 142, 137, 133,
81     137, 129, 112, 149, 134, 112, 149, 138, 120, 134,
82     119, 102, 107,  83,  79, 114, 119, 127, 128, 128,
83     144, 148, 165, 155, 161, 150, 135, 122, 116, 115,
84     120,  99,  80, 120, 123, 124, 111,  89,  70, 108,
85     118,  95,  66,  53, 105, 126, 125, 105,  83, 111,
86     129, 197, 191, 197, 206, 213, 216, 208, 196, 169,
87     133, 109, 127, 164, 134, 121,  99,  92,  82,  71,
88     131, 121,  93,  91, 136, 105, 115, 140, 120, 110,
89     150, 164, 139, 108,  87,  81,  93,  92, 104, 116,
90     133, 114, 125, 126, 111, 136, 110, 156, 147, 133,
91     113,  94, 118, 120, 115, 125, 124, 126, 127, 134,
92     116, 131, 161, 158, 166, 157, 150, 150, 144, 141,
93     125, 185, 169, 142, 140, 143, 139, 131, 134, 138,
94     179, 188, 170, 150, 134, 140, 144, 133, 127, 127,
95     150, 177, 204, 184, 192, 194, 190, 193, 177, 158,
96     114, 113, 138, 116, 137, 135, 132, 131, 127, 134,
97     120, 147, 163, 135, 133, 137, 136, 136, 133, 135,
98     137, 120,  95,  73,  46,  48, 111,  97,  97, 123,
99     139, 130, 109,  76,  52,  72,  61,  61, 125, 127,
100     132, 119, 119,  90,  66,  41,  64, 156, 143, 129,
101     131, 106,  58,  25,  99, 115, 122, 136, 129, 132,
102     134, 123,  97,  53,  27, 114, 125, 114, 120, 123,
103     122, 107,  93,  57,  47, 133, 128, 138, 141, 131,
104     145, 132, 122, 110,  79,  57,  30,  73, 153, 144,
105     150, 132,  85,  59, 133, 125, 130, 115, 100,  96,
106     148, 127, 111,  86,  61,  38, 110, 121, 108,  99,
107     157, 143, 105,  77, 116, 118, 115, 131, 122, 122,
108     133, 119, 134, 108,  86,  61, 129, 165, 143, 127,
109     125, 105,  89, 111,  97,  85, 113,  99,  98, 117,
110     149, 131, 101, 106,  88,  95,  79, 119, 123, 120,
111     125, 109,  81, 100, 201, 183, 156, 138, 115, 116,
112     141, 119, 129, 105,  76,  60, 110,  99,  92,  82,
113     150, 156, 129,  95,  69, 115, 115, 113, 134, 125,
114     118,  97,  67,  96, 203, 197, 171, 151, 133, 125,
115     143, 131, 120, 134, 105,  80,  51,  60, 139, 134,
116     129, 160, 223, 219, 219, 212, 197, 173, 157, 146,
117     132, 112, 164, 144, 119, 102,  92,  76,  73,  94,
118     132, 112, 124, 114,  93,  92,  83,  73,  69,  99,
119     129, 103, 188, 163, 142, 132, 127, 101,  82,  59,
120     140, 141, 111,  74,  46, 105, 113,  99, 127, 122,
121     125,  94,  63, 112, 116, 101,  81, 120, 136, 134,
122     133, 190, 224, 193, 179, 158, 146, 143, 140, 136,
123     152, 161, 132, 120, 112,  94, 114, 102,  92, 116,
124     129, 194, 196, 202, 211, 212, 210, 190, 169, 152,
125     166, 166, 145, 111,  91, 132, 133, 128, 136, 130,
126     118,  94,  72,  74,  92,  86,  89,  92, 106, 123,
127     126, 100,  86, 137, 117,  92,  76, 104, 106, 114,
128     133, 109, 204, 192, 166, 148, 138, 128, 111,  81,
129     118,  99,  79, 146, 169, 141, 123, 102, 131, 120,
130     127, 105, 136, 204, 170, 154, 131, 145, 135, 119,
131     117,  95,  64,  83, 141, 136, 118,  96,  99, 126,
132     115,  93,  98, 102,  95, 105, 106, 114, 119, 128,
133     131, 121,  98, 139, 149, 119, 109,  86, 105, 129,
134     134, 119, 104, 169, 185, 155, 141, 122, 107, 127,
135     136, 115,  85, 108,  87, 126, 102, 128, 136, 129,
136     125,  99, 126, 158, 133, 139, 132, 113,  91, 107,
137     141, 122, 128, 161, 130, 127, 105, 120, 118, 106,
138     122, 140, 161, 168, 187, 184, 176, 158, 144, 140,
139     127, 111,  89, 130, 132, 105, 134, 121, 100, 122,
140     129, 110, 128, 115, 129, 116, 132, 118, 114, 119,
141     138, 133, 132, 188, 183, 159, 161, 147, 134, 140,
142     132, 113,  84, 167, 147, 132, 124, 109, 133, 121,
143     132, 128, 116, 121,  98, 101, 145, 129, 128, 129,
144     124, 112, 152, 158, 136, 161, 139, 165, 158, 142,
145     139, 138, 110, 127, 148, 117, 126, 118, 101, 116,
146     155, 168, 154, 128, 120, 152, 150, 141, 140, 135,
147     127, 111, 109, 134, 104, 133, 110, 112, 132, 114,
148     111,  87,  68,  89, 107, 121, 121, 126, 126, 129,
149     120, 148, 169, 163, 173, 178, 185, 188, 178, 163,
150     122,  97,  86, 117, 101, 138, 118, 142, 155, 139,
151     125, 114, 131, 138, 153, 149, 163, 150, 143, 141,
152     157, 161, 138, 152, 134, 121, 122, 109, 110, 124,
153     151, 171, 196, 168, 145, 139, 147, 151, 146, 139,
154     134, 169, 179, 170, 175, 178, 177, 173, 165, 154,
155     120, 151, 118, 107, 125, 129, 133, 133, 136, 139,
156     119, 141, 159, 151, 160, 165, 168, 169, 162, 152,
157     115, 111, 119,  94, 117, 121, 127, 127, 132, 136,
158     134, 153, 147, 142, 142, 147, 159, 159, 154, 147,
159     110, 106, 139, 135, 143, 142, 147, 146, 147, 147,
160     115, 133, 151, 133, 141, 142, 151, 152, 147, 144,
161     115, 132, 144, 131, 125, 126, 128, 130, 131, 136,
162     138, 118,  96,  71,  48,  26,  43, 130, 125, 125,
163     134, 122,  98,  54,  28,  84,  77,  73, 109, 125,
164     133, 112,  67,  48, 141, 129, 126, 113, 112, 118,
165     143, 123,  89,  54,  71,  73,  75, 131, 123, 123,
166     126, 109,  81,  31,  15,  94, 110, 109, 119, 128,
167     132, 122,  97,  92,  73,  50,  27,  22, 104, 133,
168     133, 119,  94,  48,  34, 168, 160, 154, 151, 130,
169     147, 133,  90,  54,  71, 123, 106, 105,  93, 117,
170     143, 132, 107,  69,  45,  78, 178, 169, 150, 139,
171     138, 123, 116,  96,  69,  49,  32, 113, 103, 112,
172     154, 151, 125,  79,  60, 152, 160, 154, 155, 137,
173     142, 151, 124,  88,  66,  59,  94,  87,  95, 119,
174     166, 154, 122,  92, 138, 132, 124, 114,  97,  97,
175     122,  99,  98, 219, 191, 176, 165, 159, 153, 131,
176     130, 119,  91,  51,  24,  41, 144, 156, 147, 139,
177     139, 122,  81,  65, 124, 111, 104,  90,  94,  98,
178     138, 120, 112,  91,  63,  65,  89,  75,  78, 106,
179     126, 107,  91,  85,  69,  95,  90,  84, 108, 120,
180     155, 139, 100,  78, 120, 110, 109,  91,  77,  73,
181     144, 130, 135, 112,  88,  65,  62, 142, 129, 126,
182     170, 154, 150, 131, 121, 116, 100,  92,  83,  86,
183     131, 122,  98, 107, 102,  75,  54,  38, 117, 130,
184     146, 139, 117, 107,  86,  66,  44,  30,  97, 128,
185     129, 116, 100,  59, 108, 127, 119, 139, 129, 129,
186     124, 106,  79,  49, 154, 190, 166, 152, 133, 123,
187     141, 149, 123,  89,  61,  70, 143, 132, 125, 126,
188     136, 113, 177, 166, 141, 123, 109, 108, 105,  93,
189     137, 117, 147, 123,  99,  85, 109,  98,  91,  75,
190     129, 121, 102,  78,  53,  90, 149, 136, 134, 135,
191     144, 136, 126,  90, 114, 152, 137, 152, 138, 128,
192     133, 115, 107, 129,  99,  78,  60, 129, 125, 118,
193     147, 141, 119, 124, 110,  91,  79,  64, 106, 117,
194     134, 111, 164, 143, 123, 113, 116,  95,  76,  56,
195     147, 159, 140, 109,  83,  84, 140, 135, 127, 129,
196     123, 104, 116,  99,  91,  87,  80, 110, 113, 121,
197     124, 106, 174, 174, 152, 141, 132, 134, 126, 124,
198     140, 190, 240, 215, 212, 189, 173, 158, 144, 137,
199     123,  97,  79, 102, 110, 111,  90,  75, 126, 124,
200     134, 121, 104, 145, 127, 100,  77,  65, 120, 118,
201     123, 106,  87,  41,  68, 119, 106, 115, 109, 119,
202     137, 232, 241, 225, 217, 202, 183, 169, 156, 145,
203     161, 146, 127, 110,  97, 107,  88, 114, 108, 106,
204     141, 244, 216, 192, 172, 163, 148, 143, 144, 144,
205     128, 127, 109,  89,  77,  68, 124, 120, 121, 125,
206     125,  94,  48,  71, 116, 113, 104, 120, 142, 137,
207     133, 129, 115,  82,  68, 120,  99, 133, 134, 124,
208     130, 106, 108, 160, 130, 111,  89, 129, 124, 119,
209     134, 120, 149, 143, 116,  95,  87, 142, 132, 122,
210     126, 114, 108, 107,  80, 141, 133, 123, 137, 124,
211     117,  95,  69,  43,  62,  98, 114, 116, 112, 120,
212     122,  99,  87, 164, 145, 123,  99,  95, 118, 105,
213     126, 101, 102, 120, 113, 110,  92, 139, 134, 126,
214     148, 194, 241, 219, 221, 215, 200, 193, 174, 151,
215     127, 104, 122, 136, 113, 106, 110,  95,  78, 106,
216     131, 163, 217, 199, 194, 175, 164, 155, 142, 138,
217     139, 124,  88,  57, 161, 161, 145, 139, 124, 116,
218     127, 110,  91,  98, 126, 104, 113,  98,  94,  94,
219     145, 138, 114,  90,  75, 130, 117, 107,  99,  90,
220     119,  98,  86, 101, 148, 133, 103,  83, 124, 131,
221     143, 168, 169, 133, 110, 117, 139, 149, 147, 137,
222     124, 106,  80, 138, 194, 163, 142, 119, 106, 130,
223     136, 125, 105, 114,  87, 113, 101,  89, 108, 102,
224     114,  90,  53,  46, 105, 116, 126, 122, 118, 122,
225     124, 102,  92, 195, 167, 160, 144, 154, 154, 132,
226     118,  97,  88,  72,  98, 120, 112,  98,  79, 117,
227     114, 107, 185, 191, 191, 188, 175, 165, 153, 143,
228     119,  97,  90,  89, 120, 151, 136, 113,  99, 112,
229     141, 121, 144, 122, 125, 113, 133, 111,  92,  69,
230     120,  98,  78, 109, 151, 145, 157, 157, 151, 143,
231     130, 110, 120, 188, 159, 141, 119, 112, 109,  98,
232     126, 112,  83, 110, 169, 139, 127, 105,  93, 123,
233     141, 145, 117, 106,  91,  78, 123, 107, 101, 125,
234     117,  95,  71, 147, 176, 153, 148, 133, 135, 127,
235     124, 106,  79,  64, 115,  96, 108, 115, 106, 105,
236     127, 115,  90,  98, 105,  81, 144, 135, 117, 125,
237     126, 104,  98, 165, 138, 136, 112, 149, 148, 131,
238     119, 144, 186, 185, 204, 202, 209, 200, 182, 161,
239     123, 153, 190, 189, 199, 194, 191, 176, 157, 147,
240     121, 103, 119,  98, 100, 120, 106,  97,  95, 126,
241     137, 130, 102, 117, 117,  92, 126, 114, 101, 118,
242     131, 219, 190, 167, 153, 151, 144, 140, 142, 143,
243     114, 102, 151, 152, 132, 120, 112, 120, 127, 131,
244     138, 122,  91, 143, 118, 120, 114, 104, 124, 117,
245     148, 142, 117, 126,  97, 125, 108, 116, 142, 125,
246     126, 106,  91, 169, 208, 178, 158, 138, 127, 135,
247     133, 126, 101,  83, 147, 130, 125, 117, 114, 117,
248     120, 103,  94, 149, 136, 129, 139, 118, 133, 133,
249     147, 152, 126, 132, 119,  97, 132, 129, 114, 126,
250     112, 107, 148, 125, 112, 114, 124, 125, 129, 135,
251     139, 121, 157, 151, 131, 140, 118, 147, 136, 121,
252     115, 105, 159, 167, 185, 191, 196, 190, 176, 160,
253     124, 106, 104, 122, 130, 114, 152, 144, 134, 136,
254     136, 152, 159, 153, 131, 114, 116, 126, 129, 129,
255     124, 109,  87, 131, 107, 115, 130, 107, 144, 131,
256     126, 162, 176, 175, 180, 176, 160, 141, 134, 134,
257     136, 127, 108, 161, 162, 133, 141, 124, 112, 128,
258     130, 115, 110, 140, 107, 155, 134, 131, 156, 137,
259     122, 106, 116, 127, 118, 161, 150, 170, 167, 152,
260     139, 177, 203, 176, 155, 139, 130, 128, 129, 132,
261     137, 119, 125, 103, 110, 123, 107, 120, 108, 101,
262     113, 107, 160, 154, 160, 166, 169, 176, 168, 156,
263     115,  90,  65, 115, 115, 104, 120, 112, 109, 124,
264     131, 123, 100, 109, 185, 158, 141, 132, 116, 119,
265     139, 130, 119, 156, 124, 138, 127, 116, 141, 128,
266     133, 118, 115, 180, 149, 151, 135, 130, 147, 129,
267     117,  90,  80, 119, 124, 128, 132, 130, 128, 135,
268     112,  97, 142, 161, 167, 165, 154, 142, 136, 135,
269     118, 141, 193, 172, 157, 152, 148, 145, 146, 141,
270     125, 147, 165, 166, 149, 133, 123, 122, 128, 131,
271     128, 193, 177, 174, 182, 186, 197, 193, 191, 173,
272     124, 144, 162, 133, 113, 113, 123, 128, 129, 130,
273     117,  98, 121, 122, 137, 132, 110,  97, 111, 130,
274     128, 176, 151, 125, 126, 134, 130, 121, 127, 130,
275     122, 151, 142, 111, 106, 121, 126, 126, 130, 134,
276     148, 167, 186, 153, 129, 122, 124, 128, 130, 128,
277     148, 172, 206, 178, 171, 182, 169, 180, 172, 156,
278     133, 164, 174, 160, 155, 163, 163, 172, 169, 158,
279     132, 150, 147, 142, 152, 140, 140, 140, 134, 135,
280     137, 158, 167, 172, 163, 153, 169, 158, 146, 147,
281     150, 161, 162, 172, 153, 133, 140, 144, 136, 135,
282     109,  84, 101, 120, 129, 134, 133, 136, 137, 143,
283     112, 114, 157, 147, 141, 136, 135, 133, 135, 138,
284     121, 154, 161, 150, 149, 154, 151, 144, 146, 144,
285     111, 117, 125, 125, 130, 131, 135, 137, 143, 148,
286     121, 141, 146, 131, 138, 126, 118, 111, 119, 130,
287     120, 135, 145, 121, 140, 134, 138, 137, 131, 134,
288     115, 137, 132, 137, 139, 138, 138, 139, 145, 149,
289     131, 149, 147, 133, 132, 126, 131, 134, 130, 133,
290     110,  98,  84, 141, 107, 169, 169, 123, 125, 126,
291     118, 210,  98, 126, 132, 138, 128, 139, 156, 157,
292     140, 142, 129,  95, 192, 178, 182, 186, 183, 159,
293     135, 134, 144, 124, 100, 228, 203, 161, 122, 104,
294     139, 159, 134, 161, 121, 126, 192, 152, 218, 180,
295     132, 132, 119,  99,  96,  97,  80,  53, 134, 143,
296     102, 114, 133, 114, 127,  83,  77, 126,  85, 107,
297     110, 114, 194, 186, 139, 116, 147, 104, 129, 138,
298     126, 133, 109, 144, 115,  45, 130,  97, 159, 155,
299     157, 162, 189, 185, 168, 163, 151, 151, 142, 135,
300     144, 147, 120,  74, 192, 186, 149, 118,  71,  84,
301     143, 156, 133, 178, 168, 107, 119, 149, 105, 112,
302     182, 184, 158, 118, 118, 148, 128, 177, 171, 152,
303     139, 135, 126, 209, 171, 150, 123, 100, 190, 158,
304     166,  97, 136, 123, 136, 139, 128, 138, 126, 121,
305     132, 131, 128,  95,  60, 168, 127, 140, 208, 161,
306     109, 102, 119, 162, 150, 137, 107, 200, 156, 136,
307     136, 128, 103,  95,  74,  91, 220, 173, 152, 138,
308     139, 129, 140, 136, 122,  82, 180, 115,  53,  90,
309     121, 107,  99, 148, 116, 139, 100,  63, 191, 155,
310     130, 129, 163, 155,  98, 175,  95, 151, 127, 107,
311     124, 124, 116,  88,  71, 164, 148,  96,  57,  89,
312     125, 117,  77,  63, 162, 144, 113, 109, 137, 134,
313     134, 130, 149, 174, 158, 158, 130,  81,  28,  67,
314     142, 139, 129, 100, 194, 134,  68, 175, 131, 103,
315     136, 132, 122,  96, 119,  82, 115, 249, 215, 168,
316     125, 139, 199,  96, 146, 123, 136, 179, 142, 137,
317     181, 166, 106,  86, 122, 106, 123, 131, 106, 119,
318     129, 189, 188, 147, 126, 110, 101, 114, 147, 136,
319     132, 106,  72, 175, 148,  99, 130, 153, 125, 136,
320     123, 119, 147, 170, 157, 126, 209, 188, 158, 152,
321     101,  89, 142, 131, 161, 150, 148, 124,  89, 119,
322     141, 137, 131, 103,  81,  85,  64, 175, 129, 121,
323     137, 144, 142, 145, 119, 205, 148,  80, 165, 138,
324     143, 137, 167, 165, 148, 149, 110, 234, 217, 170,
325     167, 152,  75, 140, 155, 155, 175, 129, 136, 134,
326     136, 152, 161, 131, 140, 121,  91,  79, 255, 209,
327     132, 147, 120, 114, 177, 128, 110,  61,  89, 131,
328     125, 127,  93,  87, 167, 115, 186, 162, 107, 106,
329     134, 162, 151, 100,  79,  67, 151, 116, 130, 142,
330     162, 153, 155, 143, 122,  85, 202, 187, 135, 125,
331     158, 155, 103, 129,  74, 149, 130,  98, 129, 126,
332     148, 152, 153, 133, 118,  94,  80,  70,  47,  90,
333     124, 118, 143, 184, 158, 126,  70,  82, 111, 113,
334     126, 135, 175, 141, 203, 166, 123, 123, 134, 133,
335     113, 111, 128,  76, 128, 177, 151, 178, 134, 125,
336     120, 120, 193, 106,  98, 134, 101,  86, 101, 114,
337     136, 127, 134, 196,  86, 105, 145, 128, 119, 137,
338     138, 126, 230, 161, 141, 128, 129, 136,  88,  83,
339     103, 118, 178, 123,  89, 101, 161, 173, 165, 147,
340     130, 123, 171, 158, 131,  81,  50, 177, 162, 136,
341     125, 115,  82, 173, 195, 168, 130, 112, 112, 121,
342     152, 148, 167,  87,  82, 161, 142, 147,  98,  89,
343     168, 138,  97, 157, 132, 114,  74, 126, 161, 141,
344     135, 123,  68, 137, 124, 118, 112,  92,  65,  96,
345     191, 181, 161, 151, 141, 145, 129, 102,  97, 111,
346     144, 128,  55, 128, 115, 155, 129, 184, 167, 147,
347     131, 141, 125,  33, 127, 111, 127, 131, 125, 130,
348     137, 130, 121, 195, 172, 177, 176, 149,  98,  97,
349     126, 106, 168, 159, 144, 185, 156, 151, 182, 158,
350     123,  93, 110, 116,  98,  99, 125, 136, 139, 148,
351      79, 112, 149, 128, 147, 136, 118, 105, 166, 152,
352     117, 115,  92, 128, 148, 132, 170, 143, 226, 190,
353     122, 192, 165, 121, 143, 144, 174, 124, 113, 124,
354     122, 135,  34,  93, 118, 111, 111, 136, 123, 116,
355      99, 195, 139,  99, 114, 102,  96, 108, 111, 112,
356     113, 129, 172, 137, 105, 139, 154,  86, 113, 108,
357     132,  79,  63, 120,  93, 162,  90, 103,  94,  95,
358     117, 127, 104, 100, 142, 129,  93,  27, 196, 153,
359     113,  91, 101,  90,  84,  68, 138,  38, 118, 148,
360      87, 103, 125, 109,  96, 152, 100,  56,  31,  62,
361     176, 129, 124, 115, 103,  92, 100, 121, 130, 125,
362     128,  71,  82,  71, 152,  85, 107, 116, 138, 133,
363     103, 116, 139, 144,  72,  37, 118, 141, 109,  95,
364      86,  92, 121, 167, 156, 104,  92,  91, 122, 114,
365      89,  61, 172, 128,  95, 103,  84, 101,  88,  84,
366     116, 125, 108,  62,  74, 108, 160, 143, 189, 164,
367      91, 115, 144,  43, 116,  79, 106, 108,  74,  83,
368      87,  90,  61,  71,  76,  76,  95, 130,  89,  94,
369     114, 107, 101, 145, 161, 147, 143, 163, 147, 129,
370     101,  73, 111, 108,  93, 104, 186, 141,  99,  89,
371     112, 126, 111, 113, 152,  41, 159, 115, 131, 124,
372     117, 101, 115, 130, 124,  87,  59, 177,  63,  85,
373     109, 116, 103,  68, 145, 132,  29, 119,  96,  89,
374     117,  90, 181, 103, 101, 111,  97,  96, 199, 171,
375     113, 120,  93, 119, 101,  64,  56,  55,  63,  90,
376     105, 101,  86,  45, 136, 179, 142, 102, 115, 114,
377     113, 108, 121,  84,  23, 125,  76, 102, 119, 107,
378     120, 104,  73, 177,  83, 114, 128,  85, 152, 126,
379     137, 115, 149, 109, 163, 133, 110,  98,  54,  61,
380      95, 111, 135, 103,  88, 164, 115, 187, 122,  98,
381     129, 132,  95,  86,  71, 119, 146, 111,  38,  67,
382     102, 100,  66, 148, 137, 103, 145,  95,  35,  85,
383      44, 136, 102, 111, 108, 115, 136, 105, 120, 110,
384     108, 147, 112, 169, 116, 146,  81, 120,  94,  84,
385      93,  97,  90, 119, 102,  91,  48, 147, 204, 151,
386     148, 160, 144, 131, 144, 175, 158, 133, 212, 163,
387     172, 152, 151, 112, 148, 151, 145, 179, 160, 124,
388     164, 164, 167, 161, 141, 120, 131, 141, 198, 177,
389     169, 156, 146, 156, 124, 185, 164, 195, 181, 193,
390     201, 147, 148, 168, 165, 159, 162, 148, 150, 148,
391     146, 157, 158, 149, 164, 129, 160, 214, 174, 166,
392     154, 176, 146, 141, 155, 140, 140, 169, 106, 155,
393     166, 162, 134, 193, 157, 155, 146, 196, 171, 107,
394     177, 174, 163, 155, 147, 203, 162, 146, 150,  83,
395     157, 170, 180, 178, 159, 157, 151, 117, 115, 183,
396     170, 180, 174, 150, 177, 173, 136, 181, 196, 184,
397     164, 168, 165, 148, 175, 168, 209, 189, 159, 114,
398     157, 158, 141, 168, 170, 139, 175, 128, 151,  39,
399     128, 154, 159, 161, 148, 180, 131, 165, 159, 131,
400     163, 150, 174, 178, 178, 198, 172, 138, 184, 191,
401     143, 164, 161, 163, 210, 171, 155, 168, 150, 116,
402     182, 170, 145, 152, 141, 139, 191, 149, 160, 202,
403     145, 169, 145, 181, 148, 183, 197, 165, 146, 171,
404     161, 153, 157, 170, 164, 149, 183, 167, 246, 235,
405     162, 144, 170, 152, 173, 150, 113, 135, 156, 154,
406     158, 148, 178, 159, 161, 114, 180, 156, 116, 163,
407     164, 161, 122, 164, 164, 183, 135, 135, 144, 182,
408     160, 147, 163, 152, 169, 185, 159, 177,  99, 211,
409     168, 167, 215, 170, 150, 157, 154, 176, 154, 143,
410     163, 117, 178, 160, 163, 165, 164, 166, 174, 136,
411     159, 169, 152, 123, 199, 149, 169, 140, 159, 208,
412     155, 161, 186, 122, 134, 167, 171, 145, 148, 176,
413     148, 137, 114, 160, 166, 153, 162, 156, 164, 172,
414     155, 148, 155, 182, 114, 150, 157, 154, 140, 159,
415     166, 160, 169, 206, 182, 145, 157, 165, 147, 202,
416     131, 154, 193, 162, 162, 149, 167, 157, 191, 188,
417     149, 205, 147, 166, 150, 150, 159, 153, 171, 160
418 };
419
420 static const uint8_t wmavoice_dq_lsp16i1[0x640] = {
421     142, 121, 141, 112,  99, 119,  92, 122, 183, 155,
422     122,  98,  75,  78,  85, 101, 108, 134, 128, 123,
423     115,  90,  79,  58,  73, 127, 106,  60,  97, 107,
424     141, 163, 130, 123, 136, 156, 201, 189, 204, 206,
425     140, 116,  69,  60, 117, 123, 106, 124,  91,  63,
426     150, 144, 110,  80,  63, 112,  80,  70,  76,  63,
427     114,  86, 147, 165, 137, 125, 120, 140, 115, 101,
428     101,  99, 166, 158, 158, 104, 126, 131, 134, 143,
429     121, 102,  73,  36,  83, 132, 113,  76,  38,  20,
430     132, 111,  78,  73,  51, 131, 108, 131, 105,  80,
431     148, 138, 101,  65,  47, 115,  86,  50, 124, 129,
432     116,  89,  85,  87,  64, 111,  74,  39, 115, 113,
433     112,  83,  75, 122, 127, 114,  91, 106, 125, 130,
434     131, 108,  79, 136, 112, 110, 147, 164, 144, 124,
435     121, 236, 218, 190, 168, 106, 101, 160, 172, 191,
436     113, 138, 102,  91, 109, 100,  71,  85, 112, 119,
437     121,  96,  51,  64, 126, 135, 114,  76,  34, 104,
438     145, 127,  90,  56, 131, 142, 131,  92, 123, 102,
439     128, 105,  63,  24,  95, 115,  87,  49, 156, 174,
440     123, 105,  88,  58,  55, 141, 119,  99,  75,  81,
441     137, 117, 114,  80,  56, 119,  91, 106, 166, 135,
442     114,  84,  38,  93, 116, 129, 103,  97,  87,  97,
443     115, 184, 193, 173, 157, 117,  88, 114, 151, 121,
444     126, 111,  75, 129, 133, 130, 107,  71, 115,  92,
445     128, 108, 120, 100,  97, 111,  80, 119, 122,  91,
446     114,  94, 149, 129, 136, 114,  88, 132, 110,  85,
447     116,  99, 101,  71,  71, 110, 140, 142, 131, 110,
448     122,  98,  83, 127, 100, 106, 130, 123, 114, 103,
449     113,  87, 140, 116, 113, 140, 161, 171, 145, 129,
450     115, 178, 158, 161, 160, 118, 195, 209, 221, 228,
451      99,  83, 140, 134, 140, 127, 186, 168, 187, 187,
452     107, 114, 100, 111, 111, 104, 130, 131, 116, 128,
453     128, 104,  64,  18,  49, 126, 107,  69,  56, 153,
454     154, 142, 110, 113,  89, 120,  93,  73, 190, 172,
455     119,  96,  57,  21,  60, 126, 122,  81,  99, 117,
456     159, 141, 108,  88, 120, 144, 125,  89,  44,  94,
457     147, 131,  93,  81,  61, 133, 113,  85,  47,  62,
458     123, 121,  87,  53,  90, 120,  94,  76,  70,  48,
459     125, 103,  93,  64,  35, 140, 129,  88,  47,  30,
460     127, 104,  58,  51, 103, 124, 100, 102,  76,  47,
461     115,  87,  54,  46,  77, 182, 218, 174, 163, 145,
462     140, 126,  89, 105,  82, 125, 119, 101,  69,  58,
463     125, 107, 172, 145, 128, 138, 113, 109,  92,  90,
464     117,  93,  83,  93, 132, 125, 102,  67, 148, 161,
465     131, 110,  96,  99,  74, 119,  92,  54,  84,  81,
466     110, 152, 120, 106, 131, 108,  74,  68,  99, 107,
467     121,  97, 120, 101,  78, 132, 110, 127, 164, 134,
468     111, 159, 204, 189, 178, 158, 183, 146, 144, 137,
469     123, 106, 136, 108, 135, 117,  91, 163, 135, 113,
470     119, 177, 134, 122, 121, 132, 109, 157, 131, 113,
471     115,  87,  87, 100,  92, 120,  95,  59, 146, 139,
472     129, 101, 135, 122, 101, 119, 100, 112,  88,  99,
473     118,  90, 123, 125, 107, 121,  98,  73, 104,  80,
474     112,  79,  86, 122,  96, 104,  81, 107,  90,  93,
475     112, 150, 140, 109, 115, 113,  86,  73,  76, 112,
476     130, 111, 101, 112,  84, 123,  97,  63, 134, 115,
477     109,  77, 128, 141, 119, 125, 101, 108, 147, 119,
478     134, 149, 150, 127, 115, 136, 244, 220, 210, 189,
479     105, 138, 171, 156, 174, 117, 162, 133, 146, 141,
480     115,  93, 119,  98, 122, 114, 106, 154, 145, 162,
481     107, 131, 189, 165, 152, 101, 107, 129, 114, 139,
482     116, 186, 186, 161, 180, 100,  89, 137, 116, 116,
483     106, 130, 194, 196, 207, 110, 156, 157, 138, 149,
484     102,  93, 159, 138, 120, 109, 132, 105, 122, 135,
485     148, 128,  85,  76, 102, 168, 154, 141, 117, 100,
486     125, 106,  62, 101, 146, 124, 102,  65,  25,  15,
487     120,  94,  46,  21,  94, 149, 128, 115,  85,  92,
488     119,  93,  70,  52,  30, 162, 151, 123,  91,  80,
489     126, 112,  84,  47,  33, 138, 114,  73,  60,  87,
490     126, 211, 174, 158, 143, 129, 106,  65,  31, 133,
491     119,  95,  52,  99, 173, 123,  96, 119, 206, 178,
492     127, 104,  60,  61,  67, 152, 136, 104,  63,  83,
493     133, 130,  92,  64,  45, 120,  96,  53,  30, 130,
494     128, 103,  74,  59,  35, 135, 114,  77,  30,  57,
495     108, 130, 123,  90,  87, 143, 125,  93,  54,  60,
496     133, 118,  79,  87,  95, 115,  89, 111,  88,  65,
497     124, 102,  70,  40,  47, 148, 131, 123, 130, 104,
498     127, 109,  87,  56, 121, 147, 123, 121, 107,  85,
499     178, 237, 200, 193, 170, 139, 118, 100,  75, 110,
500     133, 121,  81,  73,  68, 120, 195, 157, 141, 131,
501     127, 102, 107,  88,  60, 136, 113, 100,  69,  45,
502     128, 105,  93,  77,  67, 131, 116, 149, 184, 156,
503     115,  85,  35,  45, 112, 128, 108,  68,  73, 111,
504     118,  93, 187, 162, 139, 136, 115,  84,  57,  37,
505     131, 133, 125,  98,  85, 138, 115,  92,  86,  61,
506     116,  96,  70,  52, 110, 115, 109, 135, 104,  88,
507     136, 159, 122, 109, 115, 122, 110,  98,  70,  95,
508     112,  81,  68,  85,  90, 124, 101,  87,  56,  89,
509     109,  82,  98, 100, 115, 124, 102,  76,  88,  63,
510     111,  78,  42,  78, 102, 110,  71,  64, 131, 111,
511     125, 104, 107,  87, 123, 129, 131,  99,  85,  68,
512     147, 137, 102,  99,  75, 120, 155, 142, 109,  91,
513     132, 109, 131, 141, 113, 136, 119,  94, 152, 128,
514     127, 102,  79, 159, 134, 111,  78,  98, 109,  80,
515     115,  86,  51,  63, 103, 116,  86, 170, 149, 123,
516     135, 178, 159, 125, 114, 113, 189, 226, 203, 202,
517     140, 117, 116,  94,  70, 128, 103,  94, 174, 149,
518     118,  98,  83,  84, 106, 115, 157, 120,  94,  95,
519     131, 112,  75,  96,  74, 121,  97, 144, 117,  95,
520     120,  90, 140, 138, 110, 119,  93,  55,  92, 114,
521     114,  87, 151, 125, 100, 111,  82,  83, 160, 139,
522     114,  86,  56,  90, 138, 104, 109, 101,  77, 118,
523     140, 142, 143, 148, 126, 121, 102, 129, 107, 111,
524     113,  79,  58, 111,  91, 120,  94,  63, 115,  98,
525     121,  94,  99,  97,  78, 120,  92,  68, 173, 148,
526     122, 114, 109,  87,  82, 132, 229, 192, 176, 155,
527     137, 116, 123,  97, 115, 132, 115,  86, 120,  95,
528     135, 116, 101, 136, 108, 109,  74, 100, 125, 115,
529     112, 158, 144, 124, 134, 114,  83,  73, 147, 120,
530     120, 104, 150, 122, 116, 110, 104, 192, 183, 174,
531     134, 112, 116, 120,  93, 121, 101,  93, 110,  90,
532     121,  93, 147, 152, 122, 115, 153, 171, 161, 142,
533     123,  95, 116, 114,  93, 113,  89,  96,  77,  93,
534     113, 174, 180, 143, 138, 116,  86, 100, 135, 106,
535     103, 121, 149, 115, 103, 121,  95,  82, 149, 121,
536     117,  92,  93, 111, 114, 123, 209, 196, 193, 183,
537     125, 102, 107, 130, 104, 115,  91, 113, 103,  99,
538     114,  86,  68, 108, 110, 111, 159, 162, 125, 113,
539     125, 235, 234, 225, 214,  99,  74, 118, 121, 127,
540     104, 123, 158, 128, 127, 113,  96, 116, 136, 158,
541     100,  80, 138, 155, 166, 118, 143, 115, 125, 114,
542     119, 137, 133, 136, 139, 151, 188, 172, 174, 173,
543     138, 161, 158, 158, 155, 121, 198, 194, 211, 202,
544     100,  90, 112, 110, 122, 100,  91, 122, 128, 135,
545     101, 109, 127, 101, 114, 105, 126, 160, 147, 143,
546     109, 138, 142, 158, 163, 113, 174, 185, 188, 206,
547     112, 154, 166, 176, 183, 101, 108, 140, 140, 143,
548     106, 135, 130, 137, 126, 103, 114, 115, 128, 126,
549     107,  86,  21, 115,  75, 117, 139,  97,  65, 105,
550      64, 191, 101, 106, 139, 107,  98, 218, 132, 104,
551      73, 136, 165,  84, 118, 150, 111,  58, 130, 107,
552      99, 136, 132,  56,  52, 102, 136,  69,  78, 163,
553      85, 173, 148, 138,  85,  69, 106, 128, 133, 155,
554     104,  91, 149,  56, 104, 103, 101, 172,  96,  57,
555     104,  97, 125, 197, 166, 107, 169,  47, 120, 103,
556     150,  89,  99, 139, 162, 101,  69, 137, 158, 126,
557     191, 173, 127,  79, 155,  51, 131, 112,  86,  74,
558     135,  61, 114,  81, 125, 117, 112,  72, 175,  72,
559     127, 123, 142, 132,  78, 116, 158, 111, 121, 143,
560     108, 102,  89,  20, 194,  81,  99, 107,  65, 150,
561     103,  78,  91,  69,  96, 104, 116, 116, 103, 105,
562     107, 117, 110, 130,  28,  88, 103,  62,  72,  85,
563     125, 126, 141, 126, 178, 121, 102,  57,  46, 124,
564      97,  91,  89, 138,  95,  98, 143,  99, 169, 123,
565     140, 119, 113,  82, 140, 118, 112,  91,  92, 241,
566     134,  89,  95, 112,  78, 167, 140, 145, 121, 100,
567     109, 205, 144,  91, 100, 113, 103, 142, 175,  95,
568     117, 121,  35, 121, 127, 159, 129,  85,  64,  75,
569     116,  98, 103, 127, 129,  66,  68, 110,  96,  86,
570      79, 100, 156, 133,  92, 135,  96, 164, 132, 121,
571      93, 163, 134,  91, 208, 104,  77, 126, 116,  58,
572     136, 118, 132,  81,  61,  73, 115,  66, 129, 123,
573     111,  85,  42, 178, 134, 108, 132, 159,  45, 157,
574     105, 164, 100,  94,  60,  96,  57, 154, 105, 102,
575     103, 114,  96,  12,  91, 119, 115,  67,  92,  64,
576      94,  61, 106, 106, 165, 105,  94,  98,  68,  30,
577     146, 130, 107, 173, 140, 102,  90, 163, 106, 184,
578     100,  53,  68, 131,  92, 105, 111,  68, 153, 186,
579     101,  82,  48,  99, 147, 122, 136, 176,  96,  96,
580     104, 132, 167, 149, 136, 138, 144,  97, 120,  92
581 };
582
583 static const uint8_t wmavoice_dq_lsp16i2[0x3c0] = {
584      23,  12, 107, 119, 110, 205, 214, 212, 208, 201,
585     102,  95,  69, 117, 107, 118, 123, 118, 123, 121,
586      82,  58,  83,  95,  84, 139, 145, 153, 161, 169,
587     102, 100, 138, 121, 101, 129, 130, 138, 150, 139,
588      76, 104,  86, 112, 133, 113,  91,  63,  73, 129,
589     199, 193, 182, 181, 172, 119, 101,  83,  94,  76,
590     161, 157, 152, 157, 158, 110,  90, 121,  96,  79,
591     124, 107, 114,  88,  73, 152, 137, 121, 107,  99,
592      57,  50, 100,  81,  74, 115,  96,  72,  49,  69,
593      83,  68,  40,  53, 103,  36, 131, 107,  84,  64,
594     236, 245, 242, 231, 213,  95, 109,  88,  69, 110,
595     228, 221, 204, 182, 170, 129, 110,  97, 118, 104,
596      98,  76,  98,  75,  61,  93,  77, 113,  91,  72,
597     116,  94, 106, 134, 118, 177, 188, 169, 162, 153,
598     163, 149, 131, 131, 132, 177, 163, 173, 168, 158,
599     113, 131, 107, 113, 100, 132, 143, 131, 134, 142,
600      45,  36, 121, 113, 102,  43,  95,  84,  67,  56,
601      76,  82,  68,  48,  33,  55,  58,  59,  43,  65,
602      66,  85,  66,  81,  94, 102,  82,  54,  33,  94,
603     113, 111,  89,  60,  34, 138, 120, 101, 101,  86,
604      88,  73,  55, 114, 115,  92,  74,  93,  77, 123,
605      90, 117,  99,  79,  59,  97,  75,  97, 122, 104,
606     233, 237, 227, 208, 190, 209, 230, 233, 240, 241,
607     195, 197, 188, 167, 147, 204, 185, 168, 162, 157,
608     142, 124, 119, 123, 106, 117, 110,  81, 121, 123,
609      74, 116, 124, 119, 120, 178, 168, 146, 132, 125,
610     102, 104, 105, 110, 114, 104,  82,  78, 100,  86,
611     120, 102, 105,  93, 143, 127, 108, 128, 106,  88,
612     177, 189, 203, 207, 215, 101, 131, 119,  95,  73,
613     149, 139, 135, 147, 153, 160, 167, 165, 174, 177,
614     120, 109, 134, 140, 145, 131, 130, 142, 139, 161,
615     143, 158, 148, 145, 145, 123, 142, 132, 116, 102,
616      40,  23,  79,  82,  84,  26,  83, 141, 130, 122,
617      65,  46,  43,  89,  86,  28,  75,  80,  79,  98,
618      84,  65,  47,  26,  44,  49, 112, 101, 100,  94,
619      88,  76,  75,  48,  82, 104, 100,  75,  45,  15,
620      99,  83,  63,  34,  30,  66,  55,  94, 118, 113,
621     122, 106,  91,  68,  60, 135, 122, 104,  77,  59,
622      82, 102,  84,  62,  46,  92,  74,  55,  82,  71,
623     145, 134, 118,  93,  75,  79,  62,  83,  65,  55,
624      91,  94,  64,  70,  98,  89, 117, 110,  87,  97,
625     210, 223, 225, 223, 213,  83, 103,  86, 101,  85,
626     126, 106,  81,  79, 105, 216, 219, 217, 199, 179,
627      86,  78, 115, 138, 135, 102,  84,  87,  59,  46,
628     219, 206, 184, 167, 158, 201, 188, 165, 145, 135,
629      87, 113, 142, 152, 155, 190, 170, 153, 149, 146,
630     205, 208, 201, 185, 167,  84,  73, 124, 104,  96,
631      76,  88,  99,  74,  80, 110, 125, 122,  99, 112,
632     108,  84,  70, 130, 137, 161, 152, 136, 119, 105,
633     110,  91, 101,  74,  96, 111, 101,  93, 153, 149,
634     133, 124, 102,  97, 120, 101,  93,  75,  81,  64,
635     111,  94, 107,  79,  58, 188, 206, 215, 221, 232,
636     163, 175, 165, 150, 136, 103, 106, 123, 133, 132,
637     168, 184, 191, 183, 170, 110, 117,  90,  98,  93,
638     104,  87, 122,  98, 127, 129, 110, 127, 113, 125,
639     134, 118, 102, 140, 132, 186, 199, 202, 198, 188,
640     149, 147, 175, 185, 186, 117,  93,  99, 112,  93,
641     107, 138, 138, 129, 128,  96, 129, 104, 118, 134,
642     145, 136, 115, 121, 129, 138, 155, 148, 134, 120,
643     170, 151, 150, 145, 138, 168, 173, 185, 194, 200,
644     144, 159, 172, 168, 156, 121, 121, 138, 173, 168,
645     126, 111, 140, 139, 117, 149, 133, 142, 137, 130,
646     143, 139, 158, 158, 146, 119, 128, 121, 132, 145,
647     122, 136, 159, 153, 141, 133, 133, 130, 129, 126,
648     120,  76,  50, 149, 109,  92, 155, 118,  90,  66,
649     132, 117,  87, 156, 117, 119, 102,  44,  83,  91,
650     109,  73, 106,  84,  29,  55, 130, 112,  81, 241,
651      75,  40,  91,  89,  67, 112,  90, 149,  81,  72,
652     128,  90,  71,  28, 160,  73, 157, 123, 143, 108,
653      63,  88,  70,  81,  97,  75, 111, 149, 113,  96,
654      78, 104,  83, 179,  95, 105, 106,  65, 130,  66,
655      51, 118,  92,  53,  68, 105,  75, 176, 151, 115,
656      94,  75,  68,  95, 220, 103, 125, 105,  43,  95,
657      39, 114,  65, 145, 135,  33, 142, 138, 103,  52,
658      82,  85, 117, 110,  67, 102,  74,  42,  62, 118,
659     144, 121,  82,  57, 102,  67,  75,  44, 129,  96,
660      75,  63,  88,  48, 116, 135,  94,  85, 102,  66,
661     122,  77, 105, 122, 152, 120,  56,  90,  83, 100,
662      90, 128,  63,  80, 103, 126, 117, 103,  80, 193,
663      42,  73, 117,  93,  91,  95, 128, 100, 128, 162,
664      70, 120, 126,  73, 123,  99,  99,  91,  75, 135,
665      81, 125, 111,  77,  13,  94,  78,  85, 187, 157,
666      11, 143, 109,  99, 119,  53, 141,  82, 122,  68,
667     132,  89, 136, 119,  88,  75,  49, 174, 119,  70,
668     138, 121, 108,  78,  52, 104,  90,  96,  93,  93,
669     114,  90,  78,  46,  58,  62, 114,  69,  44, 162,
670     103,  58,  98, 141,  83, 137,  95, 119,  73, 111,
671      81,  46, 126, 111, 123, 107, 117, 122, 121,  54,
672     106, 104,  59, 110, 148,  97, 155,  97,  83, 133,
673      97,  71,  57,  91,  58,  52,  79, 127, 152, 109,
674      96,  92, 145, 107, 149, 102,  61, 125,  61, 170,
675      56,  89,  77, 106,  38, 147,  96,  77, 105, 123,
676      85,  83, 117,  63,  69, 126, 133,  93, 107,  92,
677      77, 115,  95, 111, 103,  61,  87, 103,  98, 155,
678      94, 111,  80,  78,  54, 117, 128, 130,  99, 109,
679     106,  99, 113, 133, 115,  89,  65,  74, 112, 127
680 };
681
682 static const uint8_t wmavoice_dq_lsp16i3[0x300] = {
683      70, 100, 121, 129, 132, 132, 201, 188, 165, 145, 144, 136,
684     112, 127, 116, 125, 130, 129, 124, 135, 135, 146, 129, 128,
685     162, 158, 144, 151, 135, 129, 103,  86, 111, 113, 112, 122,
686      90, 139, 129, 117, 126, 129, 142, 145, 167, 147, 124, 124,
687     230, 209, 189, 175, 156, 141,  64,  80,  86, 108, 121, 129,
688      44,  79, 115, 113, 115, 128, 133, 106,  79, 109, 125, 127,
689     171, 156, 132, 109, 103, 115, 106,  70,  93, 145, 141, 128,
690     148, 125, 122, 107, 110, 117, 146, 145, 128, 110,  98, 111,
691     237, 212, 185, 156, 139, 133,  84,  55,  26,  77, 114, 127,
692     172, 170, 171, 168, 162, 143,  82,  82,  76,  70, 104, 126,
693      17,  95, 109, 111, 120, 132,  81,  74,  57, 126, 141, 131,
694     110, 127, 162, 148, 129, 123, 177, 172, 155, 151, 145, 134,
695     144, 123,  90,  66, 109, 130,  82, 127, 103, 123, 132, 131,
696     127,  97,  97, 142, 140, 128, 159, 134, 136, 123, 113, 117,
697     131, 140, 154, 169, 158, 134,  96, 109, 150, 122, 105, 120,
698     120, 150, 152, 122, 119, 125, 123, 126, 124, 107, 100, 113,
699     248, 233, 216, 189, 160, 142,  58,  24,  13,  77, 111, 127,
700     183, 189, 182, 157, 140, 131,  96,  83,  59,  43,  73, 119,
701     222, 196, 171, 146, 129, 128,  32,  13,  53, 101, 114, 127,
702     119, 101,  70,  70, 110, 127,  77,  86, 161, 148, 130, 118,
703     199, 183, 170, 167, 156, 141,  30, 115, 142, 133, 131, 130,
704     101, 103, 181, 176, 152, 126,  66,  44,  73,  94, 111, 128,
705     150, 122, 100, 101, 104, 118,  61, 110,  87,  76,  93, 125,
706     190, 170, 150, 134, 135, 129, 112,  89,  63, 123, 141, 132,
707     175, 154, 136, 142, 140, 132, 117, 143, 129, 128, 136, 132,
708     168, 142, 112, 113, 128, 128, 155, 169, 159, 144, 139, 131,
709      61, 136, 144, 124, 112, 123,  86,  81, 104, 121, 129, 130,
710     160, 127, 118, 150, 151, 134, 126, 115, 121, 132, 134, 131,
711     137, 148, 144, 139, 140, 134, 106, 102, 105,  90,  87, 113,
712     134, 129, 128, 121, 121, 123, 153, 151, 129, 139, 142, 134,
713     150, 142, 141, 148, 149, 141, 100, 121, 133, 147, 150, 134,
714     163, 158, 147, 132, 141, 132, 142, 127, 141, 136, 136, 132,
715     232, 218, 205, 189, 169, 146, 243, 224, 201, 171, 147, 138,
716     224, 196, 169, 162, 154, 140,  51,  20,  59, 111, 121, 128,
717     203, 197, 193, 177, 162, 145,  75,  40,  47, 122, 130, 129,
718     102,  77,  47,  83, 121, 129, 111, 108,  84,  56,  63, 114,
719     211, 181, 154, 137, 126, 125, 213, 198, 186, 162, 144, 138,
720      41,  45,  90, 110, 118, 130,  83,  63, 130, 164, 153, 128,
721     195, 167, 142, 123, 113, 119,  19,  42, 105, 113, 120, 132,
722      50,  63,  49,  64, 112, 128, 114,  90, 132, 171, 162, 134,
723     129, 128, 107,  83,  74, 110,  50, 116, 109, 120, 128, 132,
724      94,  59,  73, 111, 117, 126, 197, 170, 166, 153, 138, 132,
725      65,  48, 109, 133, 131, 128, 170, 163, 172, 158, 138, 130,
726      66, 126, 147, 160, 151, 132,  42, 129, 117,  95,  91, 120,
727      97, 165, 164, 142, 133, 125, 163, 142, 114,  88,  97, 122,
728     104,  77, 142, 143, 128, 120, 136, 160, 188, 169, 149, 130,
729     113,  83,  85, 102, 114, 125, 164, 169, 142, 120, 122, 124,
730      98, 152, 132, 105,  92, 117,  42,  71, 125, 155, 151, 137,
731      94, 105,  81, 107, 118, 126,  84,  56, 123, 117, 108, 122,
732     174, 179, 166, 137, 118, 121, 130, 103, 147, 152, 134, 124,
733     148, 127,  94, 117, 144, 134, 129, 106, 102,  95, 106, 118,
734     147, 157, 153, 125, 103, 117, 155, 128, 113, 132, 120, 122,
735     181, 151, 136, 126, 122, 122, 110, 111, 109, 108, 120, 124,
736      97, 130, 103,  89, 107, 124, 179, 158, 158, 142, 131, 128,
737     142, 111, 115, 122, 126, 125, 145, 145, 134, 115, 129, 128,
738     130, 139, 112,  99, 121, 125,  79, 104, 119, 102, 105, 123,
739     116, 121, 136, 125, 126, 127, 124, 100, 122, 119, 111, 119,
740     159, 140, 139, 128, 138, 131, 105, 100, 116, 128, 135, 132,
741     159, 142, 156, 147, 140, 134, 130, 150, 129, 126, 114, 120,
742     138, 124, 146, 131, 109, 119,  93, 115, 125, 131, 125, 129,
743     125, 121, 101, 119, 114, 120, 163, 154, 151, 153, 153, 139,
744     166, 153, 150, 133, 119, 121, 159, 151, 128, 130, 122, 123,
745     147, 154, 144, 133, 128, 127, 129, 131, 134, 140, 148, 138,
746     138, 136, 120, 131, 135, 131, 150, 140, 137, 144, 129, 129
747 };
748
749 static const uint8_t wmavoice_dq_lsp10r[0x1400] = {
750     128, 128, 129, 129, 130, 130, 131, 130, 129, 129,
751     134, 133, 127, 125, 136, 135, 135, 134, 173, 172,
752     133, 139, 136, 165, 133, 176, 137, 159, 135, 152,
753     147, 161, 147, 152, 149, 156, 146, 146, 140, 136,
754     134, 135, 136, 140, 139, 155, 123, 133, 132, 142,
755     132, 148, 143, 177, 124, 143, 123, 136, 126, 134,
756     126, 125, 125, 124, 129, 128, 123, 123, 133, 133,
757     116, 116, 121, 121, 121, 120, 129, 128, 131, 131,
758     132, 133, 132, 129, 138, 124, 138, 124, 132, 100,
759     135,  94, 149, 111, 152, 115, 150, 128, 141, 133,
760     129, 129, 130, 129, 147, 145, 136, 137, 120, 122,
761     120, 122, 127, 129, 104, 108, 113, 115, 124, 124,
762     140, 139, 147, 145, 132, 130, 184, 177, 201, 196,
763     170, 171, 160, 161, 145, 147, 137, 145, 131, 131,
764     130, 130, 130, 130, 130, 130, 132, 134, 131, 132,
765     131, 133, 141, 144, 142, 149,  84,  93, 103, 104,
766     139, 139, 142, 140, 147, 147, 172, 165, 122, 121,
767      98, 100, 101, 106, 112, 117, 122, 124, 124, 124,
768     134, 133, 133, 133, 146, 142, 147, 145, 156, 156,
769     143, 146, 119, 124, 129, 132, 151, 149, 136, 135,
770     147, 148, 181, 180, 199, 188, 190, 173, 166, 161,
771     147, 142, 153, 149, 154, 146, 150, 146, 138, 134,
772     131, 135,  96, 136,  48, 138,  56, 131,  63, 124,
773      85, 128, 103, 132, 117, 134, 120, 132, 125, 129,
774     131, 130, 129, 128, 129, 128, 163, 168, 117, 120,
775     121, 121, 136, 138, 131, 132, 135, 136, 131, 133,
776     133, 133, 133, 134, 117, 118, 105, 109, 142, 151,
777     144, 159, 131, 138, 121, 126, 123, 123, 121, 124,
778     131, 131, 129, 129, 141, 140, 142, 134,  87,  90,
779     109, 109, 130, 127, 139, 143, 133, 131, 127, 126,
780     134, 135, 134, 136,  97,  98, 130, 132, 134, 137,
781     115, 119, 125, 130, 107, 109, 119, 118, 126, 127,
782     134, 135, 127, 132, 172, 203, 160, 196, 152, 179,
783     152, 172, 148, 168, 153, 172, 145, 156, 137, 140,
784     102, 116,  42,  56,  74,  61,  82,  70,  86,  78,
785     101,  97, 104, 100, 115, 108, 116, 108, 123, 118,
786     149, 143, 166, 129, 168,  96, 142,  95, 135,  98,
787     117,  86, 116,  93, 121, 108, 119, 107, 121, 117,
788     135, 135, 127, 138,  72, 132,  99, 136, 112, 147,
789     120, 152, 136, 155, 138, 146, 140, 142, 134, 139,
790     163, 145, 192, 130, 147, 124, 147, 125, 133, 125,
791     127, 124, 128, 123, 129, 122, 130, 122, 130, 125,
792     130, 137, 135, 180, 124, 133, 130, 129, 132, 133,
793     124, 124, 131, 130, 132, 136, 126, 124, 127, 125,
794     132, 132, 133, 133, 144, 140, 143, 142, 137, 135,
795     143, 138, 152, 149, 221, 219, 158, 161, 143, 141,
796     130, 129, 140, 135, 170, 145, 193, 156, 186, 152,
797     167, 139, 151, 131, 142, 127, 134, 120, 131, 125,
798     135, 133, 141, 125, 199, 109, 137, 126, 134, 123,
799     130, 129, 132, 123, 128, 125, 122, 126, 125, 125,
800     130, 128,  91,  89, 138, 135, 139, 134, 133, 129,
801     132, 130, 125, 128, 136, 135, 129, 127, 126, 126,
802     132, 131, 133, 131, 128, 120, 132, 126, 126, 119,
803     134, 130, 131, 123, 104,  95, 140, 141, 136, 137,
804     133, 133, 133, 134, 117,  98,  74,  49, 112, 111,
805     123, 122, 126, 127, 131, 131, 127, 126, 128, 129,
806     130, 131, 124, 127, 101, 107, 108, 109, 115, 115,
807     100,  99, 130, 128, 134, 136, 125, 127, 128, 130,
808     136, 137, 145, 150, 149, 164, 136, 151, 114, 111,
809     124, 125, 143, 150, 162, 174, 158, 169, 136, 137,
810     131, 131, 131, 131, 132, 133, 111, 110, 122, 121,
811     136, 136, 134, 133, 131, 132, 127, 127, 125, 125,
812     128, 129, 129, 130, 125, 127, 140, 140, 148, 149,
813     133, 136, 146, 153, 110, 118, 127, 129, 128, 129,
814     131, 133, 127, 131, 140, 161, 167, 224, 131, 139,
815     136, 143, 135, 139, 138, 143, 149, 155, 141, 143,
816     134, 132, 120, 111,  83,  83, 121, 126, 102, 107,
817     112, 115,  97, 104, 120, 115, 129, 123, 122, 122,
818     134, 135, 122, 131, 102, 124, 114, 119,  93, 103,
819      78,  79,  67,  72,  66,  73,  78,  82, 103, 102,
820     144, 135, 165, 139, 165, 129, 160, 126, 153, 127,
821     161, 134, 160, 142, 160, 143, 148, 140, 138, 135,
822     138,  95, 147,  54, 143,  78, 140, 112, 142, 113,
823     140, 121, 135, 117, 135, 122, 136, 131, 131, 132,
824     147, 159, 140, 156, 127,  81, 142, 128, 146, 127,
825     144, 125, 146, 128, 149, 130, 144, 135, 133, 128,
826     130, 131, 131, 131, 134, 139, 126, 134, 141, 154,
827     168, 205, 153, 176, 148, 163, 147, 158, 141, 143,
828     131, 135, 126, 146, 108, 157, 107, 156, 119, 146,
829     100, 138, 104, 125, 119, 134, 101, 122, 113, 122,
830      95, 133,  52, 140,  83, 136, 110, 133, 114, 131,
831     123, 131, 133, 131, 138, 135, 132, 132, 127, 127,
832     129, 128, 124, 122, 128, 126, 145, 170, 143, 172,
833     141, 163, 143, 176, 138, 164, 139, 155, 135, 145,
834     135, 136, 136, 127, 132,  76, 128,  76, 127,  63,
835     125,  66, 123,  67, 120,  71, 124,  92, 122, 111,
836     133, 133, 135, 136, 139, 140, 147, 147, 150, 144,
837     156, 147, 150, 145, 154, 146, 120, 123, 123, 124,
838     137, 133, 170, 141, 124, 124, 135, 134, 134, 135,
839     132, 132, 129, 129, 130, 130, 136, 136, 130, 132,
840     147, 159, 135, 158, 115, 146, 120, 148, 117, 136,
841     115, 137, 113, 132, 133, 142, 140, 144, 132, 134,
842     134, 135, 134, 137, 137, 147, 162, 178, 136, 147,
843     134, 144, 123, 132, 111, 113, 113, 113, 124, 124,
844     132, 131, 126, 126, 117, 114, 100,  95, 130, 125,
845     157, 145, 164, 156, 163, 158, 145, 145, 133, 134,
846     134, 134, 127, 126, 113, 102, 136, 130, 124, 122,
847     143, 145, 127, 131, 135, 143, 133, 137, 132, 132,
848      92,  94, 122, 125, 128, 129, 131, 130, 134, 135,
849     132, 128, 129, 127, 132, 132, 131, 129, 127, 127,
850     129, 129, 132, 131, 139, 131, 137, 132, 216, 178,
851     146, 134, 147, 137, 151, 142, 148, 139, 144, 138,
852     128, 127, 129, 129, 123, 131,  71,  91, 126, 128,
853     130, 134, 117, 123, 125, 125, 135, 140, 129, 132,
854     132, 132, 133, 134, 124, 130, 127, 133, 133, 138,
855     142, 149, 135, 141, 145, 149, 154, 164, 135, 138,
856     135, 135, 141, 142, 138, 137, 116,  96, 105,  86,
857     127, 118, 128, 120, 124, 117, 125, 117, 125, 121,
858     131, 131, 132, 134, 144, 145, 112, 112, 121, 123,
859     113, 116, 121, 123, 139, 138, 128, 128, 131, 131,
860     134, 132, 132, 132, 125, 128, 127, 130, 125, 131,
861     120, 128,  90, 119,  68,  98,  99, 112, 115, 124,
862     135, 135, 134, 134, 128, 129, 137, 137, 137, 138,
863     110, 114, 129, 130, 144, 145, 123, 125, 129, 129,
864     132, 133, 129, 130, 168, 187, 140, 149, 137, 144,
865     129, 130, 129, 134, 133, 138, 118, 118, 122, 120,
866     131, 130, 129, 128, 133, 133, 125, 125, 124, 123,
867     181, 179, 129, 129, 131, 127, 139, 136, 130, 128,
868     133, 133, 132, 132, 121, 120, 122, 119, 132, 129,
869     129, 125, 107,  96, 136, 137, 150, 146, 135, 134,
870     131, 131, 130, 130, 126, 123, 126, 123, 128, 125,
871     130, 123, 134, 127, 183, 159, 143, 135, 137, 134,
872     129, 129, 128, 128, 134, 133, 139, 138, 133, 132,
873     129, 127, 154, 151, 150, 144, 146, 146, 141, 142,
874     132, 132, 131, 131, 130, 130, 132, 133, 114, 115,
875     132, 132, 122, 122, 132, 131, 115, 117, 120, 120,
876     129, 129, 130, 130, 130, 129, 130, 131, 129, 131,
877     130, 130, 129, 129, 133, 132, 143, 144,  91,  91,
878     137, 136, 118, 107,  60,  45,  56,  49,  57,  52,
879      60,  56,  71,  75,  77,  80,  92,  97, 106, 106,
880     112, 131,  58, 121,  19,  65,  84, 101, 108, 122,
881     121, 127, 112, 117, 106, 112, 117, 124, 126, 127,
882     130, 129, 138, 133, 166, 155, 192, 179, 192, 177,
883     208, 191, 204, 192, 186, 179, 163, 163, 138, 142,
884     134, 134, 144, 142, 243, 236, 148, 146, 141, 137,
885     145, 141, 151, 144, 147, 143, 135, 139, 134, 133,
886     134, 128, 138,  88, 142,  10, 127,  76, 130,  96,
887     129, 102, 128, 108, 123, 111, 127, 119, 127, 124,
888     136, 136, 139, 139, 142, 140, 246, 241, 158, 167,
889     143, 145, 146, 149, 143, 145, 148, 152, 133, 134,
890     139, 135, 135, 136,  99, 137,  95, 133,  75, 138,
891      67, 135,  73, 128,  83, 132,  96, 126, 115, 127,
892     130, 132, 137, 136, 140, 135, 134, 130, 137, 131,
893     159, 151, 215, 197, 181, 170, 160, 149, 150, 143,
894     145, 148, 186, 207, 141, 147, 135, 137, 122, 122,
895     126, 125, 128, 126, 127, 127, 134, 126, 131, 123,
896     133, 133, 126, 122, 128, 122,  99,  93,  59,  60,
897      82,  82, 106, 107, 119, 123, 124, 128, 128, 129,
898     134, 137, 133, 139, 133, 136, 141, 132, 139, 122,
899     142,  97, 130,  81, 128,  89, 129, 101, 125, 112,
900     137, 140, 129, 148, 101, 159, 118, 180, 122, 178,
901     120, 178, 116, 168, 118, 153, 127, 151, 126, 136,
902     132, 134, 125, 126, 118, 105, 156, 124, 180, 132,
903     163, 124, 148, 121, 131, 112, 127, 115, 125, 122,
904     129, 131, 128, 129, 136, 134, 142, 141, 165, 158,
905     203, 182, 141, 136, 132, 130, 135, 135, 130, 130,
906     133, 133, 132, 132, 127, 126, 106, 105, 112, 110,
907     106, 105,  80,  84, 100, 101, 122, 125, 126, 128,
908     101, 109,  46,  59, 114, 112, 119, 119, 126, 121,
909     129, 124, 128, 125, 125, 122, 123, 120, 125, 122,
910     135, 134, 121, 134,  56, 139, 131, 145, 135, 138,
911     136, 139, 126, 130, 122, 132, 126, 129, 124, 129,
912     153, 169, 146, 179, 138, 139, 151, 143, 148, 138,
913     153, 137, 142, 129, 144, 126, 140, 128, 133, 126,
914     136, 134, 154, 149, 173, 157, 152, 144, 149, 141,
915     137, 136, 127, 121, 123, 121, 121, 126, 120, 123,
916     157, 143, 166, 135, 120, 122, 112, 118, 102, 118,
917     111, 124, 134, 131, 141, 138, 135, 134, 126, 129,
918     140, 123, 152,  76, 131, 116, 138, 136, 126, 134,
919     130, 142, 126, 136, 120, 132, 126, 128, 124, 127,
920     131, 138,  80, 147, 126, 138, 130, 140, 129, 134,
921     133, 135, 131, 132, 126, 127, 127, 125, 125, 123,
922     132, 132, 130, 132, 123, 130, 102, 102, 107, 110,
923     116, 127, 132, 152, 142, 160, 143, 151, 142, 146,
924     132, 132, 132, 132, 125, 126, 132, 140, 158, 199,
925     135, 149, 134, 140, 135, 131, 129, 120, 127, 121,
926     129, 130, 122, 123, 125, 124, 138, 138, 138, 135,
927     140, 141, 101,  94, 105,  98, 121, 122, 127, 128,
928     126, 127, 119, 121, 133, 156, 132, 159, 130, 148,
929     137, 164, 127, 138, 130, 137, 135, 140, 126, 126,
930     128, 129, 129, 129, 126, 124, 130, 128, 143, 138,
931     149, 143, 185, 170, 129, 127, 138, 133, 138, 135,
932     132, 134, 137, 144, 139, 183, 131, 145, 127, 128,
933     128, 127, 128, 122, 129, 125, 145, 139, 135, 131,
934     132, 133, 132, 130, 152,  96, 159,  85, 150, 105,
935     154, 115, 143, 120, 138, 126, 134, 124, 130, 126,
936     128, 127, 121, 123, 122, 123, 116, 125,  84,  87,
937     133, 135, 129, 131, 123, 126, 133, 135, 131, 130,
938     136, 134, 129, 119,  79,  63, 116, 116, 136, 133,
939     133, 130, 140, 143, 127, 127, 124, 125, 127, 128,
940     128, 126, 124, 120, 139, 128, 153, 134, 151, 134,
941     174, 145, 159, 136, 165, 144, 171, 149, 143, 135,
942     134, 134, 133, 133, 121, 119, 177, 162, 166, 154,
943     127, 130, 132, 132, 136, 137, 142, 143, 138, 137,
944     167, 151, 162, 142, 128, 136, 142, 148, 128, 143,
945     145, 153, 140, 149, 132, 141, 128, 139, 127, 133,
946     156, 169, 131, 129, 126, 120, 127, 125, 129, 120,
947     131, 126, 126, 123, 124, 121, 122, 121, 123, 123,
948     138, 140, 149, 156, 145, 152, 105, 102, 131, 126,
949     151, 146, 147, 139, 144, 137, 143, 133, 135, 130,
950     132, 130, 131, 129, 126, 130, 126, 129, 110, 135,
951     115, 139, 108, 146, 105, 147, 121, 134, 124, 133,
952     137, 137, 135, 134, 143, 142, 146, 146, 120, 121,
953     139, 137, 133, 129, 149, 145, 139, 133, 130, 127,
954     134, 134, 134, 134, 125, 124, 117, 119, 120, 113,
955      84,  80, 122, 125, 108, 112,  97, 102, 118, 120,
956     124, 123, 115, 116, 110, 111,  98,  97, 127, 124,
957     129, 127, 120, 117, 114, 109, 106, 104, 116, 116,
958     138, 138, 139, 141, 142, 146, 127, 125, 133, 130,
959     134, 128, 134, 127, 116,  91, 105,  84, 114, 106,
960     128, 128, 126, 126, 131, 137, 126, 129, 133, 139,
961     134, 145, 132, 143, 150, 192, 131, 142, 138, 141,
962     132, 130, 132, 130, 149, 138, 196, 152, 137, 125,
963     134, 125, 139, 128, 133, 125, 141, 134, 134, 135,
964     134, 135, 134, 135, 131, 130, 136, 133, 110, 106,
965     142, 144, 153, 162, 131, 129, 134, 132, 131, 130,
966     126, 125, 132, 130, 168, 153, 126, 124, 130, 126,
967     140, 135, 140, 134, 138, 133, 145, 137, 135, 134,
968     130, 130, 132, 131, 133, 132, 129, 129, 125, 128,
969     128, 130, 133, 139, 143, 152, 193, 215, 152, 160,
970     130, 131, 129, 131, 130, 131, 135, 136, 136, 141,
971      83,  81, 121, 120, 136, 130, 150, 145, 147, 145,
972     134, 133, 135, 133, 146, 142, 135, 131, 127, 128,
973     134, 135,  93, 102, 126, 132, 131, 133, 127, 129,
974     124, 125, 120, 122, 103, 106, 128, 129, 139, 138,
975     127, 128, 134, 134, 143, 138, 139, 134, 135, 133,
976     131, 130, 133, 131, 139, 134, 138, 136, 166, 156,
977     119, 116, 121, 122, 126, 124, 116, 117, 123, 124,
978     131, 131, 129, 129, 130, 128, 141, 138, 135, 132,
979     154, 145, 137, 129, 131, 125, 146, 137, 138, 135,
980     131, 131, 131, 132, 129, 130, 134, 138, 111, 116,
981     113, 118, 123, 125, 122, 124, 143, 147, 138, 140,
982     116, 113, 114, 112, 130, 126, 117, 115, 127, 126,
983     139, 137, 141, 139, 131, 132, 143, 144, 139, 140,
984     130, 130, 129, 128, 136, 134, 119, 117, 152, 143,
985     155, 143, 120, 119, 142, 139, 124, 130, 126, 128,
986     112, 110, 112, 109, 136, 132, 125, 118, 121, 115,
987     103, 101, 109, 100, 125, 120, 121, 117, 122, 121,
988     128, 128, 127, 127, 124, 124, 128, 127, 131, 129,
989     142, 138, 147, 141, 115, 108, 113, 109, 122, 119,
990     136, 133, 150, 139, 142, 131, 119, 111, 151, 137,
991     121, 116, 146, 134, 137, 129, 121, 123, 127, 129,
992     130, 130, 130, 130, 136, 137, 126, 126, 136, 136,
993     133, 133, 139, 139, 142, 143, 119, 120, 134, 134,
994     132, 132, 133, 133, 135, 138, 129, 131, 133, 134,
995     135, 138, 126, 130, 117, 118, 131, 132, 135, 135,
996     129, 129, 128, 128, 126, 129, 127, 129, 123, 125,
997     115, 117, 156, 157, 127, 131, 129, 129, 128, 129,
998     129, 130, 131, 131, 126, 127, 135, 134, 136, 135,
999     140, 136, 117, 113, 132, 128, 104,  97, 109, 106,
1000     131, 131, 131, 131, 121, 123, 124, 125, 126, 127,
1001     127, 127, 135, 135, 128, 128, 130, 130, 141, 140,
1002     129, 129, 129, 129, 129, 127, 127, 125, 149, 146,
1003     125, 123, 134, 133, 134, 132, 152, 150, 138, 138,
1004     128, 128, 126, 125, 132, 133, 141, 143, 136, 136,
1005     126, 127, 126, 127, 129, 131, 128, 129, 135, 134,
1006     176, 139, 192, 135, 145, 122, 149, 117, 155, 134,
1007     169, 133, 157, 139, 142, 136, 151, 152, 142, 147,
1008     166, 174, 103, 107, 141, 134, 140, 136, 144, 135,
1009     147, 135, 156, 131, 153, 127, 133, 126, 130, 124,
1010     127, 130, 123, 124, 114, 105, 195, 193, 156, 157,
1011     165, 158, 126, 122, 149, 141, 174, 173, 152, 147,
1012     136, 139, 131, 138, 163, 169, 103, 124,  80, 102,
1013     153, 186, 121, 151, 134, 161, 156, 190, 141, 151,
1014     121, 123, 124, 127, 119, 127, 133, 134, 157, 156,
1015      81,  69, 136, 134, 160, 169, 118, 114, 135, 128,
1016     114, 116,  97,  97, 117, 122, 152, 161, 115, 121,
1017     106, 122, 135, 137, 111, 113, 125, 135, 141, 145,
1018     143, 146, 143, 150, 132, 136, 142, 150, 151, 167,
1019     101, 107, 155, 173, 112, 124, 105, 100, 128, 126,
1020     127, 130, 133, 134, 142, 121, 131, 116, 176, 145,
1021     161, 120, 209, 150, 196, 133, 147, 115, 149, 130,
1022     144, 145, 144, 145, 120, 119, 163, 160, 117, 118,
1023     123, 117, 154, 119, 193,  98, 149, 101, 137, 116,
1024     133, 135, 140, 143, 144, 156, 131, 146, 186, 201,
1025     140, 139, 123, 125, 158, 169, 157, 166, 142, 143,
1026     130, 131, 132, 132, 128, 128, 141, 142, 147, 149,
1027     145, 148, 137, 139, 129, 129, 107, 108, 157, 157,
1028     120, 121, 119, 119, 140, 132, 137, 131, 118, 113,
1029     143, 136, 134, 135, 164, 158, 133, 125, 127, 124,
1030     148, 122, 197, 130, 173, 145, 110, 139, 123, 165,
1031      83, 158,  90, 167,  93, 142, 136, 169, 134, 152,
1032     130, 126, 154, 138, 227, 150, 156, 114, 147, 114,
1033     142, 109, 135, 110, 166, 135, 176, 150, 152, 142,
1034     132, 132, 136, 136, 130, 135, 143, 152, 136, 144,
1035     152, 160, 177, 185, 112, 112, 165, 166, 160, 161,
1036     145, 145, 138, 139, 116, 118, 127, 131,  66,  80,
1037     132, 142, 119, 127, 101, 108, 120, 130, 126, 130,
1038     135, 135, 142, 139, 153, 137,  55,  30, 142, 139,
1039     139, 143, 135, 133, 129, 133, 109, 108, 129, 129,
1040     136, 135, 134, 131, 129, 132, 132, 134, 135, 149,
1041      79, 206, 123, 137, 135, 143, 130, 140, 131, 134,
1042     100,  99, 165, 164, 142, 123, 148, 133, 133, 122,
1043     142, 133, 138, 125, 119, 111, 129, 123, 137, 130,
1044     131, 132, 123, 129, 174, 185, 196, 181, 127, 111,
1045     156, 141, 132, 114, 129, 106, 132, 107, 126, 117,
1046     134, 140, 131, 136, 119, 146,  92, 246, 128, 132,
1047     125, 129, 132, 140, 128, 141, 126, 145, 137, 142,
1048     130, 130, 110, 115, 124, 139, 127, 151, 118, 152,
1049      98, 146,  36, 108, 126, 158, 112, 146, 112, 130,
1050     138, 136, 145, 138, 153, 145, 116, 125,  90, 103,
1051     137, 138, 189, 185, 141, 151,  86,  93, 111, 111,
1052     133, 171, 125, 209, 140, 132, 130, 134, 129, 101,
1053     142, 120, 142, 132, 135, 126, 141, 140, 140, 134,
1054     128, 123, 131, 123, 138, 118, 163, 133, 240, 197,
1055     176, 151, 126, 123,  81,  94, 109, 118, 124, 133,
1056     135, 133, 137, 134, 154, 135, 140, 155,  69, 190,
1057     119, 149, 141, 151, 142, 123, 135, 125, 129, 130,
1058     127, 125, 132, 127, 107,  80, 123, 103, 145, 131,
1059     133, 107, 140, 103, 135, 106, 170, 145, 159, 143,
1060     136, 137, 127, 130, 105, 119, 129, 134, 141, 151,
1061     116, 127, 119, 140,  75, 119, 152, 162, 149, 152,
1062      72, 138,   9, 143, 118, 160, 126, 134, 141, 147,
1063     135, 131, 129, 129, 135, 129, 136, 126, 133, 125,
1064     137, 135, 146, 141, 145, 139, 141, 140, 133, 130,
1065     213, 208, 139, 130, 139, 136, 117, 117, 126, 125,
1066     133, 130, 138, 131, 141, 100, 145,  93, 159, 121,
1067     144, 132, 117, 160, 102, 187,  99, 162, 117, 144,
1068     132, 132, 134, 134, 140, 141, 127, 126, 128, 131,
1069     116, 116, 121, 127, 119, 126, 114, 114,  99, 100,
1070     141, 144, 148, 159, 179, 224,  95, 131, 100, 125,
1071      87, 110, 112, 132, 134, 147, 111, 125, 122, 122,
1072     137, 140, 141, 129, 169,  12, 144, 132, 133, 144,
1073     141, 146, 137, 147, 136, 122, 133, 130, 131, 128,
1074     141, 142, 128, 139,  15,  69, 160, 159, 142, 130,
1075     137, 126, 159, 141, 145, 143, 128, 125, 134, 128,
1076     131, 130, 127, 127, 114, 104, 119,  98,  83,  68,
1077     139, 120, 173, 142, 199, 154, 191, 153, 158, 145,
1078     128, 130, 127, 127, 148, 150, 110,  99, 119, 109,
1079     120, 113, 163, 154, 110,  90, 138, 129, 149, 144,
1080     131, 134, 124, 142,  76, 217, 130, 129, 140, 138,
1081     133, 135, 145, 150, 136, 138, 127, 130, 130, 134,
1082     144, 119, 178,  70, 143, 130, 115, 136, 139, 138,
1083     129, 109, 136, 116, 147, 122, 126, 112, 126, 123,
1084     132, 139, 128, 144, 107, 156,  75, 163, 120, 164,
1085     151, 136, 151,  99, 160, 112, 159, 126, 143, 126,
1086     140, 138, 137, 135, 152, 108, 251,  85, 138, 116,
1087     137, 118, 141, 119, 136, 121, 150, 134, 138, 131,
1088     137, 137, 143, 144, 150, 153, 148, 154, 152, 151,
1089     117, 104, 124,  96,  93,  67, 146, 138, 149, 148,
1090     149, 153, 172, 193, 108, 114, 125, 128, 145, 165,
1091     149, 160, 121, 130, 115, 120, 110, 112, 121, 118,
1092     145, 146, 141, 142, 127, 127, 103,  95, 138, 143,
1093     114, 126, 109, 115, 143, 136, 153, 149, 144, 142,
1094     140, 138, 150, 144, 128, 116, 142, 136, 135, 122,
1095      93,  88, 164, 163, 141, 142, 171, 182, 154, 160,
1096     124, 125, 122, 123, 158, 155, 111,  97, 138, 130,
1097     157, 134, 101,  65, 129, 118, 121, 114, 124, 119,
1098     131, 133, 125, 129, 136, 147, 135, 152, 131, 133,
1099     110, 115, 118, 114, 161, 159, 233, 218, 172, 166,
1100     140, 107, 125,   0, 140, 103, 140, 115, 125, 113,
1101     132, 135, 128, 133, 138, 146, 131, 145, 127, 133,
1102     131, 131, 122, 122, 135, 132, 126, 124, 132, 133,
1103     164, 167, 121, 127, 117, 120, 167, 162, 145, 143,
1104     135, 134, 136, 134, 156, 146, 195, 177, 127, 139,
1105     108, 140, 141, 173, 141, 178, 131, 155, 129, 141,
1106     134, 134, 119, 114, 184, 184, 127, 126, 147, 151,
1107     130, 140, 146, 159, 134, 145, 131, 136, 137, 142,
1108     135, 137, 128, 136,  83, 108,  97,  98, 152, 119,
1109     207, 144, 142, 121, 144, 129, 131, 127, 130, 132,
1110     124, 125, 108, 107,  94, 116,  81, 114, 139, 173,
1111     131, 158, 145, 177, 141, 163, 136, 140, 143, 144,
1112     135, 141, 132, 136, 134, 142, 142, 136, 173,  50,
1113     143, 106, 142, 127, 134, 139, 127, 133, 125, 125,
1114     129, 130, 131, 133, 132, 148, 110, 138, 113, 135,
1115     138, 175, 108, 151,  55, 119,  51, 100,  93, 116,
1116     121, 121, 146, 151,  99, 120, 127, 137, 107, 122,
1117     125, 139, 110, 132, 135, 156, 141, 156, 148, 157,
1118     137, 137, 141, 140, 139, 137, 130, 128, 138, 136,
1119     132, 134, 115, 110, 177, 179,  81,  86, 100,  98,
1120      84,  83, 121, 121, 148, 157, 127, 133, 146, 156,
1121     127, 136, 143, 151, 135, 139, 138, 142, 136, 136,
1122     201, 164, 151, 129, 123, 136, 147, 148, 127, 142,
1123     128, 143, 101, 126, 119, 133, 114, 131, 116, 126,
1124     132, 133, 140, 140, 126, 125, 156, 153, 142, 129,
1125     140, 130,  77,  69, 134, 132, 146, 148, 135, 136,
1126     133, 132, 123, 116, 116, 103, 150, 135, 144, 127,
1127     130, 117, 136, 122, 122, 106,  48,  38,  81,  78,
1128     145, 146, 135, 136, 123, 122, 126, 133, 133, 138,
1129     145, 145, 144, 150, 160, 181, 142, 139, 150, 150,
1130     136, 136, 139, 139, 133, 133, 139, 135, 134, 129,
1131     140, 137, 153, 145, 132, 131, 151, 144,  68,  66,
1132     137, 137, 139, 139, 146, 146, 142, 139, 129, 128,
1133     131, 129, 133, 132, 135, 134, 135, 134, 201, 200,
1134     137, 136, 146, 143, 155, 153, 157, 158, 131, 138,
1135     140, 139, 143, 144, 128, 123, 216, 192, 159, 150,
1136     137, 138, 136, 142, 145, 148, 126, 162, 140, 170,
1137     186,  95, 131, 140, 143, 148, 133, 128, 130, 133,
1138     141, 139, 153, 150, 122, 122, 134, 144, 124, 130,
1139     159, 166, 133, 139, 151, 150, 138, 139, 131, 134,
1140     121, 121, 131, 129, 148, 180, 121, 135, 118, 131,
1141     124, 148, 119, 119, 129, 126, 150, 156, 155, 160,
1142      40, 154, 115, 157, 133, 129, 140, 133, 143, 133,
1143     143, 132, 144, 130, 141, 131, 134, 130, 137, 133,
1144     134, 136, 141, 140, 145, 137, 152, 124, 183,  91,
1145     118, 154, 123, 158, 136, 134, 140, 142, 138, 142,
1146     138, 135, 131, 131, 138, 129, 121, 128, 146, 219,
1147     124, 123, 125, 135, 120, 126, 127, 141, 133, 136,
1148     127, 124, 120, 107, 152, 125, 149, 108, 158, 144,
1149     196, 185, 174, 164, 151, 149, 138, 131, 140, 137,
1150     149, 148, 144, 145, 143, 145, 140, 143, 141, 147,
1151     112, 125, 113, 113, 149, 155, 143, 149, 146, 151,
1152     138, 138, 141, 138, 144, 129, 134, 125, 143, 140,
1153     153, 154, 142, 123, 162,  42, 154, 106, 153, 130,
1154     153, 153, 137, 137, 144, 144, 142, 140, 165, 151,
1155     161, 140, 144, 134, 156, 124, 167, 143, 166, 155,
1156     132, 132, 137, 138, 137, 132, 124, 127, 140, 144,
1157     134, 140, 162, 180, 127, 131, 152, 169, 145, 156,
1158     133, 134, 131, 133, 130, 132, 147, 149, 125, 117,
1159     127, 118, 159, 155, 147, 142, 122, 117, 145, 144,
1160     138, 137, 130, 133, 113, 149, 168, 224, 166, 201,
1161     129, 151, 147, 154, 136, 135, 140, 136, 152, 141,
1162     120, 112, 140, 127, 161, 100, 132, 115, 118, 125,
1163     115, 133, 115, 157, 144, 146, 114, 135, 127, 139,
1164     138, 141, 135, 135, 137, 136, 147, 142, 143, 144,
1165     139, 152, 142, 136, 147, 143, 177,  39, 125,  71,
1166     147, 143,  66,  88, 132, 158, 123, 126, 116, 135,
1167     119, 124, 128, 135, 133, 140, 137, 126, 137, 130,
1168     155,  38, 149, 103, 130, 135, 139, 143, 127, 137,
1169     135, 141, 138, 148, 131, 148, 136, 147, 132, 139,
1170     136, 140, 115, 129, 115, 151, 136, 160,  87, 131,
1171     157, 176, 150, 164, 140, 141, 135, 119, 137, 133,
1172     141, 140, 140, 139, 134, 134, 142, 144, 131, 132,
1173     131, 134, 131, 132, 116, 114, 129, 133, 205, 207,
1174     130, 133, 160, 170, 137, 127, 124, 112, 158, 146,
1175     155, 137, 134, 136, 137, 142, 177, 184, 149, 152,
1176     135, 134, 133, 132, 135, 129, 144, 136, 139, 134,
1177     161, 155, 126, 109, 215, 186, 177, 153, 160, 149,
1178     139, 139, 136, 140, 140, 142, 186,  71, 129, 144,
1179     131, 165, 142, 152, 140, 151, 141, 143, 137, 139,
1180     144, 138, 150, 135, 133, 126, 136, 143,  99, 152,
1181     139, 131, 190, 118, 122, 147, 134, 155, 136, 143,
1182     138, 135, 137, 132, 147, 144, 150, 144, 138, 134,
1183     129, 133, 130, 138,  56, 175, 129, 166, 147, 165,
1184     140, 138, 144, 137, 141, 133, 150, 139, 129, 135,
1185      40,  83, 126, 130, 110, 120, 100, 110, 126, 128,
1186     141, 142, 217, 175, 172, 151, 146, 153, 125, 132,
1187     128, 137, 141, 141, 145, 145, 140, 133, 132, 131,
1188     129, 144, 128, 177, 133, 195, 147, 120, 138, 131,
1189     161, 114, 166, 134, 162, 118, 161, 115, 155, 129,
1190     137, 136, 141, 129, 141, 132,  55, 168, 121, 126,
1191     136, 139, 120, 133, 149, 147, 132, 141, 131, 136,
1192     147, 150, 151, 132, 101,  31, 117, 101, 129, 132,
1193     122, 138, 128, 137, 140, 170, 131, 143, 131, 134,
1194     149, 192, 122, 158, 136, 146, 133, 166, 143, 141,
1195     141, 136, 141, 129, 125, 155, 140, 138, 137, 131,
1196     111, 112, 131, 132, 120, 127, 149, 148, 151, 141,
1197     156, 148, 133, 129, 127, 124, 144, 137, 142, 139,
1198     134, 133, 141, 138, 133, 135, 124,  96, 226, 152,
1199     116, 108, 128, 105, 155, 130, 153, 138, 144, 139,
1200     142, 141, 137, 135, 142, 143, 156, 162, 136,  89,
1201     188, 145, 181, 152, 138, 146, 146, 154, 145, 149,
1202     152, 133, 158, 133,  42, 153, 117, 144, 149, 139,
1203     125, 139, 134, 128, 150, 128, 143, 125, 135, 132,
1204     143, 141, 143, 141, 164, 173, 141, 142, 156, 155,
1205     154, 154, 169, 170,  77,  80, 112, 105, 135, 134,
1206     126, 143, 120, 172, 111, 144, 120, 154, 107, 153,
1207      95, 134, 104, 134, 128, 116, 163, 131, 151, 136,
1208     135, 133, 142, 143, 152, 204, 149, 112, 156, 128,
1209     150, 126, 127, 129, 139, 175, 143, 141, 138, 135,
1210     168, 148, 152, 105, 164, 121, 134, 122, 119, 109,
1211     122, 148, 136, 143, 153, 132, 158, 148, 149, 150,
1212     133, 131, 142, 141, 150, 149, 156, 173, 138, 155,
1213     129, 144, 111, 107, 130, 129,  96,  89, 106, 104,
1214     135, 135, 144, 146, 131, 153, 134, 154, 146, 166,
1215     117, 138, 163, 187, 190, 216, 149, 156, 149, 152,
1216     142, 142, 153, 154, 109, 145,  40, 102, 116, 126,
1217     137, 139, 149, 157, 108, 124, 139, 146, 142, 147,
1218     130, 126, 120, 111, 172, 146, 169, 136, 150, 135,
1219     126,  96, 159, 143, 150, 122, 162, 129, 156, 142,
1220     135, 142, 144, 138, 222, 109, 137, 145, 144, 142,
1221     141, 143, 138, 136, 124, 150, 133, 144, 137, 145,
1222     141, 144, 139, 144, 134, 154, 114, 136, 145, 173,
1223     151, 215, 110, 115, 127, 134, 145, 150, 145, 144,
1224     144, 142, 139, 131, 147, 132, 141, 119, 143, 106,
1225     165,  41, 147, 129, 129, 144, 138, 135, 138, 140,
1226     128, 150,  89, 163, 154, 115, 141, 127, 132, 145,
1227     135, 157, 143, 145, 140, 141, 127, 135, 127, 129,
1228     142, 147, 116, 147, 104, 162, 153, 143, 146, 130,
1229     144, 110, 133, 123, 130, 137, 118, 198, 126, 152,
1230     154, 146, 139, 127, 147, 112, 207, 151, 156, 136,
1231     162, 137, 108, 121, 130, 135, 125, 131, 131, 134,
1232     134, 134, 141, 144, 107, 143, 137, 144, 124, 136,
1233     115, 147, 130, 157, 119, 167,  71, 144,  97, 128,
1234     134, 138, 132, 133, 138, 138, 146, 146, 147, 131,
1235     141, 138, 185,  65, 145, 123, 139, 130, 142, 128,
1236     139, 136, 157, 147, 124, 119, 164, 148, 170, 154,
1237     133, 130, 157, 148, 140, 141, 130, 135, 134, 137,
1238     136, 137, 143, 144, 144, 144, 178, 186,  71,  73,
1239     120, 118, 127, 124, 152, 151, 155, 146, 141, 138,
1240     142, 143, 139, 143, 133, 134, 139, 140, 138, 135,
1241     146, 141,  78, 198, 129, 139, 141, 141, 134, 141,
1242     137, 136, 120, 120, 124, 118, 143, 148, 148, 152,
1243     131, 143, 129, 137, 152, 158, 157, 160, 175, 178,
1244     137, 139, 131, 133, 146, 152, 121, 147, 142, 143,
1245     129, 136, 149, 145, 197, 114, 103, 141, 124, 140,
1246     141, 140, 129, 129, 127, 130, 131, 124, 123, 117,
1247     150, 139, 120, 109, 119, 120, 163, 163, 117, 121,
1248     139, 139, 136, 136,  94,  74, 150, 145, 126, 127,
1249     147, 150, 158, 162,  84,  74, 136, 129, 140, 132,
1250     136, 135, 146, 145, 124, 116, 129, 120, 130, 129,
1251     130, 109, 122, 111, 160, 141, 135, 113, 131, 121,
1252     136, 135, 135, 135, 147, 147, 140, 140, 144, 145,
1253     139, 142, 131, 137, 145, 145, 143, 153,  48,  49,
1254     145, 143, 151, 147, 158, 146, 135, 124, 124, 116,
1255     159, 140, 131, 126, 123, 120, 103, 117, 113, 119,
1256     148, 146, 128, 124, 123, 126, 123, 120, 158, 141,
1257     148, 137, 146, 143, 125, 143,  89, 107, 116, 123,
1258     149, 147, 141, 139, 149, 153, 118, 121, 139, 138,
1259     105, 119, 168, 147, 139, 141, 143, 138, 133, 130,
1260     126, 126, 143, 142, 146, 144, 124, 123, 143, 145,
1261     149, 148, 147, 141, 151, 143, 118, 113, 175, 171
1262 };
1263
1264 static const uint8_t wmavoice_dq_lsp16r1[0x500] = {
1265     147, 145, 193, 168, 188, 156, 141, 145, 141, 139,
1266     148, 149, 148, 149, 153, 157, 144, 144, 152, 152,
1267     141, 145, 153, 143, 243, 134, 151, 133, 166, 135,
1268     150, 149, 135, 132,  32,  39, 110, 111, 109, 114,
1269     126, 127, 147, 146, 177, 169, 162, 156, 210, 187,
1270     141, 147,  95, 150, 127, 155, 108, 133, 139, 148,
1271     138, 138, 140, 140, 147, 146, 134, 130, 136, 134,
1272     147, 146, 142, 150,  62, 174, 126, 151, 122, 156,
1273     154, 156, 179, 184, 115, 107, 105,  99, 127, 124,
1274     146, 131, 140,  44, 132, 125, 156, 146, 153, 153,
1275     136, 137, 145, 144, 141, 139, 158, 152, 138, 132,
1276     145, 145, 147, 145, 146, 141, 144, 140, 110,  97,
1277     140, 141, 143, 142, 130, 123, 127, 117, 126, 120,
1278     147, 146, 161, 155, 169, 135, 122, 117, 166, 155,
1279     144, 144, 142, 142, 125, 122, 137, 128, 194, 172,
1280     127,  85, 148, 143, 153, 141, 147, 147, 140, 143,
1281     118, 140,   0,  69,  51,  60, 111, 123, 137, 135,
1282     146, 146, 164, 165, 207, 214, 145, 143, 149, 147,
1283     178, 168, 197, 170, 134, 154, 148, 159, 115, 140,
1284     103, 118,  13,  38, 139, 138, 135, 138, 140, 141,
1285     144, 144, 140, 140, 150, 150, 156, 157, 164, 171,
1286     143, 143, 140, 142, 118, 120, 172, 172, 160, 163,
1287     146, 147, 150, 151, 176, 176, 230, 237, 153, 153,
1288     168, 156, 173, 149, 164, 148, 162, 146, 178, 158,
1289     147, 145, 143, 145, 111, 126, 111, 130,  89, 118,
1290     153, 158, 122, 120, 142, 125, 124, 105, 148, 138,
1291     145, 144, 156, 151, 193, 154, 146, 147, 119, 135,
1292     142, 141, 145, 145, 152, 147, 142, 141, 146, 146,
1293     139, 138, 154, 154, 148, 150, 147, 149, 144, 145,
1294     134, 134, 141, 140, 135, 134, 145, 147, 160, 163,
1295     144, 145, 149, 146, 115,  67, 127, 119, 141, 135,
1296     145, 141, 130, 124, 143, 144, 151, 165, 141, 144,
1297     154, 152, 160, 136, 115,  82,  64,  71,  64,  65,
1298     143, 143, 151, 149, 240, 251, 165, 173, 173, 179,
1299     148, 134, 156,  55, 160, 105, 133,  91, 129,  96,
1300     149, 149, 145, 144, 160, 154, 171, 159, 140, 142,
1301     154, 163, 178, 244, 147, 140, 153, 150, 137, 121,
1302     145, 144, 145, 146, 138, 139, 149, 152, 189, 198,
1303     148, 148, 156, 158, 168, 182, 165, 182, 172, 201,
1304     143, 142,  99,  92, 152, 152, 143, 143, 127, 127,
1305     165, 148, 173, 124, 113, 122, 134, 142, 127, 142,
1306     124, 126, 137, 137, 131, 132, 144, 142, 141, 138,
1307     172, 176, 138, 111, 152, 136, 167, 154, 156, 137,
1308     140, 150,  78, 145, 158, 157, 161, 154, 155, 147,
1309     153, 164, 156, 191, 129, 109, 153, 146, 153, 141,
1310     138, 137, 141, 138, 115,  94, 144, 141, 155, 147,
1311     144, 142, 144, 137, 168, 113, 141, 134, 145, 137,
1312     146, 144, 150, 148, 140, 155, 103, 178, 137, 149,
1313     145, 147, 148, 153, 175, 201, 138, 146, 110, 108,
1314     143, 146, 124, 134, 124, 127, 164, 158, 127, 135,
1315     145, 146, 150, 150, 145, 147,  95,  80, 150, 151,
1316     149, 149, 162, 162, 144, 152, 170, 169, 145, 154,
1317     145, 149, 143, 146, 142, 145, 152, 146, 160,  98,
1318     141, 141, 153, 153, 140, 137, 131, 131, 145, 146,
1319     133, 132, 127, 124, 158, 150, 173, 164, 178, 167,
1320     146, 146, 154, 155, 117, 127, 143, 147, 147, 156,
1321     142, 143, 144, 145, 146, 152, 170, 199, 151, 165,
1322     146, 147, 139, 140, 147, 149, 132, 134, 147, 149,
1323     138, 139, 142, 143, 162, 188, 145, 149, 160, 164,
1324     150, 150, 139, 139, 143, 142, 146, 146, 137, 138,
1325     142, 142, 141, 140, 152, 153, 164, 171, 110, 112,
1326     139, 139, 143, 143, 138, 138, 142, 142, 143, 143,
1327     137, 140, 142, 142, 145, 141, 149, 141, 182, 135,
1328     146, 146, 150, 150, 144, 145, 150, 151, 135, 137,
1329     137, 145,  51,  62,  68,  54,  69,  57,  62,  41,
1330     137, 139, 139, 144, 135, 150, 225, 232, 208, 197,
1331     136, 135, 141, 143, 145, 150, 160, 169, 213, 247,
1332     142, 137,  72,  54, 110, 107, 105, 107, 127, 130,
1333     145, 143, 169, 155, 219, 174, 195, 164, 183, 157,
1334     155, 157, 239, 232, 169, 164, 170, 172, 156, 159,
1335     142, 143, 136, 144,  59, 100, 139, 142, 130, 138,
1336     147, 146, 150, 161, 128, 235, 143, 155, 146, 167,
1337     154, 149, 128, 151,  42, 149,  55, 136,  59, 127,
1338     128, 126,  74,  92, 143, 153, 140, 150, 166, 176,
1339     146, 152, 150, 145, 140, 100, 140, 105, 124,  59,
1340     195, 191, 146, 148, 144, 136, 136, 133, 129, 122,
1341     133, 148,  40, 147, 102, 140, 123, 148, 118, 136,
1342     143, 143, 150, 148, 184, 153, 160, 147, 166, 149,
1343      58,  68, 127, 135, 141, 145, 143, 147, 150, 151,
1344     140, 143, 137, 137, 120, 114,  71,  65, 125, 123,
1345     153, 148, 215, 159, 136, 135, 150, 146, 150, 150,
1346     148, 138, 166,  94, 150, 145, 145, 139, 147, 145,
1347     146, 147, 150, 139, 171,  63, 158, 142, 153, 133,
1348     147, 148, 143, 143,  76,  72, 155, 159, 164, 176,
1349     149, 149, 173, 195, 145, 165, 138, 144, 150, 167,
1350     180, 169, 146, 151, 146, 166, 147, 166, 149, 171,
1351     157, 156, 168, 166, 147, 149, 121, 122, 116, 124,
1352     145, 145, 147, 148, 172, 189, 168, 180, 144, 146,
1353     139, 145, 141, 150, 115, 172, 141, 146, 143, 148,
1354     145, 145, 142, 143, 145, 147, 138, 143,  58,  73,
1355     141, 142, 146, 145, 163, 149, 218, 161, 147, 132,
1356     152, 147, 146, 147, 140, 150, 141, 152,  89, 150,
1357      78, 134, 135, 137, 139, 142, 140, 137, 137, 130,
1358     144, 144, 152, 151, 145, 140, 181, 170, 191, 168,
1359     164, 166, 136, 148, 112, 124, 139, 144, 146, 149,
1360     142, 151, 113, 182, 137, 150, 143, 156, 138, 147,
1361     154, 156, 108, 102, 118, 119, 133, 139, 113, 111,
1362     145, 144, 150, 147, 175, 151, 104, 106, 116, 114,
1363     143, 144, 151, 157, 151, 191, 135, 113, 138, 123,
1364     146, 146, 155, 157, 106, 145, 132, 127, 140, 125,
1365     161, 165, 146, 150, 151, 154, 139, 140, 142, 143,
1366     144, 148, 145, 149, 147, 138, 168, 104, 146, 136,
1367     138, 140,  91, 108, 111, 110, 145, 140, 158, 154,
1368     130, 112, 122, 118, 136, 135, 119, 118, 141, 140,
1369     147, 146, 146, 145, 138, 138, 182, 188, 132, 132,
1370     144, 144, 156, 155, 168, 172, 123, 128, 144, 151,
1371     142, 140, 145, 145, 137, 144, 141, 152, 128, 188,
1372     149, 149, 160, 161, 160, 160, 166, 163, 130, 107,
1373     143, 143, 142, 142, 149, 149, 132, 132, 170, 174,
1374     148, 148, 154, 153, 118, 111, 157, 155, 114, 109,
1375     140, 139, 138, 137, 205, 187, 137, 133, 147, 144,
1376     144, 145, 147, 149, 105, 125, 108, 117, 155, 162,
1377     146, 146, 162, 157, 144, 122, 154, 143, 161, 139,
1378     141, 142, 130, 131, 144, 144, 142, 141, 144, 142,
1379     132, 132, 141, 141, 150, 151, 139, 141, 151, 153,
1380     142, 142, 154, 154, 150, 150, 148, 148, 166, 165,
1381     143, 142, 144, 144, 132, 132, 142, 144, 130, 128,
1382     142, 142, 143, 143, 153, 153, 147, 142, 129, 125,
1383     142, 141, 143, 142, 143, 147, 105, 122, 135, 140,
1384     141, 140, 140, 140, 151, 151, 156, 155, 146, 146,
1385     133, 134, 140, 142, 142, 145, 141, 146, 112, 133,
1386     142, 142, 145, 145, 137, 138, 155, 157, 149, 150,
1387     144, 144, 139, 138, 130, 128, 132, 131, 147, 147,
1388     139, 140, 142, 143, 115, 121, 141, 143, 137, 141,
1389     146, 146, 150, 150, 145, 144, 133, 133, 133, 135,
1390     143, 144, 144, 144, 166, 167, 139, 142, 139, 140,
1391     150, 149, 138, 138, 142, 140, 148, 147, 160, 155,
1392     146, 146, 147, 147, 138, 137, 143, 142, 151, 150
1393 };
1394
1395 static const uint8_t wmavoice_dq_lsp16r2[0x500] = {
1396      98,  98, 119, 121, 109, 112, 128, 135, 115, 121,
1397     159, 113, 113, 106, 127, 114, 101, 102, 105, 111,
1398     161, 162, 137, 138, 161, 159, 152, 150, 150, 148,
1399     128,  79, 131, 102, 142, 120, 133, 119, 130, 117,
1400     121, 115, 142, 133, 186, 155, 179, 144, 169, 135,
1401     107, 103, 106, 106, 122, 122, 111, 112, 112, 115,
1402     127, 123, 118, 115, 128, 125, 123, 119, 115, 109,
1403     124, 130, 117, 126, 121, 133,  84, 144,  99, 114,
1404     122, 125, 123, 131, 124, 135, 176, 200, 158, 176,
1405      68,  74,  86,  87, 117, 115, 119, 116, 135, 128,
1406     115, 116, 102, 104, 119, 123, 133, 148, 102, 109,
1407      71, 121, 106, 117, 107, 127, 106, 122, 100, 110,
1408     117, 115, 129, 128,  87,  84, 116, 116, 151, 157,
1409     116, 128, 110, 117, 119, 134, 100, 114, 120, 129,
1410     142, 141, 146, 151,  94,  91, 114, 114, 118, 118,
1411     114, 112, 112, 109, 115, 112, 123, 123, 147, 148,
1412     110, 164, 106, 152, 110, 158, 106, 151, 105, 135,
1413      85,  51,  71,  27,  71,  34,  74,  45,  85,  53,
1414     145, 134, 140, 130, 136, 134, 118, 122, 118, 126,
1415     117,  84, 121,  81, 106,  80, 109, 106, 121, 127,
1416      95,  94, 112, 110,  90,  94, 109, 107, 114, 109,
1417     117, 118, 118, 123, 107, 107,  86,  93,  29,  31,
1418     125, 112, 104,  60, 121, 111, 127, 116, 133, 130,
1419     118, 117, 148, 145, 122, 126, 124, 127,  90,  91,
1420     113, 110, 119, 118, 152, 147, 115, 112, 132, 131,
1421     129, 140,  98, 112,  73,  85, 109, 115, 122, 126,
1422     123, 122, 122, 122, 126, 125, 137, 140, 203, 210,
1423     164, 176, 114, 114, 125, 122, 119, 112, 125, 120,
1424     124, 122, 118, 115,  95,  96, 141, 144, 132, 131,
1425     127, 130, 132, 134, 116, 114, 122, 123, 137, 134,
1426     111, 111, 112, 116, 106, 118,  77, 101, 104, 115,
1427     111, 111, 125, 126, 118, 121, 113, 115, 113, 113,
1428     171, 170, 202, 199, 221, 206, 199, 184, 177, 167,
1429      73,  90,  61,  93,  43,  74,  51,  71,  51,  72,
1430     130, 130, 140, 137, 134, 132, 164, 160, 118, 111,
1431     123, 136, 133, 154, 130, 158, 106, 110, 110, 114,
1432      97,  97,  91,  94,  70,  69, 125, 123, 141, 140,
1433     119, 100, 116,  77, 111,  67, 105,  52,  95,  34,
1434     100, 122,  90, 124,  68, 120,  43, 117,  50, 112,
1435     130, 129, 192, 188, 123, 118, 124, 117, 121, 115,
1436     122, 111, 129, 111, 157,  85, 125, 109, 125, 119,
1437     143, 152, 119, 128, 114, 116, 129, 136, 148, 157,
1438     119, 117, 115, 115, 150, 148, 163, 154, 109, 102,
1439     120, 126,  73, 119, 106, 121, 102, 122,  96, 113,
1440      84,  83, 117, 115, 122, 117, 154, 143, 159, 142,
1441     118, 122, 114, 117, 115, 122, 114, 130,  99, 156,
1442     123, 120, 122, 116, 100,  81,  99,  91, 121, 112,
1443     139, 131, 164, 142, 132, 119, 145, 133, 157, 141,
1444     112, 109, 118, 116, 142, 134, 108, 110,  96,  99,
1445     111, 110, 113, 112, 111, 104,  98,  94, 131, 131,
1446     115, 114, 121, 118, 120, 115, 173, 148, 123, 117,
1447     121, 124, 122, 124, 140, 146,  78,  82,  96,  93,
1448      86,  90, 124, 125, 121, 123, 105, 106, 134, 135,
1449     107, 109, 132, 141, 100,  95, 113, 114, 102, 105,
1450     113, 130,  98, 145, 116, 115, 124, 117, 115, 105,
1451     120, 123,  89,  87, 109, 108, 102, 101, 117, 117,
1452     113, 122, 132, 138,  77, 116,  86,  99, 118, 126,
1453     123, 120, 117, 111, 124, 119, 129, 118,  63,  58,
1454     141, 135, 108, 106, 109, 111, 108, 110, 135, 138,
1455     117, 114, 134, 127, 139, 129, 138, 130, 126, 122,
1456     121, 118, 124, 121, 133, 130,  98,  85, 130, 123,
1457     147, 129, 118, 112, 148, 130, 136, 123, 148, 131,
1458     113, 112, 123, 118, 123, 115, 147,  95, 117, 110,
1459     118, 119, 112, 113, 112, 113, 119, 119, 120, 120,
1460     158, 133, 198, 145, 188, 129, 197, 137, 195, 133,
1461     132, 140, 140, 139, 158, 156, 223, 217, 233, 233,
1462      48,  56,  34,  37,  82,  84, 102, 102, 108, 110,
1463     120, 142, 136, 169, 146, 195, 136, 186, 140, 182,
1464     196, 186, 158, 155, 142, 134, 132, 125, 120, 119,
1465      97, 105,  72,  75,  82,  85,  81,  84, 107, 109,
1466      67, 121,  43, 119,  69, 124,  87, 129,  88, 128,
1467      53,  57,  93,  98,  91,  94,  93,  98, 104, 104,
1468     124, 123, 133, 133, 182, 181, 119, 121, 114, 116,
1469     128, 105, 134, 112, 131,  72, 119,  59, 111,  84,
1470     132, 142, 145, 180, 124, 132, 131, 143, 122, 134,
1471      88,  85, 103, 103, 136, 140, 131, 143, 114, 132,
1472     116,  57, 113,  57, 121,  76, 126,  80, 118,  86,
1473     127, 112, 127,  97, 131, 100, 149,  91, 163,  86,
1474     122, 119, 128, 121, 128, 116, 142, 127, 173, 139,
1475     162, 116, 166, 107, 149, 103, 152, 107, 141, 108,
1476     114, 113, 118, 116,  56,  43,  90,  90, 105, 105,
1477     132, 134, 110, 107, 106, 105,  82,  84,  84,  84,
1478     102, 106,  79,  89,  99,  99, 127, 129, 114, 118,
1479     139, 157, 116, 123, 116, 123,  87,  89, 110, 113,
1480     119, 126,  97,  97, 155, 163, 142, 153, 143, 146,
1481     117, 114,  66,  67, 125, 126, 127, 128, 114, 113,
1482     111, 114, 127, 133, 123, 132, 143, 162, 133, 148,
1483     105, 108, 114, 114, 110, 109,  57,  48, 109, 106,
1484     113, 130, 104, 131,  88, 139, 102, 169, 100, 172,
1485     129, 114, 150,  97, 114, 112, 117, 119, 109, 116,
1486      92, 107,  96, 116,  90, 125, 101, 122, 125, 140,
1487     125, 133, 122, 129, 136, 153, 125, 135, 131, 139,
1488      84,  71, 129, 123, 135, 120, 114, 103, 112, 101,
1489     108, 121, 115, 156, 106, 123, 116, 131, 127, 139,
1490     137, 147, 109, 117, 119, 126, 135, 144, 117, 119,
1491     120, 127,  76, 105, 111, 116, 120, 125, 141, 138,
1492     107, 104, 162, 155, 135, 130, 127, 123, 127, 121,
1493     102, 104,  84,  87, 112, 115,  97, 102,  78,  82,
1494     119, 118, 120, 123,  91, 105, 114, 119, 119, 126,
1495     130, 126, 134, 126, 158, 134, 133,  99, 116, 100,
1496     125, 122, 145, 143, 126, 117,  98,  96, 121, 120,
1497     152, 148, 131, 126, 130, 129, 126, 119,  87,  87,
1498     131, 131, 139, 137, 101, 102, 104, 105,  86,  83,
1499      92,  89, 111, 105, 121, 115, 137, 124,  96,  84,
1500     100,  96, 122, 119, 107, 108,  93,  96,  79,  82,
1501     128, 123, 108, 106, 123, 120, 150, 150, 143, 140,
1502     121, 120,  97,  99,  79,  80, 116, 116,  88,  90,
1503     128, 131, 101,  97, 140, 140, 117, 116, 116, 118,
1504     137, 135, 100,  91, 115, 112, 134, 121, 107,  99,
1505     120, 122, 122, 125, 124, 126, 136, 141,  89,  95,
1506     103, 119, 103, 116, 122, 139, 125, 137, 152, 170,
1507     121, 122, 124, 124,  98,  97, 137, 140,  96,  92,
1508     115, 113, 136, 136, 128, 132, 122, 124, 151, 158,
1509     100, 107, 121, 131, 131, 158, 119, 130, 113, 114,
1510     114, 109, 148, 130, 103,  95, 127, 116, 137, 120,
1511     103, 108,  97,  97, 133, 128, 113, 109, 136, 128,
1512     125, 124, 118, 118, 122, 121, 101,  99, 157, 152,
1513     138, 134, 124, 115, 113, 101, 123, 112, 124, 110,
1514     116, 113, 128, 121, 119, 110, 124, 113, 128,  67,
1515     114, 118, 114, 123, 109, 121, 102, 123,  56, 116,
1516     117, 111, 112,  99, 124, 114, 112,  79, 114,  88,
1517     112, 113, 115, 117, 126, 127, 130, 132, 123, 122,
1518     111, 104, 111, 102, 112, 102, 129, 118, 129, 115,
1519     123, 124, 130, 133, 114, 117, 125, 127, 112, 117,
1520     124, 125, 119, 120, 117, 116, 105, 104, 110, 110,
1521     125, 124, 118, 116, 124, 123, 124, 121, 133, 132,
1522     111, 111, 124, 124, 120, 119, 116, 116, 134, 130,
1523     114, 116, 112, 113, 109, 111, 116, 118,  95,  98
1524 };
1525
1526 static const uint8_t wmavoice_dq_lsp16r3[0x600] = {
1527      84,  82,  95,  94, 125, 131,  98, 102,  94,  93, 104, 104,
1528     127, 113,  87,  77, 125, 114, 109,  94,  94,  91, 106, 105,
1529     168, 125, 163, 120, 128, 100, 119,  99, 108,  97, 108, 106,
1530      86,  85, 128, 125,  79,  73, 103, 102, 123, 123, 116, 117,
1531      84,  76, 135, 131, 133, 133, 129, 130, 125, 123, 115, 114,
1532      94,  97,  79,  81, 115, 115,  94,  93, 128, 127, 126, 125,
1533     124, 111, 105, 114, 104, 117, 109, 110, 124, 125, 118, 117,
1534     107, 110, 106, 110,  93,  93, 149, 148, 118, 119, 111, 110,
1535     147, 157, 143, 156, 134, 136, 118, 121, 106, 107, 105, 105,
1536     114,  83, 114,  46, 106,  53, 110,  83, 107,  94, 105, 103,
1537      92,  90, 109, 106, 172, 160, 114, 110, 109, 110, 110, 109,
1538      90,  98,  98, 109, 102,  98,  97,  92, 100, 100, 101, 102,
1539     123, 117, 124,  98,  82,  80, 117, 115, 112, 110, 109, 108,
1540     107, 111, 100, 115, 105, 120, 104, 105,  83,  82,  95,  96,
1541     109, 120,  72,  71,  97, 104,  69,  74,  99, 102, 118, 117,
1542     137, 133, 142, 135, 105, 110, 121, 121, 125, 122, 114, 112,
1543     151, 186, 115, 132, 103, 111, 100, 104,  99, 101, 104, 105,
1544      18,  38,  56,  65,  76,  83,  85,  91, 101, 103, 108, 110,
1545     144, 135, 126, 121, 115, 113,  79,  80, 118, 117, 117, 117,
1546     117, 124, 115, 115, 126, 113, 130, 116, 112, 106, 108, 105,
1547      77,  76,  76,  80, 109, 109, 125, 129, 130, 133, 116, 118,
1548      96,  86, 109,  99, 102,  69,  84,  69, 107, 103, 114, 113,
1549      78, 118,  82, 114,  84, 129,  69, 112,  78,  98,  96, 103,
1550      89, 137,  96, 111, 105,  97,  93,  93, 101, 105, 105, 105,
1551     141, 123, 102,  93,  91,  79,  87,  81, 102,  99, 109, 108,
1552      94,  92, 124, 123, 130, 134, 100, 107,  71,  75,  92,  91,
1553      94, 104, 107,  83, 106, 101, 113, 114, 122, 122, 114, 114,
1554     118, 124, 103, 106,  95, 116,  90,  93, 107, 104, 109, 107,
1555     116, 118,  76,  72,  88,  88, 132, 132, 140, 141, 116, 116,
1556      90,  81, 111,  95, 139,  97, 123,  96, 112, 100, 110, 108,
1557     112, 116, 133, 140, 112, 120,  80,  85,  55,  55,  85,  84,
1558     125,  94, 111, 104, 116, 103, 112,  86,  93,  84,  99,  98,
1559     180, 179, 197, 197, 169, 163, 149, 146, 130, 124, 116, 115,
1560      76,  47,  36,  11,  43,  28,  66,  53,  82,  80, 102,  99,
1561     119, 123, 176, 201, 113, 120, 112, 111, 103, 105, 106, 110,
1562     145, 114, 112,  89, 120,  93, 123, 104, 131, 123, 113, 111,
1563      97, 109,  82, 106,  75, 104, 103, 115, 120, 124, 111, 114,
1564     114, 111, 113, 105,  34,  33,  63,  63, 105, 106, 122, 122,
1565      51,  41,  96,  92, 125, 125, 118, 118, 118, 119, 113, 113,
1566     111, 180, 108, 178, 107, 171, 110, 160, 105, 136, 102, 117,
1567      76,  79,  90,  92,  80,  88,  88,  93, 123, 124, 122, 122,
1568     131, 128, 123, 122, 151, 158, 108, 107, 129, 128, 119, 119,
1569      97,  99, 114, 120, 121, 125, 151, 157,  82,  89,  95,  96,
1570     128,  94, 130,  95, 149, 113, 149, 120, 127, 115, 113, 109,
1571     167, 171,  83,  80,  84,  79, 106, 106, 112, 110, 107, 108,
1572     130, 139,  81,  88, 107, 106, 112, 112, 119, 118, 114, 112,
1573     108, 105, 100,  98, 120, 116, 122, 117,  38,  37,  72,  73,
1574     118, 125, 110, 120, 114, 126, 135, 142, 139, 142, 118, 119,
1575     119, 119, 156, 145,  78,  75,  94,  94, 112, 110, 113, 113,
1576     101, 108,  98, 104, 103, 109, 117, 118, 167, 167, 132, 132,
1577     116, 108, 118, 111, 149, 136,  85,  74,  95,  92, 113, 112,
1578      74,  69, 104, 107,  96, 100, 117, 121, 103, 105, 103, 103,
1579     110, 106, 111, 101,  82,  72,  96,  92, 132, 130, 120, 121,
1580     116, 113, 138, 139, 104, 103, 131, 131,  68,  69,  92,  92,
1581      97,  97, 146, 151, 122, 132,  97,  95, 117, 116, 115, 116,
1582     139, 134, 110, 110, 124, 129, 100, 110,  86,  91, 100, 102,
1583     116, 136,  88,  90, 137, 139, 103, 114, 114, 117, 111, 110,
1584      82,  83, 104, 102,  97,  99,  97,  97,  58,  56,  84,  84,
1585      83, 122,  76, 105, 112, 126, 120, 134, 112, 120, 108, 110,
1586     114, 128,  73,  90,  72,  76,  98, 100,  95,  96, 101, 102,
1587     101, 108, 118, 126,  94, 102,  81,  83, 138, 140, 131, 130,
1588      88, 100, 112, 124, 105, 106, 122, 123, 121, 121, 114, 114,
1589      76, 108,  73,  83,  93,  95, 110, 111,  98,  99, 103, 103,
1590     105, 112,  98, 108, 114,  95, 117,  98, 120, 116, 116, 115,
1591     231, 238, 150, 146, 124, 126, 115, 122, 117, 121, 112, 112,
1592      74,  73,  72,  74,  60,  61,  62,  61,  85,  85, 101, 101,
1593      67,  69,  50,  51,  83,  83, 110, 110, 118, 113, 112, 111,
1594     199, 124, 184, 115, 176, 117, 165, 120, 138, 115, 116, 114,
1595      52, 116,  36, 107,  49,  99,  72, 106,  91, 107, 104, 105,
1596     140, 138, 141, 135, 154, 147, 166, 159, 139, 136, 116, 115,
1597     130, 119, 180, 157, 183, 149, 136, 121, 119, 114, 111, 110,
1598     104, 129, 113, 154, 111, 148, 108, 132, 105, 117, 106, 111,
1599     114,  35,  99,  65, 113,  94, 110,  98, 111, 107, 107, 106,
1600     106, 110, 128, 135, 162, 175, 143, 155, 115, 116, 109, 109,
1601     168, 155, 112, 109, 125, 125, 126, 122, 126, 124, 111, 112,
1602     128,  96, 160,  77, 151,  77, 121,  80, 114,  94, 107, 103,
1603      97, 104, 101, 116,  56,  79,  74,  83,  92,  95, 104, 106,
1604      63,  68,  76,  77, 110, 107,  96,  90,  85,  83,  97,  96,
1605     116, 110,  46,  42, 103, 100, 122, 120, 102, 101, 104, 104,
1606     106, 101, 109,  98,  96,  61,  67,  35,  72,  61,  96,  93,
1607      88,  80,  81,  76, 113, 110, 144, 143,  88,  89,  93,  94,
1608      95,  96, 100, 101, 136, 132, 166, 160, 148, 147, 115, 116,
1609      80,  78, 130, 129, 120, 108,  91,  85,  95,  91, 104, 102,
1610     151, 147, 106, 109, 110, 110,  64,  69,  68,  67,  96,  96,
1611      90, 166,  97, 128,  99, 120, 104, 121, 109, 118, 105, 109,
1612     122, 138, 110, 143,  75,  97,  83,  94,  89,  94, 102, 103,
1613     136, 142, 103, 110,  83,  89,  99, 101, 138, 138, 120, 122,
1614     168,  88, 105,  90, 109, 107, 110, 111, 106, 105, 103, 102,
1615      68,  72, 102, 104,  92, 102,  65,  75,  89,  94, 106, 106,
1616      83,  74,  93,  85,  73,  66, 106, 102, 100,  92,  99,  97,
1617      93,  99, 101,  96, 116, 112, 125, 120,  88,  88,  96,  96,
1618      44,  98,  93, 115, 104, 116, 103, 107, 112, 113, 107, 107,
1619      93,  83, 105,  99,  93,  84, 127, 125, 141, 143, 117, 118,
1620     106, 103, 126, 121, 137, 123, 123, 114, 147, 142, 127, 123,
1621     103, 110,  89,  91, 121, 124,  66,  71,  68,  69,  96,  97,
1622     114, 105,  68,  65,  69,  67,  96,  94, 131, 130, 123, 121,
1623     111, 104, 130, 121,  95,  95,  72,  74,  88,  88, 105, 104,
1624     135, 124, 110,  98, 114, 111, 159, 158, 111, 113, 104, 106,
1625     103, 108,  94, 107,  55,  57, 115, 118, 121, 122, 111, 111,
1626      97,  99, 106, 111, 119, 126,  59,  62, 111, 112, 124, 125,
1627      86,  93, 100, 110, 118, 145, 113, 132, 120, 125, 112, 112,
1628     101, 115,  78, 149,  81, 114, 111, 121, 108, 112, 107, 108,
1629     104, 104,  94,  96,  84,  83, 135, 132,  71,  69,  88,  86,
1630     100,  98,  62,  60,  81,  80,  90,  89,  63,  66,  89,  90,
1631     123, 116, 108,  99,  90,  86,  91,  92,  65,  65,  88,  88,
1632      84,  79, 115, 109, 123, 111,  99,  99, 134, 136, 121, 123,
1633     127, 137,  84,  88, 104, 107, 128, 130,  74,  69,  89,  89,
1634     118, 112, 143, 132, 141, 131, 113, 113,  99, 102, 104, 105,
1635     117, 115, 100,  99, 131, 126,  90,  88, 145, 144, 128, 127,
1636     112, 114, 131, 133,  85,  84, 118, 119, 151, 152, 117, 117,
1637     110, 105, 162, 140, 116, 107, 140, 134, 124, 122, 113, 113,
1638     107, 110, 124, 133,  98, 103,  99, 107, 109, 113, 112, 112,
1639     115, 105,  82,  77, 125, 122, 133, 132, 118, 120, 113, 113,
1640     101,  88,  84,  80,  97,  99,  91,  91,  94,  94, 101, 100,
1641     121,  86, 139, 108, 106,  93, 103,  99, 112, 108, 108, 107,
1642     113,  83, 105, 102, 125, 125, 114, 115, 110, 112, 108, 109,
1643      93, 112, 113, 121, 125, 131, 101, 101, 107, 109, 111, 111,
1644      98, 102, 117, 126,  80,  84, 107, 109,  83,  84,  96,  97,
1645     132, 136, 112, 118,  94,  93, 121, 118,  99,  98, 102, 103,
1646     122, 127, 128, 133, 118, 104, 102,  88, 100,  94, 104, 102,
1647     115, 116, 102, 105, 140, 142, 135, 130,  90,  88, 100, 101,
1648      94,  86, 112, 112,  89, 121,  92, 101, 109, 108, 110, 112,
1649      99,  93, 129, 114, 109,  99, 131, 119, 102,  97, 103, 103,
1650     103, 116, 124, 101, 115,  95, 105, 101,  94,  91, 100, 100,
1651     113,  90,  94,  86,  92,  92, 117, 111, 106, 103, 106, 105,
1652     115,  99, 110,  91, 107, 104,  81,  90, 108, 113, 112, 113,
1653     113, 114,  93, 101, 101, 102, 101, 126,  93, 103, 104, 105,
1654     117, 106, 124, 107, 104, 119, 108, 133, 104, 111, 104, 106
1655 };
1656
1657 static const float wmavoice_lsp10_intercoeff_a[32][2][10] = {
1658     { {  0.5108627081,  0.0480548441, -1.5099149644,  0.6736935377,
1659          0.7536551058,  0.7651474178,  0.8510628343,  0.6667704582,
1660          0.7576012611,  0.7091397047 },
1661       {  0.1351471841, -0.1965375543, -1.6313457787,  0.3218626380,
1662          0.4132472873,  0.4663473070,  0.5805781186,  0.3962165117,
1663          0.4818550050,  0.4907165468 } },
1664     { {  0.8556320667,  0.7774704993, -0.0175759494, -0.1882298589,
1665          0.1892164350,  0.4850396216,  0.6270319819,  0.6327089071,
1666          0.6513319910,  0.6075088978 },
1667       {  0.4374088347,  0.3505934179, -0.0762144327, -0.2830760479,
1668         -0.0626451969,  0.1500318050,  0.2602472305,  0.2781780064,
1669          0.3167395592,  0.3596626520 } },
1670     { {  0.1899779737,  0.0650856197,  0.1699010432,  0.9122628570,
1671          0.9097705483,  0.7433397174,  0.6304935217,  0.5164704025,
1672          0.4174703658,  0.5215242505 },
1673       {  0.0704856217,  0.0169009864,  0.0188394487,  0.5587704182,
1674          0.5194473267,  0.3539164960,  0.2426626086,  0.1721164286,
1675          0.1371548772,  0.2594856918 } },
1676     { {  0.8858859241,  0.9100474715,  0.8921859264,  0.9332397878,
1677          1.0225475132,  1.0555013716,  1.0983552337,  1.1290244758,
1678          1.0363244414,  0.9277705550 },
1679       {  0.4810934663,  0.5782935023,  0.6835935414,  0.7650781870,
1680          0.9018090069,  0.9996321201,  1.0219936669,  1.0474705994,
1681          0.9109474719,  0.7774704993 } },
1682     { {  0.4359549880,  0.2275702953,  0.0993548632,  0.1763395071,
1683          0.1055856347,  0.1018471718,  0.1170087159,  0.1221317947,
1684          0.1834010482,  0.2988780141 },
1685       {  0.1573702693,  0.1041317880,  0.0506856143,  0.0781702399,
1686          0.0058932900, -0.0026913285, -0.0031067133,  0.0070702136,
1687          0.0116394460,  0.0566394627 } },
1688     { {  0.8528628349,  0.8028782010,  0.4680088460,  0.9055474699,
1689          1.3742399514,  1.1093629301,  0.4122780561,  0.4003703594,
1690          0.6360319853,  0.6415704489 },
1691       {  0.4252934456,  0.3823703527,  0.1676856577,  0.5241550207,
1692          1.1995706558,  0.9088013172,  0.1224087179,  0.0730471611,
1693          0.3071857095,  0.3772472739 } },
1694     { {  0.5508781075,  0.2829549313, -0.0022067130,  0.1042702496,
1695          1.0318244398,  1.3258476257,  1.3550630212,  0.9931936562,
1696          0.7195243239,  0.6807550788 },
1697       {  0.2679318488,  0.0960317850, -0.1357529163, -0.1291759908,
1698          0.6451012194,  0.9968628883,  0.9510321021,  0.6608166099,
1699          0.3799472749,  0.3735780418 } },
1700     { {  0.9967244267,  1.0255244374,  0.9800398052,  0.7939474285,
1701          0.8288397491,  0.8390166759,  0.8660166860,  0.9247936308,
1702          0.9127474725,  0.8684397638 },
1703       {  0.7921474278,  0.9416859448,  0.8547320664,  0.5348165631,
1704          0.6231550574,  0.6703012288,  0.6987550855,  0.8147858977,
1705          0.7406397164,  0.6496012211 } },
1706     { {  0.1439394951, -0.3193529844, -0.2024914026, -0.1854606271,
1707          0.0877240896,  0.1617318094,  0.3087087870,  0.3777318895,
1708          0.3910242021,  0.4797780812 },
1709       { -0.0157067180, -0.1778452396, -0.1554836929, -0.1759760082,
1710         -0.0607759655, -0.0161221027,  0.0393317640,  0.0758856237,
1711          0.1163856387,  0.1947548985 } },
1712     { {  1.1021629274,  0.9958244264,  0.4658626914,  0.3089164793,
1713          0.3740626574,  0.2962472439,  0.3170857131,  0.2420395315,
1714          0.2649549246,  0.2936857045 },
1715       {  0.4700857699,  0.1809087396,  0.0311625302,  0.0106009841,
1716          0.0311625302,  0.0266625285,  0.0221625268,  0.0156548321,
1717          0.0551163852,  0.1010164022 } },
1718     { {  0.2925087810,  0.3418011069,  0.7339243293,  0.7322627902,
1719          0.7288704813,  0.7924935818,  0.7724166512,  0.7819012702,
1720          0.8325782120,  0.7954705060 },
1721       {  0.0559471548, -0.0456144214, -0.0462374985, -0.1005144417,
1722         -0.0511528850, -0.0455451906, -0.0044220984,  0.0451471508,
1723          0.1232394874,  0.2085318267 } },
1724     { {  0.2230702937, -0.9052532017,  1.2441552877,  1.0825706124,
1725          0.9088705480,  0.8797243834,  0.8648397624,  0.8091089725,
1726          0.7633474171,  0.7468704879 },
1727       { -0.2030452490, -1.4167303145,  1.3542322516,  0.8369397521,
1728          0.6148473620,  0.5560704172,  0.5450627208,  0.4978473186,
1729          0.4200319052,  0.4904396236 } },
1730     { {  0.6088242829,  0.5965704322,  0.6547242999,  0.8554936051,
1731         -0.2989298999,  0.2404472232,  0.3573780358,  0.7499166429,
1732          0.7691628039,  0.6824858487 },
1733       {  0.2582395375,  0.2721549273,  0.3462318778,  0.4820626974,
1734         -0.4780299664, -0.0712990463,  0.0200163722,  0.4246703684,
1735          0.4660011530,  0.4172626734 } },
1736     { {  1.1749937236,  1.0773090720,  1.0566782951,  1.0249013603,
1737          0.9947167337,  0.9626628757,  0.9562244117,  0.9072782397,
1738          0.7654243410,  0.6448935270 },
1739       {  1.1595552564,  0.9340013266,  0.3959395885,  0.3693549633,
1740          0.3915780485,  0.3104395568,  0.3499011099,  0.2236933708,
1741          0.1638087332,  0.1811856627 } },
1742     { {  0.9572628736,  0.9389859438,  0.6619243026,  0.6849089265,
1743          0.7276935577,  0.7839781940,  0.7987243533,  0.7748397291,
1744          0.7101089358,  0.7277627885 },
1745       {  0.5809935033,  0.5575934947,  0.3544703424,  0.3636780381,
1746          0.3736472726,  0.4486242235,  0.4684934616,  0.4481396079,
1747          0.3456780314,  0.4478626847 } },
1748     { {  0.1259394884,  1.3096476197,  1.0794552267,  1.0009475052,
1749          0.9061013162,  0.9216782451,  0.8954397738,  0.9160013199,
1750          0.8575012982,  0.7479089499 },
1751       { -0.3689222336,  1.5293861628,  0.7323320210,  0.4102703631,
1752          0.3825780451,  0.2828164697,  0.2644010782,  0.2455010712,
1753          0.2482010722,  0.2335241437 } },
1754     { {  0.5380704105,  0.1600702703, -0.0657605827, -0.2390452623,
1755         -0.3885837793, -0.4150299430, -0.3001760542, -0.1451683044,
1756          0.1312010288,  0.2798395455 },
1757       {  0.2074933648,  0.0560163856, -0.0956682861, -0.2893068194,
1758         -0.3889991641, -0.3918376267, -0.3550068438, -0.2649375796,
1759         -0.0554451942,  0.1167317927 } },
1760     { {  0.6092396677,  0.5101011693,  0.4012011290,  0.5416011810,
1761          0.5715781152,  0.6476627588,  0.6988243163,  0.7306012511,
1762          0.7531704903,  0.6534781456 },
1763       {  0.2060395181,  0.1409625709,  0.1024702489,  0.1834010482,
1764          0.1946856678,  0.2547779977,  0.3134857118,  0.3283011019,
1765          0.3837549686,  0.3501780331 } },
1766     { {  0.4516011477,  0.5351627171,  0.8068243563,  0.7049858570,
1767          0.7165473998,  0.6005858183,  0.4870473146,  0.2500010729,
1768          0.3132087886,  0.4462703764 },
1769       {  0.1053087115,  0.1348702610,  0.4457857609,  0.3499703407,
1770          0.3537780344,  0.2628780007,  0.1665087342,  0.0200856030,
1771          0.0329625309,  0.1525241137 } },
1772     { {  0.7058166265,  0.7305320203,  1.1684860289,  1.4524707496,
1773          1.3212091625,  1.2613245249,  1.1712552607,  1.1154552400,
1774          1.0487167537,  0.9153782427 },
1775       {  0.2286087573,  0.2851703167,  1.2016475797,  1.5154707730,
1776          1.2726091444,  1.1459167898,  0.9801090360,  0.9296397865,
1777          0.8490551412,  0.6772243083 } },
1778     { {  0.6686396897,  0.5728935003,  0.4734780788,  0.6970243156,
1779          0.5852165818, -0.0762836635, -0.2054683268, -0.1380375326,
1780          0.1282933354,  0.3467164934 },
1781       {  0.2925087810,  0.2344933748,  0.1677548885,  0.2747856975,
1782          0.2097087502, -0.2795452774, -0.3761222363, -0.3183837533,
1783         -0.0834836662,  0.1482318044 } },
1784     { {  0.6559704542,  0.7737320364,  0.9867551923,  0.9912551939,
1785          0.9508936405,  0.9114320874,  0.8336859047,  0.7905551195,
1786          0.7672935724,  0.7532397211 },
1787       {  0.1843702793,  0.2565087676,  0.7571858764,  0.7545551062,
1788          0.6793704629,  0.5981627405,  0.5078165531,  0.4282011390,
1789          0.3948318958,  0.4502165318 } },
1790     { {  0.4430857599,  0.6102781296,  0.8485012949,  0.8573628366,
1791          0.9078320861,  0.9979705811,  1.0411013663,  1.0524552166,
1792          1.0194321275,  0.9023628533 },
1793       {  0.0070009828,  0.0084548295,  0.1613856554,  0.3484472632,
1794          0.4385857582,  0.5895088911,  0.6367935240,  0.6736935377,
1795          0.7026320100,  0.5924165845 } },
1796     { {  1.0532859862,  1.1059706211,  1.1311013997,  1.1250783205,
1797          1.0425552130,  0.9993551970,  0.9673013389,  0.9386397898,
1798          0.8836013079,  0.8336859047 },
1799       {  0.9791398048,  1.1481321752,  1.1275706291,  1.0082167387,
1800          0.8809705377,  0.8031551242,  0.7287320197,  0.6496704519,
1801          0.5211088657,  0.4734088480 } },
1802     { { -0.0251221061, -0.0443682671,  0.1282241046,  0.3850703537,
1803          0.4252934456,  0.4547857642,  0.4690473080,  0.4873242378,
1804          0.6001012027,  0.5882627368 },
1805       { -0.0562759638, -0.0246374905,  0.0070009828,  0.0971394777,
1806          0.1232394874,  0.1278779507,  0.1302317977,  0.1462241113,
1807          0.2073549032,  0.2446010709 } },
1808     { {  1.1749244928,  1.1155937016,  0.9236167073,  0.6288319826,
1809          0.6515396833,  0.5391781032,  0.5398011804,  0.4997165501,
1810          0.4066703618,  0.3998857439 },
1811       {  0.9403013289,  0.7346166372,  0.1841625869,  0.1319625676,
1812          0.1395087242,  0.0857856274,  0.0952702463,  0.0860625505,
1813          0.0829471648,  0.1132010221 } },
1814     { {  0.9047167003,  0.9840551913,  0.9933321178,  0.9360090196,
1815          0.9164859354,  0.9213320911,  0.8701705337,  0.8815936148,
1816          0.8414397538,  0.8188012838 },
1817       {  0.0961010158, -0.0147374868,  0.0202240646,  0.1002548635,
1818          0.1407548785,  0.1837472022,  0.1858241260,  0.2064549029,
1819          0.2228626013,  0.2859318554 } },
1820     { {  0.4034165144,  0.1918472052,  2.1959402561,  0.4763165414,
1821          0.6577012241,  0.7036704719,  0.6626858413,  0.7650089562,
1822          0.7702704966,  0.6543781459 },
1823       {  0.0940933228, -0.1222529113,  2.3491480052,  0.1385394931,
1824          0.3052472472,  0.3665857315,  0.3350857198,  0.4722319245,
1825          0.4313857555,  0.3846549690 } },
1826     { {  0.8215012848,  0.8613782227,  1.0399936736,  1.4082322717,
1827          0.4075011313,  0.4091626704,  0.5230473280,  0.6101396680,
1828          0.7510243356,  0.7237474024 },
1829       {  0.4810934663,  0.5670088828,  0.9207782447,  1.3007860780,
1830          0.0453548431,  0.0858548582,  0.1803548932,  0.2790087759,
1831          0.3974626660,  0.4581780732 } },
1832     { {  1.5921784937,  1.4987169206,  1.1321398616,  0.8235089779,
1833          0.6888550818,  0.6621319950,  0.6192089021,  0.6533396840,
1834          0.7196627855,  0.6549319923 },
1835       {  1.5911400318,  1.4768399894,  0.9358705580,  0.4674549997,
1836          0.3522549570,  0.3144549429,  0.2985318601,  0.3559241891,
1837          0.4061857462,  0.3958703578 } },
1838     { {  0.7975474298,  0.8712782264,  0.8974474669,  0.3008164763,
1839          0.5562088788,  0.6655935347,  0.8921166956,  1.0918475389,
1840          0.9544936419,  0.8554936051 },
1841       {  0.3769703507,  0.4930703938,  0.6619243026, -0.0382759571,
1842          0.1766856611,  0.3015780151,  0.5952550471,  0.8903859258,
1843          0.7395320237,  0.6205935180 } },
1844     { {  0.2206472158,  2.4467634261,  1.2920629978,  1.0239321291,
1845          0.9014628530,  0.8552166820,  0.8219859004,  0.9005628526,
1846          0.7614781857,  0.7763628066 },
1847       { -0.2722068131,  2.8967635930,  1.3039706945,  0.7695089579,
1848          0.6132550538,  0.5701242685,  0.5737935007,  0.6533396840,
1849          0.5422934890,  0.5150857866 } },
1850 };
1851
1852 static const float wmavoice_lsp10_intercoeff_b[32][2][10] = {
1853     { {  0.4881048799, -0.1998192370, -0.3872502148,  0.0109423101,
1854          0.0406953394,  0.1788437665,  0.1673750877,  0.3409781158,
1855          0.4061202109,  0.5221177042 },
1856       {  0.1492218077, -0.1372330189, -0.2683691680, -0.0621950924,
1857         -0.0624572337, -0.0068177581, -0.0076041818,  0.0680235624,
1858          0.1055752933,  0.1199930608 } },
1859     { {  0.7934338748,  0.0012430847,  0.4239458144,  0.5521328747,
1860          0.6497149467,  0.6423749924,  0.7170197070,  0.7169541717,
1861          0.7778364718,  0.8397018015 },
1862       {  0.2768190503, -0.0491535664, -0.0325731337,  0.0261465013,
1863          0.0469867289,  0.0649434030,  0.0781815350,  0.1031504869,
1864          0.1194687784,  0.2451654971 } },
1865     { {  0.7212139666,  0.1658677757,  0.0101558864,  0.5636015534,
1866          1.3175852597,  1.1911676526,  1.1266809106,  0.8230558336,
1867          0.8604109585,  0.8094900250 },
1868       {  0.3658815324,  0.0816549063, -0.2092563212,  0.1946377754,
1869          1.0856558084,  0.9491457641,  0.8461242616,  0.5193652213,
1870          0.5975488424,  0.5293265879 } },
1871     { {  0.9507186115,  0.9078585207,  0.8773190677,  0.8677509129,
1872          0.8024122119,  0.8127667904,  0.8246286809,  0.8779088855,
1873          0.9454102516,  0.9863698184 },
1874       {  0.6883807778,  0.6900191605,  0.7059442401,  0.6552854478,
1875          0.5843107104,  0.5553441048,  0.5887671113,  0.6494528055,
1876          0.7725936472,  0.7792782485 } },
1877     { {  0.2399882078,  0.1938513517,  0.4441962242,  0.4475385249,
1878          0.3055235147,  0.1745184362,  0.1174371839,  0.0679580271,
1879          0.0782470703,  0.1695377529 },
1880       {  0.0170370936,  0.0253600776,  0.2072205544,  0.1907711923,
1881          0.1096384823,  0.0327000320, -0.0134368241, -0.0461389422,
1882         -0.0372916758, -0.0243156850 } },
1883     { {  0.5457104146,  0.3774812818,  0.5235594809,  0.2994287312,
1884          0.2394639254,  0.5731041729,  0.9971176088,  1.1646913886,
1885          0.9028123021,  0.7777709365 },
1886       {  0.2288472056,  0.1181580722,  0.2074171603,  0.0355180502,
1887         -0.0024924278,  0.2596487999,  0.7474936247,  0.9103488624,
1888          0.5927647650,  0.4772915542 } },
1889     { {  0.6541713476,  0.6412608922,  0.7625012100,  0.7826205492,
1890          0.4839106202,  0.3311478198,  0.4577620327,  0.8572652638,
1891          0.9442306161,  0.8282986581 },
1892       {  0.2852075696,  0.2614837885,  0.4221763611,  0.4314823747,
1893          0.1434547007,  0.0435788929,  0.1397191882,  0.5525916219,
1894          0.6752081811,  0.5487250388 } },
1895     { {  0.6742251515,  1.0610800683,  1.0500701368,  0.9570100009,
1896          0.9325653315,  0.9243078828,  0.9148707986,  0.8317720294,
1897          0.7696445584,  0.6784849465 },
1898       {  0.2283884585,  0.9739181101,  0.5336519182,  0.4974764287,
1899          0.3998288214,  0.3674543798,  0.2719694376,  0.2608939707,
1900          0.2087934017,  0.1675716937 } },
1901     { {  0.3736146986, -1.5457833707,  0.9216864705,  0.7959242165,
1902          0.7358283401,  0.7233110964,  0.7271121442,  0.6852350831,
1903          0.6891672015,  0.6589554250 },
1904       {  0.1246460676, -1.7167649865,  0.7037160397,  0.4803061783,
1905          0.4694928527,  0.4654951990,  0.5208069980,  0.5305717587,
1906          0.5288023055,  0.5278192759 } },
1907     { {  1.0116009116,  0.9882703424,  0.8393741250,  0.8889843524,
1908          0.8934407532,  0.8906227350,  0.9222107530,  0.8973073363,
1909          0.9257496595,  0.9306648076 },
1910       {  0.5097970665, -0.0106843412,  0.1419473886,  0.2804890275,
1911          0.3719763160,  0.3694859743,  0.4640534222,  0.5034401417,
1912          0.5592106879,  0.6652468145 } },
1913     { {  0.9718209803,  0.7615181804,  0.2172474563,  0.4920369983,
1914          0.4310891628,  0.5038333535,  0.4668059051,  0.5339140594,
1915          0.4453758597,  0.4050061107 },
1916       {  0.6543679535,  0.1205173433, -0.0050483048,  0.1580035388,
1917          0.1308719218,  0.1700620353,  0.1740596890,  0.2179683447,
1918          0.1967349052,  0.1703897119 } },
1919     { {  0.7663022578,  0.4025157690,  1.3811545074,  1.1642981768,
1920          1.0709758997,  0.9812580645,  1.0092416406,  0.9089070857,
1921          0.7776398659,  0.8189926445 },
1922       {  0.3471384346,  0.0602248609,  1.3968829811,  1.0841484964,
1923          0.8940305710,  0.7313719392,  0.7345176339,  0.5304406881,
1924          0.4076275229,  0.4535677731 } },
1925     { {  0.1300854981,  0.1323136985,  0.7564064264,  0.7335346043,
1926          0.7924508452,  0.6039057672,  0.6896914840,  0.3694859743,
1927          0.2825861573,  0.3179096878 },
1928       { -0.0208423138, -0.0530856848,  0.3449102342,  0.3819376826,
1929          0.4466865659,  0.2807511687,  0.3842969537,  0.1144880950,
1930          0.0617321730,  0.0767397583 } },
1931     { {  0.7559476793,  0.8462553322,  0.6452585459,  1.1308751702,
1932          1.0606868565,  0.9498666525,  0.7425129414,  0.6221901178,
1933          0.6574481130,  0.6976212561 },
1934       {  0.3420922160,  0.4310236275,  0.2800958157,  0.9317133725,
1935          0.8210897744,  0.6144569516,  0.3227593005,  0.2464762032,
1936          0.2769501209,  0.3521846533 } },
1937     { {  0.7609938979,  0.6943444908,  1.1490939856,  0.4350868165,
1938          0.6101971567,  0.6246149242,  0.7370079756,  0.6522052884,
1939          0.6966382265,  0.7565374970 },
1940       {  0.3939306438,  0.3449102342,  0.9874839187,  0.0910919905,
1941          0.2804234922,  0.2888775468,  0.4060546756,  0.3284608722,
1942          0.3483836055,  0.4819445610 } },
1943     { {  0.7828826904,  1.1833034158,  1.9916158915,  0.8667678833,
1944          0.9218830764,  0.8856420517,  0.9373494089,  0.7415299118,
1945          0.7450032830,  0.7074515522 },
1946       {  0.4685098231,  1.1713104546,  1.9853245020,  0.6206828058,
1947          0.6664264500,  0.6033814847,  0.6089519858,  0.3784643114,
1948          0.4212588668,  0.3441893458 } },
1949     { {  0.4671335816,  0.4177199602,  0.0804097354, -0.1836975515,
1950         -0.1802241802, -0.0775958896, -0.0250365734,  0.0884050429,
1951          0.2136430144,  0.3472039700 },
1952       {  0.1187478900,  0.1122598946, -0.0381436348, -0.2284581661,
1953         -0.2302276194, -0.1738672554, -0.1350048184, -0.0547896028,
1954          0.0000634491,  0.0545888245 } },
1955     { {  0.5545576811,  0.4791920781,  0.8204999566,  0.8462553322,
1956          0.9212277234,  0.8946203887,  0.9659883380,  0.9137566984,
1957          0.9225384295,  0.9207034409 },
1958       {  0.1176993251, -0.0429277122, -0.0330318809,  0.0566859543,
1959          0.0983008742,  0.1593797803,  0.1732077301,  0.2320584357,
1960          0.2739354968,  0.3753186166 } },
1961     { {  0.7157745361,  0.6367389560, -1.2036890686,  0.7107283175,
1962          0.6885118484,  0.7332724631,  0.7436270416,  0.7113181353,
1963          0.5935511887,  0.6023984551 },
1964       {  0.3664058149,  0.3280676603, -1.3082178831,  0.3909815550,
1965          0.3641776145,  0.3926854730,  0.3898674548,  0.4086760879,
1966          0.3127979338,  0.3949792087 } },
1967     { {  1.0267395675,  1.0621941686,  1.0415505469,  0.9971176088,
1968          0.9764739871,  0.9904330075,  0.9591071308,  0.9338760376,
1969          0.9026156962,  0.9073997736 },
1970       {  0.9855833948,  1.0548542142,  0.9787021875,  0.8573307991,
1971          0.8360973597,  0.8193203211,  0.7386463583,  0.7038471103,
1972          0.6333966553,  0.6434235573 } },
1973     { {  0.6235008240,  0.7635497749,  0.8094900250,  0.7227212787,
1974         -0.0610809922, -0.1357912421, -0.2359291911,  0.0800165236,
1975          0.3972729445,  0.5078965425 },
1976       {  0.2983146310,  0.4983939230,  0.4145742655,  0.3284608722,
1977         -0.3203386664, -0.3495018780, -0.4734291434, -0.1808139980,
1978          0.1211071610,  0.2001427412 } },
1979     { {  0.8925887942,  0.8804647624,  0.6153089106,  0.6760601401,
1980          0.7887153327,  1.0065546930,  1.0829033256,  1.0347348750,
1981          0.9800128937,  0.9125770628 },
1982       {  0.5955827832,  0.6195687056,  0.2924164534,  0.3553958833,
1983          0.5417127609,  0.8713553548,  0.9977729619,  0.8817754686,
1984          0.7645328045,  0.6604627371 } },
1985     { {  1.1581378579,  1.0359145105,  0.7731179297,  0.6839243770,
1986          0.6839899123,  0.6664264500,  0.6910677254,  0.6579068601,
1987          0.6779606640,  0.6243527830 },
1988       {  1.1508634388,  0.8400294781,  0.2358594835,  0.2542749047,
1989          0.2484422624,  0.2620736063,  0.2676441073,  0.2713796198,
1990          0.3068997562,  0.3223005533 } },
1991     { {  0.1376220584,  1.2572927773,  0.8593623936,  0.6218624413,
1992          0.5128116906,  0.5393534899,  0.4436064065,  0.4334484339,
1993          0.4494390488,  0.4002220333 },
1994       { -0.1159995794,  1.2433337569,  0.4805027843,  0.2632532418,
1995          0.1769432425,  0.1868390739,  0.1555131972,  0.1530228555,
1996          0.1490252018,  0.1559064090 } },
1997     { {  0.1817273200, -0.0085216761,  0.0739872754,  0.1808098257,
1998          0.2770811915,  0.3344901204,  0.4292541742,  0.5404020548,
1999          0.5780193210,  0.5707449019 },
2000       { -0.0035409927, -0.0188107193, -0.0057691932,  0.0132360458,
2001          0.0560961366,  0.0534747243,  0.1002013981,  0.1737320125,
2002          0.1706518531,  0.1637706459 } },
2003     { {  0.9648087025,  1.0030813217,  0.9501943290,  0.8381944895,
2004          0.7545059025,  0.7621735334,  0.7121700943,  0.7328792512,
2005          0.7534573376,  0.7414643764 },
2006       {  0.1872322857, -0.0081939995,  0.0663851798,  0.0963348150,
2007          0.0509188473,  0.0565548837,  0.0471833348,  0.0809340179,
2008          0.1049199402,  0.1751082540 } },
2009     { {  0.6792713702,  0.9521603882,  0.5296542645,  0.3657504618,
2010          0.3905883431,  0.3121425807,  0.2726903260,  0.3156159520,
2011          0.2859284580,  0.3179096878 },
2012       {  0.2307477295,  0.3771536052,  0.0743804872,  0.0260154307,
2013          0.0477731526,  0.0391880274,  0.0228042006,  0.0572757721,
2014          0.0337485969,  0.0492149293 } },
2015     { {  0.8649328947,  0.9505875409,  1.0443030298,  1.1704584956,
2016          1.2709241211,  1.3232212961,  1.2477901578,  1.1513877213,
2017          1.0346038043,  0.9695272446 },
2018       {  0.4620873630,  0.5685822368,  0.8975039423,  1.0476453304,
2019          1.2278674245,  1.2290470600,  1.1962138712,  1.0051129162,
2020          0.8706344664,  0.7477557659 } },
2021     { {  0.4188340604,  0.6011532843,  0.4726385474,  0.6389671564,
2022          0.6753392518,  0.7842589319,  0.6147846282,  0.6708828509,
2023          0.6406055391,  0.5398777723 },
2024       {  0.1012499630,  0.2312064767,  0.1773364544,  0.2800302804,
2025          0.3348177969,  0.4343003929,  0.2822584808,  0.3293128312,
2026          0.3024433553,  0.2401848137 } },
2027     { {  0.5049474537,  0.7943513691,  0.9536021650,  0.9407572448,
2028          0.9823721647,  0.9747045338,  1.0145500004,  0.9629737139,
2029          0.9526191354,  0.9283710718 },
2030       {  0.0566204190,  0.0973178446,  0.5812305510,  0.5687133074,
2031          0.6834000945,  0.6616423726,  0.7611905038,  0.6683925092,
2032          0.6463071108,  0.6118355393 } },
2033     { {  0.8969141245,  0.9359731674,  0.8756151497,  0.8419300020,
2034          0.8353109360,  0.6807131469,  0.3358008265,  0.3386188447,
2035          0.3524467945,  0.4495045841 },
2036       {  0.5298508704,  0.4606455863,  0.4934132397,  0.4415748119,
2037          0.4015327394,  0.2052544951, -0.0329663455, -0.0154684186,
2038          0.0418094397,  0.1631152928 } },
2039     { {  0.6345762908,  2.5209445655,  1.0373562872,  0.9166402519,
2040          0.8865595460,  0.8907538056,  0.8522190452,  0.7290782034,
2041          0.7385808229,  0.6345107555 },
2042       {  0.2641707361,  2.5696372986,  0.8539884984,  0.6532538533,
2043          0.6087553799,  0.5851626694,  0.5276226699,  0.4330552220,
2044          0.3971418738,  0.3599833548 } },
2045 };
2046
2047 static const float wmavoice_lsp16_intercoeff_a[32][2][16] = {
2048     { {  0.5337238312,  0.4810695648, -0.3766536713, -0.1204767227,
2049         -0.0898437500, -0.0070896149,  0.1134738922,  0.1337728500,
2050          0.3739156723,  0.3849058151,  0.4220180511,  0.5404901505,
2051          0.5224876404,  0.5502910614,  0.5313453674,  0.4405946732 },
2052       {  0.1775283813,  0.1679325104, -0.2702789307, -0.1359367371,
2053         -0.1452455521, -0.0888595581, -0.0256662369, -0.0023736954,
2054          0.1074047089,  0.1431636810,  0.1357412338,  0.2045526505,
2055          0.2686481476,  0.3404531479,  0.3209333420,  0.1493968964 } },
2056     { {  0.7402400970,  0.0838251114,  0.6486282349,  0.6145095825,
2057          0.7331047058,  0.7183008194,  0.7436847687,  0.7627944946,
2058          0.7653779984,  0.7795667648,  0.8399305344,  0.8393154144,
2059          0.8219690323,  0.7474164963,  0.6681070328,  0.6490793228 },
2060       {  0.2850513458, -0.0544128418, -0.0300130844,  0.0204677582,
2061          0.0328931808,  0.0589332581,  0.0796422958,  0.1187639236,
2062          0.1320505142,  0.1539077759,  0.2189874649,  0.2865276337,
2063          0.2973947525,  0.2614307404,  0.2416648865,  0.2428951263 } },
2064     { {  0.6129922867,  0.7300701141,  0.2073822021,  0.5005893707,
2065          0.5713691711,  0.5374965668,  0.6293134689,  0.5639057159,
2066          0.7402811050,  0.6982889175,  0.4668397903,  0.6698703766,
2067          0.8758535385,  0.8678569794,  0.8678569794,  0.7810840607 },
2068       {  0.2986249924,  0.3269615173,  0.0096416473,  0.1800708771,
2069          0.2474060059,  0.2203407288,  0.3007984161,  0.2674179077,
2070          0.4424810410,  0.4046306610,  0.2063980103,  0.4230022430,
2071          0.6222190857,  0.6574449539,  0.6776618958,  0.6604385376 } },
2072     { {  0.7258052826,  0.5073966980, -0.3947381973,  0.5254812241,
2073          1.0561246872,  0.9706230164,  0.9727144241,  0.9185838699,
2074          0.8184833527,  0.9093980789,  0.8645353317,  0.7870302200,
2075          0.6347675323,  0.5123996735,  0.2846002579,  0.3252801895 },
2076       {  0.4306297302,  0.2182903290, -0.4902458191,  0.1783485413,
2077          0.7783365250,  0.7152252197,  0.7404451370,  0.6012639999,
2078          0.5421304703,  0.6619558334,  0.6316919327,  0.5596818924,
2079          0.3952398300,  0.3567333221,  0.1505041122,  0.1290159225 } },
2080     { {  0.3077287674,  0.2543363571,  0.2834520340,  0.5282287598,
2081          0.5350360870,  0.4943971634,  0.4521999359,  0.3086309433,
2082          0.2372770309,  0.0819387436, -0.1385612488, -0.0848407745,
2083         -0.0380916595,  0.1192150116,  0.3228197098,  0.3012905121 },
2084       {  0.0567188263,  0.0196886063,  0.0682420731,  0.2102527618,
2085          0.2452325821,  0.2060699463,  0.1620273590,  0.0784120560,
2086          0.0418329239, -0.0508041382, -0.2193880081, -0.1644783020,
2087         -0.1361827850, -0.0307512283,  0.1486587524,  0.2356367111 } },
2088     { {  0.4387903214,  0.5723943710,  0.6147556305,  0.9973602295,
2089          1.1645498276,  1.1898927689,  1.0326681137,  0.6939010620,
2090          0.6064310074,  0.4686441422,  0.4646663666,  0.4895582199,
2091          0.5654230118,  0.6004848480,  0.6179132462,  0.6439123154 },
2092       {  0.1324195862,  0.2426080704,  0.3132238388,  0.7359752655,
2093          0.9749288559,  0.9535636902,  0.8105278015,  0.4118890762,
2094          0.3013315201,  0.2006158829,  0.2331352234,  0.2535161972,
2095          0.3375005722,  0.4103307724,  0.4102897644,  0.4529380798 } },
2096     { {  0.7335557938,  0.9203472137,  0.4852113724,  0.8646993637,
2097          0.7304391861,  0.7503690720,  0.6289854050,  0.6900463104,
2098          0.6421079636,  0.5184278488,  0.4444904327,  0.2660236359,
2099          0.2143125534,  0.2406396866,  0.4836940765,  0.5597229004 },
2100       {  0.3689947128,  0.4967346191,  0.1176567078,  0.5127687454,
2101          0.3235168457,  0.3426265717,  0.2417469025,  0.3310623169,
2102          0.2629890442,  0.2130823135,  0.1329116821,  0.0468769073,
2103         -0.0081968307,  0.0146446228,  0.2440433502,  0.3408632278 } },
2104     { {  0.9425325394,  0.9597969055,  0.6160678864,  0.7050962448,
2105          0.8063859940,  0.9063224792,  0.9890356064,  1.0038805008,
2106          1.0338163376,  0.9453620911,  0.9634056091,  0.8068370819,
2107          0.6859455109,  0.8909034729,  0.9990415573,  1.0122871399 },
2108       {  0.6895952225,  0.6451835632,  0.3169965744,  0.4268569946,
2109          0.5666122437,  0.7722673416,  0.8845882416,  0.9061584473,
2110          0.9550399780,  0.8118810654,  0.8601064682,  0.6129922867,
2111          0.5069866180,  0.7065315247,  0.7862920761,  0.7766551971 } },
2112     { {  0.5641517639, -0.0941905975,  0.0412998199,  0.1810550690,
2113          0.3459482193,  0.4213209152,  0.4401025772,  0.5397109985,
2114          0.5607891083,  0.6348905563,  0.6861915588,  0.7280607224,
2115          0.7267074585,  0.6447324753,  0.5948257446,  0.5475025177 },
2116       {  0.1906919479, -0.0519113541, -0.0608100891, -0.0018815994,
2117          0.0383062363,  0.0362558365,  0.0529870987,  0.0692672729,
2118          0.0953073502,  0.1327886581,  0.1390628815,  0.1904459000,
2119          0.2362518311,  0.2063980103,  0.2311668396,  0.2291574478 } },
2120     { {  0.9901428223,  0.9589767456,  0.9012374878,  0.8017930984,
2121          0.8929538727,  0.8512077332,  0.8790111542,  0.8832759857,
2122          0.8949632645,  0.9159183502,  0.9293279648,  0.9152622223,
2123          0.9247350693,  0.8753614426,  0.8730239868,  0.8066730499 },
2124       {  0.4230432510, -0.0464572906,  0.0182533264,  0.1159753799,
2125          0.2349395752,  0.2740612030,  0.2987070084,  0.3620643616,
2126          0.3923282623,  0.4694643021,  0.5202322006,  0.5356512070,
2127          0.5564012527,  0.5362663269,  0.4791831970,  0.5046901703 } },
2128     { {  0.9785375595,  0.8820457458,  0.3965110779,  0.4790191650,
2129          0.3907699585,  0.4195575714,  0.2938270569,  0.4091415405,
2130          0.3659191132,  0.4030723572,  0.4168510437,  0.5030908585,
2131          0.5023117065,  0.5511522293,  0.5354051590,  0.5563192368 },
2132       {  0.6592903137,  0.2933759689,  0.0562677383,  0.1286878586,
2133          0.0758285522,  0.1192560196,  0.0508956909,  0.1175336838,
2134          0.0684061050,  0.0988750458,  0.0923957825,  0.1819572449,
2135          0.1965150833,  0.2257537842,  0.3049812317,  0.2993221283 } },
2136     { {  0.7120265961,  0.7847747803,  0.6065950394,  0.7235908508,
2137          0.6740531921,  0.6535081863,  0.3734235764,  0.4788551331,
2138          0.4410867691,  0.6927528381,  1.0758495331,  1.1148891449,
2139          1.0708875656,  0.8896322250,  0.6401805878,  0.5057153702 },
2140       {  0.4210338593,  0.4763126373,  0.3229017258,  0.4079113007,
2141          0.3922462463,  0.3529195786,  0.1258993149,  0.2168960571,
2142          0.2207508087,  0.4605655670,  0.8759355545,  0.9526205063,
2143          0.8843832016,  0.7001342773,  0.4503545761,  0.3484086990 } },
2144     { {  0.5254402161,  0.5349540710,  0.7036199570,  0.6240234375,
2145          0.6464548111,  0.7537727356,  0.8311548233,  0.7334327698,
2146          0.3484907150,  0.1846637726,  0.0894021988,  0.3977823257,
2147          0.7672233582,  0.9224796295,  0.8818407059,  0.7453250885 },
2148       {  0.2587652206,  0.2524499893,  0.4135704041,  0.3129367828,
2149          0.3403711319,  0.4473199844,  0.5330266953,  0.4227561951,
2150          0.1080198288, -0.0044651031, -0.0727024078,  0.1583776474,
2151          0.5302381516,  0.7313823700,  0.6735610962,  0.5630855560 } },
2152     { {  0.7936325073,  0.8551034927,  0.9755849838,  0.8953323364,
2153          0.9345769882,  0.7202281952,  0.8388233185,  0.7941656113,
2154          0.7550849915,  0.7894906998,  0.8590402603,  0.7813711166,
2155          0.8483371735,  0.8652324677,  0.8586711884,  0.9584846497 },
2156       {  0.4781579971,  0.4731960297,  0.8289403915,  0.6175031662,
2157          0.7262973785,  0.3638277054,  0.5544328690,  0.4761896133,
2158          0.4388723373,  0.5021476746,  0.5630445480,  0.4562187195,
2159          0.5190429688,  0.5937595367,  0.6121721268,  0.6973457336 } },
2160     { {  1.0724458694,  1.0449705124,  0.8594503403,  0.7604160309,
2161          0.7837905884,  0.8136444092,  0.7623023987,  0.6098756790,
2162          0.6432561874,  0.6395244598,  0.6853713989,  0.7401580811,
2163          0.7399530411,  0.7652549744,  0.7675104141,  0.7393789291 },
2164       {  0.9382266998,  0.8419809341,  0.3087539673,  0.3620233536,
2165          0.3547649384,  0.4241094589,  0.2857894897,  0.2123851776,
2166          0.2355957031,  0.2794332504,  0.3219995499,  0.3898267746,
2167          0.3937635422,  0.4058198929,  0.4228382111,  0.4181222916 } },
2168     { {  1.0275421143,  1.0940570831,  1.0164289474,  0.9097671509,
2169          0.9400720596,  0.8976287842,  0.9175586700,  0.8900833130,
2170          0.9154262543,  0.9492578506,  1.0011329651,  1.0361537933,
2171          1.0359487534,  0.9320344925,  0.8974237442,  0.8811845779 },
2172       {  1.0046186447,  1.0860195160,  0.9442958832,  0.7473344803,
2173          0.7876043320,  0.7410602570,  0.7422084808,  0.6844692230,
2174          0.7256412506,  0.8455486298,  0.8969316483,  0.9362173080,
2175          0.9092340469,  0.8227071762,  0.7481546402,  0.7088689804 } },
2176     { {  0.2205047607, -0.0129537582,  0.0972347260,  0.1154832840,
2177          0.0951843262,  0.1532516479,  0.1288108826,  0.1749858856,
2178          0.1591157913,  0.2134923935,  0.2477340698,  0.2634811401,
2179          0.3032999039,  0.3272485733,  0.3170785904,  0.3172016144 },
2180       {  0.0032854080, -0.0446119308,  0.0284643173,  0.0155467987,
2181         -0.0063104630,  0.0226001740,  0.0086984634,  0.0262088776,
2182          0.0173921585,  0.0360507965,  0.0366659164,  0.0215339661,
2183          0.0412178040,  0.1047391891,  0.1258172989,  0.0609836578 } },
2184     { {  0.1495609283,  0.3275766373,  0.8598194122,  0.6847562790,
2185          0.7550849915,  0.5662431717,  0.6930398941,  0.7526245117,
2186          0.7300291061,  0.7284708023,  0.6608896255,  0.5224056244,
2187          0.4273900986,  0.5757160187,  0.4625749588,  0.5123586655 },
2188       { -0.0352210999, -0.0428895950,  0.3110914230,  0.2699604034,
2189          0.3307752609,  0.2059469223,  0.2332172394,  0.3204412460,
2190          0.2846412659,  0.3354911804,  0.2448635101,  0.1514062881,
2191          0.1062564850,  0.2613077164,  0.2123441696,  0.3000602722 } },
2192     { {  0.6218910217,  0.6033554077,  0.4551525116,  0.3161764145,
2193          0.2864866257,  0.6195125580,  0.7577505112,  1.0062179565,
2194          0.8485012054,  0.6777849197,  0.7455301285,  0.3630485535,
2195          0.2327661514,  0.5563192368,  0.4448595047,  0.3806819916 },
2196       {  0.2624969482,  0.2679510117,  0.1839666367,  0.0335903168,
2197          0.0294075012,  0.2902593613,  0.4959144592,  0.7905979156,
2198          0.5748548508,  0.3753919601,  0.4855394363,  0.1089630127,
2199          0.0362968445,  0.3632535934,  0.2681150436,  0.2735691071 } },
2200     { {  0.7064495087,  0.4431781769,  0.7628355026,  0.7271585464,
2201          0.7812070847,  0.7806739807,  0.8909854889,  0.8958654404,
2202          0.9126787186,  0.9038209915,  0.9246120453,  0.9624624252,
2203          0.9732475281,  0.7420034409,  0.5060844421,  0.5189199448 },
2204       {  0.3457021713, -0.0149221420,  0.3174476624,  0.3580865860,
2205          0.4243965149,  0.4275541306,  0.5887155533,  0.6478490829,
2206          0.6320610046,  0.6627349854,  0.6868886948,  0.7396659851,
2207          0.7551259995,  0.5275316238,  0.3075237274,  0.3806819916 } },
2208     { {  0.4376831055,  0.4904603958,  0.6262788773,  0.5901098251,
2209          0.4176712036,  0.0221490860, -0.1612796783, -0.2236118317,
2210         -0.1087894440, -0.0022506714,  0.1051902771,  0.3307752609,
2211          0.4167690277,  0.4997692108,  0.4645843506,  0.5228567123 },
2212       {  0.1228237152,  0.1671123505,  0.2931299210,  0.2549924850,
2213          0.1435737610, -0.1124801636, -0.2181987762, -0.2723293304,
2214         -0.1573429108, -0.0837745667, -0.0325555801,  0.1024427414,
2215          0.1938495636,  0.2825498581,  0.2247285843,  0.2879629135 } },
2216     { {  0.6100807190,  0.7900238037,  0.9581155777,  0.8999662399,
2217          0.9277286530,  0.9720993042,  0.9966220856,  0.9630365372,
2218          0.9571723938,  0.8992280960,  0.8370189667,  0.7417984009,
2219          0.7174396515,  0.6122951508,  0.6746683121,  0.7030458450 },
2220       {  0.0859165192,  0.0914115906,  0.6077432632,  0.5471334457,
2221          0.5943746567,  0.6805324554,  0.6680250168,  0.6033554077,
2222          0.6302976608,  0.4874258041,  0.3647298813,  0.2770137787,
2223          0.2544183731,  0.2608156204,  0.3331537247,  0.4950942993 } },
2224     { {  0.4051227570,  1.1022176743,  0.8262338638,  0.6573219299,
2225          0.5948667526,  0.5426225662,  0.4987850189,  0.4370269775,
2226          0.4421119690,  0.3837165833,  0.3728494644,  0.3706760406,
2227          0.4169740677,  0.3559951782,  0.2994041443,  0.3896217346 },
2228       {  0.0716867447,  0.9253911972,  0.2780799866,  0.2460117340,
2229          0.1675224304,  0.1527595520,  0.1278266907,  0.1226596832,
2230          0.1165084839,  0.0982189178,  0.0952253342,  0.1113414764,
2231          0.1498889923,  0.0940361023,  0.0802984238,  0.1560811996 } },
2232     { {  0.7024717331,  0.7363853455,  0.9629545212,  0.9635286331,
2233          1.0819597244,  1.1529855728,  1.2984409332,  1.2693252563,
2234          1.2848672867,  1.2877378464,  1.2133083344,  1.0696573257,
2235          1.0864706039,  0.9851808548,  0.8312368393,  0.8047866821 },
2236       {  0.3001422882,  0.2273120880,  0.6279602051,  0.6936140060,
2237          0.8097076416,  0.9440498352,  1.1028738022,  1.1766471863,
2238          1.1199741364,  1.1608181000,  1.0665817261,  0.8872537613,
2239          0.9082908630,  0.7602519989,  0.6542053223,  0.7317514420 } },
2240     { {  0.0643463135, -0.6808919907,  0.2889881134,  0.6142225266,
2241          0.6356697083,  0.6825828552,  0.6259508133,  0.4945611954,
2242          0.5866651535,  0.6357517242,  0.5208883286,  0.4207878113,
2243          0.5125637054,  0.3758020401,  0.5424175262,  0.6172571182 },
2244       { -0.0636806488, -0.7585611343,  0.0850553513,  0.2996912003,
2245          0.3620643616,  0.4444084167,  0.4597454071,  0.3120756149,
2246          0.4016780853,  0.5026807785,  0.4111919403,  0.3183498383,
2247          0.3666572571,  0.1829824448,  0.3269205093,  0.4095926285 } },
2248     { {  0.9277286530,  0.9651279449,  0.9602069855,  0.9327726364,
2249          0.9208393097,  0.8868436813,  0.9011554718,  0.8569488525,
2250          0.9015245438,  0.8969726562,  0.9367094040,  0.9445009232,
2251          0.8617057800,  0.8215589523,  0.8333692551,  0.7939195633 },
2252       {  0.1719102859,  0.1142530441,  0.1245460510,  0.1646108627,
2253          0.1408672333,  0.0949792862,  0.0271930695,  0.0265779495,
2254         -0.0064334869, -0.0109033585,  0.0152187347,  0.0252656937,
2255          0.0166950226,  0.0736141205,  0.1205682755,  0.1895437241 } },
2256     { {  0.5964250565,  0.6065130234,  0.7228116989,  0.7348270416,
2257          0.0718097687,  0.2369899750,  0.2456426620,  0.4961194992,
2258          0.6410417557,  0.6765956879,  0.6771287918,  0.7285938263,
2259          0.6706905365,  0.5105543137,  0.5068635941,  0.5430326462 },
2260       {  0.2782440186,  0.2620048523,  0.4424400330,  0.4124631882,
2261         -0.1158838272,  0.0186223984,  0.0059919357,  0.1853609085,
2262          0.3568563461,  0.3791646957,  0.4100847244,  0.4654865265,
2263          0.4614677429,  0.3209743500,  0.3199081421,  0.3836755753 } },
2264     { {  0.8051557541,  0.8506336212,  0.9544658661,  0.5584516525,
2265          0.5874032974,  0.5727224350,  0.6177902222,  0.7659521103,
2266          0.9526205063,  1.0424280167,  1.0705595016,  1.0042905807,
2267          0.6005258560,  0.3886785507,  0.4739751816,  0.6542463303 },
2268       {  0.4775428772,  0.5541868210,  0.7128057480,  0.2146816254,
2269          0.2502765656,  0.2488822937,  0.3009214401,  0.4667987823,
2270          0.6929988861,  0.8599834442,  0.8784780502,  0.7463912964,
2271          0.3217535019,  0.1274986267,  0.2767267227,  0.5119485855 } },
2272     { {  0.5978193283,  0.5092830658,  1.0738401413,  0.7688636780,
2273          0.8214769363,  0.7682075500,  0.4970626831,  0.2783260345,
2274          0.2652854919,  0.3625154495,  0.5700569153,  0.5044031143,
2275          0.4003248215,  0.5162544250,  0.5727634430,  0.5538587570 },
2276       {  0.2752094269,  0.1747808456,  0.8557186127,  0.4280872345,
2277          0.5143680573,  0.4139804840,  0.1810960770,  0.0109539032,
2278          0.0317039490,  0.0842351913,  0.3129367828,  0.2614717484,
2279          0.1564092636,  0.2352676392,  0.3249931335,  0.3505821228 } },
2280     { {  0.7093610764,  0.7587757111,  1.8517618179,  1.0092525482,
2281          0.8078622818,  0.8792982101,  0.8210668564,  0.8600654602,
2282          0.6913585663,  0.6436662674,  0.6216859818,  0.6123771667,
2283          0.5940465927,  0.5910940170,  0.6505966187,  0.5801038742 },
2284       {  0.3370904922,  0.4681930542,  1.9236078262,  0.8053607941,
2285          0.5321245193,  0.6342344284,  0.5054693222,  0.5788326263,
2286          0.4400615692,  0.4086904526,  0.3924102783,  0.4220180511,
2287          0.3835115433,  0.4230432510,  0.5190839767,  0.3990535736 } },
2288     { {  0.6277141571,  1.1122236252,  1.0259838104,  0.9486427307,
2289          0.9184608459,  0.9059944153,  0.9080038071,  0.8282022476,
2290          0.8440313339,  0.7887935638,  0.7468013763,  0.6746683121,
2291          0.6319379807,  0.6246795654,  0.7263793945,  0.7349090576 },
2292       {  0.2427721024,  1.0851583481,  0.6180362701,  0.5837125778,
2293          0.4324750900,  0.4684801102,  0.3745307922,  0.3027257919,
2294          0.3646888733,  0.2409267426,  0.2158298492,  0.2052907944,
2295          0.2100887299,  0.2276401520,  0.3409452438,  0.4045896530 } },
2296     { {  0.8391513824,  0.8713426590,  1.1366233826,  1.1440868378,
2297          1.1443738937,  1.0877418518,  1.0516138077,  1.0099496841,
2298          0.9216184616,  0.8990640640,  0.9001302719,  0.8993101120,
2299          0.8055248260,  0.8150796890,  0.7272815704,  0.7196130753 },
2300       {  0.4634771347,  0.5807189941,  1.1287908554,  1.1066875458,
2301          1.0765056610,  0.9287538528,  0.8956193924,  0.8026132584,
2302          0.6725769043,  0.5856809616,  0.5527515411,  0.5183868408,
2303          0.4529380798,  0.5074377060,  0.4632720947,  0.5554990768 } },
2304 };
2305
2306 static const float wmavoice_lsp16_intercoeff_b[32][2][16] = {
2307     { {  0.5431776047, -0.1212130189, -0.2471650839,  0.0683670044,
2308          0.1418520808,  0.2518971562,  0.3708084226,  0.4141484499,
2309          0.5712364912,  0.5852659345,  0.5670641661,  0.6401320100,
2310          0.6447737217,  0.6726239920,  0.4994724989,  0.5574678183 },
2311       {  0.2040718794, -0.1271064281, -0.2266163826, -0.0406349897,
2312         -0.0145058036,  0.0283126831,  0.0851084590,  0.0913147926,
2313          0.1307432652,  0.1926501393,  0.2310355306,  0.2828245163,
2314          0.3171940446,  0.4424681067,  0.2960716486,  0.3510941863 } },
2315     { {  0.8073900938,  0.0403081179,  0.5392660499,  0.6928597689,
2316          0.6499369740,  0.7328097820,  0.7755761147,  0.7766191959,
2317          0.8820225596,  0.8423333168,  0.8898978233,  0.8488525748,
2318          0.8654375672,  0.6728326082,  0.6169234514,  0.6755967736 },
2319       {  0.3653843999, -0.0846008658, -0.0224332213,  0.1120721102,
2320          0.1020585299,  0.1741876006,  0.2129902244,  0.2160151601,
2321          0.3619422317,  0.4185815454,  0.5455245376,  0.5363975763,
2322          0.5429168344,  0.3505726457,  0.3296067119,  0.3620986938 } },
2323     { {  0.1843576431,  0.0179861784,  0.3122915626,  0.3600125313,
2324          0.2466817498,  0.2172668576,  0.1975526214,  0.1177569032,
2325          0.1196866035,  0.0849519968,  0.0962694287,  0.1591672301,
2326          0.2300446033,  0.3082756996,  0.4047607183,  0.3925045133 },
2327       { -0.0275964737, -0.0794897676,  0.1168181300,  0.1591150761,
2328          0.0915755630,  0.0460972190,  0.0562151074,  0.0084419847,
2329         -0.0095511675, -0.0408957601, -0.0376100540, -0.0166962743,
2330          0.0656028390,  0.1226072311,  0.2293144464,  0.2142419219 } },
2331     { {  0.4781936407, -1.2478972673,  0.4884679914,  0.7755239606,
2332          0.6785174012,  0.6590117812,  0.6177057624,  0.6427918673,
2333          0.5402048230,  0.5512614846,  0.6424267888,  0.4229103327,
2334          0.5106334686,  0.5136062503,  0.4490395188,  0.4753251672 },
2335       {  0.2852236032, -1.3815159798,  0.1904075146,  0.4874770641,
2336          0.4593138695,  0.4182686210,  0.4174863100,  0.4604612589,
2337          0.4089330435,  0.3891666532,  0.4700576067,  0.2383370996,
2338          0.2801646590,  0.3398289084,  0.2766703367,  0.3374298215 } },
2339     { {  0.5925153494,  0.3858809471,  1.0754098296,  0.5752002001,
2340          0.5516265631,  0.4853909016,  0.4719351530,  0.5018194318,
2341          0.3037382960,  0.5154316425,  0.8809794784,  0.7755761147,
2342          0.5941321254,  0.3974069953,  0.5925675035,  0.6097261906 },
2343       {  0.3008176684,  0.0706617832,  0.8484353423,  0.2574254870,
2344          0.2815728188,  0.1930673718,  0.2523665428,  0.2691601515,
2345          0.1271967888,  0.2653007507,  0.6473292708,  0.5275835395,
2346          0.3928174376,  0.2405275702,  0.4008491635,  0.4556109309 } },
2347     { {  0.7339050174,  0.4290645123,  0.6859754324,  0.6349166036,
2348          0.8034263849,  0.8509387374,  0.8591269255,  1.1049811840,
2349          1.3928194642,  1.3423343301,  1.0849018693,  0.8943830729,
2350          0.8579795361,  0.6920774579,  0.5613272190,  0.4303162098 },
2351       {  0.4534726143,  0.0901674032,  0.3465046287,  0.3470261693,
2352          0.5217422843,  0.5874564052,  0.6014336944,  0.9161834717,
2353          1.2823571563,  1.2193550467,  0.8868207335,  0.6514494419,
2354          0.6249030232,  0.4453887343,  0.3665317893,  0.2242033482 } },
2355     { {  0.4293252826,  0.3303368688,  0.6181751490,  0.9884168506,
2356          0.9915460944,  0.7939864993,  0.3019129038,  0.2443348169,
2357          0.4543070793,  0.5617444515,  0.4895110726,  0.6600027084,
2358          0.6290231943,  0.5580936670,  0.5459417701,  0.4647378922 },
2359       {  0.1409133077, -0.0050137639,  0.2551307082,  0.6764833927,
2360          0.7112701535,  0.4648943543,  0.0301380754, -0.0235806108,
2361          0.1018499136,  0.2422486544,  0.2406318784,  0.4000146985,
2362          0.3713299632,  0.3259559274,  0.3820737004,  0.2888743877 } },
2363     { {  0.7733334899,  0.8321111202,  1.3098945022,  1.0331128836,
2364          1.0380675197,  0.9479974508,  0.9740223289,  0.9442945123,
2365          0.8926619887,  0.8719046712,  0.8640815616,  0.8404036164,
2366          0.8359183669,  0.7675965428,  0.6895219088,  0.7266034484 },
2367       {  0.3655408621,  0.4643206596,  1.2171645761,  0.8341451287,
2368          0.8387868404,  0.6713201404,  0.6814901829,  0.6294404268,
2369          0.5172048807,  0.5205948949,  0.5408828259,  0.5298783183,
2370          0.5781729817,  0.5000983477,  0.4727174640,  0.4326109886 } },
2371     { {  0.8902629018,  0.4598354101,  0.6392975450,  0.4483093619,
2372          0.6220867038,  0.6323089004,  0.7063676715,  0.3717993498,
2373          0.6718416810,  0.7876758575,  0.2807383537,  0.3118221760,
2374          0.6703813672,  0.7662405372,  0.7122610807,  0.7851724625 },
2375       {  0.6301705837,  0.1221378446,  0.3532846570,  0.1412783861,
2376          0.3471826315,  0.3435318470,  0.4466925859,  0.1390357614,
2377          0.4092981219,  0.5406742096,  0.0690450072,  0.0829179883,
2378          0.4625995755,  0.5700891018,  0.5542864203,  0.6545265317 } },
2379     { { -0.1100520492,  0.3803526163,  0.8075987101,  0.6903563738,
2380          0.8012359142,  0.7835035324,  0.8195941448,  0.8381088376,
2381          0.8033220768,  0.7511680126,  0.6393496990,  0.6096218824,
2382          0.6934856176,  0.6690253615,  0.6401841640,  0.5600233674 },
2383       { -0.1776958704, -0.0293175578,  0.1520742774,  0.1746048331,
2384          0.2222214937,  0.3052507639,  0.2977927327,  0.3797789216,
2385          0.3395681381,  0.2976884246,  0.2516885400,  0.2403711081,
2386          0.3567789793,  0.3302847147,  0.3368039727,  0.3310148716 } },
2387     { {  0.5587195158,  0.4676063657,  0.1392965317, -0.0990996957,
2388         -0.0816280842, -0.1146416068, -0.0116894841,  0.0521992445,
2389          0.1626615524,  0.2923687100,  0.4029874802,  0.4528989196,
2390          0.4694839120,  0.5058352947,  0.5369191170,  0.5105291605 },
2391       {  0.2193530202,  0.1211469173,  0.0179861784, -0.2022604346,
2392         -0.1409794092, -0.2121175528, -0.1152674556, -0.0594626069,
2393         -0.0122110248,  0.0274260640,  0.1414870024,  0.2044369578,
2394          0.2167974710,  0.2615978122,  0.3348221183,  0.3707562685 } },
2395     { {  0.5948622823,  0.7065241337,  0.9414781928,  0.9340723157,
2396          0.8835350275,  0.9730835557,  0.8503650427,  0.8902629018,
2397          0.8746688366,  0.6910865307,  0.6404449344,  0.6976057887,
2398          0.5916287303,  0.6022160053,  0.7729684114,  0.6096740365 },
2399       {  0.1262058616,  0.1300652623,  0.6594290137,  0.6535877585,
2400          0.5639349222,  0.6982316375,  0.4828875065,  0.5577285886,
2401          0.4591052532,  0.2964367270,  0.2695252299,  0.3324751854,
2402          0.2860580683,  0.2902825475,  0.4623388052,  0.3369604349 } },
2403     { {  0.8821268678,  0.8539636731,  0.2898653150,  0.7478301525,
2404          0.5109463930,  0.8577187657,  0.4884679914,  0.7846509218,
2405          0.7684310079,  0.7032384276,  0.6691296697,  0.8593355417,
2406          0.9383489490,  0.9808023572,  0.6804992557,  0.6403927803 },
2407       {  0.5590324402,  0.4209806323,  0.0259135962,  0.4318808317,
2408          0.2104346752,  0.5453680754,  0.1783599257,  0.4467447400,
2409          0.4352708459,  0.4089330435,  0.3994410038,  0.5984609127,
2410          0.6872792840,  0.7321317792,  0.4408513308,  0.4542027712 } },
2411     { {  0.6371070743,  0.6311093569,  0.7152860165,  0.6929640770,
2412          0.2292101383,  0.3234525323,  0.9644259810,  0.9881039262,
2413          0.8722697496,  0.4370440841,  0.4051779509,  0.4944135547,
2414          0.5392660499,  0.5969484448,  0.4268740416,  0.4990552664 },
2415       {  0.4233797193,  0.3647063971,  0.4345406890,  0.4180078506,
2416         -0.0006328225,  0.0586141944,  0.7620160580,  0.8152132034,
2417          0.6707985997,  0.2095480561,  0.2178405523,  0.2776612639,
2418          0.3142212629,  0.3808741570,  0.2676998377,  0.2804775834 } },
2419     { {  0.4509170651,  0.9490405321,  0.8557890654,  0.8271043301,
2420          0.6915559173,  0.7321839333,  0.6257896423,  0.6274064183,
2421          0.5238284469,  0.5194996595,  0.4116972089,  0.3382642865,
2422          0.3755022883,  0.4867990613,  0.5686287880,  0.5106856227 },
2423       {  0.0989292860,  0.6244857907,  0.4700576067,  0.3905226588,
2424          0.2630059719,  0.3009741306,  0.2150763869,  0.2067838907,
2425          0.1533781290,  0.1815934777,  0.1023714542,  0.0373874903,
2426          0.0897501707,  0.1849313378,  0.2852757573,  0.2625887394 } },
2427     { {  0.9954054952,  0.9554033279,  0.8237664700,  0.9780903459,
2428          0.7261862159,  0.7884581685,  0.7933084965,  0.7393290401,
2429          0.8783196211,  1.0409359932,  1.0217954516,  0.9159227014,
2430          0.8698185086,  0.7057939768,  0.7662926912,  0.7339571714 },
2431       {  0.7913266420,  0.6739278436,  0.5061482191,  0.7058982849,
2432          0.3480692506,  0.4338105321,  0.4428853393,  0.3758152127,
2433          0.5962182879,  0.7925261855,  0.7968549728,  0.6629754901,
2434          0.6325175166,  0.4598354101,  0.5310778618,  0.5518873334 } },
2435     { {  0.4638512731,  0.0604917407,  0.1897295117,  0.3403504491,
2436          0.4708399177,  0.5241413713,  0.6061275601,  0.6446694136,
2437          0.7313494682,  0.7208143473,  0.6268848777,  0.6081094146,
2438          0.4913364649,  0.3529717326,  0.4954566360,  0.5767126679 },
2439       {  0.1353849769, -0.0274400115,  0.0002537966,  0.0272174478,
2440          0.0555371046,  0.0652899146,  0.1010676026,  0.1073260903,
2441          0.1568724513,  0.2207611799,  0.1434167027,  0.2262373567,
2442          0.1177047491,  0.0162650943,  0.2529402375,  0.4087765813 } },
2443     { {  0.9700064659,  0.9917025566,  0.9159227014,  0.9309430718,
2444          0.8991290927,  0.9314124584,  0.9059612751,  0.9473194480,
2445          0.9604622722,  0.9377752542,  0.9197821021,  0.8869771957,
2446          0.8506779671,  0.8594920039,  0.8320589662,  0.8739908338 },
2447       {  0.2892394662,  0.0551198721,  0.0892807841,  0.1158793569,
2448          0.0905846357,  0.0738953352,  0.0395258069,  0.0240360498,
2449          0.0477139950,  0.0751470327,  0.1171310544,  0.1555164456,
2450          0.1384620667,  0.1818542480,  0.2104868293,  0.1288135648 } },
2451     { {  0.4101847410,  0.3326316476,  0.4666675925,  0.5077128410,
2452          0.5892296433,  0.4272912741,  0.0603352785, -0.8668596745,
2453         -1.1103670001, -0.0900248885,  0.1626615524,  0.1487885714,
2454          0.4130010605,  0.5119373202,  0.5820323825,  0.5486016273 },
2455       {  0.0383262634,  0.1300652623,  0.2295230627,  0.2706204653,
2456          0.3722165823,  0.1698066592, -0.0934670568, -0.8677462935,
2457         -1.0724509954, -0.2164463401, -0.0056917667, -0.0301520228,
2458          0.1299088001,  0.2579991817,  0.3482257128,  0.2469425201 } },
2459     { {  0.6031547785,  0.5515222549,  0.4292209744,  0.5027582049,
2460          0.8167778254,  1.0925685167,  0.9878953099,  0.7019345760,
2461          0.2509583831,  0.2475162148,  0.5660732388,  0.5145971775,
2462          0.4824181199,  0.5970005989,  0.5996604562,  0.5384315848 },
2463       {  0.3677313328,  0.2650399804,  0.1585935354,  0.2213348746,
2464          0.5566333532,  0.8425940871,  0.7604514360,  0.4523773789,
2465          0.0681062341,  0.0737388730,  0.3169854283,  0.2868403792,
2466          0.2661873698,  0.3635068536,  0.4300554395,  0.3743027449 } },
2467     { {  0.5017672777,  0.6634970307,  0.6869142056,  0.7066284418,
2468          0.5669598579,  0.0621085167,  0.0634645224,  0.2321307659,
2469          0.8322675824,  0.9855483770,  0.8296598792,  0.6140028238,
2470          0.5462546945,  0.6730412245,  0.6856103539,  0.5975221395 },
2471       {  0.2680649161,  0.3324230313,  0.3688787222,  0.3886451125,
2472          0.2774004936, -0.1695076823, -0.1353467703,  0.0159000158,
2473          0.5895425677,  0.7586781979,  0.5639870763,  0.3687744141,
2474          0.3401418328,  0.4477356672,  0.4782979488,  0.4034568667 } },
2475     { {  0.8838479519,  0.9025712609,  0.7326533198,  0.8124490380,
2476          0.8956347704,  1.1007045507,  1.2731780410,  1.2029786706,
2477          1.0839109421,  0.9664078355,  0.7356782556,  0.6942157745,
2478          0.6917645335,  0.6383587718,  0.6503020525,  0.5989302993 },
2479       {  0.5576764345,  0.4596789479,  0.3790487647,  0.5514179468,
2480          0.7333834767,  0.9612445831,  1.1976589561,  1.1094664335,
2481          0.8868207335,  0.6789346337,  0.4643206596,  0.4029353261,
2482          0.4384522438,  0.3871847987,  0.4326109886,  0.3691916466 } },
2483     { {  0.8520861268,  0.8413423896,  0.7238392830,  0.9103943706,
2484          0.7072542906,  0.6479029655,  0.4557673931,  0.1908247471,
2485         -0.0569070578, -0.1013423204,  0.2517406940,  0.4854952097,
2486          0.5820845366,  0.5886037946,  0.6177579165,  0.6226603985 },
2487       {  0.6160889864,  0.4592095613,  0.4752208591,  0.6685559750,
2488          0.4326109886,  0.4077335000,  0.2314006090,  0.0173603296,
2489         -0.2208272815, -0.3014574647,  0.0321199298,  0.2559130192,
2490          0.3603254557,  0.3466089368,  0.4072119594,  0.4776199460 } },
2491     { {  0.7083495259,  0.9001721740,  0.6795083284,  1.2743254304,
2492          1.3672639728,  1.2563322783,  0.8557369113,  0.8287732601,
2493          0.7942472696,  0.8006622195,  0.7034991980,  0.5479236245,
2494          0.6391932368,  0.6248508692,  0.5495925546,  0.4719351530 },
2495       {  0.4000146985,  0.6493632793,  0.4583229423,  1.1484255195,
2496          1.2521599531,  1.1232351065,  0.6150459051,  0.5347808003,
2497          0.4726653099,  0.5269576907,  0.4278128147,  0.2745841742,
2498          0.3868718743,  0.4183729291,  0.3474434018,  0.3150035739 } },
2499     { {  0.9070043564,  0.7648323774,  0.4281778932,  0.5475063920,
2500          0.4134704471,  0.4706834555,  0.4549329281,  0.4648422003,
2501          0.4572798610,  0.4823138118,  0.4666154385,  0.4841913581,
2502          0.4018922448,  0.4297946692,  0.4646857381,  0.6091003418 },
2503       {  0.4925360084,  0.2065231204,  0.0948612690,  0.1716842055,
2504          0.0992422104,  0.1332988143,  0.1255800128,  0.1257364750,
2505          0.0955392718,  0.1118634939,  0.1372103691,  0.1525958180,
2506          0.0902717113,  0.1591672301,  0.2335910797,  0.3767018318 } },
2507     { {  0.3185500503,  0.8677845001,  0.7776622772,  0.8160476685,
2508          0.8624126315,  0.8057211637,  0.8852561116,  0.8471314907,
2509          0.9145145416,  0.8945916891,  0.8638729453,  0.8531292081,
2510          0.7425104380,  0.6215651631,  0.6501455903,  0.6341864467 },
2511       { -0.0499705672,  0.0687842369,  0.3051464558,  0.3368039727,
2512          0.4942049384,  0.3823344707,  0.5683158636,  0.5044271350,
2513          0.6278236508,  0.5777035952,  0.5745221972,  0.5502184033,
2514          0.4244228005,  0.3163595796,  0.3525545001,  0.3582914472 } },
2515     { {  0.3200625181,  0.9415303469,  0.6067534089,  0.3568832874,
2516          0.1600538492,  0.2938811779,  0.2037589550,  0.3017564416,
2517          0.2572168708,  0.4796018004,  0.6938506961,  0.6847758889,
2518          0.7232134342,  0.6111343503,  0.5159531832,  0.4856516719 },
2519       {  0.0680540800,  0.6285016537,  0.2514277697,  0.0790064335,
2520         -0.0687981844,  0.0521992445, -0.0055874586,  0.0537117124,
2521          0.0188206434,  0.1883213520,  0.4493002892,  0.4300554395,
2522          0.4750122428,  0.3658016324,  0.3119786382,  0.2818335891 } },
2523     { {  0.6864969730,  1.0815640092,  0.9838794470,  0.8845259547,
2524          0.9438772798,  0.8888025880,  0.8178730607,  0.8581881523,
2525          0.7128347754,  0.7120524645,  0.7345308661,  0.7945601940,
2526          0.7854853868,  0.8261655569,  0.6941114664,  0.6646444201 },
2527       {  0.2847542167,  0.9535257816,  0.6691818237,  0.5026538968,
2528          0.5945493579,  0.4125838280,  0.3886451125,  0.3740941286,
2529          0.2453778982,  0.2928902507,  0.3219922185,  0.4065861106,
2530          0.3838469386,  0.4289602041,  0.3910441995,  0.3821780086 } },
2531     { {  1.1335094571,  1.0390062928,  0.7019867301,  0.6203134656,
2532          0.6951545477,  0.4863818288,  0.6171320677,  0.6247465611,
2533          0.5907421112,  0.6711115241,  0.7322882414,  0.7042293549,
2534          0.5635698438,  0.6174449921,  0.6727283001,  0.6431047916 },
2535       {  1.0146503448,  0.7762541175,  0.2200310230,  0.2459515929,
2536          0.2703596950,  0.1376276016,  0.2522100806,  0.2622758150,
2537          0.2389107943,  0.2956544161,  0.3799875379,  0.3653843999,
2538          0.2561216354,  0.2842326760,  0.4034568667,  0.3700782657 } },
2539     { {  0.6342907548,  0.9627570510,  0.5214815140, -0.0226939917,
2540          0.5616401434,  0.7231091261,  0.7417802811,  0.9092991352,
2541          0.9739701748,  0.7804785967,  0.6771092415,  0.6352295280,
2542          0.4660417438,  0.5869870186,  0.6692339778,  0.5986173749 },
2543       {  0.3988673091,  0.6997441053,  0.2316613793, -0.2566571236,
2544          0.2685343027,  0.4484136701,  0.4490395188,  0.6886874437,
2545          0.7703085542,  0.5847443938,  0.4539941549,  0.4098196626,
2546          0.2579991817,  0.3376384377,  0.4754816294,  0.5095382333 } },
2547     { {  0.4443456531,  2.0296727419,  0.6569256186,  0.6439914107,
2548          0.6436263323,  0.5507399440,  0.6095175743,  0.6066491008,
2549          0.5347808003,  0.2529402375,  0.4443978071,  0.7000570297,
2550          0.8259569407,  0.5927761197,  0.5078171492,  0.4418422580 },
2551       {  0.2430831194,  1.9133691788,  0.3723730445,  0.3764410615,
2552          0.3874977231,  0.3212099075,  0.3832210898,  0.4474227428,
2553          0.3644977808,  0.0814055204,  0.2752621770,  0.4647378922,
2554          0.6619845629,  0.4304205179,  0.3143777251,  0.2705683112 } },
2555     { {  0.9740744829,  1.0730628967,  0.9743352532,  0.9098728299,
2556          0.9453375936,  0.9661470652,  0.9270836711,  0.9643738270,
2557          0.9989519715,  0.9627048969,  0.9348546267,  0.9865393043,
2558          0.9399657249,  0.9752218723,  0.8440544009,  0.8819182515 },
2559       {  0.9258319736,  1.0357205868,  0.8463491797,  0.8108844161,
2560          0.8391519189,  0.8566235304,  0.8305986524,  0.8880724311,
2561          0.9181653261,  0.8670021892,  0.8305986524,  0.8995984793,
2562          0.8300249577,  0.8711223602,  0.7195626497,  0.8138571978 } },
2563 };
2564
2565 static const double wmavoice_mean_lsf10[2][10] = {
2566     { 0.2235394066, 0.4097484909, 0.7025292732, 1.1077160169,
2567       1.3939179044, 1.6741291716, 1.9552949226, 2.2199793918,
2568       2.5103400247, 2.7829212906 },
2569     { 0.1493683393, 0.3714357373, 0.7702730245, 1.0609411394,
2570       1.3270362536, 1.5806033119, 1.8398507524, 2.1116740248,
2571       2.3823505771, 2.6865718527 }
2572 };
2573
2574 static const double wmavoice_mean_lsf16[2][16] = {
2575     { 0.0999206754, 0.2345933590, 0.4621011210, 0.6772546160,
2576       0.8346396060, 1.0067495130, 1.1571691668, 1.3292508688,
2577       1.4941465650, 1.6600755584, 1.8461284908, 2.0529487333,
2578       2.2690810112, 2.4949894820, 2.7172752965, 2.9164840903 },
2579     { 0.0918298402, 0.2475621892, 0.4782937721, 0.6284774045,
2580       0.7861951264, 0.9303736000, 1.0940441024, 1.2521029300,
2581       1.4434732098, 1.6551410742, 1.8917962963, 2.0967280403,
2582       2.2981430375, 2.4826173497, 2.6827972461, 2.8811350800 }
2583 };
2584
2585 static const float wmavoice_std_codebook[1000] = {
2586     -0.185013, -0.150405, -0.707267, -0.284100,  0.882898,
2587     -0.788627,  0.061005,  0.374431,  0.053843, -0.909826,
2588      0.543602,  0.219326,  0.285698,  0.154709, -0.455005,
2589      0.426276, -0.868852, -0.952324, -0.550001,  0.813814,
2590     -0.352815,  0.242122,  0.820495, -0.189574, -0.449538,
2591      0.499132, -0.247783,  0.598159,  0.732040, -0.564406,
2592     -0.631788, -0.452973,  0.285189, -0.339055,  0.262927,
2593      0.168087, -0.127682, -0.676067, -0.457481,  0.926161,
2594     -0.585893, -0.913880,  0.145487,  0.699804,  0.240829,
2595      0.690482,  0.126081,  0.371977,  0.738158,  0.576080,
2596      0.185791, -0.614657, -0.181799,  0.006285,  0.195768,
2597      0.368663, -0.494583,  0.947985, -0.033178, -0.762543,
2598     -0.616421,  0.335034, -0.215516,  0.668769,  0.995979,
2599     -0.952588, -0.163144, -0.131704, -0.628655,  0.379374,
2600     -0.205543, -0.214549,  0.465494,  0.939944, -0.514744,
2601     -0.293676,  0.630426,  0.611336, -0.921699,  0.368584,
2602      0.187416,  0.264092,  0.753927, -0.994382, -0.729623,
2603     -0.050304,  0.374280, -0.224205, -0.102319, -0.658897,
2604      0.013252,  0.281260,  0.676137,  0.797736, -0.049971,
2605      0.672115,  0.845148,  0.786885, -0.459588, -0.783507,
2606      0.166259,  0.334869,  0.001944, -0.368247,  0.274813,
2607      0.487200,  0.338077, -0.094761,  0.098536,  0.416378,
2608     -0.726176, -0.714048, -0.319530, -0.972249, -0.708430,
2609     -0.049153, -0.022553,  0.665850,  0.726642,  0.875127,
2610     -0.993047, -0.260106,  0.156387,  0.683090, -0.462370,
2611     -0.893584,  0.355205, -0.617222,  0.893301,  0.895617,
2612     -0.400729,  0.059559,  0.230486,  0.601215,  0.691313,
2613     -0.494701,  0.088415,  0.029390,  0.410539, -0.813049,
2614     -0.554232,  0.684362, -0.527097,  0.126238,  0.712113,
2615     -0.235528, -0.922915, -0.310440, -0.569678,  0.803727,
2616     -0.435313, -0.562725, -0.456380,  0.721075, -0.879635,
2617      0.081250,  0.827491,  0.475570,  0.464029,  0.720792,
2618      0.371187, -0.936700, -0.219649, -0.398327,  0.664515,
2619     -0.528336,  0.106972, -0.247070,  0.501053, -0.482490,
2620     -0.060119,  0.946821, -0.798127,  0.412784,  0.073058,
2621      0.913986, -0.822744,  0.150143, -0.396453, -0.392421,
2622     -0.046130,  0.168234,  0.044854,  0.497490, -0.110691,
2623      0.165219, -0.421259, -0.283200, -0.359212, -0.957231,
2624     -0.562409, -0.988025, -0.893931,  0.217942, -0.386352,
2625      0.770585,  0.689606,  0.720620, -0.476485,  0.190659,
2626     -0.761870,  0.463395,  0.137480, -0.559997, -0.123821,
2627     -0.789461, -0.646011,  0.053435,  0.360682, -0.042464,
2628      0.661014, -0.685448, -0.874230, -0.294133,  0.812042,
2629      0.015078,  0.871086, -0.609218,  0.731878, -0.488126,
2630     -0.566448, -0.830530, -0.476150, -0.460379,  0.387412,
2631      0.137497, -0.689794,  0.077018, -0.141883, -0.166280,
2632     -0.732322,  0.096247, -0.702884,  0.405158,  0.536250,
2633      0.173295,  0.615696,  0.890239, -0.773270, -0.023622,
2634     -0.152226,  0.887744,  0.290930, -0.026456, -0.406389,
2635      0.102972,  0.988622, -0.535303,  0.493754,  0.720500,
2636     -0.023428,  0.927306,  0.889970,  0.500421, -0.533073,
2637      0.277382, -0.362081, -0.222867, -0.645599,  0.496035,
2638      0.610853, -0.377922, -0.407718,  0.907969, -0.972764,
2639     -0.871468,  0.081264,  0.642933, -0.981230,  0.307994,
2640     -0.380689, -0.133456,  0.195738,  0.910241,  0.840088,
2641      0.789349,  0.013213,  0.828710, -0.745954, -0.493033,
2642      0.549210,  0.230618, -0.565727,  0.439180, -0.268961,
2643     -0.098800, -0.283438,  0.368958,  0.678333,  0.070963,
2644     -0.135007,  0.289186,  0.693041,  0.457275,  0.197155,
2645      0.720277,  0.585807, -0.721581,  0.363210,  0.604577,
2646      0.586413,  0.982521, -0.528878, -0.217849,  0.892762,
2647     -0.688791, -0.428500, -0.094025, -0.860081, -0.174454,
2648      0.412942,  0.689129, -0.943836,  0.847215,  0.128309,
2649     -0.212797, -0.251585,  0.844871, -0.843839, -0.573252,
2650     -0.084167,  0.021154,  0.715935, -0.391126, -0.521570,
2651     -0.086910, -0.670848, -0.935763,  0.191509,  0.692361,
2652      0.668814, -0.222078,  0.674882, -0.860064,  0.560073,
2653      0.567644, -0.548855, -0.868427, -0.526382, -0.408936,
2654     -0.042881,  0.886560, -0.719807,  0.013283,  0.733775,
2655      0.408502,  0.800487, -0.517810,  0.253372,  0.956648,
2656     -0.091062, -0.830794, -0.022198, -0.375127, -0.221920,
2657      0.456232,  0.537963,  0.107232,  0.520469, -0.270529,
2658     -0.200406,  0.189284,  0.507393, -0.525524,  0.329220,
2659      0.067466, -0.957881,  0.780365,  0.199039, -0.484262,
2660     -0.628570, -0.843843, -0.597703, -0.348377,  0.169441,
2661     -0.863928, -0.939875, -0.030073, -0.381738,  0.313497,
2662     -0.073425,  0.527200,  0.482703,  0.904377, -0.847927,
2663     -0.739217,  0.360609,  0.690035,  0.368015, -0.118921,
2664     -0.580493, -0.832391, -0.929638,  0.926900, -0.357915,
2665      0.399582, -0.005634, -0.315796,  0.179947, -0.806596,
2666      0.393360,  0.732931, -0.415833, -0.724526,  0.957347,
2667     -0.892887,  0.475366,  0.173583, -0.418554, -0.302536,
2668      0.627315,  0.782000,  0.497542,  0.139082,  0.570111,
2669      0.732375, -0.454643,  0.302218, -0.019505,  0.881778,
2670     -0.057606,  0.273041,  0.414170, -0.503501, -0.079602,
2671     -0.083941,  0.007178, -0.171925,  0.506856,  0.520953,
2672      0.631684, -0.099784,  0.253885, -0.784149,  0.175691,
2673      0.211231, -0.677036, -0.348943, -0.615186, -0.095591,
2674      0.348521, -0.987871, -0.313590, -0.153938,  0.151210,
2675     -0.743479, -0.421562,  0.696567,  0.558739,  0.558933,
2676      0.578346, -0.498867, -0.168026, -0.007485, -0.002368,
2677      0.752372,  0.908575, -0.995190, -0.419553,  0.415430,
2678      0.525763, -0.787869, -0.684353, -0.220353, -0.572018,
2679      0.491337,  0.990879, -0.249054, -0.857606, -0.624307,
2680      0.655355,  0.490915, -0.612178, -0.658235, -0.663023,
2681      0.539032, -0.401714, -0.084585,  0.235599, -0.842975,
2682     -0.525653, -0.186055, -0.341841,  0.306321,  0.806460,
2683      0.655791,  0.058693,  0.715035,  0.660601,  0.639140,
2684      0.130465,  0.186363,  0.851271,  0.446112,  0.966011,
2685     -0.720746, -0.062551,  0.956890,  0.030200,  0.079843,
2686     -0.667418, -0.314445, -0.429243, -0.279596,  0.027320,
2687     -0.092266, -0.740564,  0.625606,  0.823149,  0.495035,
2688      0.782632, -0.702504, -0.691020, -0.559209,  0.603818,
2689     -0.884560, -0.903419, -0.337489,  0.830475,  0.757182,
2690     -0.698349, -0.039060, -0.056455, -0.847078, -0.592948,
2691     -0.090444, -0.567824,  0.344501, -0.133554,  0.462375,
2692     -0.575656,  0.199028, -0.852070, -0.004899,  0.919432,
2693      0.175251,  0.902835, -0.821132, -0.199143,  0.725984,
2694      0.673903, -0.416511, -0.976519,  0.982883,  0.024279,
2695      0.627298, -0.901677,  0.120861, -0.710191,  0.928798,
2696     -0.121958, -0.408540, -0.110261,  0.821588, -0.255618,
2697      0.296790, -0.268856,  0.176557, -0.358709,  0.597589,
2698     -0.361067,  0.065635, -0.203382, -0.213137, -0.939264,
2699     -0.283951,  0.962113,  0.963571, -0.105083, -0.237030,
2700      0.689556, -0.431180,  0.346459,  0.713037, -0.448297,
2701     -0.629262,  0.340335, -0.349973,  0.491599,  0.630144,
2702     -0.421175, -0.630359, -0.778396,  0.468564, -0.808771,
2703     -0.034014, -0.234646, -0.077627, -0.857457,  0.406645,
2704     -0.480038, -0.218524, -0.527720,  0.316580,  0.568338,
2705     -0.466984, -0.967371,  0.530452, -0.503413, -0.072454,
2706     -0.706578, -0.813857,  0.496366,  0.639881,  0.899179,
2707     -0.951931, -0.989381,  0.239514, -0.301904,  0.502218,
2708     -0.130341,  0.276921,  0.871860,  0.091262, -0.254515,
2709     -0.936911, -0.942752,  0.510839, -0.014539, -0.800209,
2710     -0.082516,  0.505423, -0.018733,  0.389763, -0.177997,
2711     -0.450395,  0.922779, -0.145368, -0.919943, -0.580634,
2712      0.782178, -0.626521, -0.394491,  0.278545, -0.986640,
2713     -0.495312,  0.326614, -0.976021,  0.744203, -0.975290,
2714      0.526197, -0.386139,  0.301631,  0.398057,  0.705124,
2715     -0.952884,  0.461146,  0.762372,  0.557954, -0.553393,
2716      0.962163, -0.524562,  0.952030, -0.056570,  0.865202,
2717     -0.225967,  0.493035,  0.787981,  0.628665,  0.573093,
2718     -0.792653,  0.410844,  0.946571, -0.187144, -0.310612,
2719      0.959931,  0.317544, -0.983998,  0.983911,  0.061747,
2720     -0.959287,  0.510108,  0.675608,  0.342344, -0.091835,
2721      0.380731,  0.389460, -0.630689,  0.143103, -0.052586,
2722     -0.184083,  0.105266,  0.422852, -0.232052, -0.951303,
2723      0.288054,  0.541981,  0.541732,  0.076035,  0.170646,
2724      0.114825,  0.283382, -0.418510,  0.061396, -0.903763,
2725      0.270879,  0.021327,  0.413782,  0.286881,  0.005238,
2726     -0.524472,  0.327594, -0.484654, -0.848864, -0.330063,
2727      0.423511,  0.531868, -0.940603,  0.792822, -0.325029,
2728      0.006811, -0.391261,  0.780237, -0.570337,  0.376687,
2729      0.828934,  0.717717, -0.081333,  0.370666, -0.206248,
2730     -0.910686, -0.514510, -0.922867, -0.329196,  0.546886,
2731     -0.826629,  0.941683, -0.431786,  0.587152,  0.228564,
2732      0.573452, -0.937320, -0.443843, -0.911202, -0.786184,
2733      0.226094,  0.512309,  0.745684,  0.285491,  0.305131,
2734     -0.579345, -0.707698,  0.913870, -0.799108, -0.278035,
2735      0.290556, -0.970174, -0.560318, -0.790776,  0.400492,
2736      0.233434, -0.701462,  0.885982,  0.310567, -0.030658,
2737      0.432868,  0.483938, -0.088976, -0.998918,  0.071090,
2738     -0.860412,  0.574534,  0.133770, -0.304255,  0.663332,
2739      0.347586,  0.921839,  0.175641,  0.093270,  0.207330,
2740     -0.519228,  0.513925,  0.499633, -0.605358,  0.714817,
2741     -0.778402,  0.685198,  0.744643, -0.338720,  0.894422,
2742      0.145135,  0.894714, -0.807041,  0.031117,  0.205281,
2743      0.162301, -0.536015, -0.310781, -0.926675, -0.534932,
2744      0.760308, -0.787088, -0.960398, -0.105922, -0.091343,
2745      0.702934, -0.758336, -0.169504, -0.121425,  0.334935,
2746     -0.962173,  0.359347, -0.151140,  0.537460,  0.753989,
2747     -0.436323,  0.759058,  0.439187, -0.691680, -0.579662,
2748      0.333608,  0.453454, -0.684948,  0.526567, -0.515429,
2749      0.520333, -0.311132, -0.051443, -0.790448, -0.237807,
2750      0.413625,  0.969861, -0.024895,  0.453226, -0.136061,
2751      0.883762,  0.156160,  0.105603, -0.285741, -0.965264,
2752     -0.559462, -0.247914,  0.394083,  0.289398, -0.710455,
2753      0.148072,  0.853074, -0.951397, -0.412742, -0.838606,
2754     -0.531059,  0.920866,  0.614848, -0.216007,  0.447434,
2755     -0.900580, -0.695673, -0.863698,  0.047977, -0.486121,
2756     -0.101505, -0.538399, -0.516261,  0.873600,  0.914828,
2757      0.347678,  0.757362,  0.070988, -0.546718, -0.528380,
2758      0.105724, -0.106180,  0.223706, -0.500194, -0.816782,
2759      0.513251,  0.647878, -0.963708,  0.561854, -0.764864,
2760     -0.802314, -0.969205, -0.843997,  0.812534, -0.185212,
2761      0.603436,  0.911954,  0.119114,  0.739738, -0.040069,
2762      0.632993, -0.361767,  0.421532, -0.883268, -0.488168,
2763      0.336360,  0.464411, -0.730806, -0.592652,  0.917693,
2764     -0.259186,  0.513071, -0.188487,  0.964520, -0.987122,
2765     -0.005270,  0.477771,  0.660756,  0.031023,  0.039625,
2766      0.895892,  0.228709,  0.070419, -0.948105,  0.041243,
2767      0.885207,  0.655331, -0.046803,  0.004321,  0.395069,
2768      0.913128, -0.362686, -0.966698,  0.334661, -0.245954,
2769     -0.454865, -0.328980, -0.781543, -0.185671,  0.078368,
2770     -0.863850,  0.555143, -0.408560, -0.052338,  0.519663,
2771     -0.395683,  0.942393, -0.002565, -0.734927, -0.026585,
2772     -0.962941, -0.839035, -0.797876,  0.107479, -0.787140,
2773      0.243367, -0.007314,  0.868191, -0.803435,  0.997007,
2774      0.263261, -0.890307, -0.365679,  0.296563,  0.444354,
2775      0.388367,  0.841698, -0.884626,  0.606824, -0.343973,
2776      0.193743,  0.742974, -0.788830,  0.785182, -0.309364,
2777      0.730833, -0.610500, -0.366971, -0.271732, -0.345427,
2778      0.606444, -0.234673, -0.184462,  0.808568,  0.872806,
2779      0.028398,  0.051936, -0.134508, -0.103410,  0.248500,
2780     -0.137501, -0.840150,  0.358194,  0.496819,  0.456413,
2781     -0.197453, -0.114814,  0.298111, -0.082078, -0.507990,
2782      0.954138, -0.888336, -0.765016, -0.834692,  0.896847,
2783     -0.074380,  0.896141, -0.713654,  0.558649, -0.375591,
2784     -0.059081,  0.165093,  0.389736,  0.756458, -0.026339,
2785      0.262542, -0.215144, -0.974403, -0.871966,  0.681446
2786 };
2787
2788 static const float wmavoice_gain_silence[256] = {
2789     0.0000188351, 0.0000249147, 0.0000294447, 0.0000365973,
2790     0.0000423193, 0.0000464916, 0.0000498295, 0.0000525713,
2791     0.0000550747, 0.0000574589, 0.0000596046, 0.0000615120,
2792     0.0000634193, 0.0000649691, 0.0000665188, 0.0000679493,
2793     0.0000692606, 0.0000704527, 0.0000716448, 0.0000728369,
2794     0.0000737906, 0.0000747442, 0.0000755787, 0.0000762939,
2795     0.0000770092, 0.0000778437, 0.0000785589, 0.0000792742,
2796     0.0000799894, 0.0000807047, 0.0000814199, 0.0000822544,
2797     0.0000829697, 0.0000838041, 0.0000845194, 0.0000854731,
2798     0.0000865459, 0.0000876188, 0.0000889301, 0.0000904799,
2799     0.0000923872, 0.0000950098, 0.0000988245, 0.0001032352,
2800     0.0001088381, 0.0001147985, 0.0001225471, 0.0001319647,
2801     0.0001431704, 0.0001568794, 0.0001744032, 0.0001952648,
2802     0.0002206564, 0.0002535582, 0.0002965927, 0.0003464222,
2803     0.0004109144, 0.0004891157, 0.0005909204, 0.0007261038,
2804     0.0008867979, 0.0010721684, 0.0012696981, 0.0015079975,
2805     0.0017461777, 0.0019979477, 0.0022052526, 0.0023679733,
2806     0.0025173426, 0.0026556253, 0.0027927160, 0.0029264688,
2807     0.0030447245, 0.0031807423, 0.0033060312, 0.0034313202,
2808     0.0035454035, 0.0036598444, 0.0037686825, 0.0038731098,
2809     0.0039769411, 0.0040702820, 0.0041661263, 0.0042562485,
2810     0.0043400526, 0.0044249296, 0.0045082569, 0.0045900345,
2811     0.0046693087, 0.0047430992, 0.0048171282, 0.0048881769,
2812     0.0049589872, 0.0050252676, 0.0050880909, 0.0051497221,
2813     0.0052082539, 0.0052671432, 0.0053246021, 0.0053800344,
2814     0.0054348707, 0.0054861307, 0.0055367947, 0.0055862665,
2815     0.0056355000, 0.0056805611, 0.0057252645, 0.0057705641,
2816     0.0058110952, 0.0058538914, 0.0058966875, 0.0059366226,
2817     0.0059723854, 0.0060091019, 0.0060437918, 0.0060794353,
2818     0.0061159134, 0.0061485767, 0.0061824322, 0.0062153339,
2819     0.0062497854, 0.0062820911, 0.0063197613, 0.0063550472,
2820     0.0063927174, 0.0064336061, 0.0064769983, 0.0065194368,
2821     0.0065603256, 0.0066006184, 0.0066410303, 0.0066826344,
2822     0.0067234039, 0.0067654848, 0.0068060160, 0.0068466663,
2823     0.0068866014, 0.0069231987, 0.0069609880, 0.0069983006,
2824     0.0070366859, 0.0070750713, 0.0071122646, 0.0071535110,
2825     0.0071973801, 0.0072410107, 0.0072846413, 0.0073343515,
2826     0.0073832273, 0.0074360371, 0.0074878931, 0.0075426102,
2827     0.0076007843, 0.0076560974, 0.0077134371, 0.0077683926,
2828     0.0078265667, 0.0078855753, 0.0079488754, 0.0080170631,
2829     0.0080827475, 0.0081528425, 0.0082212687, 0.0082877874,
2830     0.0083510876, 0.0084129572, 0.0084775686, 0.0085455179,
2831     0.0086110830, 0.0086781979, 0.0087503195, 0.0088242292,
2832     0.0089002848, 0.0089734793, 0.0090423822, 0.0091133118,
2833     0.0091816187, 0.0092473030, 0.0093164444, 0.0093911886,
2834     0.0094678402, 0.0095427036, 0.0096175671, 0.0096931458,
2835     0.0097666979, 0.0098397732, 0.0099166632, 0.0099946260,
2836     0.0100749731, 0.0101612806, 0.0102528334, 0.0103493929,
2837     0.0104434490, 0.0105448961, 0.0106583834, 0.0107737780,
2838     0.0108981133, 0.0110142231, 0.0111318827, 0.0112472773,
2839     0.0113576651, 0.0114786625, 0.0116028786, 0.0117331743,
2840     0.0118676424, 0.0120122433, 0.0121580362, 0.0123010874,
2841     0.0124633312, 0.0126402378, 0.0128232241, 0.0130140781,
2842     0.0132108927, 0.0134289265, 0.0136625767, 0.0138912201,
2843     0.0141364336, 0.0144006014, 0.0146615505, 0.0149335861,
2844     0.0152134895, 0.0155050755, 0.0158376694, 0.0162067413,
2845     0.0165973902, 0.0169926882, 0.0174319744, 0.0179271698,
2846     0.0184448957, 0.0190744400, 0.0197248459, 0.0204203129,
2847     0.0212460756, 0.0221523046, 0.0231562853, 0.0243031979,
2848     0.0256397724, 0.0271918774, 0.0289602280, 0.0310072899,
2849     0.0333702564, 0.0363805294, 0.0401413441, 0.0443998575,
2850     0.0498176813, 0.0562580824, 0.0640066862, 0.0732775927,
2851     0.0836604834, 0.0962959528, 0.1122496128, 0.1335854530,
2852     0.1608980894, 0.1990102530, 0.2616490126, 0.3926030397
2853 };
2854
2855 static const float wmavoice_gain_universal[64] = {
2856     0.0000000000, 0.0000000000, 0.0000015497, 0.0000015497,
2857     0.0000095367, 0.0000164509, 0.0000379086, 0.0000494719,
2858     0.0000799894, 0.0001058578, 0.0001349449, 0.0001627207,
2859     0.0001972914, 0.0002325773, 0.0002671480, 0.0003106594,
2860     0.0003589392, 0.0004127026, 0.0004582405, 0.0005071163,
2861     0.0005759001, 0.0006588697, 0.0007554293, 0.0008602142,
2862     0.0009772778, 0.0011068583, 0.0012603998, 0.0013889074,
2863     0.0015437603, 0.0016924143, 0.0018980503, 0.0021264553,
2864     0.0023632050, 0.0025693178, 0.0028522015, 0.0031896830,
2865     0.0034654140, 0.0037885904, 0.0041683912, 0.0046081543,
2866     0.0050576925, 0.0055632591, 0.0061818361, 0.0068151951,
2867     0.0073953867, 0.0081818104, 0.0091186762, 0.0102789402,
2868     0.0119919777, 0.0134155750, 0.0154829025, 0.0173798800,
2869     0.0199711323, 0.0229473114, 0.0268185139, 0.0319474936,
2870     0.0393068790, 0.0460114479, 0.0523469448, 0.0637906790,
2871     0.0845471621, 0.1105458736, 0.1499300003, 0.2219169140
2872 };
2873
2874 static const float wmavoice_gain_codebook_acb[128] = {
2875     0.05, 0.14, 0.16, 0.05, 0.17, 0.25, 0.07, 0.21,
2876     0.12, 0.22, 0.23, 0.13, 0.24, 0.32, 0.14, 0.29,
2877     0.31, 0.41, 0.43, 0.32, 0.43, 0.51, 0.34, 0.48,
2878     0.38, 0.47, 0.49, 0.38, 0.49, 0.57, 0.40, 0.54,
2879     0.49, 0.59, 0.61, 0.50, 0.61, 0.69, 0.52, 0.66,
2880     0.56, 0.65, 0.67, 0.56, 0.67, 0.75, 0.58, 0.72,
2881     0.65, 0.74, 0.76, 0.65, 0.76, 0.84, 0.67, 0.81,
2882     0.71, 0.80, 0.82, 0.71, 0.82, 0.90, 0.73, 0.87,
2883     0.81, 0.90, 0.92, 0.81, 0.93, 1.01, 0.83, 0.97,
2884     0.87, 0.96, 0.98, 0.87, 0.98, 1.06, 0.89, 1.03,
2885     0.92, 1.02, 1.04, 0.93, 1.04, 1.12, 0.95, 1.09,
2886     0.93, 1.02, 1.04, 0.93, 1.04, 1.12, 0.95, 1.09,
2887     0.94, 1.04, 1.05, 0.10, 1.06, 1.14, 0.96, 1.11,
2888     0.98, 1.08, 1.10, 0.99, 1.10, 1.18, 1.01, 1.15,
2889     1.06, 1.15, 1.17, 1.06, 1.17, 1.25, 1.08, 1.22,
2890     1.16, 1.25, 1.27, 1.16, 1.28, 1.36, 1.18, 1.32
2891 };
2892
2893 static const float wmavoice_gain_codebook_fcb[128] = {
2894     -0.8439700703 /* log(0.430) */, -0.6143360001 /* log(0.541) */,
2895     -0.1531511795 /* log(0.858) */, -0.0998203353 /* log(0.905) */,
2896      0.3213585988 /* log(1.379) */,  0.3777512695 /* log(1.459) */,
2897      0.7158866675 /* log(2.046) */,  1.2700414043 /* log(3.561) */,
2898     -1.6873994539 /* log(0.185) */, -1.2173958247 /* log(0.296) */,
2899     -0.4893903430 /* log(0.613) */, -0.4155154440 /* log(0.660) */,
2900      0.1257512053 /* log(1.134) */,  0.1947440768 /* log(1.215) */,
2901      0.5883420662 /* log(1.801) */,  1.1987592373 /* log(3.316) */,
2902     -1.3586791941 /* log(0.257) */, -0.9996723408 /* log(0.368) */,
2903     -0.3768776513 /* log(0.686) */, -0.3119747650 /* log(0.732) */,
2904      0.1881379421 /* log(1.207) */,  0.2523139286 /* log(1.287) */,
2905      0.6280751838 /* log(1.874) */,  1.2202397768 /* log(3.388) */,
2906     -0.7381445465 /* log(0.478) */, -0.5310283311 /* log(0.588) */,
2907     -0.0987159729 /* log(0.906) */, -0.0491902442 /* log(0.952) */,
2908      0.3555743385 /* log(1.427) */,  0.4101209196 /* log(1.507) */,
2909      0.7390761124 /* log(2.094) */,  1.2831536022 /* log(3.608) */,
2910     -0.2497442331 /* log(0.779) */, -0.1165338163 /* log(0.890) */,
2911      0.1881379421 /* log(1.207) */,  0.2255406759 /* log(1.253) */,
2912      0.5469646704 /* log(1.728) */,  0.5922212620 /* log(1.808) */,
2913      0.8733832309 /* log(2.395) */,  1.3632815868 /* log(3.909) */,
2914     -1.3903023825 /* log(0.249) */, -1.0216512475 /* log(0.360) */,
2915     -0.3900840061 /* log(0.677) */, -0.3229638866 /* log(0.724) */,
2916      0.1806534997 /* log(1.198) */,  0.2460785226 /* log(1.279) */,
2917      0.6232610531 /* log(1.865) */,  1.2178757095 /* log(3.380) */,
2918     -0.6033064766 /* log(0.547) */, -0.4185503477 /* log(0.658) */,
2919     -0.0253178080 /* log(0.975) */,  0.0217614918 /* log(1.022) */,
2920      0.4027948796 /* log(1.496) */,  0.4555243080 /* log(1.577) */,
2921      0.7714961470 /* log(2.163) */,  1.3023691262 /* log(3.678) */,
2922     -1.1056369036 /* log(0.331) */, -0.8164453969 /* log(0.442) */,
2923     -0.2757535016 /* log(0.759) */, -0.2156715365 /* log(0.806) */,
2924      0.2468600779 /* log(1.280) */,  0.3082197237 /* log(1.361) */,
2925      0.6662897264 /* log(1.947) */,  1.2418464568 /* log(3.462) */,
2926     -0.5395680926 /* log(0.583) */, -0.3652833185 /* log(0.694) */,
2927      0.0109399400 /* log(1.011) */,  0.0554347069 /* log(1.057) */,
2928      0.4265740713 /* log(1.532) */,  0.4774756441 /* log(1.612) */,
2929      0.7880027116 /* log(2.199) */,  1.3118401752 /* log(3.713) */,
2930     -0.9571127264 /* log(0.384) */, -0.7031975164 /* log(0.495) */,
2931     -0.2082549388 /* log(0.812) */, -0.1519863570 /* log(0.859) */,
2932      0.2874320412 /* log(1.333) */,  0.3464225675 /* log(1.414) */,
2933      0.6931471806 /* log(2.000) */,  1.2570395253 /* log(3.515) */,
2934     -0.2420715612 /* log(0.785) */, -0.1098148660 /* log(0.896) */,
2935      0.1930966300 /* log(1.213) */,  0.2311117210 /* log(1.260) */,
2936      0.5504308784 /* log(1.734) */,  0.5960854677 /* log(1.815) */,
2937      0.8758853172 /* log(2.401) */,  1.3650707247 /* log(3.916) */,
2938      0.6564831962 /* log(1.928) */,  0.7124594916 /* log(2.039) */,
2939      0.8569652658 /* log(2.356) */,  0.8767179568 /* log(2.403) */,
2940      1.0567480846 /* log(2.877) */,  1.0841752409 /* log(2.957) */,
2941      1.2652560327 /* log(3.544) */,  1.6211688353 /* log(5.059) */,
2942     -1.5417792640 /* log(0.214) */, -1.1239300967 /* log(0.325) */,
2943     -0.4431669753 /* log(0.642) */, -5.2983173665 /* log(0.005) */,
2944      0.1510028735 /* log(1.163) */,  0.2183319943 /* log(1.244) */,
2945      0.6043159669 /* log(1.830) */,  1.2074666936 /* log(3.345) */,
2946     -0.5124936809 /* log(0.599) */, -0.3424903089 /* log(0.710) */,
2947      0.0266419309 /* log(1.027) */,  0.0713899961 /* log(1.074) */,
2948      0.4369637752 /* log(1.548) */,  0.4879663296 /* log(1.629) */,
2949      0.7952524035 /* log(2.215) */,  1.3164082337 /* log(3.730) */,
2950     -0.8867319296 /* log(0.412) */, -0.6481738149 /* log(0.523) */,
2951     -0.1743533871 /* log(0.840) */, -0.1199102967 /* log(0.887) */,
2952      0.3089542077 /* log(1.362) */,  0.3660310389 /* log(1.442) */,
2953      0.7075430608 /* log(2.029) */,  1.2649738259 /* log(3.543) */,
2954     -0.0943106795 /* log(0.910) */,  0.0207825392 /* log(1.021) */,
2955      0.2911759617 /* log(1.338) */,  0.3249778572 /* log(1.384) */,
2956      0.6200387087 /* log(1.859) */,  0.6621723763 /* log(1.939) */,
2957      0.9266370239 /* log(2.526) */,  1.3962446920 /* log(4.040) */
2958 };
2959
2960 static const float wmavoice_ipol1_coeffs[17*9] = {
2961      0,
2962      0.6308171151,  0.7613050340,  0.8632577061,  0.9280143976,
2963      0.9499985575,  0.9273047447,  0.8618999123,  0.7594153284,
2964     -0.1791058179, -0.1351341452, -0.0589959878,  0.0472882274,
2965      0.1784339990,  0.3262237605,  0.4801855979,  0.6285545824,
2966      0,
2967     -0.1921342459, -0.1786532696, -0.1341681625, -0.0575229186,
2968      0.0492091286,  0.1806929555,  0.3286687729,  0.4826357064,
2969      0.0807464118,  0.0506337392,  0.0080115446, -0.0428523305,
2970     -0.0958572026, -0.1436148431, -0.1782128509, -0.1921164688,
2971      0,
2972      0.0960653644,  0.0803771760,  0.0500416081,  0.0072485465,
2973     -0.0437018941, -0.0966834794, -0.1442930843, -0.1786170151,
2974     -0.0391932014, -0.0189622506,  0.0070230183,  0.0356589290,
2975      0.0630142610,  0.0847979258,  0.0969368290,  0.0961942221,
2976      0,
2977     -0.0515680681, -0.0389267015, -0.0185848991,  0.0074699190,
2978      0.0361179407,  0.0634181346,  0.0850781347,  0.0970333587,
2979      0.0178811825,  0.0048708571, -0.0108041526, -0.0271167825,
2980     -0.0416534986, -0.0519338618, -0.0557823736, -0.0517020743,
2981      0,
2982      0.0267091128,  0.0177022810,  0.0046363524, -0.0110662053,
2983     -0.0273700613, -0.0418578978, -0.0520511451, -0.0557823028,
2984     -0.0069270437,  0.0008217385,  0.0097293532,  0.0185749526,
2985      0.0259542684,  0.0304777338,  0.0309953480,  0.0268154419,
2986      0,
2987     -0.0125539196, -0.0068173436,  0.0009580161,  0.0098749646,
2988      0.0187084037,  0.0260526291,  0.0305201071,  0.0309665180,
2989      0.0019149571, -0.0022503408, -0.0068592466, -0.0112465904,
2990     -0.0146595868, -0.0163685936, -0.0157934162, -0.0126258885,
2991      0,
2992      0.0050976076,  0.0018546581, -0.0023221741, -0.0069331308,
2993     -0.0113109085, -0.0147021576, -0.0163786146, -0.0157635096,
2994     -0.0001162733,  0.0019313511,  0.0040823850,  0.0060192454,
2995      0.0073876535,  0.0078486321,  0.0071403184,  0.0051400312,
2996      0,
2997     -0.0017920607, -0.0000857157,  0.0019657183,  0.0041159806,
2998      0.0060465694,  0.0074030068,  0.0078470460,  0.0071185785,
2999     -0.0004100171, -0.0015364708, -0.0025490071, -0.0033188616,
3000     -0.0037196307, -0.0036417283, -0.0030119629, -0.0018155784,
3001      0,
3002      0.0006907531, -0.0004282868, -0.0015539061, -0.0025635813,
3003     -0.0033285026, -0.0037224069, -0.0036361245, -0.0029972247,
3004      0, 0, 0, 0, 0, 0, 0, 0
3005 };
3006
3007 /**
3008  * Hamming-window sinc function (num = 32, x = [ 0, 31 ]):
3009  * (0.54 + 0.46 * cos(2 * M_PI * x / (num - 1))) *
3010  *     sin(x * M_PI / 4) / (x * M_PI / 4)
3011  */
3012 static const float wmavoice_ipol2_coeffs[32] = {
3013     1,  0.8563459515,  0.5888634918,  0.2648358640,
3014     0, -0.1360490318, -0.1434589471, -0.0758505310,
3015     0,  0.0410402636,  0.0412485781,  0.0200064587,
3016     0, -0.0081391358, -0.0068223253, -0.0029313546,
3017     0,  0.0025864919,  0.0053062555,  0.0055688801,
3018     0, -0.0104795941, -0.0187493577, -0.0160592399,
3019     0,  0.0212381664,  0.0331059131,  0.0251942366,
3020     0, -0.0273968070, -0.0392575669, -0.0276240534
3021 };
3022
3023 /**
3024  * LUT for 1.071575641632 * pow(1.0331663, n - 127)
3025  */
3026 static const float wmavoice_energy_table[128] = {
3027     0.0169982178, 0.0175619858, 0.0181444519, 0.0187462362,
3028     0.0193679795, 0.0200103437, 0.0206740128, 0.0213596933,
3029     0.0220681153, 0.0228000330, 0.0235562258, 0.0243374986,
3030     0.0251446834, 0.0259786395, 0.0268402549, 0.0277304468,
3031     0.0286501631, 0.0296003830, 0.0305821182, 0.0315964139,
3032     0.0326443501, 0.0337270424, 0.0348456436, 0.0360013446,
3033     0.0371953760, 0.0384290090, 0.0397035571, 0.0410203772,
3034     0.0423808713, 0.0437864880, 0.0452387238, 0.0467391249,
3035     0.0482892887, 0.0498908657, 0.0515455612, 0.0532551367,
3036     0.0550214125, 0.0568462692, 0.0587316496, 0.0606795611,
3037     0.0626920777, 0.0647713419, 0.0669195677, 0.0691390421,
3038     0.0714321284, 0.0738012678, 0.0762489827, 0.0787778794,
3039     0.0813906502, 0.0840900769, 0.0868790336, 0.0897604897,
3040     0.0927375130, 0.0958132732, 0.0989910450, 0.1022742117,
3041     0.1056662688, 0.1091708280, 0.1127916204, 0.1165325012,
3042     0.1203974531, 0.1243905911, 0.1285161668, 0.1327785725,
3043     0.1371823465, 0.1417321773, 0.1464329093, 0.1512895470,
3044     0.1563072616, 0.1614913951, 0.1668474671, 0.1723811803,
3045     0.1780984262, 0.1840052921, 0.1901080668, 0.1964132480,
3046     0.2029275487, 0.2096579046, 0.2166114816, 0.2237956830,
3047     0.2312181577, 0.2388868085, 0.2468098001, 0.2549955679,
3048     0.2634528274, 0.2721905830, 0.2812181375, 0.2905451026,
3049     0.3001814086, 0.3101373153, 0.3204234225, 0.3310506819,
3050     0.3420304081, 0.3533742912, 0.3650944090, 0.3772032397,
3051     0.3897136755, 0.4026390362, 0.4159930832, 0.4297900346,
3052     0.4440445799, 0.4587718956, 0.4739876619, 0.4897080789,
3053     0.5059498840, 0.5227303696, 0.5400674019, 0.5579794393,
3054     0.5764855528, 0.5956054456, 0.6153594745, 0.6357686714,
3055     0.6568547659, 0.6786402082, 0.7011481929, 0.7244026842,
3056     0.7484284410, 0.7732510432, 0.7988969192, 0.8253933741,
3057     0.8527686184, 0.8810517982, 0.9102730265, 0.9404634147,
3058     0.9716551065, 1.0038813113, 1.0371763400, 1.0715756416
3059 };
3060
3061 /**
3062  * LUT for f(x,y) = pow((y + 6.9) / 64, 0.025 * (x + 1)).
3063  */
3064 static const float wmavoice_denoise_power_table[12][64] = {
3065     { 0.9458379339, 0.9490436287, 0.9518757236, 0.9544130754,
3066       0.9567118717, 0.9588135761, 0.9607496688, 0.9625446194,
3067       0.9642178285, 0.9657849396, 0.9672587526, 0.9686498743,
3068       0.9699671937, 0.9712182343, 0.9724094211, 0.9735462842,
3069       0.9746336187, 0.9756756090, 0.9766759291, 0.9776378218,
3070       0.9785641645, 0.9794575217, 0.9803201890, 0.9811542296,
3071       0.9819615045, 0.9827436985, 0.9835023412, 0.9842388263,
3072       0.9849544265, 0.9856503078, 0.9863275406, 0.9869871101,
3073       0.9876299254, 0.9882568267, 0.9888685922, 0.9894659445,
3074       0.9900495551, 0.9906200497, 0.9911780119, 0.9917239872,
3075       0.9922584859, 0.9927819864, 0.9932949377, 0.9937977618,
3076       0.9942908555, 0.9947745929, 0.9952493267, 0.9957153901,
3077       0.9961730980, 0.9966227482, 0.9970646231, 0.9974989903,
3078       0.9979261037, 0.9983462046, 0.9987595223, 0.9991662752,
3079       0.9995666709, 0.9999609077, 1.0003491745, 1.0007316515,
3080       1.0011085110, 1.0014799178, 1.0018460292, 1.0022069960 },
3081     { 0.8946093973, 0.9006838092, 0.9060673931, 0.9109043185,
3082       0.9152976055, 0.9193234737, 0.9230399260, 0.9264921443,
3083       0.9297160207, 0.9327405496, 0.9355894944, 0.9382825789,
3084       0.9408363568, 0.9432648587, 0.9455800822, 0.9477923675,
3085       0.9499106907, 0.9519428941, 0.9538958704, 0.9557757107,
3086       0.9575878241, 0.9593370368, 0.9610276730, 0.9626636222,
3087       0.9642483964, 0.9657851769, 0.9672768552, 0.9687260672,
3088       0.9701352224, 0.9715065293, 0.9728420173, 0.9741435556,
3089       0.9754128696, 0.9766515555, 0.9778610927, 0.9790428553,
3090       0.9801981216, 0.9813280829, 0.9824338513, 0.9835164667,
3091       0.9845769028, 0.9856160726, 0.9866348334, 0.9876339913,
3092       0.9886143053, 0.9895764906, 0.9905212223, 0.9914491381,
3093       0.9923608411, 0.9932569022, 0.9941378627, 0.9950042356,
3094       0.9958565084, 0.9966951442, 0.9975205834, 0.9983332454,
3095       0.9991335296, 0.9999218170, 1.0006984708, 1.0014638383,
3096       1.0022182509, 1.0029620257, 1.0036954662, 1.0044188628 },
3097     { 0.8461555040, 0.8547882305, 0.8624635555, 0.8693789920,
3098       0.8756760853, 0.8814598273, 0.8868103032, 0.8917900284,
3099       0.8964487626, 0.9008267754, 0.9049571273, 0.9088673021,
3100       0.9125804007, 0.9161160306, 0.9194909803, 0.9227197376,
3101       0.9258148939, 0.9287874629, 0.9316471355, 0.9344024839,
3102       0.9370611291, 0.9396298766, 0.9421148300, 0.9445214846,
3103       0.9468548060, 0.9491192967, 0.9513190517, 0.9534578074,
3104       0.9555389816, 0.9575657096, 0.9595408742, 0.9614671327,
3105       0.9633469396, 0.9651825670, 0.9669761222, 0.9687295635,
3106       0.9704447142, 0.9721232742, 0.9737668316, 0.9753768718,
3107       0.9769547868, 0.9785018824, 0.9800193854, 0.9815084500,
3108       0.9829701633, 0.9844055505, 0.9858155796, 0.9872011653,