/***********************************************************************
**
**   ITU-T G.722.1 (2005-05) - Fixed point implementation for main body and Annex C
**   > Software Release 2.1 (2008-06)
**     (Simple repackaging; no change from 2005-05 Release 2.0 code)
**
**    2004 Polycom, Inc.
**
**   All rights reserved.
**
***********************************************************************/

/***********************************************************************
  Filename:    dct4_s.h    

  Purpose:     Contains tables used by dct4_s.c
		
  Design Notes:

***********************************************************************/

/***************************************************************************
 Include files                                                           
***************************************************************************/

typedef struct 
{
    Word16 cosine;
    Word16 minus_sine;
} cos_msin_t;

/***************************************************************************
  The dct_core_s table was generated by the following code

      for(i=0;i<10;++i)
      {
          for(k=0;k<10;++k)
          {
              dct_core_s[i][k]=(short) (FTOI(((.9*32768.)*cos(3.1415926*(k+0.5)*(i+0.5)/10.))));
          }
      }
***************************************************************************/
Word16 dct_core_s[10][10] = {
{ 29400,   28676,   27246,   25145,   22425,   19153,   15409,   11286,    6885,  2314 },
{ 28676,   22425,   11286,   -2314,  -15409,  -25145,  -29400,  -27246,  -19153,  -6885 },
{ 27246,   11286,  -11286,  -27246,  -27246,  -11286,   11286,   27246,   27246,  11286 },
{ 25145,   -2314,  -27246,  -22425,    6885,   28676,   19153,  -11286,  -29400,  -15409 },
{ 22425,  -15409,  -27246,    6885,   29400,    2314,  -28676,  -11286,   25145,  19153 },
{ 19153,  -25145,  -11286,   28676,    2314,  -29400,    6885,   27246,  -15409,  -22425 },
{ 15409,  -29400,   11286,   19153,  -28676,    6885,   22425,  -27246,    2314,  25145 },
{ 11286,  -27246,   27246,  -11286,  -11286,   27246,  -27246,   11286,   11286,  -27246 },
{  6885,  -19153,   27246,  -29400,   25145,  -15409,    2314,   11286,  -22425,  28676 },
{  2314,   -6885,   11286,  -15409,   19153,  -22425,   25145,  -27246,   28676,  -29400 }
};    

Word16 syn_bias_7khz[DCT_LENGTH] = {
 -4,  4, -5, -2,  0, -4,  6,  2, -2, -4,
 -3,  3,  0,  0, -2,  4,  0,  0,  3, -6,
  8,  5,  4,  5, -8,  0, -2,  0,  0, -3,
  3,  0,  0,  0,  1, -1, -2,  0,  0,  2,
 -2, -5, -2,  3,  2, -1, -1, -6,  3,  1,
 -7,  4,  4,  0,  1,  4,  1,  0,  1, -5,
 -1,  1, -6,  0, -1, -1,  3,  0, -2,  1,
  2, -4,  0,  9,  0, -3,  1,  1,  1,  0,
 -3, -2, -1, -4, -2,  0,  5,  2, -3,  5,
  0, -2,  4,  4,  0, -6, -4,  2,  0,  0,
  0, -1, -1, -2,  0,  6,  1,  0,  0, -1,
  0, -4, -1,  0, -4,  1, -1, -5,  0,  1,
  2,  4,  0, -8, -4,  0, -2, -2,  2,  5,
 -3, -1,  1, -4,  0,  0,  0, -1, -3,  0,
 -5, -4,  0, -2,  0,  7,  1,  0,  5, -2,
 -1,  2,  2, -2,  3,  7, -3,  4,  1, -4,
  0,  0,  3, -7, -5,  0,  0,  4,  0, -2,
 -1,  0, -5,  0,  2,  0, 11,  5, -1,  0,
  2,  2, -2, -2,  5,  4, -3,  1,  0, -2,
  1,  3,  2,  0,  1,  0,  0,  0,  5,  6,
 -2, -1,  0,  2,  3,  2,  0, -3,  4,  5,
  0, -1,  0,  3,  1, -2, -3, -2, -1,  2,
 -1, -1, -2, -7,  4,  6, -5, -6, -3, -4,
  0,  2, -5, -2,  3,  0,  0,  0,  2, -2,
 -4,  3,  3,  1,  0,  0,  4, -1,  8, 13,
  1,  2,  0,  2,  0, -1,  4, -3,  1,  0,
 -1,  3,  0,  0, -5,  0,  6,  2,  4,  5,
  2, -1, -1,  3,  6,  1,  1,  2, -4,  0,
 -1, -6, -2, -2,  2,  1,  2,  6,  2,  0,
 -2, -2,  0, -1,  2,  0,  0,  3, -2,  1,
  3,  1,  2, -1, -2,  2,  2, -4,  0,  0,
 -3,  0, -4, -3,  6,  7,  2,  2,  0, -3};

