~ubuntu-branches/ubuntu/saucy/sflphone/saucy-proposed

« back to all changes in this revision

Viewing changes to daemon/libs/pjproject-2.0.1/third_party/g7221/decode/dct4_s.h

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2013-06-30 11:40:56 UTC
  • mfrom: (20.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20130630114056-i0rz9ibang07g7qr
Tags: 1.2.3-2
* changeset_r92d62cfc54732bbbcfff2b1d36c096b120b981a5.diff 
  - fixes automatic endian detection 
* Update Vcs: fixes vcs-field-not-canonical

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***********************************************************************
 
2
**
 
3
**   ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C
 
4
**   > Software Release 2.1 (2008-06)
 
5
**     (Simple repackaging; no change from 2005-05 Release 2.0 code)
 
6
**
 
7
**   � 2004 Polycom, Inc.
 
8
**
 
9
**   All rights reserved.
 
10
**
 
11
***********************************************************************/
 
12
 
 
13
/***********************************************************************
 
14
  Filename:    dct4_s.h
 
15
 
 
16
  Purpose:     Contains tables used by dct4_s.c
 
17
 
 
18
  Design Notes:
 
19
 
 
20
***********************************************************************/
 
21
 
 
22
/***************************************************************************
 
23
 Include files
 
24
***************************************************************************/
 
25
 
 
26
typedef struct
 
27
{
 
28
    Word16 cosine;
 
29
    Word16 minus_sine;
 
30
} cos_msin_t;
 
31
 
 
32
/***************************************************************************
 
33
  The dct_core_s table was generated by the following code
 
34
 
 
35
      for(i=0;i<10;++i)
 
36
      {
 
37
          for(k=0;k<10;++k)
 
38
          {
 
39
              dct_core_s[i][k]=(short) (FTOI(((.9*32768.)*cos(3.1415926*(k+0.5)*(i+0.5)/10.))));
 
40
          }
 
41
      }
 
42
***************************************************************************/
 
43
Word16 dct_core_s[10][10] = {
 
44
{ 29400,   28676,   27246,   25145,   22425,   19153,   15409,   11286,    6885,  2314 },
 
45
{ 28676,   22425,   11286,   -2314,  -15409,  -25145,  -29400,  -27246,  -19153,  -6885 },
 
46
{ 27246,   11286,  -11286,  -27246,  -27246,  -11286,   11286,   27246,   27246,  11286 },
 
47
{ 25145,   -2314,  -27246,  -22425,    6885,   28676,   19153,  -11286,  -29400,  -15409 },
 
48
{ 22425,  -15409,  -27246,    6885,   29400,    2314,  -28676,  -11286,   25145,  19153 },
 
49
{ 19153,  -25145,  -11286,   28676,    2314,  -29400,    6885,   27246,  -15409,  -22425 },
 
50
{ 15409,  -29400,   11286,   19153,  -28676,    6885,   22425,  -27246,    2314,  25145 },
 
51
{ 11286,  -27246,   27246,  -11286,  -11286,   27246,  -27246,   11286,   11286,  -27246 },
 
52
{  6885,  -19153,   27246,  -29400,   25145,  -15409,    2314,   11286,  -22425,  28676 },
 
53
{  2314,   -6885,   11286,  -15409,   19153,  -22425,   25145,  -27246,   28676,  -29400 }
 
54
};
 
55
 
 
56
Word16 syn_bias_7khz[DCT_LENGTH] = {
 
57
 -4,  4, -5, -2,  0, -4,  6,  2, -2, -4,
 
58
 -3,  3,  0,  0, -2,  4,  0,  0,  3, -6,
 
59
  8,  5,  4,  5, -8,  0, -2,  0,  0, -3,
 
60
  3,  0,  0,  0,  1, -1, -2,  0,  0,  2,
 
61
 -2, -5, -2,  3,  2, -1, -1, -6,  3,  1,
 
62
 -7,  4,  4,  0,  1,  4,  1,  0,  1, -5,
 
63
 -1,  1, -6,  0, -1, -1,  3,  0, -2,  1,
 
64
  2, -4,  0,  9,  0, -3,  1,  1,  1,  0,
 
65
 -3, -2, -1, -4, -2,  0,  5,  2, -3,  5,
 
66
  0, -2,  4,  4,  0, -6, -4,  2,  0,  0,
 
67
  0, -1, -1, -2,  0,  6,  1,  0,  0, -1,
 
68
  0, -4, -1,  0, -4,  1, -1, -5,  0,  1,
 
69
  2,  4,  0, -8, -4,  0, -2, -2,  2,  5,
 
70
 -3, -1,  1, -4,  0,  0,  0, -1, -3,  0,
 
71
 -5, -4,  0, -2,  0,  7,  1,  0,  5, -2,
 
72
 -1,  2,  2, -2,  3,  7, -3,  4,  1, -4,
 
73
  0,  0,  3, -7, -5,  0,  0,  4,  0, -2,
 
74
 -1,  0, -5,  0,  2,  0, 11,  5, -1,  0,
 
75
  2,  2, -2, -2,  5,  4, -3,  1,  0, -2,
 
76
  1,  3,  2,  0,  1,  0,  0,  0,  5,  6,
 
77
 -2, -1,  0,  2,  3,  2,  0, -3,  4,  5,
 
78
  0, -1,  0,  3,  1, -2, -3, -2, -1,  2,
 
79
 -1, -1, -2, -7,  4,  6, -5, -6, -3, -4,
 
80
  0,  2, -5, -2,  3,  0,  0,  0,  2, -2,
 
81
 -4,  3,  3,  1,  0,  0,  4, -1,  8, 13,
 
82
  1,  2,  0,  2,  0, -1,  4, -3,  1,  0,
 
83
 -1,  3,  0,  0, -5,  0,  6,  2,  4,  5,
 
84
  2, -1, -1,  3,  6,  1,  1,  2, -4,  0,
 
85
 -1, -6, -2, -2,  2,  1,  2,  6,  2,  0,
 
86
 -2, -2,  0, -1,  2,  0,  0,  3, -2,  1,
 
87
  3,  1,  2, -1, -2,  2,  2, -4,  0,  0,
 
88
 -3,  0, -4, -3,  6,  7,  2,  2,  0, -3};
 
89
 
 
90
Word16 dither[DCT_LENGTH]= {
 
91
  1,  0,  0,  0,  1,  0,  0,  1,  1,  1,
 
92
  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,
 
93
  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,
 
94
  1,  0,  0,  1,  0,  1,  0,  0,  1,  0,
 
95
  1,  0,  0,  0,  1,  0,  1,  0,  0,  0,
 
96
  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,
 
97
  0,  0,  1,  0,  0,  0,  1,  0,  0,  1,
 
98
  1,  1,  1,  1,  1,  0,  1,  0,  0,  1,
 
99
  1,  0,  0,  1,  0,  0,  0,  1,  0,  1,
 
100
  0,  0,  1,  1,  0,  1,  0,  1,  1,  1,
 
101
  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,
 
102
  0,  0,  0,  1,  0,  1,  0,  0,  0,  1,
 
103
  1,  1,  0,  0,  1,  1,  1,  1,  1,  0,
 
104
  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
 
105
  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,
 
106
  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,
 
107
  1,  1,  0,  1,  0,  0,  1,  0,  0,  1,
 
108
  0,  0,  0,  1,  1,  0,  0,  1,  1,  1,
 
109
  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,
 
110
  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,
 
111
  1,  1,  1,  0,  1,  1,  0,  1,  0,  1,
 
112
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
 
113
  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
 
114
  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,
 
115
  1,  1,  0,  0,  1,  0,  0,  1,  0,  1,
 
116
  0,  1,  1,  0,  1,  0,  1,  0,  1,  1,
 
117
  1,  0,  1,  0,  1,  0,  1,  1,  1,  1,
 
118
  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,
 
119
  1,  0,  0,  0,  1,  0,  0,  1,  0,  1,
 
120
  1,  0,  1,  1,  0,  0,  1,  1,  0,  1,
 
121
  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,
 
122
  1,  1,  1,  0,  1,  0,  0,  0,  1,  0};
 
123
 
 
124
Word16 max_dither[MAX_DCT_LENGTH]= {
 
125
  1,  0,  1,  0,  1,  1,  0,  1,  0,  1,
 
126
  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,
 
127
  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,
 
128
  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,
 
129
  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,
 
130
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
 
131
  1,  0,  1,  1,  0,  1,  0,  0,  0,  1,
 
132
  0,  1,  1,  1,  1,  1,  0,  1,  1,  0,
 
133
  0,  0,  1,  1,  0,  0,  0,  1,  1,  1,
 
134
  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,
 
135
  1,  0,  1,  0,  1,  0,  0,  0,  1,  1,
 
136
  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,
 
137
  0,  0,  1,  0,  1,  0,  0,  0,  1,  0,
 
138
  0,  1,  0,  1,  0,  0,  0,  0,  1,  0,
 
139
  1,  0,  0,  1,  0,  1,  0,  0,  0,  1,
 
140
  0,  1,  0,  0,  1,  1,  1,  1,  0,  1,
 
141
  1,  0,  0,  0,  1,  1,  0,  1,  0,  1,
 
142
  0,  1,  0,  1,  0,  1,  1,  1,  0,  1,
 
143
  1,  0,  0,  1,  1,  1,  1,  0,  1,  1,
 
144
  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,
 
145
  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,
 
146
  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,
 
147
  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,
 
148
  0,  0,  1,  1,  1,  0,  1,  1,  1,  0,
 
149
  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,
 
150
  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,
 
151
  0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
 
152
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
 
153
  0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
 
154
  0,  1,  0,  1,  1,  0,  0,  0,  1,  0,
 
155
  1,  1,  0,  0,  1,  1,  1,  1,  0,  0,
 
156
  0,  0,  1,  1,  1,  1,  0,  0,  1,  1,
 
157
  1,  1,  1,  0,  1,  0,  0,  0,  1,  0,
 
158
  0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
 
159
  1,  1,  0,  1,  0,  1,  1,  0,  0,  0,
 
160
  0,  1,  1,  0,  1,  1,  1,  0,  1,  1,
 
161
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
 
162
  1,  1,  0,  0,  0,  1,  1,  1,  1,  0,
 
163
  0,  1,  0,  1,  0,  1,  1,  0,  1,  0,
 
164
  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,
 
165
  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,
 
166
  0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
 
167
  1,  1,  0,  1,  0,  0,  1,  1,  0,  0,
 
168
  1,  0,  1,  0,  1,  0,  0,  1,  0,  0,
 
169
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
 
170
  0,  1,  1,  0,  0,  0,  1,  1,  1,  0,
 
171
  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,
 
172
  0,  0,  1,  0,  0,  1,  0,  0,  0,  1,
 
173
  0,  0,  0,  1,  1,  0,  0,  1,  0,  1,
 
174
  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,
 
175
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
 
176
  0,  0,  1,  0,  1,  0,  0,  1,  0,  1,
 
177
  1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
 
178
  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,
 
179
  0,  1,  0,  1,  0,  1,  0,  0,  0,  1,
 
180
  1,  0,  0,  1,  0,  0,  1,  1,  0,  1,
 
181
  1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
 
182
  0,  0,  0,  1,  0,  1,  1,  1,  0,  0,
 
183
  1,  0,  1,  0,  1,  1,  0,  0,  0,  1,
 
184
  1,  0,  1,  0,  0,  1,  1,  1,  0,  1,
 
185
  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,
 
186
  0,  1,  0,  1,  0,  0,  1,  0,  1,  0,
 
187
  0,  1,  1,  1,  1,  0,  0,  0,  1,  0,
 
188
  0,  1,  0,  1,  0,  1,  0,  0,  0,  0
 
189
};
 
190
 
 
191
 
 
192
/********************************************************************************
 
193
  The s_cos_min tables were generated by the following code:
 
194
      double            angle, scale;
 
195
      int                   index;
 
196
 
 
197
      for (index = 0;index < length;index++)
 
198
      {
 
199
          angle = scale * ((double)index + 0.5);
 
200
          table[index].cosine     = (short) (FTOI((18427)* cos(angle)));
 
201
          table[index].minus_sine = (short) (FTOI((18427)*(-sin(angle))));
 
202
      }
 
203
 
 
204
 
 
205
********************************************************************************/
 
206
 
 
207
cos_msin_t      s_cos_msin_2[DCT_LENGTH_DIV_32] = {
 
208
    {  18413   ,   -723   } ,
 
209
    {  18299   ,   -2166   } ,
 
210
    {  18073   ,   -3595   } ,
 
211
    {  17735   ,   -5002   } ,
 
212
    {  17288   ,   -6378   } ,
 
213
    {  16734   ,   -7715   } ,
 
214
    {  16077   ,   -9004   } ,
 
215
    {  15321   ,   -10237   } ,
 
216
    {  14471   ,   -11408   } ,
 
217
    {  13531   ,   -12508   }
 
218
    };
 
219
cos_msin_t      s_cos_msin_4[DCT_LENGTH_DIV_16] = {
 
220
    {  18423   ,   -362   } ,
 
221
    {  18395   ,   -1085   } ,
 
222
    {  18338   ,   -1806   } ,
 
223
    {  18253   ,   -2525   } ,
 
224
    {  18140   ,   -3239   } ,
 
225
    {  17999   ,   -3949   } ,
 
226
    {  17830   ,   -4653   } ,
 
227
    {  17634   ,   -5349   } ,
 
228
    {  17410   ,   -6037   } ,
 
229
    {  17159   ,   -6716   } ,
 
230
    {  16883   ,   -7385   } ,
 
231
    {  16580   ,   -8042   } ,
 
232
    {  16251   ,   -8686   } ,
 
233
    {  15898   ,   -9318   } ,
 
234
    {  15520   ,   -9935   } ,
 
235
    {  15118   ,   -10536   } ,
 
236
    {  14692   ,   -11122   } ,
 
237
    {  14244   ,   -11690   } ,
 
238
    {  13774   ,   -12240   } ,
 
239
    {  13283   ,   -12772   }
 
240
    };
 
241
cos_msin_t      s_cos_msin_8[DCT_LENGTH_DIV_8] = {
 
242
    {  18426   ,   -181   } ,
 
243
    {  18419   ,   -543   } ,
 
244
    {  18405   ,   -904   } ,
 
245
    {  18384   ,   -1265   } ,
 
246
    {  18355   ,   -1626   } ,
 
247
    {  18320   ,   -1986   } ,
 
248
    {  18277   ,   -2345   } ,
 
249
    {  18228   ,   -2704   } ,
 
250
    {  18171   ,   -3061   } ,
 
251
    {  18107   ,   -3417   } ,
 
252
    {  18037   ,   -3772   } ,
 
253
    {  17959   ,   -4126   } ,
 
254
    {  17875   ,   -4477   } ,
 
255
    {  17783   ,   -4827   } ,
 
256
    {  17685   ,   -5176   } ,
 
257
    {  17580   ,   -5522   } ,
 
258
    {  17468   ,   -5866   } ,
 
259
    {  17350   ,   -6208   } ,
 
260
    {  17225   ,   -6547   } ,
 
261
    {  17093   ,   -6884   } ,
 
262
    {  16954   ,   -7219   } ,
 
263
    {  16809   ,   -7550   } ,
 
264
    {  16658   ,   -7879   } ,
 
265
    {  16500   ,   -8204   } ,
 
266
    {  16336   ,   -8526   } ,
 
267
    {  16165   ,   -8846   } ,
 
268
    {  15988   ,   -9161   } ,
 
269
    {  15805   ,   -9473   } ,
 
270
    {  15616   ,   -9782   } ,
 
271
    {  15421   ,   -10087   } ,
 
272
    {  15220   ,   -10387   } ,
 
273
    {  15013   ,   -10684   } ,
 
274
    {  14801   ,   -10977   } ,
 
275
    {  14582   ,   -11265   } ,
 
276
    {  14358   ,   -11550   } ,
 
277
    {  14129   ,   -11829   } ,
 
278
    {  13894   ,   -12104   } ,
 
279
    {  13654   ,   -12375   } ,
 
280
    {  13408   ,   -12641   } ,
 
281
    {  13157   ,   -12901   }
 
282
    };
 
283
cos_msin_t      s_cos_msin_16[DCT_LENGTH_DIV_4] = {
 
284
    {  18427   ,   -90   } ,
 
285
    {  18425   ,   -271   } ,
 
286
    {  18421   ,   -452   } ,
 
287
    {  18416   ,   -633   } ,
 
288
    {  18409   ,   -814   } ,
 
289
    {  18400   ,   -995   } ,
 
290
    {  18389   ,   -1175   } ,
 
291
    {  18377   ,   -1356   } ,
 
292
    {  18363   ,   -1536   } ,
 
293
    {  18347   ,   -1716   } ,
 
294
    {  18329   ,   -1896   } ,
 
295
    {  18310   ,   -2076   } ,
 
296
    {  18288   ,   -2256   } ,
 
297
    {  18265   ,   -2435   } ,
 
298
    {  18241   ,   -2614   } ,
 
299
    {  18214   ,   -2793   } ,
 
300
    {  18186   ,   -2972   } ,
 
301
    {  18156   ,   -3150   } ,
 
302
    {  18124   ,   -3328   } ,
 
303
    {  18090   ,   -3506   } ,
 
304
    {  18055   ,   -3684   } ,
 
305
    {  18018   ,   -3861   } ,
 
306
    {  17979   ,   -4037   } ,
 
307
    {  17939   ,   -4214   } ,
 
308
    {  17897   ,   -4390   } ,
 
309
    {  17853   ,   -4565   } ,
 
310
    {  17807   ,   -4740   } ,
 
311
    {  17760   ,   -4915   } ,
 
312
    {  17710   ,   -5089   } ,
 
313
    {  17660   ,   -5262   } ,
 
314
    {  17607   ,   -5436   } ,
 
315
    {  17553   ,   -5608   } ,
 
316
    {  17497   ,   -5780   } ,
 
317
    {  17439   ,   -5952   } ,
 
318
    {  17380   ,   -6123   } ,
 
319
    {  17319   ,   -6293   } ,
 
320
    {  17257   ,   -6463   } ,
 
321
    {  17192   ,   -6632   } ,
 
322
    {  17126   ,   -6800   } ,
 
323
    {  17059   ,   -6968   } ,
 
324
    {  16990   ,   -7135   } ,
 
325
    {  16919   ,   -7302   } ,
 
326
    {  16846   ,   -7467   } ,
 
327
    {  16772   ,   -7632   } ,
 
328
    {  16696   ,   -7797   } ,
 
329
    {  16619   ,   -7960   } ,
 
330
    {  16540   ,   -8123   } ,
 
331
    {  16459   ,   -8285   } ,
 
332
    {  16377   ,   -8446   } ,
 
333
    {  16294   ,   -8607   } ,
 
334
    {  16208   ,   -8766   } ,
 
335
    {  16121   ,   -8925   } ,
 
336
    {  16033   ,   -9083   } ,
 
337
    {  15943   ,   -9240   } ,
 
338
    {  15852   ,   -9396   } ,
 
339
    {  15759   ,   -9551   } ,
 
340
    {  15664   ,   -9705   } ,
 
341
    {  15568   ,   -9858   } ,
 
342
    {  15471   ,   -10011   } ,
 
343
    {  15372   ,   -10162   } ,
 
344
    {  15271   ,   -10313   } ,
 
345
    {  15169   ,   -10462   } ,
 
346
    {  15066   ,   -10610   } ,
 
347
    {  14961   ,   -10758   } ,
 
348
    {  14854   ,   -10904   } ,
 
349
    {  14747   ,   -11049   } ,
 
350
    {  14637   ,   -11194   } ,
 
351
    {  14527   ,   -11337   } ,
 
352
    {  14415   ,   -11479   } ,
 
353
    {  14301   ,   -11620   } ,
 
354
    {  14187   ,   -11760   } ,
 
355
    {  14071   ,   -11898   } ,
 
356
    {  13953   ,   -12036   } ,
 
357
    {  13834   ,   -12172   } ,
 
358
    {  13714   ,   -12308   } ,
 
359
    {  13593   ,   -12442   } ,
 
360
    {  13470   ,   -12575   } ,
 
361
    {  13346   ,   -12706   } ,
 
362
    {  13220   ,   -12837   } ,
 
363
    {  13094   ,   -12966   }
 
364
    };
 
365
cos_msin_t      s_cos_msin_32[DCT_LENGTH_DIV_2] = {
 
366
    {  18427   ,   -45   } ,
 
367
    {  18427   ,   -136   } ,
 
368
    {  18426   ,   -226   } ,
 
369
    {  18424   ,   -317   } ,
 
370
    {  18423   ,   -407   } ,
 
371
    {  18420   ,   -497   } ,
 
372
    {  18418   ,   -588   } ,
 
373
    {  18415   ,   -678   } ,
 
374
    {  18411   ,   -769   } ,
 
375
    {  18407   ,   -859   } ,
 
376
    {  18403   ,   -949   } ,
 
377
    {  18398   ,   -1040   } ,
 
378
    {  18392   ,   -1130   } ,
 
379
    {  18387   ,   -1220   } ,
 
380
    {  18380   ,   -1310   } ,
 
381
    {  18374   ,   -1401   } ,
 
382
    {  18367   ,   -1491   } ,
 
383
    {  18359   ,   -1581   } ,
 
384
    {  18351   ,   -1671   } ,
 
385
    {  18343   ,   -1761   } ,
 
386
    {  18334   ,   -1851   } ,
 
387
    {  18324   ,   -1941   } ,
 
388
    {  18315   ,   -2031   } ,
 
389
    {  18305   ,   -2121   } ,
 
390
    {  18294   ,   -2211   } ,
 
391
    {  18283   ,   -2301   } ,
 
392
    {  18271   ,   -2390   } ,
 
393
    {  18259   ,   -2480   } ,
 
394
    {  18247   ,   -2570   } ,
 
395
    {  18234   ,   -2659   } ,
 
396
    {  18221   ,   -2749   } ,
 
397
    {  18207   ,   -2838   } ,
 
398
    {  18193   ,   -2927   } ,
 
399
    {  18178   ,   -3017   } ,
 
400
    {  18163   ,   -3106   } ,
 
401
    {  18148   ,   -3195   } ,
 
402
    {  18132   ,   -3284   } ,
 
403
    {  18116   ,   -3373   } ,
 
404
    {  18099   ,   -3462   } ,
 
405
    {  18082   ,   -3551   } ,
 
406
    {  18064   ,   -3639   } ,
 
407
    {  18046   ,   -3728   } ,
 
408
    {  18027   ,   -3816   } ,
 
409
    {  18009   ,   -3905   } ,
 
410
    {  17989   ,   -3993   } ,
 
411
    {  17969   ,   -4081   } ,
 
412
    {  17949   ,   -4170   } ,
 
413
    {  17928   ,   -4258   } ,
 
414
    {  17907   ,   -4346   } ,
 
415
    {  17886   ,   -4434   } ,
 
416
    {  17864   ,   -4521   } ,
 
417
    {  17841   ,   -4609   } ,
 
418
    {  17818   ,   -4696   } ,
 
419
    {  17795   ,   -4784   } ,
 
420
    {  17772   ,   -4871   } ,
 
421
    {  17747   ,   -4958   } ,
 
422
    {  17723   ,   -5045   } ,
 
423
    {  17698   ,   -5132   } ,
 
424
    {  17672   ,   -5219   } ,
 
425
    {  17647   ,   -5306   } ,
 
426
    {  17620   ,   -5392   } ,
 
427
    {  17594   ,   -5479   } ,
 
428
    {  17567   ,   -5565   } ,
 
429
    {  17539   ,   -5651   } ,
 
430
    {  17511   ,   -5737   } ,
 
431
    {  17483   ,   -5823   } ,
 
432
    {  17454   ,   -5909   } ,
 
433
    {  17425   ,   -5994   } ,
 
434
    {  17395   ,   -6080   } ,
 
435
    {  17365   ,   -6165   } ,
 
436
    {  17335   ,   -6250   } ,
 
437
    {  17304   ,   -6335   } ,
 
438
    {  17272   ,   -6420   } ,
 
439
    {  17241   ,   -6505   } ,
 
440
    {  17208   ,   -6590   } ,
 
441
    {  17176   ,   -6674   } ,
 
442
    {  17143   ,   -6758   } ,
 
443
    {  17110   ,   -6842   } ,
 
444
    {  17076   ,   -6926   } ,
 
445
    {  17042   ,   -7010   } ,
 
446
    {  17007   ,   -7093   } ,
 
447
    {  16972   ,   -7177   } ,
 
448
    {  16937   ,   -7260   } ,
 
449
    {  16901   ,   -7343   } ,
 
450
    {  16864   ,   -7426   } ,
 
451
    {  16828   ,   -7509   } ,
 
452
    {  16791   ,   -7591   } ,
 
453
    {  16753   ,   -7674   } ,
 
454
    {  16715   ,   -7756   } ,
 
455
    {  16677   ,   -7838   } ,
 
456
    {  16638   ,   -7919   } ,
 
457
    {  16599   ,   -8001   } ,
 
458
    {  16560   ,   -8082   } ,
 
459
    {  16520   ,   -8164   } ,
 
460
    {  16480   ,   -8245   } ,
 
461
    {  16439   ,   -8325   } ,
 
462
    {  16398   ,   -8406   } ,
 
463
    {  16357   ,   -8486   } ,
 
464
    {  16315   ,   -8567   } ,
 
465
    {  16272   ,   -8647   } ,
 
466
    {  16230   ,   -8726   } ,
 
467
    {  16187   ,   -8806   } ,
 
468
    {  16143   ,   -8885   } ,
 
469
    {  16100   ,   -8964   } ,
 
470
    {  16055   ,   -9043   } ,
 
471
    {  16011   ,   -9122   } ,
 
472
    {  15966   ,   -9200   } ,
 
473
    {  15920   ,   -9279   } ,
 
474
    {  15875   ,   -9357   } ,
 
475
    {  15829   ,   -9435   } ,
 
476
    {  15782   ,   -9512   } ,
 
477
    {  15735   ,   -9589   } ,
 
478
    {  15688   ,   -9667   } ,
 
479
    {  15640   ,   -9744   } ,
 
480
    {  15592   ,   -9820   } ,
 
481
    {  15544   ,   -9897   } ,
 
482
    {  15495   ,   -9973   } ,
 
483
    {  15446   ,   -10049   } ,
 
484
    {  15396   ,   -10124   } ,
 
485
    {  15347   ,   -10200   } ,
 
486
    {  15296   ,   -10275   } ,
 
487
    {  15246   ,   -10350   } ,
 
488
    {  15195   ,   -10425   } ,
 
489
    {  15143   ,   -10499   } ,
 
490
    {  15092   ,   -10573   } ,
 
491
    {  15040   ,   -10647   } ,
 
492
    {  14987   ,   -10721   } ,
 
493
    {  14934   ,   -10794   } ,
 
494
    {  14881   ,   -10868   } ,
 
495
    {  14828   ,   -10941   } ,
 
496
    {  14774   ,   -11013   } ,
 
497
    {  14719   ,   -11086   } ,
 
498
    {  14665   ,   -11158   } ,
 
499
    {  14610   ,   -11230   } ,
 
500
    {  14555   ,   -11301   } ,
 
501
    {  14499   ,   -11372   } ,
 
502
    {  14443   ,   -11444   } ,
 
503
    {  14387   ,   -11514   } ,
 
504
    {  14330   ,   -11585   } ,
 
505
    {  14273   ,   -11655   } ,
 
506
    {  14216   ,   -11725   } ,
 
507
    {  14158   ,   -11795   } ,
 
508
    {  14100   ,   -11864   } ,
 
509
    {  14041   ,   -11933   } ,
 
510
    {  13983   ,   -12002   } ,
 
511
    {  13924   ,   -12070   } ,
 
512
    {  13864   ,   -12138   } ,
 
513
    {  13804   ,   -12206   } ,
 
514
    {  13744   ,   -12274   } ,
 
515
    {  13684   ,   -12341   } ,
 
516
    {  13623   ,   -12408   } ,
 
517
    {  13562   ,   -12475   } ,
 
518
    {  13501   ,   -12541   } ,
 
519
    {  13439   ,   -12608   } ,
 
520
    {  13377   ,   -12673   } ,
 
521
    {  13314   ,   -12739   } ,
 
522
    {  13252   ,   -12804   } ,
 
523
    {  13189   ,   -12869   } ,
 
524
    {  13125   ,   -12934   } ,
 
525
    {  13062   ,   -12998   }
 
526
    };
 
527
cos_msin_t      s_cos_msin_64[DCT_LENGTH] = {
 
528
{18426, -21},
 
529
{18426, -66},
 
530
{18426, -110},
 
531
{18426, -154},
 
532
{18425, -198},
 
533
{18425, -242},
 
534
{18424, -286},
 
535
{18424, -331},
 
536
{18423, -374},
 
537
{18421, -419},
 
538
{18421, -463},
 
539
{18419, -507},
 
540
{18418, -552},
 
541
{18417, -595},
 
542
{18415, -639},
 
543
{18414, -684},
 
544
{18412, -728},
 
545
{18410, -772},
 
546
{18408, -816},
 
547
{18406, -860},
 
548
{18404, -904},
 
549
{18402, -949},
 
550
{18400, -992},
 
551
{18397, -1037},
 
552
{18394, -1081},
 
553
{18392, -1125},
 
554
{18389, -1169},
 
555
{18387, -1213},
 
556
{18384, -1257},
 
557
{18380, -1301},
 
558
{18378, -1345},
 
559
{18374, -1389},
 
560
{18371, -1433},
 
561
{18367, -1477},
 
562
{18364, -1521},
 
563
{18360, -1566},
 
564
{18356, -1609},
 
565
{18352, -1653},
 
566
{18348, -1697},
 
567
{18344, -1742},
 
568
{18339, -1785},
 
569
{18335, -1829},
 
570
{18331, -1873},
 
571
{18326, -1917},
 
572
{18322, -1961},
 
573
{18317, -2005},
 
574
{18312, -2049},
 
575
{18307, -2092},
 
576
{18302, -2137},
 
577
{18297, -2180},
 
578
{18292, -2224},
 
579
{18286, -2268},
 
580
{18281, -2312},
 
581
{18275, -2356},
 
582
{18270, -2399},
 
583
{18264, -2443},
 
584
{18258, -2487},
 
585
{18252, -2531},
 
586
{18246, -2574},
 
587
{18240, -2618},
 
588
{18233, -2662},
 
589
{18227, -2706},
 
590
{18220, -2749},
 
591
{18214, -2793},
 
592
{18207, -2836},
 
593
{18200, -2880},
 
594
{18193, -2924},
 
595
{18186, -2967},
 
596
{18179, -3011},
 
597
{18172, -3055},
 
598
{18164, -3098},
 
599
{18157, -3142},
 
600
{18149, -3185},
 
601
{18141, -3229},
 
602
{18134, -3272},
 
603
{18126, -3316},
 
604
{18118, -3359},
 
605
{18109, -3403},
 
606
{18101, -3446},
 
607
{18094, -3489},
 
608
{18085, -3533},
 
609
{18076, -3576},
 
610
{18068, -3619},
 
611
{18059, -3663},
 
612
{18050, -3706},
 
613
{18041, -3749},
 
614
{18032, -3792},
 
615
{18023, -3836},
 
616
{18014, -3879},
 
617
{18005, -3922},
 
618
{17995, -3965},
 
619
{17986, -4008},
 
620
{17975, -4051},
 
621
{17966, -4094},
 
622
{17956, -4138},
 
623
{17946, -4180},
 
624
{17936, -4224},
 
625
{17926, -4266},
 
626
{17916, -4309},
 
627
{17905, -4353},
 
628
{17895, -4395},
 
629
{17884, -4438},
 
630
{17874, -4481},
 
631
{17863, -4524},
 
632
{17852, -4567},
 
633
{17841, -4609},
 
634
{17830, -4652},
 
635
{17819, -4695},
 
636
{17807, -4738},
 
637
{17796, -4780},
 
638
{17784, -4823},
 
639
{17772, -4865},
 
640
{17761, -4908},
 
641
{17749, -4951},
 
642
{17738, -4993},
 
643
{17725, -5036},
 
644
{17713, -5078},
 
645
{17701, -5121},
 
646
{17689, -5163},
 
647
{17676, -5205},
 
648
{17664, -5248},
 
649
{17651, -5290},
 
650
{17638, -5333},
 
651
{17626, -5375},
 
652
{17613, -5417},
 
653
{17599, -5459},
 
654
{17586, -5501},
 
655
{17573, -5544},
 
656
{17560, -5586},
 
657
{17546, -5627},
 
658
{17533, -5670},
 
659
{17519, -5712},
 
660
{17505, -5753},
 
661
{17492, -5795},
 
662
{17478, -5837},
 
663
{17464, -5879},
 
664
{17450, -5921},
 
665
{17435, -5963},
 
666
{17421, -6005},
 
667
{17406, -6046},
 
668
{17392, -6088},
 
669
{17377, -6130},
 
670
{17363, -6172},
 
671
{17348, -6213},
 
672
{17333, -6254},
 
673
{17318, -6296},
 
674
{17303, -6338},
 
675
{17288, -6379},
 
676
{17272, -6420},
 
677
{17257, -6462},
 
678
{17241, -6503},
 
679
{17225, -6545},
 
680
{17210, -6586},
 
681
{17194, -6627},
 
682
{17178, -6668},
 
683
{17162, -6709},
 
684
{17145, -6750},
 
685
{17130, -6791},
 
686
{17113, -6832},
 
687
{17097, -6874},
 
688
{17080, -6915},
 
689
{17064, -6956},
 
690
{17047, -6996},
 
691
{17030, -7037},
 
692
{17013, -7078},
 
693
{16996, -7119},
 
694
{16979, -7159},
 
695
{16962, -7200},
 
696
{16945, -7241},
 
697
{16927, -7281},
 
698
{16910, -7322},
 
699
{16892, -7362},
 
700
{16874, -7403},
 
701
{16856, -7444},
 
702
{16838, -7484},
 
703
{16821, -7524},
 
704
{16802, -7564},
 
705
{16784, -7605},
 
706
{16766, -7645},
 
707
{16748, -7685},
 
708
{16729, -7725},
 
709
{16711, -7765},
 
710
{16692, -7805},
 
711
{16674, -7845},
 
712
{16654, -7885},
 
713
{16635, -7925},
 
714
{16616, -7964},
 
715
{16597, -8004},
 
716
{16578, -8044},
 
717
{16559, -8084},
 
718
{16539, -8124},
 
719
{16520, -8164},
 
720
{16500, -8203},
 
721
{16480, -8242},
 
722
{16461, -8282},
 
723
{16441, -8322},
 
724
{16421, -8361},
 
725
{16401, -8400},
 
726
{16380, -8440},
 
727
{16360, -8479},
 
728
{16340, -8518},
 
729
{16319, -8557},
 
730
{16299, -8597},
 
731
{16278, -8635},
 
732
{16257, -8674},
 
733
{16237, -8713},
 
734
{16215, -8752},
 
735
{16195, -8791},
 
736
{16173, -8829},
 
737
{16152, -8868},
 
738
{16131, -8907},
 
739
{16110, -8946},
 
740
{16088, -8985},
 
741
{16067, -9023},
 
742
{16045, -9061},
 
743
{16023, -9100},
 
744
{16001, -9138},
 
745
{15979, -9176},
 
746
{15957, -9215},
 
747
{15935, -9253},
 
748
{15913, -9291},
 
749
{15891, -9329},
 
750
{15868, -9367},
 
751
{15846, -9405},
 
752
{15823, -9443},
 
753
{15800, -9481},
 
754
{15778, -9519},
 
755
{15755, -9557},
 
756
{15732, -9595},
 
757
{15709, -9632},
 
758
{15686, -9670},
 
759
{15662, -9708},
 
760
{15639, -9745},
 
761
{15615, -9782},
 
762
{15592, -9820},
 
763
{15569, -9857},
 
764
{15544, -9894},
 
765
{15521, -9932},
 
766
{15497, -9969},
 
767
{15473, -10006},
 
768
{15449, -10043},
 
769
{15425, -10080},
 
770
{15401, -10117},
 
771
{15377, -10154},
 
772
{15352, -10191},
 
773
{15327, -10227},
 
774
{15303, -10264},
 
775
{15278, -10301},
 
776
{15254, -10337},
 
777
{15229, -10374},
 
778
{15204, -10411},
 
779
{15180, -10447},
 
780
{15154, -10483},
 
781
{15129, -10519},
 
782
{15104, -10556},
 
783
{15078, -10592},
 
784
{15053, -10628},
 
785
{15027, -10664},
 
786
{15002, -10700},
 
787
{14976, -10736},
 
788
{14950, -10772},
 
789
{14924, -10808},
 
790
{14898, -10844},
 
791
{14872, -10879},
 
792
{14846, -10915},
 
793
{14820, -10950},
 
794
{14794, -10985},
 
795
{14767, -11021},
 
796
{14741, -11056},
 
797
{14714, -11092},
 
798
{14687, -11127},
 
799
{14661, -11162},
 
800
{14635, -11197},
 
801
{14607, -11232},
 
802
{14581, -11267},
 
803
{14554, -11302},
 
804
{14526, -11337},
 
805
{14499, -11372},
 
806
{14472, -11407},
 
807
{14444, -11441},
 
808
{14417, -11476},
 
809
{14389, -11511},
 
810
{14362, -11545},
 
811
{14334, -11579},
 
812
{14306, -11614},
 
813
{14278, -11648},
 
814
{14251, -11682},
 
815
{14222, -11716},
 
816
{14194, -11750},
 
817
{14166, -11784},
 
818
{14137, -11818},
 
819
{14109, -11852},
 
820
{14081, -11886},
 
821
{14053, -11919},
 
822
{14023, -11953},
 
823
{13995, -11987},
 
824
{13966, -12020},
 
825
{13937, -12054},
 
826
{13909, -12087},
 
827
{13879, -12120},
 
828
{13851, -12153},
 
829
{13821, -12187},
 
830
{13792, -12220},
 
831
{13763, -12253},
 
832
{13733, -12286},
 
833
{13704, -12319},
 
834
{13674, -12351},
 
835
{13645, -12385},
 
836
{13615, -12417},
 
837
{13585, -12450},
 
838
{13555, -12482},
 
839
{13525, -12514},
 
840
{13495, -12546},
 
841
{13465, -12579},
 
842
{13435, -12611},
 
843
{13405, -12644},
 
844
{13374, -12676},
 
845
{13345, -12708},
 
846
{13314, -12739},
 
847
{13283, -12772}
 
848
};
 
849
 
 
850
 
 
851
 
 
852
cos_msin_t      *s_cos_msin_table[] = {s_cos_msin_2,  s_cos_msin_4,
 
853
                                   s_cos_msin_8,  s_cos_msin_16,
 
854
                                   s_cos_msin_32, s_cos_msin_64
 
855
                                  };