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_a.h
15 
16   Purpose:     Contains tables used by dct4_a.c
17 
18   Design Notes:
19 
20 ****************************************************************************/
21 
22 /***************************************************************************
23  Include files
24 ***************************************************************************/
25 #include <stdio.h>
26 #include <math.h>
27 
28 typedef struct
29 {
30     Word16	cosine;
31     Word16	minus_sine;
32 } cos_msin_t;
33 
34 cos_msin_t	a_cos_msin_2[10] = {
35     {  29805   ,   -1171   } ,
36     {  29621   ,   -3506   } ,
37     {  29255   ,   -5819   } ,
38     {  28708   ,   -8097   } ,
39     {  27984   ,   -10324   } ,
40     {  27088   ,   -12488   } ,
41     {  26025   ,   -14575   } ,
42     {  24801   ,   -16572   } ,
43     {  23425   ,   -18466   } ,
44     {  21903   ,   -20247   }
45     };
46 cos_msin_t	a_cos_msin_4[20] = {
47     {  29822   ,   -586   } ,
48     {  29776   ,   -1756   } ,
49     {  29684   ,   -2924   } ,
50     {  29547   ,   -4087   } ,
51     {  29364   ,   -5244   } ,
52     {  29135   ,   -6392   } ,
53     {  28862   ,   -7531   } ,
54     {  28544   ,   -8659   } ,
55     {  28182   ,   -9773   } ,
56     {  27776   ,   -10871   } ,
57     {  27328   ,   -11954   } ,
58     {  26838   ,   -13017   } ,
59     {  26306   ,   -14061   } ,
60     {  25734   ,   -15083   } ,
61     {  25122   ,   -16081   } ,
62     {  24471   ,   -17055   } ,
63     {  23783   ,   -18003   } ,
64     {  23057   ,   -18923   } ,
65     {  22297   ,   -19813   } ,
66     {  21502   ,   -20673   }
67     };
68 cos_msin_t	a_cos_msin_8[40] = {
69     {  29827   ,   -293   } ,
70     {  29815   ,   -878   } ,
71     {  29792   ,   -1464   } ,
72     {  29758   ,   -2048   } ,
73     {  29712   ,   -2632   } ,
74     {  29654   ,   -3215   } ,
75     {  29586   ,   -3797   } ,
76     {  29505   ,   -4377   } ,
77     {  29414   ,   -4955   } ,
78     {  29311   ,   -5532   } ,
79     {  29196   ,   -6106   } ,
80     {  29071   ,   -6678   } ,
81     {  28934   ,   -7248   } ,
82     {  28786   ,   -7814   } ,
83     {  28627   ,   -8378   } ,
84     {  28457   ,   -8938   } ,
85     {  28276   ,   -9495   } ,
86     {  28084   ,   -10049   } ,
87     {  27882   ,   -10598   } ,
88     {  27668   ,   -11144   } ,
89     {  27444   ,   -11685   } ,
90     {  27209   ,   -12221   } ,
91     {  26964   ,   -12753   } ,
92     {  26709   ,   -13280   } ,
93     {  26443   ,   -13802   } ,
94     {  26167   ,   -14318   } ,
95     {  25881   ,   -14829   } ,
96     {  25584   ,   -15335   } ,
97     {  25278   ,   -15834   } ,
98     {  24963   ,   -16327   } ,
99     {  24637   ,   -16814   } ,
100     {  24302   ,   -17295   } ,
101     {  23958   ,   -17769   } ,
102     {  23605   ,   -18236   } ,
103     {  23242   ,   -18695   } ,
104     {  22871   ,   -19148   } ,
105     {  22490   ,   -19594   } ,
106     {  22101   ,   -20031   } ,
107     {  21704   ,   -20461   } ,
108     {  21298   ,   -20884   }
109     };
110 cos_msin_t	a_cos_msin_16[80] = {
111     {  29828   ,   -146   } ,
112     {  29825   ,   -439   } ,
113     {  29819   ,   -732   } ,
114     {  29811   ,   -1025   } ,
115     {  29799   ,   -1317   } ,
116     {  29785   ,   -1610   } ,
117     {  29767   ,   -1902   } ,
118     {  29747   ,   -2194   } ,
119     {  29724   ,   -2486   } ,
120     {  29698   ,   -2778   } ,
121     {  29670   ,   -3069   } ,
122     {  29638   ,   -3360   } ,
123     {  29604   ,   -3651   } ,
124     {  29567   ,   -3942   } ,
125     {  29526   ,   -4232   } ,
126     {  29483   ,   -4521   } ,
127     {  29438   ,   -4811   } ,
128     {  29389   ,   -5099   } ,
129     {  29338   ,   -5388   } ,
130     {  29283   ,   -5676   } ,
131     {  29226   ,   -5963   } ,
132     {  29166   ,   -6249   } ,
133     {  29103   ,   -6535   } ,
134     {  29038   ,   -6821   } ,
135     {  28969   ,   -7106   } ,
136     {  28898   ,   -7390   } ,
137     {  28824   ,   -7673   } ,
138     {  28748   ,   -7956   } ,
139     {  28668   ,   -8237   } ,
140     {  28586   ,   -8518   } ,
141     {  28501   ,   -8799   } ,
142     {  28413   ,   -9078   } ,
143     {  28323   ,   -9357   } ,
144     {  28229   ,   -9634   } ,
145     {  28133   ,   -9911   } ,
146     {  28035   ,   -10187   } ,
147     {  27933   ,   -10461   } ,
148     {  27829   ,   -10735   } ,
149     {  27723   ,   -11008   } ,
150     {  27613   ,   -11279   } ,
151     {  27501   ,   -11550   } ,
152     {  27387   ,   -11819   } ,
153     {  27269   ,   -12088   } ,
154     {  27149   ,   -12355   } ,
155     {  27027   ,   -12621   } ,
156     {  26901   ,   -12885   } ,
157     {  26774   ,   -13149   } ,
158     {  26643   ,   -13411   } ,
159     {  26510   ,   -13672   } ,
160     {  26375   ,   -13932   } ,
161     {  26237   ,   -14190   } ,
162     {  26096   ,   -14447   } ,
163     {  25953   ,   -14702   } ,
164     {  25807   ,   -14956   } ,
165     {  25659   ,   -15209   } ,
166     {  25509   ,   -15460   } ,
167     {  25356   ,   -15710   } ,
168     {  25200   ,   -15958   } ,
169     {  25043   ,   -16205   } ,
170     {  24882   ,   -16450   } ,
171     {  24720   ,   -16693   } ,
172     {  24554   ,   -16935   } ,
173     {  24387   ,   -17175   } ,
174     {  24217   ,   -17414   } ,
175     {  24045   ,   -17651   } ,
176     {  23871   ,   -17886   } ,
177     {  23694   ,   -18119   } ,
178     {  23515   ,   -18351   } ,
179     {  23334   ,   -18581   } ,
180     {  23150   ,   -18809   } ,
181     {  22964   ,   -19036   } ,
182     {  22776   ,   -19260   } ,
183     {  22586   ,   -19483   } ,
184     {  22394   ,   -19704   } ,
185     {  22199   ,   -19923   } ,
186     {  22003   ,   -20140   } ,
187     {  21804   ,   -20355   } ,
188     {  21603   ,   -20568   } ,
189     {  21400   ,   -20779   } ,
190     {  21195   ,   -20988   }
191     };
192 cos_msin_t	a_cos_msin_32[160]= {
193     {  29828   ,   -73   } ,
194     {  29827   ,   -220   } ,
195     {  29826   ,   -366   } ,
196     {  29824   ,   -512   } ,
197     {  29821   ,   -659   } ,
198     {  29817   ,   -805   } ,
199     {  29813   ,   -952   } ,
200     {  29808   ,   -1098   } ,
201     {  29802   ,   -1244   } ,
202     {  29796   ,   -1390   } ,
203     {  29789   ,   -1537   } ,
204     {  29781   ,   -1683   } ,
205     {  29772   ,   -1829   } ,
206     {  29763   ,   -1975   } ,
207     {  29753   ,   -2121   } ,
208     {  29742   ,   -2267   } ,
209     {  29730   ,   -2413   } ,
210     {  29718   ,   -2559   } ,
211     {  29705   ,   -2705   } ,
212     {  29692   ,   -2851   } ,
213     {  29677   ,   -2997   } ,
214     {  29662   ,   -3142   } ,
215     {  29646   ,   -3288   } ,
216     {  29630   ,   -3433   } ,
217     {  29613   ,   -3579   } ,
218     {  29595   ,   -3724   } ,
219     {  29576   ,   -3869   } ,
220     {  29557   ,   -4014   } ,
221     {  29537   ,   -4159   } ,
222     {  29516   ,   -4304   } ,
223     {  29494   ,   -4449   } ,
224     {  29472   ,   -4594   } ,
225     {  29449   ,   -4738   } ,
226     {  29426   ,   -4883   } ,
227     {  29401   ,   -5027   } ,
228     {  29376   ,   -5172   } ,
229     {  29351   ,   -5316   } ,
230     {  29324   ,   -5460   } ,
231     {  29297   ,   -5604   } ,
232     {  29269   ,   -5747   } ,
233     {  29241   ,   -5891   } ,
234     {  29211   ,   -6034   } ,
235     {  29181   ,   -6178   } ,
236     {  29151   ,   -6321   } ,
237     {  29119   ,   -6464   } ,
238     {  29087   ,   -6607   } ,
239     {  29054   ,   -6749   } ,
240     {  29021   ,   -6892   } ,
241     {  28987   ,   -7034   } ,
242     {  28952   ,   -7177   } ,
243     {  28916   ,   -7319   } ,
244     {  28880   ,   -7460   } ,
245     {  28843   ,   -7602   } ,
246     {  28805   ,   -7744   } ,
247     {  28767   ,   -7885   } ,
248     {  28728   ,   -8026   } ,
249     {  28688   ,   -8167   } ,
250     {  28648   ,   -8308   } ,
251     {  28607   ,   -8448   } ,
252     {  28565   ,   -8589   } ,
253     {  28522   ,   -8729   } ,
254     {  28479   ,   -8869   } ,
255     {  28435   ,   -9008   } ,
256     {  28391   ,   -9148   } ,
257     {  28346   ,   -9287   } ,
258     {  28300   ,   -9426   } ,
259     {  28253   ,   -9565   } ,
260     {  28206   ,   -9703   } ,
261     {  28158   ,   -9842   } ,
262     {  28109   ,   -9980   } ,
263     {  28060   ,   -10118   } ,
264     {  28010   ,   -10255   } ,
265     {  27959   ,   -10393   } ,
266     {  27908   ,   -10530   } ,
267     {  27856   ,   -10667   } ,
268     {  27803   ,   -10803   } ,
269     {  27750   ,   -10940   } ,
270     {  27696   ,   -11076   } ,
271     {  27641   ,   -11212   } ,
272     {  27586   ,   -11347   } ,
273     {  27529   ,   -11482   } ,
274     {  27473   ,   -11617   } ,
275     {  27415   ,   -11752   } ,
276     {  27357   ,   -11886   } ,
277     {  27299   ,   -12021   } ,
278     {  27239   ,   -12154   } ,
279     {  27179   ,   -12288   } ,
280     {  27119   ,   -12421   } ,
281     {  27057   ,   -12554   } ,
282     {  26996   ,   -12687   } ,
283     {  26933   ,   -12819   } ,
284     {  26870   ,   -12951   } ,
285     {  26806   ,   -13083   } ,
286     {  26741   ,   -13215   } ,
287     {  26676   ,   -13346   } ,
288     {  26610   ,   -13476   } ,
289     {  26544   ,   -13607   } ,
290     {  26477   ,   -13737   } ,
291     {  26409   ,   -13867   } ,
292     {  26340   ,   -13996   } ,
293     {  26271   ,   -14125   } ,
294     {  26202   ,   -14254   } ,
295     {  26132   ,   -14383   } ,
296     {  26061   ,   -14511   } ,
297     {  25989   ,   -14638   } ,
298     {  25917   ,   -14766   } ,
299     {  25844   ,   -14893   } ,
300     {  25771   ,   -15020   } ,
301     {  25697   ,   -15146   } ,
302     {  25622   ,   -15272   } ,
303     {  25547   ,   -15397   } ,
304     {  25471   ,   -15523   } ,
305     {  25394   ,   -15648   } ,
306     {  25317   ,   -15772   } ,
307     {  25239   ,   -15896   } ,
308     {  25161   ,   -16020   } ,
309     {  25082   ,   -16143   } ,
310     {  25003   ,   -16266   } ,
311     {  24923   ,   -16389   } ,
312     {  24842   ,   -16511   } ,
313     {  24760   ,   -16632   } ,
314     {  24678   ,   -16754   } ,
315     {  24596   ,   -16875   } ,
316     {  24513   ,   -16995   } ,
317     {  24429   ,   -17115   } ,
318     {  24345   ,   -17235   } ,
319     {  24260   ,   -17354   } ,
320     {  24174   ,   -17473   } ,
321     {  24088   ,   -17592   } ,
322     {  24002   ,   -17710   } ,
323     {  23914   ,   -17827   } ,
324     {  23827   ,   -17945   } ,
325     {  23738   ,   -18061   } ,
326     {  23649   ,   -18178   } ,
327     {  23560   ,   -18293   } ,
328     {  23470   ,   -18409   } ,
329     {  23379   ,   -18524   } ,
330     {  23288   ,   -18638   } ,
331     {  23196   ,   -18752   } ,
332     {  23104   ,   -18866   } ,
333     {  23011   ,   -18979   } ,
334     {  22917   ,   -19092   } ,
335     {  22824   ,   -19204   } ,
336     {  22729   ,   -19316   } ,
337     {  22634   ,   -19427   } ,
338     {  22538   ,   -19538   } ,
339     {  22442   ,   -19649   } ,
340     {  22345   ,   -19759   } ,
341     {  22248   ,   -19868   } ,
342     {  22150   ,   -19977   } ,
343     {  22052   ,   -20086   } ,
344     {  21953   ,   -20194   } ,
345     {  21854   ,   -20301   } ,
346     {  21754   ,   -20408   } ,
347     {  21653   ,   -20515   } ,
348     {  21552   ,   -20621   } ,
349     {  21451   ,   -20726   } ,
350     {  21349   ,   -20831   } ,
351     {  21246   ,   -20936   } ,
352     {  21143   ,   -21040   }
353     };
354 cos_msin_t	a_cos_msin_64[320] = {
355 {29827,	-34},
356 {29827,	-106},
357 {29827,	-177},
358 {29827,	-249},
359 {29826,	-320},
360 {29825,	-392},
361 {29824,	-463},
362 {29823,	-535},
363 {29821,	-606},
364 {29819,	-678},
365 {29818,	-750},
366 {29816,	-821},
367 {29814,	-893},
368 {29812,	-964},
369 {29809,	-1035},
370 {29807,	-1106},
371 {29804,	-1177},
372 {29801,	-1249},
373 {29797,	-1320},
374 {29795,	-1392},
375 {29791,	-1463},
376 {29787,	-1535},
377 {29784,	-1606},
378 {29780,	-1678},
379 {29776,	-1749},
380 {29771,	-1820},
381 {29767,	-1892},
382 {29763,	-1963},
383 {29758,	-2035},
384 {29753,	-2106},
385 {29748,	-2177},
386 {29742,	-2249},
387 {29737,	-2320},
388 {29731,	-2391},
389 {29726,	-2462},
390 {29719,	-2534},
391 {29713,	-2605},
392 {29707,	-2676},
393 {29701,	-2747},
394 {29694,	-2819},
395 {29686,	-2890},
396 {29680,	-2961},
397 {29673,	-3032},
398 {29665,	-3103},
399 {29658,	-3174},
400 {29650,	-3245},
401 {29643,	-3316},
402 {29635,	-3387},
403 {29626,	-3459},
404 {29618,	-3529},
405 {29610,	-3600},
406 {29601,	-3671},
407 {29592,	-3742},
408 {29583,	-3813},
409 {29574,	-3884},
410 {29564,	-3955},
411 {29554,	-4026},
412 {29544,	-4097},
413 {29535,	-4167},
414 {29525,	-4238},
415 {29514,	-4309},
416 {29504,	-4380},
417 {29493,	-4450},
418 {29483,	-4521},
419 {29472,	-4591},
420 {29461,	-4662},
421 {29450,	-4733},
422 {29439,	-4803},
423 {29427,	-4874},
424 {29415,	-4944},
425 {29403,	-5015},
426 {29391,	-5085},
427 {29379,	-5155},
428 {29366,	-5226},
429 {29353,	-5296},
430 {29341,	-5367},
431 {29328,	-5438},
432 {29314,	-5508},
433 {29301,	-5578},
434 {29289,	-5648},
435 {29274,	-5718},
436 {29260,	-5788},
437 {29247,	-5858},
438 {29232,	-5928},
439 {29218,	-5998},
440 {29204,	-6068},
441 {29188,	-6139},
442 {29175,	-6209},
443 {29159,	-6279},
444 {29145,	-6348},
445 {29128,	-6418},
446 {29114,	-6488},
447 {29097,	-6557},
448 {29082,	-6627},
449 {29066,	-6697},
450 {29050,	-6767},
451 {29034,	-6837},
452 {29017,	-6906},
453 {29001,	-6975},
454 {28984,	-7045},
455 {28966,	-7114},
456 {28950,	-7184},
457 {28933,	-7254},
458 {28915,	-7323},
459 {28897,	-7392},
460 {28880,	-7461},
461 {28862,	-7530},
462 {28843,	-7600},
463 {28825,	-7669},
464 {28807,	-7738},
465 {28788,	-7806},
466 {28769,	-7875},
467 {28751,	-7944},
468 {28732,	-8014},
469 {28712,	-8082},
470 {28692,	-8151},
471 {28672,	-8219},
472 {28653,	-8289},
473 {28633,	-8357},
474 {28613,	-8425},
475 {28593,	-8494},
476 {28572,	-8563},
477 {28551,	-8632},
478 {28531,	-8700},
479 {28510,	-8768},
480 {28488,	-8837},
481 {28468,	-8905},
482 {28447,	-8973},
483 {28425,	-9041},
484 {28403,	-9109},
485 {28381,	-9177},
486 {28359,	-9245},
487 {28336,	-9313},
488 {28315,	-9381},
489 {28292,	-9448},
490 {28269,	-9517},
491 {28246,	-9584},
492 {28223,	-9652},
493 {28200,	-9720},
494 {28176,	-9787},
495 {28153,	-9854},
496 {28129,	-9922},
497 {28105,	-9990},
498 {28082,	-10056},
499 {28057,	-10124},
500 {28032,	-10191},
501 {28009,	-10258},
502 {27984,	-10326},
503 {27959,	-10392},
504 {27934,	-10460},
505 {27909,	-10526},
506 {27883,	-10593},
507 {27858,	-10661},
508 {27832,	-10727},
509 {27807,	-10794},
510 {27780,	-10860},
511 {27754,	-10927},
512 {27728,	-10993},
513 {27701,	-11059},
514 {27676,	-11126},
515 {27648,	-11192},
516 {27622,	-11259},
517 {27595,	-11324},
518 {27567,	-11391},
519 {27540,	-11456},
520 {27512,	-11523},
521 {27484,	-11588},
522 {27456,	-11655},
523 {27429,	-11720},
524 {27401,	-11786},
525 {27372,	-11852},
526 {27344,	-11917},
527 {27315,	-11982},
528 {27286,	-12049},
529 {27257,	-12114},
530 {27229,	-12179},
531 {27199,	-12244},
532 {27169,	-12309},
533 {27140,	-12375},
534 {27110,	-12439},
535 {27080,	-12505},
536 {27050,	-12570},
537 {27019,	-12634},
538 {26990,	-12699},
539 {26958,	-12764},
540 {26928,	-12828},
541 {26897,	-12892},
542 {26866,	-12956},
543 {26835,	-13021},
544 {26804,	-13086},
545 {26773,	-13149},
546 {26741,	-13214},
547 {26709,	-13278},
548 {26677,	-13342},
549 {26645,	-13406},
550 {26613,	-13470},
551 {26581,	-13534},
552 {26549,	-13597},
553 {26515,	-13661},
554 {26483,	-13725},
555 {26450,	-13788},
556 {26417,	-13851},
557 {26384,	-13915},
558 {26350,	-13978},
559 {26316,	-14041},
560 {26283,	-14103},
561 {26248,	-14166},
562 {26215,	-14229},
563 {26180,	-14292},
564 {26146,	-14355},
565 {26112,	-14417},
566 {26077,	-14480},
567 {26042,	-14543},
568 {26008,	-14605},
569 {25972,	-14667},
570 {25937,	-14730},
571 {25901,	-14792},
572 {25866,	-14854},
573 {25830,	-14916},
574 {25794,	-14977},
575 {25759,	-15039},
576 {25723,	-15101},
577 {25687,	-15162},
578 {25650,	-15224},
579 {25613,	-15286},
580 {25577,	-15347},
581 {25540,	-15408},
582 {25503,	-15470},
583 {25465,	-15531},
584 {25428,	-15592},
585 {25391,	-15653},
586 {25353,	-15714},
587 {25315,	-15774},
588 {25277,	-15834},
589 {25240,	-15895},
590 {25201,	-15956},
591 {25162,	-16016},
592 {25124,	-16076},
593 {25086,	-16136},
594 {25047,	-16196},
595 {25008,	-16256},
596 {24969,	-16316},
597 {24930,	-16375},
598 {24891,	-16436},
599 {24851,	-16496},
600 {24811,	-16555},
601 {24772,	-16615},
602 {24732,	-16674},
603 {24692,	-16732},
604 {24652,	-16791},
605 {24612,	-16852},
606 {24572,	-16911},
607 {24531,	-16969},
608 {24490,	-17027},
609 {24449,	-17086},
610 {24408,	-17145},
611 {24367,	-17203},
612 {24325,	-17261},
613 {24284,	-17320},
614 {24242,	-17379},
615 {24200,	-17436},
616 {24158,	-17494},
617 {24116,	-17552},
618 {24075,	-17610},
619 {24032,	-17668},
620 {23990,	-17725},
621 {23947,	-17782},
622 {23904,	-17840},
623 {23862,	-17897},
624 {23819,	-17954},
625 {23775,	-18011},
626 {23732,	-18068},
627 {23689,	-18125},
628 {23645,	-18181},
629 {23602,	-18238},
630 {23558,	-18294},
631 {23514,	-18351},
632 {23470,	-18407},
633 {23426,	-18464},
634 {23381,	-18520},
635 {23337,	-18576},
636 {23293,	-18632},
637 {23248,	-18688},
638 {23202,	-18743},
639 {23158,	-18799},
640 {23112,	-18854},
641 {23068,	-18910},
642 {23022,	-18964},
643 {22977,	-19020},
644 {22931,	-19074},
645 {22885,	-19129},
646 {22839,	-19185},
647 {22793,	-19239},
648 {22747,	-19294},
649 {22700,	-19348},
650 {22655,	-19403},
651 {22607,	-19457},
652 {22561,	-19511},
653 {22514,	-19565},
654 {22467,	-19619},
655 {22421,	-19673},
656 {22373,	-19726},
657 {22326,	-19780},
658 {22279,	-19834},
659 {22230,	-19887},
660 {22183,	-19940},
661 {22135,	-19993},
662 {22087,	-20047},
663 {22039,	-20099},
664 {21991,	-20152},
665 {21942,	-20205},
666 {21894,	-20257},
667 {21845,	-20309},
668 {21797,	-20362},
669 {21748,	-20413},
670 {21699,	-20466},
671 {21650,	-20518},
672 {21601,	-20570},
673 {21551,	-20621},
674 {21502,	-20674}
675 };
676 
677 cos_msin_t	*a_cos_msin_table[] = {a_cos_msin_2, a_cos_msin_4,
678                                    a_cos_msin_8, a_cos_msin_16,
679                                    a_cos_msin_32,a_cos_msin_64
680 			                      };
681 
682 Word16 dct_core_a[10][10] = {
683 
684 { 10453,  10196,   9688,   8941,   7973,   6810,   5479,   4013,   2448,    823 },
685 { 10196,   7973,   4013,   -823,  -5479,  -8941, -10453,  -9688,  -6810,  -2448 },
686 { 9688 ,   4013,  -4013,  -9688,  -9688,  -4013,   4013,   9688,   9688,   4013 },
687 { 8941 ,   -823,  -9688,  -7973,   2448,  10196,   6810,  -4013, -10453,  -5479 },
688 { 7973 ,  -5479,  -9688,   2448,  10453,    823, -10196,  -4013,   8941,   6810 },
689 { 6810 ,  -8941,  -4013,  10196,    823, -10453,   2448,   9688,  -5479,  -7973 },
690 { 5479 , -10453,   4013,   6810, -10196,   2448,   7973,  -9688,    823,   8941 },
691 { 4013 ,  -9688,   9688,  -4013,  -4013,   9688,  -9688,   4013,   4013,  -9688 },
692 { 2448 ,  -6810,   9688, -10453,   8941,  -5479,    823,   4013,  -7973,  10196 },
693 { 823  ,  -2448,   4013,  -5479,   6810,  -7973,   8941,  -9688,  10196, -10453 }};
694 
695 Word16 anal_bias[320] = {
696   1,  1,  3,  1,  4,  1,  3, -2,  4,  3,
697   4,  1,  3,  0,  2, -3,  0,  0,  2,  2,
698   4,  1,  1, -5,  4,  1,  2, -1,  0, -1,
699   1, -2,  0,  2,  2,  2,  4,  1,  3,  0,
700   5,  3,  2,  0,  3,  0,  1, -4,  1,  1,
701   2,  0,  4,  0,  1, -4,  6,  1,  3, -1,
702   1,  0,  0, -4,  1,  1,  3,  1,  3,  2,
703   4, -2,  4,  3,  5,  1,  3,  0,  1, -3,
704   1,  1,  2,  0,  4,  1,  2, -4,  4,  2,
705   2, -1,  1, -1,  1, -4,  0,  0,  3,  0,
706   5,  2,  3, -1,  6,  2,  5,  0,  4,  0,
707   1, -3,  1,  0,  3,  0,  4,  0,  1, -3,
708   4,  1,  3, -1,  1, -2,  1, -4,  0,  1,
709   2,  1,  3,  2,  2, -2,  4,  3,  3,  0,
710   3,  0,  0, -2,  1,  0,  2,  0,  5, -1,
711   1, -3,  4,  2,  2,  0,  2, -3,  1, -4,
712  -1,  1,  2,  2,  4,  1,  3, -1,  5,  2,
713   2,  0,  3, -1,  2, -3,  0,  1,  2,  2,
714   4,  0,  1, -5,  5,  1,  3,  0,  2, -1,
715   0, -2,  1,  2,  2,  2,  4,  1,  0,  0,
716   4,  2,  4,  1,  4, -1,  1, -4,  0,  1,
717   3,  1,  5,  1,  1, -2,  4,  0,  2,  0,
718   2, -1,  0, -2,  0,  1,  1,  1,  4,  2,
719   3, -2,  5,  4,  4,  0,  3,  0,  3, -4,
720   1,  2,  2,  0,  4,  1,  0, -3,  4,  2,
721   3, -1,  1, -1,  1, -4,  0,  2,  3,  1,
722   4,  1,  3,  0,  3,  3,  4,  1,  2,  0,
723   1, -3,  2,  2,  2,  1,  5,  0,  1, -4,
724   4,  1,  3, -2,  3, -1,  0, -2,  0,  2,
725   2,  0,  5,  1,  4, -1,  4,  3,  4,  1,
726   3,  0,  1, -4,  2,  0,  3,  1,  5,  0,
727   1, -5,  5,  2,  2,  0,  0,  0,  0, -4};
728 
729