Word16 dither[DCT_LENGTH]= {
  1,  0,  0,  0,  1,  0,  0,  1,  1,  1,
  1,  0,  0,  0,  1,  1,  1,  1,  1,  0,
  0,  1,  1,  1,  0,  1,  1,  0,  0,  0,
  1,  0,  0,  1,  0,  1,  0,  0,  1,  0,
  1,  0,  0,  0,  1,  0,  1,  0,  0,  0,
  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,
  0,  0,  1,  0,  0,  0,  1,  0,  0,  1,
  1,  1,  1,  1,  1,  0,  1,  0,  0,  1,
  1,  0,  0,  1,  0,  0,  0,  1,  0,  1,
  0,  0,  1,  1,  0,  1,  0,  1,  1,  1,
  1,  0,  0,  0,  0,  1,  1,  1,  1,  1,
  0,  0,  0,  1,  0,  1,  0,  0,  0,  1,
  1,  1,  0,  0,  1,  1,  1,  1,  1,  0,
  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,
  1,  0,  1,  1,  1,  1,  0,  0,  0,  0,
  1,  1,  0,  1,  0,  0,  1,  0,  0,  1,
  0,  0,  0,  1,  1,  0,  0,  1,  1,  1,
  1,  0,  0,  0,  0,  0,  1,  1,  1,  1,
  1,  0,  0,  1,  1,  0,  1,  1,  0,  0,
  1,  1,  1,  0,  1,  1,  0,  1,  0,  1,
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
  0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
  1,  1,  1,  0,  1,  1,  1,  0,  1,  0,
  1,  1,  0,  0,  1,  0,  0,  1,  0,  1,
  0,  1,  1,  0,  1,  0,  1,  0,  1,  1,
  1,  0,  1,  0,  1,  0,  1,  1,  1,  1,
  0,  1,  0,  0,  0,  1,  0,  0,  0,  1,
  1,  0,  0,  0,  1,  0,  0,  1,  0,  1,
  1,  0,  1,  1,  0,  0,  1,  1,  0,  1,
  1,  0,  1,  1,  1,  1,  1,  1,  0,  1,
  1,  1,  1,  0,  1,  0,  0,  0,  1,  0};

Word16 max_dither[MAX_DCT_LENGTH]= {
  1,  0,  1,  0,  1,  1,  0,  1,  0,  1,
  1,  1,  0,  0,  0,  0,  0,  1,  1,  1,
  1,  1,  1,  0,  1,  1,  0,  0,  0,  1,
  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,
  1,  1,  1,  0,  1,  0,  1,  1,  1,  1,
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
  1,  0,  1,  1,  0,  1,  0,  0,  0,  1,
  0,  1,  1,  1,  1,  1,  0,  1,  1,  0,
  0,  0,  1,  1,  0,  0,  0,  1,  1,  1,
  1,  0,  1,  1,  1,  1,  1,  0,  0,  0,
  1,  0,  1,  0,  1,  0,  0,  0,  1,  1,
  0,  1,  1,  1,  1,  1,  1,  0,  1,  0,
  0,  0,  1,  0,  1,  0,  0,  0,  1,  0,
  0,  1,  0,  1,  0,  0,  0,  0,  1,  0,
  1,  0,  0,  1,  0,  1,  0,  0,  0,  1,
  0,  1,  0,  0,  1,  1,  1,  1,  0,  1,
  1,  0,  0,  0,  1,  1,  0,  1,  0,  1,
  0,  1,  0,  1,  0,  1,  1,  1,  0,  1,
  1,  0,  0,  1,  1,  1,  1,  0,  1,  1,
  1,  1,  1,  0,  1,  1,  0,  0,  0,  0,
  1,  0,  1,  0,  0,  0,  0,  1,  1,  0,
  1,  1,  0,  0,  0,  0,  1,  0,  0,  1,
  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,
  0,  0,  1,  1,  1,  0,  1,  1,  1,  0,
  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,
  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,
  0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
  0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
  0,  1,  0,  1,  1,  0,  0,  0,  1,  0,
  1,  1,  0,  0,  1,  1,  1,  1,  0,  0,
  0,  0,  1,  1,  1,  1,  0,  0,  1,  1,
  1,  1,  1,  0,  1,  0,  0,  0,  1,  0,
  0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
  1,  1,  0,  1,  0,  1,  1,  0,  0,  0,
  0,  1,  1,  0,  1,  1,  1,  0,  1,  1,
  0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
  1,  1,  0,  0,  0,  1,  1,  1,  1,  0,
  0,  1,  0,  1,  0,  1,  1,  0,  1,  0,
  1,  1,  1,  0,  0,  1,  1,  0,  0,  1,
  0,  1,  0,  0,  0,  1,  1,  0,  0,  1,
  0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
  1,  1,  0,  1,  0,  0,  1,  1,  0,  0,
  1,  0,  1,  0,  1,  0,  0,  1,  0,  0,
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
  0,  1,  1,  0,  0,  0,  1,  1,  1,  0,
  1,  1,  1,  0,  1,  1,  1,  0,  0,  0,
  0,  0,  1,  0,  0,  1,  0,  0,  0,  1,
  0,  0,  0,  1,  1,  0,  0,  1,  0,  1,
  1,  1,  1,  1,  0,  0,  1,  0,  1,  0,
  0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
  0,  0,  1,  0,  1,  0,  0,  1,  0,  1,
  1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
  1,  1,  1,  0,  1,  0,  0,  1,  1,  1,
  0,  1,  0,  1,  0,  1,  0,  0,  0,  1,
  1,  0,  0,  1,  0,  0,  1,  1,  0,  1,
  1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
  0,  0,  0,  1,  0,  1,  1,  1,  0,  0,
  1,  0,  1,  0,  1,  1,  0,  0,  0,  1,
  1,  0,  1,  0,  0,  1,  1,  1,  0,  1,
  0,  0,  1,  1,  1,  1,  1,  0,  0,  0,
  0,  1,  0,  1,  0,  0,  1,  0,  1,  0,
  0,  1,  1,  1,  1,  0,  0,  0,  1,  0,
  0,  1,  0,  1,  0,  1,  0,  0,  0,  0
};


/********************************************************************************
  The s_cos_min tables were generated by the following code:
      double		angle, scale;
      int		    index;

      for (index = 0;index < length;index++) 
      {
          angle = scale * ((double)index + 0.5);
          table[index].cosine     = (short) (FTOI((18427)* cos(angle)));
          table[index].minus_sine = (short) (FTOI((18427)*(-sin(angle))));
      }


********************************************************************************/

cos_msin_t	s_cos_msin_2[DCT_LENGTH_DIV_32] = {
    {  18413   ,   -723   } , 
    {  18299   ,   -2166   } , 
    {  18073   ,   -3595   } , 
    {  17735   ,   -5002   } , 
    {  17288   ,   -6378   } , 
    {  16734   ,   -7715   } , 
    {  16077   ,   -9004   } , 
    {  15321   ,   -10237   } , 
    {  14471   ,   -11408   } , 
    {  13531   ,   -12508   } 
    };
cos_msin_t	s_cos_msin_4[DCT_LENGTH_DIV_16] = {
    {  18423   ,   -362   } , 
    {  18395   ,   -1085   } , 
    {  18338   ,   -1806   } , 
    {  18253   ,   -2525   } , 
    {  18140   ,   -3239   } , 
    {  17999   ,   -3949   } , 
    {  17830   ,   -4653   } , 
    {  17634   ,   -5349   } , 
    {  17410   ,   -6037   } , 
    {  17159   ,   -6716   } , 
    {  16883   ,   -7385   } , 
    {  16580   ,   -8042   } , 
    {  16251   ,   -8686   } , 
    {  15898   ,   -9318   } , 
    {  15520   ,   -9935   } , 
    {  15118   ,   -10536   } , 
    {  14692   ,   -11122   } , 
    {  14244   ,   -11690   } , 
    {  13774   ,   -12240   } , 
    {  13283   ,   -12772   } 
    };
cos_msin_t	s_cos_msin_8[DCT_LENGTH_DIV_8] = {
    {  18426   ,   -181   } , 
    {  18419   ,   -543   } , 
    {  18405   ,   -904   } , 
    {  18384   ,   -1265   } , 
    {  18355   ,   -1626   } , 
    {  18320   ,   -1986   } , 
    {  18277   ,   -2345   } , 
    {  18228   ,   -2704   } , 
    {  18171   ,   -3061   } , 
    {  18107   ,   -3417   } , 
    {  18037   ,   -3772   } , 
    {  17959   ,   -4126   } , 
    {  17875   ,   -4477   } , 
    {  17783   ,   -4827   } , 
    {  17685   ,   -5176   } , 
    {  17580   ,   -5522   } , 
    {  17468   ,   -5866   } , 
    {  17350   ,   -6208   } , 
    {  17225   ,   -6547   } , 
    {  17093   ,   -6884   } , 
    {  16954   ,   -7219   } , 
    {  16809   ,   -7550   } , 
    {  16658   ,   -7879   } , 
    {  16500   ,   -8204   } , 
    {  16336   ,   -8526   } , 
    {  16165   ,   -8846   } , 
    {  15988   ,   -9161   } , 
    {  15805   ,   -9473   } , 
    {  15616   ,   -9782   } , 
    {  15421   ,   -10087   } , 
    {  15220   ,   -10387   } , 
    {  15013   ,   -10684   } , 
    {  14801   ,   -10977   } , 
    {  14582   ,   -11265   } , 
    {  14358   ,   -11550   } , 
    {  14129   ,   -11829   } , 
    {  13894   ,   -12104   } , 
    {  13654   ,   -12375   } , 
    {  13408   ,   -12641   } , 
    {  13157   ,   -12901   } 
    };
cos_msin_t	s_cos_msin_16[DCT_LENGTH_DIV_4] = {
    {  18427   ,   -90   } , 
    {  18425   ,   -271   } , 
    {  18421   ,   -452   } , 
    {  18416   ,   -633   } , 
    {  18409   ,   -814   } , 
    {  18400   ,   -995   } , 
    {  18389   ,   -1175   } , 
    {  18377   ,   -1356   } , 
    {  18363   ,   -1536   } , 
    {  18347   ,   -1716   } , 
    {  18329   ,   -1896   } , 
    {  18310   ,   -2076   } , 
    {  18288   ,   -2256   } , 
    {  18265   ,   -2435   } , 
    {  18241   ,   -2614   } , 
    {  18214   ,   -2793   } , 
    {  18186   ,   -2972   } , 
    {  18156   ,   -3150   } , 
    {  18124   ,   -3328   } , 
    {  18090   ,   -3506   } , 
    {  18055   ,   -3684   } , 
    {  18018   ,   -3861   } , 
    {  17979   ,   -4037   } , 
    {  17939   ,   -4214   } , 
    {  17897   ,   -4390   } , 
    {  17853   ,   -4565   } , 
    {  17807   ,   -4740   } , 
    {  17760   ,   -4915   } , 
    {  17710   ,   -5089   } , 
    {  17660   ,   -5262   } , 
    {  17607   ,   -5436   } , 
    {  17553   ,   -5608   } , 
    {  17497   ,   -5780   } , 
    {  17439   ,   -5952   } , 
    {  17380   ,   -6123   } , 
    {  17319   ,   -6293   } , 
    {  17257   ,   -6463   } , 
    {  17192   ,   -6632   } , 
    {  17126   ,   -6800   } , 
    {  17059   ,   -6968   } , 
    {  16990   ,   -7135   } , 
    {  16919   ,   -7302   } , 
    {  16846   ,   -7467   } , 
    {  16772   ,   -7632   } , 
    {  16696   ,   -7797   } , 
    {  16619   ,   -7960   } , 
    {  16540   ,   -8123   } , 
    {  16459   ,   -8285   } , 
    {  16377   ,   -8446   } , 
    {  16294   ,   -8607   } , 
    {  16208   ,   -8766   } , 
    {  16121   ,   -8925   } , 
    {  16033   ,   -9083   } , 
    {  15943   ,   -9240   } , 
    {  15852   ,   -9396   } , 
    {  15759   ,   -9551   } , 
    {  15664   ,   -9705   } , 
    {  15568   ,   -9858   } , 
    {  15471   ,   -10011   } , 
    {  15372   ,   -10162   } , 
    {  15271   ,   -10313   } , 
    {  15169   ,   -10462   } , 
    {  15066   ,   -10610   } , 
    {  14961   ,   -10758   } , 
    {  14854   ,   -10904   } , 
    {  14747   ,   -11049   } , 
    {  14637   ,   -11194   } , 
    {  14527   ,   -11337   } , 
    {  14415   ,   -11479   } , 
    {  14301   ,   -11620   } , 
    {  14187   ,   -11760   } , 
    {  14071   ,   -11898   } , 
    {  13953   ,   -12036   } , 
    {  13834   ,   -12172   } , 
    {  13714   ,   -12308   } , 
    {  13593   ,   -12442   } , 
    {  13470   ,   -12575   } , 
    {  13346   ,   -12706   } , 
    {  13220   ,   -12837   } , 
    {  13094   ,   -12966   } 
    };
cos_msin_t	s_cos_msin_32[DCT_LENGTH_DIV_2] = {
    {  18427   ,   -45   } , 
    {  18427   ,   -136   } , 
    {  18426   ,   -226   } , 
    {  18424   ,   -317   } , 
    {  18423   ,   -407   } , 
    {  18420   ,   -497   } , 
    {  18418   ,   -588   } , 
    {  18415   ,   -678   } , 
    {  18411   ,   -769   } , 
    {  18407   ,   -859   } , 
    {  18403   ,   -949   } , 
    {  18398   ,   -1040   } , 
    {  18392   ,   -1130   } , 
    {  18387   ,   -1220   } , 
    {  18380   ,   -1310   } , 
    {  18374   ,   -1401   } , 
    {  18367   ,   -1491   } , 
    {  18359   ,   -1581   } , 
    {  18351   ,   -1671   } , 
    {  18343   ,   -1761   } , 
    {  18334   ,   -1851   } , 
    {  18324   ,   -1941   } , 
    {  18315   ,   -2031   } , 
    {  18305   ,   -2121   } , 
    {  18294   ,   -2211   } , 
    {  18283   ,   -2301   } , 
    {  18271   ,   -2390   } , 
    {  18259   ,   -2480   } , 
    {  18247   ,   -2570   } , 
    {  18234   ,   -2659   } , 
    {  18221   ,   -2749   } , 
    {  18207   ,   -2838   } , 
    {  18193   ,   -2927   } , 
    {  18178   ,   -3017   } , 
    {  18163   ,   -3106   } , 
    {  18148   ,   -3195   } , 
    {  18132   ,   -3284   } , 
    {  18116   ,   -3373   } , 
    {  18099   ,   -3462   } , 
    {  18082   ,   -3551   } , 
    {  18064   ,   -3639   } , 
    {  18046   ,   -3728   } , 
    {  18027   ,   -3816   } , 
    {  18009   ,   -3905   } , 
    {  17989   ,   -3993   } , 
    {  17969   ,   -4081   } , 
    {  17949   ,   -4170   } , 
    {  17928   ,   -4258   } , 
    {  17907   ,   -4346   } , 
    {  17886   ,   -4434   } , 
    {  17864   ,   -4521   } , 
    {  17841   ,   -4609   } , 
    {  17818   ,   -4696   } , 
    {  17795   ,   -4784   } , 
    {  17772   ,   -4871   } , 
    {  17747   ,   -4958   } , 
    {  17723   ,   -5045   } , 
    {  17698   ,   -5132   } , 
    {  17672   ,   -5219   } , 
    {  17647   ,   -5306   } , 
    {  17620   ,   -5392   } , 
    {  17594   ,   -5479   } , 
    {  17567   ,   -5565   } , 
    {  17539   ,   -5651   } , 
    {  17511   ,   -5737   } , 
    {  17483   ,   -5823   } , 
    {  17454   ,   -5909   } , 
    {  17425   ,   -5994   } , 
    {  17395   ,   -6080   } , 
    {  17365   ,   -6165   } , 
    {  17335   ,   -6250   } , 
    {  17304   ,   -6335   } , 
    {  17272   ,   -6420   } , 
    {  17241   ,   -6505   } , 
    {  17208   ,   -6590   } , 
    {  17176   ,   -6674   } , 
    {  17143   ,   -6758   } , 
    {  17110   ,   -6842   } , 
    {  17076   ,   -6926   } , 
    {  17042   ,   -7010   } , 
    {  17007   ,   -7093   } , 
    {  16972   ,   -7177   } , 
    {  16937   ,   -7260   } , 
    {  16901   ,   -7343   } , 
    {  16864   ,   -7426   } , 
    {  16828   ,   -7509   } , 
    {  16791   ,   -7591   } , 
    {  16753   ,   -7674   } , 
    {  16715   ,   -7756   } , 
    {  16677   ,   -7838   } , 
    {  16638   ,   -7919   } , 
    {  16599   ,   -8001   } , 
    {  16560   ,   -8082   } , 
    {  16520   ,   -8164   } , 
    {  16480   ,   -8245   } , 
    {  16439   ,   -8325   } , 
    {  16398   ,   -8406   } , 
    {  16357   ,   -8486   } , 
    {  16315   ,   -8567   } , 
    {  16272   ,   -8647   } , 
    {  16230   ,   -8726   } , 
    {  16187   ,   -8806   } , 
    {  16143   ,   -8885   } , 
    {  16100   ,   -8964   } , 
    {  16055   ,   -9043   } , 
    {  16011   ,   -9122   } , 
    {  15966   ,   -9200   } , 
    {  15920   ,   -9279   } , 
    {  15875   ,   -9357   } , 
    {  15829   ,   -9435   } , 
    {  15782   ,   -9512   } , 
    {  15735   ,   -9589   } , 
    {  15688   ,   -9667   } , 
    {  15640   ,   -9744   } , 
    {  15592   ,   -9820   } , 
    {  15544   ,   -9897   } , 
    {  15495   ,   -9973   } , 
    {  15446   ,   -10049   } , 
    {  15396   ,   -10124   } , 
    {  15347   ,   -10200   } , 
    {  15296   ,   -10275   } , 
    {  15246   ,   -10350   } , 
    {  15195   ,   -10425   } , 
    {  15143   ,   -10499   } , 
    {  15092   ,   -10573   } , 
    {  15040   ,   -10647   } , 
    {  14987   ,   -10721   } , 
    {  14934   ,   -10794   } , 
    {  14881   ,   -10868   } , 
    {  14828   ,   -10941   } , 
    {  14774   ,   -11013   } , 
    {  14719   ,   -11086   } , 
    {  14665   ,   -11158   } , 
    {  14610   ,   -11230   } , 
    {  14555   ,   -11301   } , 
    {  14499   ,   -11372   } , 
    {  14443   ,   -11444   } , 
    {  14387   ,   -11514   } , 
    {  14330   ,   -11585   } , 
    {  14273   ,   -11655   } , 
    {  14216   ,   -11725   } , 
    {  14158   ,   -11795   } , 
    {  14100   ,   -11864   } , 
    {  14041   ,   -11933   } , 
    {  13983   ,   -12002   } , 
    {  13924   ,   -12070   } , 
    {  13864   ,   -12138   } , 
    {  13804   ,   -12206   } , 
    {  13744   ,   -12274   } , 
    {  13684   ,   -12341   } , 
    {  13623   ,   -12408   } , 
    {  13562   ,   -12475   } , 
    {  13501   ,   -12541   } , 
    {  13439   ,   -12608   } , 
    {  13377   ,   -12673   } , 
    {  13314   ,   -12739   } , 
    {  13252   ,   -12804   } , 
    {  13189   ,   -12869   } , 
    {  13125   ,   -12934   } , 
    {  13062   ,   -12998   } 
    };
cos_msin_t	s_cos_msin_64[DCT_LENGTH] = {
{18426,	-21},
{18426,	-66},
{18426,	-110},
{18426,	-154},
{18425,	-198},
{18425,	-242},
{18424,	-286},
{18424,	-331},
{18423,	-374},
{18421,	-419},
{18421,	-463},
{18419,	-507},
{18418,	-552},
{18417,	-595},
{18415,	-639},
{18414,	-684},
{18412,	-728},
{18410,	-772},
{18408,	-816},
{18406,	-860},
{18404,	-904},
{18402,	-949},
{18400,	-992},
{18397,	-1037},
{18394,	-1081},
{18392,	-1125},
{18389,	-1169},
{18387,	-1213},
{18384,	-1257},
{18380,	-1301},
{18378,	-1345},
{18374,	-1389},
{18371,	-1433},
{18367,	-1477},
{18364,	-1521},
{18360,	-1566},
{18356,	-1609},
{18352,	-1653},
{18348,	-1697},
{18344,	-1742},
{18339,	-1785},
{18335,	-1829},
{18331,	-1873},
{18326,	-1917},
{18322,	-1961},
{18317,	-2005},
{18312,	-2049},
{18307,	-2092},
{18302,	-2137},
{18297,	-2180},
{18292,	-2224},
{18286,	-2268},
{18281,	-2312},
{18275,	-2356},
{18270,	-2399},
{18264,	-2443},
{18258,	-2487},
{18252,	-2531},
{18246,	-2574},
{18240,	-2618},
{18233,	-2662},
{18227,	-2706},
{18220,	-2749},
{18214,	-2793},
{18207,	-2836},
{18200,	-2880},
{18193,	-2924},
{18186,	-2967},
{18179,	-3011},
{18172,	-3055},
{18164,	-3098},
{18157,	-3142},
{18149,	-3185},
{18141,	-3229},
{18134,	-3272},
{18126,	-3316},
{18118,	-3359},
{18109,	-3403},
{18101,	-3446},
{18094,	-3489},
{18085,	-3533},
{18076,	-3576},
{18068,	-3619},
{18059,	-3663},
{18050,	-3706},
{18041,	-3749},
{18032,	-3792},
{18023,	-3836},
{18014,	-3879},
{18005,	-3922},
{17995,	-3965},
{17986,	-4008},
{17975,	-4051},
{17966,	-4094},
{17956,	-4138},
{17946,	-4180},
{17936,	-4224},
{17926,	-4266},
{17916,	-4309},
{17905,	-4353},
{17895,	-4395},
{17884,	-4438},
{17874,	-4481},
{17863,	-4524},
{17852,	-4567},
{17841,	-4609},
{17830,	-4652},
{17819,	-4695},
{17807,	-4738},
{17796,	-4780},
{17784,	-4823},
{17772,	-4865},
{17761,	-4908},
{17749,	-4951},
{17738,	-4993},
{17725,	-5036},
{17713,	-5078},
{17701,	-5121},
{17689,	-5163},
{17676,	-5205},
{17664,	-5248},
{17651,	-5290},
{17638,	-5333},
{17626,	-5375},
{17613,	-5417},
{17599,	-5459},
{17586,	-5501},
{17573,	-5544},
{17560,	-5586},
{17546,	-5627},
{17533,	-5670},
{17519,	-5712},
{17505,	-5753},
{17492,	-5795},
{17478,	-5837},
{17464,	-5879},
{17450,	-5921},
{17435,	-5963},
{17421,	-6005},
{17406,	-6046},
{17392,	-6088},
{17377,	-6130},
{17363,	-6172},
{17348,	-6213},
{17333,	-6254},
{17318,	-6296},
{17303,	-6338},
{17288,	-6379},
{17272,	-6420},
{17257,	-6462},
{17241,	-6503},
{17225,	-6545},
{17210,	-6586},
{17194,	-6627},
{17178,	-6668},
{17162,	-6709},
{17145,	-6750},
{17130,	-6791},
{17113,	-6832},
{17097,	-6874},
{17080,	-6915},
{17064,	-6956},
{17047,	-6996},
{17030,	-7037},
{17013,	-7078},
{16996,	-7119},
{16979,	-7159},
{16962,	-7200},
{16945,	-7241},
{16927,	-7281},
{16910,	-7322},
{16892,	-7362},
{16874,	-7403},
{16856,	-7444},
{16838,	-7484},
{16821,	-7524},
{16802,	-7564},
{16784,	-7605},
{16766,	-7645},
{16748,	-7685},
{16729,	-7725},
{16711,	-7765},
{16692,	-7805},
{16674,	-7845},
{16654,	-7885},
{16635,	-7925},
{16616,	-7964},
{16597,	-8004},
{16578,	-8044},
{16559,	-8084},
{16539,	-8124},
{16520,	-8164},
{16500,	-8203},
{16480,	-8242},
{16461,	-8282},
{16441,	-8322},
{16421,	-8361},
{16401,	-8400},
{16380,	-8440},
{16360,	-8479},
{16340,	-8518},
{16319,	-8557},
{16299,	-8597},
{16278,	-8635},
{16257,	-8674},
{16237,	-8713},
{16215,	-8752},
{16195,	-8791},
{16173,	-8829},
{16152,	-8868},
{16131,	-8907},
{16110,	-8946},
{16088,	-8985},
{16067,	-9023},
{16045,	-9061},
{16023,	-9100},
{16001,	-9138},
{15979,	-9176},
{15957,	-9215},
{15935,	-9253},
{15913,	-9291},
{15891,	-9329},
{15868,	-9367},
{15846,	-9405},
{15823,	-9443},
{15800,	-9481},
{15778,	-9519},
{15755,	-9557},
{15732,	-9595},
{15709,	-9632},
{15686,	-9670},
{15662,	-9708},
{15639,	-9745},
{15615,	-9782},
{15592,	-9820},
{15569,	-9857},
{15544,	-9894},
{15521,	-9932},
{15497,	-9969},
{15473,	-10006},
{15449,	-10043},
{15425,	-10080},
{15401,	-10117},
{15377,	-10154},
{15352,	-10191},
{15327,	-10227},
{15303,	-10264},
{15278,	-10301},
{15254,	-10337},
{15229,	-10374},
{15204,	-10411},
{15180,	-10447},
{15154,	-10483},
{15129,	-10519},
{15104,	-10556},
{15078,	-10592},
{15053,	-10628},
{15027,	-10664},
{15002,	-10700},
{14976,	-10736},
{14950,	-10772},
{14924,	-10808},
{14898,	-10844},
{14872,	-10879},
{14846,	-10915},
{14820,	-10950},
{14794,	-10985},
{14767,	-11021},
{14741,	-11056},
{14714,	-11092},
{14687,	-11127},
{14661,	-11162},
{14635,	-11197},
{14607,	-11232},
{14581,	-11267},
{14554,	-11302},
{14526,	-11337},
{14499,	-11372},
{14472,	-11407},
{14444,	-11441},
{14417,	-11476},
{14389,	-11511},
{14362,	-11545},
{14334,	-11579},
{14306,	-11614},
{14278,	-11648},
{14251,	-11682},
{14222,	-11716},
{14194,	-11750},
{14166,	-11784},
{14137,	-11818},
{14109,	-11852},
{14081,	-11886},
{14053,	-11919},
{14023,	-11953},
{13995,	-11987},
{13966,	-12020},
{13937,	-12054},
{13909,	-12087},
{13879,	-12120},
{13851,	-12153},
{13821,	-12187},
{13792,	-12220},
{13763,	-12253},
{13733,	-12286},
{13704,	-12319},
{13674,	-12351},
{13645,	-12385},
{13615,	-12417},
{13585,	-12450},
{13555,	-12482},
{13525,	-12514},
{13495,	-12546},
{13465,	-12579},
{13435,	-12611},
{13405,	-12644},
{13374,	-12676},
{13345,	-12708},
{13314,	-12739},
{13283,	-12772}
};



cos_msin_t	*s_cos_msin_table[] = {s_cos_msin_2,  s_cos_msin_4,
                                   s_cos_msin_8,  s_cos_msin_16,
                                   s_cos_msin_32, s_cos_msin_64
                                  };

