dct4_s.h

00001 /*
00002  * g722_1 - a library for the G.722.1 and Annex C codecs
00003  *
00004  * dct4_s.h
00005  *
00006  * Adapted by Steve Underwood <steveu@coppice.org> from the reference
00007  * code supplied with ITU G.722.1, which is:
00008  *
00009  *   (C) 2004 Polycom, Inc.
00010  *   All rights reserved.
00011  *
00012  * This program is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00015  */
00016 
00017 typedef struct
00018 {
00019     int16_t cosine;
00020     int16_t minus_sine;
00021 } cos_msin_t;
00022 
00023 /***************************************************************************
00024   The dct_core_s table was generated by the following code
00025 
00026       for (i = 0;  i < 10;  ++i)
00027       {
00028           for (k = 0;  k < 10; ++k)
00029           {
00030               dct_core_s[i][k] = (short) (FTOI(((.9*32768.)*cos(3.1415926*(k+0.5)*(i+0.5)/10.))));
00031           }
00032       }
00033 ***************************************************************************/
00034 static const int16_t dct_core_s[10][10] =
00035 {
00036     { 29400,   28676,   27246,   25145,   22425,   19153,   15409,   11286,    6885,    2314},
00037     { 28676,   22425,   11286,   -2314,  -15409,  -25145,  -29400,  -27246,  -19153,   -6885},
00038     { 27246,   11286,  -11286,  -27246,  -27246,  -11286,   11286,   27246,   27246,   11286},
00039     { 25145,   -2314,  -27246,  -22425,    6885,   28676,   19153,  -11286,  -29400,  -15409},
00040     { 22425,  -15409,  -27246,    6885,   29400,    2314,  -28676,  -11286,   25145,   19153},
00041     { 19153,  -25145,  -11286,   28676,    2314,  -29400,    6885,   27246,  -15409,  -22425},
00042     { 15409,  -29400,   11286,   19153,  -28676,    6885,   22425,  -27246,    2314,   25145},
00043     { 11286,  -27246,   27246,  -11286,  -11286,   27246,  -27246,   11286,   11286,  -27246},
00044     {  6885,  -19153,   27246,  -29400,   25145,  -15409,    2314,   11286,  -22425,   28676},
00045     {  2314,   -6885,   11286,  -15409,   19153,  -22425,   25145,  -27246,   28676,  -29400}
00046 };
00047 
00048 static const int16_t syn_bias_7khz[DCT_LENGTH] =
00049 {
00050     -4,  4, -5, -2,  0, -4,  6,  2, -2, -4,
00051     -3,  3,  0,  0, -2,  4,  0,  0,  3, -6,
00052      8,  5,  4,  5, -8,  0, -2,  0,  0, -3,
00053      3,  0,  0,  0,  1, -1, -2,  0,  0,  2,
00054     -2, -5, -2,  3,  2, -1, -1, -6,  3,  1,
00055     -7,  4,  4,  0,  1,  4,  1,  0,  1, -5,
00056     -1,  1, -6,  0, -1, -1,  3,  0, -2,  1,
00057      2, -4,  0,  9,  0, -3,  1,  1,  1,  0,
00058     -3, -2, -1, -4, -2,  0,  5,  2, -3,  5,
00059      0, -2,  4,  4,  0, -6, -4,  2,  0,  0,
00060      0, -1, -1, -2,  0,  6,  1,  0,  0, -1,
00061      0, -4, -1,  0, -4,  1, -1, -5,  0,  1,
00062      2,  4,  0, -8, -4,  0, -2, -2,  2,  5,
00063     -3, -1,  1, -4,  0,  0,  0, -1, -3,  0,
00064     -5, -4,  0, -2,  0,  7,  1,  0,  5, -2,
00065     -1,  2,  2, -2,  3,  7, -3,  4,  1, -4,
00066      0,  0,  3, -7, -5,  0,  0,  4,  0, -2,
00067     -1,  0, -5,  0,  2,  0, 11,  5, -1,  0,
00068      2,  2, -2, -2,  5,  4, -3,  1,  0, -2,
00069      1,  3,  2,  0,  1,  0,  0,  0,  5,  6,
00070     -2, -1,  0,  2,  3,  2,  0, -3,  4,  5,
00071      0, -1,  0,  3,  1, -2, -3, -2, -1,  2,
00072     -1, -1, -2, -7,  4,  6, -5, -6, -3, -4,
00073      0,  2, -5, -2,  3,  0,  0,  0,  2, -2,
00074     -4,  3,  3,  1,  0,  0,  4, -1,  8, 13,
00075      1,  2,  0,  2,  0, -1,  4, -3,  1,  0,
00076     -1,  3,  0,  0, -5,  0,  6,  2,  4,  5,
00077      2, -1, -1,  3,  6,  1,  1,  2, -4,  0,
00078     -1, -6, -2, -2,  2,  1,  2,  6,  2,  0,
00079     -2, -2,  0, -1,  2,  0,  0,  3, -2,  1,
00080      3,  1,  2, -1, -2,  2,  2, -4,  0,  0,
00081     -3,  0, -4, -3,  6,  7,  2,  2,  0, -3
00082 };
00083 
00084 static const int16_t dither[DCT_LENGTH] =
00085 {
00086      1,  0,  0,  0,  1,  0,  0,  1,  1,  1,
00087      1,  0,  0,  0,  1,  1,  1,  1,  1,  0,
00088      0,  1,  1,  1,  0,  1,  1,  0,  0,  0,
00089      1,  0,  0,  1,  0,  1,  0,  0,  1,  0,
00090      1,  0,  0,  0,  1,  0,  1,  0,  0,  0,
00091      1,  1,  1,  1,  1,  0,  0,  1,  0,  0,
00092      0,  0,  1,  0,  0,  0,  1,  0,  0,  1,
00093      1,  1,  1,  1,  1,  0,  1,  0,  0,  1,
00094      1,  0,  0,  1,  0,  0,  0,  1,  0,  1,
00095      0,  0,  1,  1,  0,  1,  0,  1,  1,  1,
00096      1,  0,  0,  0,  0,  1,  1,  1,  1,  1,
00097      0,  0,  0,  1,  0,  1,  0,  0,  0,  1,
00098      1,  1,  0,  0,  1,  1,  1,  1,  1,  0,
00099      0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
00100      1,  1,  1,  0,  0,  0,  0,  0,  0,  0,
00101      1,  0,  1,  1,  1,  1,  0,  0,  0,  0,
00102      1,  1,  0,  1,  0,  0,  1,  0,  0,  1,
00103      0,  0,  0,  1,  1,  0,  0,  1,  1,  1,
00104      1,  0,  0,  0,  0,  0,  1,  1,  1,  1,
00105      1,  0,  0,  1,  1,  0,  1,  1,  0,  0,
00106      1,  1,  1,  0,  1,  1,  0,  1,  0,  1,
00107      0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
00108      0,  1,  1,  1,  1,  0,  1,  1,  1,  0,
00109      1,  1,  1,  0,  1,  1,  1,  0,  1,  0,
00110      1,  1,  0,  0,  1,  0,  0,  1,  0,  1,
00111      0,  1,  1,  0,  1,  0,  1,  0,  1,  1,
00112      1,  0,  1,  0,  1,  0,  1,  1,  1,  1,
00113      0,  1,  0,  0,  0,  1,  0,  0,  0,  1,
00114      1,  0,  0,  0,  1,  0,  0,  1,  0,  1,
00115      1,  0,  1,  1,  0,  0,  1,  1,  0,  1,
00116      1,  0,  1,  1,  1,  1,  1,  1,  0,  1,
00117      1,  1,  1,  0,  1,  0,  0,  0,  1,  0
00118 };
00119 
00120 static const int16_t max_dither[MAX_DCT_LENGTH] =
00121 {
00122      1,  0,  1,  0,  1,  1,  0,  1,  0,  1,
00123      1,  1,  0,  0,  0,  0,  0,  1,  1,  1,
00124      1,  1,  1,  0,  1,  1,  0,  0,  0,  1,
00125      0,  0,  0,  1,  0,  0,  0,  0,  0,  0,
00126      1,  1,  1,  0,  1,  0,  1,  1,  1,  1,
00127      0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
00128      1,  0,  1,  1,  0,  1,  0,  0,  0,  1,
00129      0,  1,  1,  1,  1,  1,  0,  1,  1,  0,
00130      0,  0,  1,  1,  0,  0,  0,  1,  1,  1,
00131      1,  0,  1,  1,  1,  1,  1,  0,  0,  0,
00132      1,  0,  1,  0,  1,  0,  0,  0,  1,  1,
00133      0,  1,  1,  1,  1,  1,  1,  0,  1,  0,
00134      0,  0,  1,  0,  1,  0,  0,  0,  1,  0,
00135      0,  1,  0,  1,  0,  0,  0,  0,  1,  0,
00136      1,  0,  0,  1,  0,  1,  0,  0,  0,  1,
00137      0,  1,  0,  0,  1,  1,  1,  1,  0,  1,
00138      1,  0,  0,  0,  1,  1,  0,  1,  0,  1,
00139      0,  1,  0,  1,  0,  1,  1,  1,  0,  1,
00140      1,  0,  0,  1,  1,  1,  1,  0,  1,  1,
00141      1,  1,  1,  0,  1,  1,  0,  0,  0,  0,
00142      1,  0,  1,  0,  0,  0,  0,  1,  1,  0,
00143      1,  1,  0,  0,  0,  0,  1,  0,  0,  1,
00144      1,  1,  1,  1,  1,  1,  1,  1,  1,  0,
00145      0,  0,  1,  1,  1,  0,  1,  1,  1,  0,
00146      0,  1,  1,  1,  1,  1,  1,  1,  0,  0,
00147      1,  1,  1,  1,  1,  1,  0,  1,  1,  1,
00148      0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
00149      0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
00150      0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
00151      0,  1,  0,  1,  1,  0,  0,  0,  1,  0,
00152      1,  1,  0,  0,  1,  1,  1,  1,  0,  0,
00153      0,  0,  1,  1,  1,  1,  0,  0,  1,  1,
00154      1,  1,  1,  0,  1,  0,  0,  0,  1,  0,
00155      0,  1,  1,  1,  0,  1,  0,  1,  0,  0,
00156      1,  1,  0,  1,  0,  1,  1,  0,  0,  0,
00157      0,  1,  1,  0,  1,  1,  1,  0,  1,  1,
00158      0,  0,  1,  1,  1,  1,  1,  1,  0,  1,
00159      1,  1,  0,  0,  0,  1,  1,  1,  1,  0,
00160      0,  1,  0,  1,  0,  1,  1,  0,  1,  0,
00161      1,  1,  1,  0,  0,  1,  1,  0,  0,  1,
00162      0,  1,  0,  0,  0,  1,  1,  0,  0,  1,
00163      0,  0,  1,  1,  0,  1,  0,  1,  0,  1,
00164      1,  1,  0,  1,  0,  0,  1,  1,  0,  0,
00165      1,  0,  1,  0,  1,  0,  0,  1,  0,  0,
00166      0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
00167      0,  1,  1,  0,  0,  0,  1,  1,  1,  0,
00168      1,  1,  1,  0,  1,  1,  1,  0,  0,  0,
00169      0,  0,  1,  0,  0,  1,  0,  0,  0,  1,
00170      0,  0,  0,  1,  1,  0,  0,  1,  0,  1,
00171      1,  1,  1,  1,  0,  0,  1,  0,  1,  0,
00172      0,  1,  0,  1,  1,  1,  1,  1,  1,  0,
00173      0,  0,  1,  0,  1,  0,  0,  1,  0,  1,
00174      1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
00175      1,  1,  1,  0,  1,  0,  0,  1,  1,  1,
00176      0,  1,  0,  1,  0,  1,  0,  0,  0,  1,
00177      1,  0,  0,  1,  0,  0,  1,  1,  0,  1,
00178      1,  0,  1,  0,  1,  1,  0,  0,  1,  1,
00179      0,  0,  0,  1,  0,  1,  1,  1,  0,  0,
00180      1,  0,  1,  0,  1,  1,  0,  0,  0,  1,
00181      1,  0,  1,  0,  0,  1,  1,  1,  0,  1,
00182      0,  0,  1,  1,  1,  1,  1,  0,  0,  0,
00183      0,  1,  0,  1,  0,  0,  1,  0,  1,  0,
00184      0,  1,  1,  1,  1,  0,  0,  0,  1,  0,
00185      0,  1,  0,  1,  0,  1,  0,  0,  0,  0
00186 };
00187 
00188 
00189 /********************************************************************************
00190   The s_cos_min tables were generated by the following code:
00191       double  angle, scale;
00192       int      index;
00193 
00194       for (index = 0;index < length;index++)
00195       {
00196           angle = scale * ((double)index + 0.5);
00197           table[index].cosine = (int16_t) (FTOI((18427)* cos(angle)));
00198           table[index].minus_sine = (int16_t) (FTOI((18427)*(-sin(angle))));
00199       }
00200 ********************************************************************************/
00201 
00202 static const cos_msin_t s_cos_msin_2[DCT_LENGTH_DIV_32] =
00203 {
00204     {18413,   -723},
00205     {18299,  -2166},
00206     {18073,  -3595},
00207     {17735,  -5002},
00208     {17288,  -6378},
00209     {16734,  -7715},
00210     {16077,  -9004},
00211     {15321, -10237},
00212     {14471, -11408},
00213     {13531, -12508}
00214 };
00215 
00216 static const cos_msin_t s_cos_msin_4[DCT_LENGTH_DIV_16] =
00217 {
00218     {18423,   -362},
00219     {18395,  -1085},
00220     {18338,  -1806},
00221     {18253,  -2525},
00222     {18140,  -3239},
00223     {17999,  -3949},
00224     {17830,  -4653},
00225     {17634,  -5349},
00226     {17410,  -6037},
00227     {17159,  -6716},
00228     {16883,  -7385},
00229     {16580,  -8042},
00230     {16251,  -8686},
00231     {15898,  -9318},
00232     {15520,  -9935},
00233     {15118, -10536},
00234     {14692, -11122},
00235     {14244, -11690},
00236     {13774, -12240},
00237     {13283, -12772}
00238 };
00239 
00240 static const cos_msin_t s_cos_msin_8[DCT_LENGTH_DIV_8] =
00241 {
00242     {18426,   -181},
00243     {18419,   -543},
00244     {18405,   -904},
00245     {18384,  -1265},
00246     {18355,  -1626},
00247     {18320,  -1986},
00248     {18277,  -2345},
00249     {18228,  -2704},
00250     {18171,  -3061},
00251     {18107,  -3417},
00252     {18037,  -3772},
00253     {17959,  -4126},
00254     {17875,  -4477},
00255     {17783,  -4827},
00256     {17685,  -5176},
00257     {17580,  -5522},
00258     {17468,  -5866},
00259     {17350,  -6208},
00260     {17225,  -6547},
00261     {17093,  -6884},
00262     {16954,  -7219},
00263     {16809,  -7550},
00264     {16658,  -7879},
00265     {16500,  -8204},
00266     {16336,  -8526},
00267     {16165,  -8846},
00268     {15988,  -9161},
00269     {15805,  -9473},
00270     {15616,  -9782},
00271     {15421, -10087},
00272     {15220, -10387},
00273     {15013, -10684},
00274     {14801, -10977},
00275     {14582, -11265},
00276     {14358, -11550},
00277     {14129, -11829},
00278     {13894, -12104},
00279     {13654, -12375},
00280     {13408, -12641},
00281     {13157, -12901}
00282 };
00283 
00284 static const cos_msin_t s_cos_msin_16[DCT_LENGTH_DIV_4] =
00285 {
00286     {18427,    -90},
00287     {18425,   -271},
00288     {18421,   -452},
00289     {18416,   -633},
00290     {18409,   -814},
00291     {18400,   -995},
00292     {18389,  -1175},
00293     {18377,  -1356},
00294     {18363,  -1536},
00295     {18347,  -1716},
00296     {18329,  -1896},
00297     {18310,  -2076},
00298     {18288,  -2256},
00299     {18265,  -2435},
00300     {18241,  -2614},
00301     {18214,  -2793},
00302     {18186,  -2972},
00303     {18156,  -3150},
00304     {18124,  -3328},
00305     {18090,  -3506},
00306     {18055,  -3684},
00307     {18018,  -3861},
00308     {17979,  -4037},
00309     {17939,  -4214},
00310     {17897,  -4390},
00311     {17853,  -4565},
00312     {17807,  -4740},
00313     {17760,  -4915},
00314     {17710,  -5089},
00315     {17660,  -5262},
00316     {17607,  -5436},
00317     {17553,  -5608},
00318     {17497,  -5780},
00319     {17439,  -5952},
00320     {17380,  -6123},
00321     {17319,  -6293},
00322     {17257,  -6463},
00323     {17192,  -6632},
00324     {17126,  -6800},
00325     {17059,  -6968},
00326     {16990,  -7135},
00327     {16919,  -7302},
00328     {16846,  -7467},
00329     {16772,  -7632},
00330     {16696,  -7797},
00331     {16619,  -7960},
00332     {16540,  -8123},
00333     {16459,  -8285},
00334     {16377,  -8446},
00335     {16294,  -8607},
00336     {16208,  -8766},
00337     {16121,  -8925},
00338     {16033,  -9083},
00339     {15943,  -9240},
00340     {15852,  -9396},
00341     {15759,  -9551},
00342     {15664,  -9705},
00343     {15568,  -9858},
00344     {15471, -10011},
00345     {15372, -10162},
00346     {15271, -10313},
00347     {15169, -10462},
00348     {15066, -10610},
00349     {14961, -10758},
00350     {14854, -10904},
00351     {14747, -11049},
00352     {14637, -11194},
00353     {14527, -11337},
00354     {14415, -11479},
00355     {14301, -11620},
00356     {14187, -11760},
00357     {14071, -11898},
00358     {13953, -12036},
00359     {13834, -12172},
00360     {13714, -12308},
00361     {13593, -12442},
00362     {13470, -12575},
00363     {13346, -12706},
00364     {13220, -12837},
00365     {13094, -12966}
00366 };
00367 
00368 static const cos_msin_t s_cos_msin_32[DCT_LENGTH_DIV_2] =
00369 {
00370     {18427,    -45},
00371     {18427,   -136},
00372     {18426,   -226},
00373     {18424,   -317},
00374     {18423,   -407},
00375     {18420,   -497},
00376     {18418,   -588},
00377     {18415,   -678},
00378     {18411,   -769},
00379     {18407,   -859},
00380     {18403,   -949},
00381     {18398,  -1040},
00382     {18392,  -1130},
00383     {18387,  -1220},
00384     {18380,  -1310},
00385     {18374,  -1401},
00386     {18367,  -1491},
00387     {18359,  -1581},
00388     {18351,  -1671},
00389     {18343,  -1761},
00390     {18334,  -1851},
00391     {18324,  -1941},
00392     {18315,  -2031},
00393     {18305,  -2121},
00394     {18294,  -2211},
00395     {18283,  -2301},
00396     {18271,  -2390},
00397     {18259,  -2480},
00398     {18247,  -2570},
00399     {18234,  -2659},
00400     {18221,  -2749},
00401     {18207,  -2838},
00402     {18193,  -2927},
00403     {18178,  -3017},
00404     {18163,  -3106},
00405     {18148,  -3195},
00406     {18132,  -3284},
00407     {18116,  -3373},
00408     {18099,  -3462},
00409     {18082,  -3551},
00410     {18064,  -3639},
00411     {18046,  -3728},
00412     {18027,  -3816},
00413     {18009,  -3905},
00414     {17989,  -3993},
00415     {17969,  -4081},
00416     {17949,  -4170},
00417     {17928,  -4258},
00418     {17907,  -4346},
00419     {17886,  -4434},
00420     {17864,  -4521},
00421     {17841,  -4609},
00422     {17818,  -4696},
00423     {17795,  -4784},
00424     {17772,  -4871},
00425     {17747,  -4958},
00426     {17723,  -5045},
00427     {17698,  -5132},
00428     {17672,  -5219},
00429     {17647,  -5306},
00430     {17620,  -5392},
00431     {17594,  -5479},
00432     {17567,  -5565},
00433     {17539,  -5651},
00434     {17511,  -5737},
00435     {17483,  -5823},
00436     {17454,  -5909},
00437     {17425,  -5994},
00438     {17395,  -6080},
00439     {17365,  -6165},
00440     {17335,  -6250},
00441     {17304,  -6335},
00442     {17272,  -6420},
00443     {17241,  -6505},
00444     {17208,  -6590},
00445     {17176,  -6674},
00446     {17143,  -6758},
00447     {17110,  -6842},
00448     {17076,  -6926},
00449     {17042,  -7010},
00450     {17007,  -7093},
00451     {16972,  -7177},
00452     {16937,  -7260},
00453     {16901,  -7343},
00454     {16864,  -7426},
00455     {16828,  -7509},
00456     {16791,  -7591},
00457     {16753,  -7674},
00458     {16715,  -7756},
00459     {16677,  -7838},
00460     {16638,  -7919},
00461     {16599,  -8001},
00462     {16560,  -8082},
00463     {16520,  -8164},
00464     {16480,  -8245},
00465     {16439,  -8325},
00466     {16398,  -8406},
00467     {16357,  -8486},
00468     {16315,  -8567},
00469     {16272,  -8647},
00470     {16230,  -8726},
00471     {16187,  -8806},
00472     {16143,  -8885},
00473     {16100,  -8964},
00474     {16055,  -9043},
00475     {16011,  -9122},
00476     {15966,  -9200},
00477     {15920,  -9279},
00478     {15875,  -9357},
00479     {15829,  -9435},
00480     {15782,  -9512},
00481     {15735,  -9589},
00482     {15688,  -9667},
00483     {15640,  -9744},
00484     {15592,  -9820},
00485     {15544,  -9897},
00486     {15495,  -9973},
00487     {15446, -10049},
00488     {15396, -10124},
00489     {15347, -10200},
00490     {15296, -10275},
00491     {15246, -10350},
00492     {15195, -10425},
00493     {15143, -10499},
00494     {15092, -10573},
00495     {15040, -10647},
00496     {14987, -10721},
00497     {14934, -10794},
00498     {14881, -10868},
00499     {14828, -10941},
00500     {14774, -11013},
00501     {14719, -11086},
00502     {14665, -11158},
00503     {14610, -11230},
00504     {14555, -11301},
00505     {14499, -11372},
00506     {14443, -11444},
00507     {14387, -11514},
00508     {14330, -11585},
00509     {14273, -11655},
00510     {14216, -11725},
00511     {14158, -11795},
00512     {14100, -11864},
00513     {14041, -11933},
00514     {13983, -12002},
00515     {13924, -12070},
00516     {13864, -12138},
00517     {13804, -12206},
00518     {13744, -12274},
00519     {13684, -12341},
00520     {13623, -12408},
00521     {13562, -12475},
00522     {13501, -12541},
00523     {13439, -12608},
00524     {13377, -12673},
00525     {13314, -12739},
00526     {13252, -12804},
00527     {13189, -12869},
00528     {13125, -12934},
00529     {13062, -12998}
00530 };
00531 
00532 static const cos_msin_t s_cos_msin_64[DCT_LENGTH] =
00533 {
00534     {18426,    -21},
00535     {18426,    -66},
00536     {18426,   -110},
00537     {18426,   -154},
00538     {18425,   -198},
00539     {18425,   -242},
00540     {18424,   -286},
00541     {18424,   -331},
00542     {18423,   -374},
00543     {18421,   -419},
00544     {18421,   -463},
00545     {18419,   -507},
00546     {18418,   -552},
00547     {18417,   -595},
00548     {18415,   -639},
00549     {18414,   -684},
00550     {18412,   -728},
00551     {18410,   -772},
00552     {18408,   -816},
00553     {18406,   -860},
00554     {18404,   -904},
00555     {18402,   -949},
00556     {18400,   -992},
00557     {18397,  -1037},
00558     {18394,  -1081},
00559     {18392,  -1125},
00560     {18389,  -1169},
00561     {18387,  -1213},
00562     {18384,  -1257},
00563     {18380,  -1301},
00564     {18378,  -1345},
00565     {18374,  -1389},
00566     {18371,  -1433},
00567     {18367,  -1477},
00568     {18364,  -1521},
00569     {18360,  -1566},
00570     {18356,  -1609},
00571     {18352,  -1653},
00572     {18348,  -1697},
00573     {18344,  -1742},
00574     {18339,  -1785},
00575     {18335,  -1829},
00576     {18331,  -1873},
00577     {18326,  -1917},
00578     {18322,  -1961},
00579     {18317,  -2005},
00580     {18312,  -2049},
00581     {18307,  -2092},
00582     {18302,  -2137},
00583     {18297,  -2180},
00584     {18292,  -2224},
00585     {18286,  -2268},
00586     {18281,  -2312},
00587     {18275,  -2356},
00588     {18270,  -2399},
00589     {18264,  -2443},
00590     {18258,  -2487},
00591     {18252,  -2531},
00592     {18246,  -2574},
00593     {18240,  -2618},
00594     {18233,  -2662},
00595     {18227,  -2706},
00596     {18220,  -2749},
00597     {18214,  -2793},
00598     {18207,  -2836},
00599     {18200,  -2880},
00600     {18193,  -2924},
00601     {18186,  -2967},
00602     {18179,  -3011},
00603     {18172,  -3055},
00604     {18164,  -3098},
00605     {18157,  -3142},
00606     {18149,  -3185},
00607     {18141,  -3229},
00608     {18134,  -3272},
00609     {18126,  -3316},
00610     {18118,  -3359},
00611     {18109,  -3403},
00612     {18101,  -3446},
00613     {18094,  -3489},
00614     {18085,  -3533},
00615     {18076,  -3576},
00616     {18068,  -3619},
00617     {18059,  -3663},
00618     {18050,  -3706},
00619     {18041,  -3749},
00620     {18032,  -3792},
00621     {18023,  -3836},
00622     {18014,  -3879},
00623     {18005,  -3922},
00624     {17995,  -3965},
00625     {17986,  -4008},
00626     {17975,  -4051},
00627     {17966,  -4094},
00628     {17956,  -4138},
00629     {17946,  -4180},
00630     {17936,  -4224},
00631     {17926,  -4266},
00632     {17916,  -4309},
00633     {17905,  -4353},
00634     {17895,  -4395},
00635     {17884,  -4438},
00636     {17874,  -4481},
00637     {17863,  -4524},
00638     {17852,  -4567},
00639     {17841,  -4609},
00640     {17830,  -4652},
00641     {17819,  -4695},
00642     {17807,  -4738},
00643     {17796,  -4780},
00644     {17784,  -4823},
00645     {17772,  -4865},
00646     {17761,  -4908},
00647     {17749,  -4951},
00648     {17738,  -4993},
00649     {17725,  -5036},
00650     {17713,  -5078},
00651     {17701,  -5121},
00652     {17689,  -5163},
00653     {17676,  -5205},
00654     {17664,  -5248},
00655     {17651,  -5290},
00656     {17638,  -5333},
00657     {17626,  -5375},
00658     {17613,  -5417},
00659     {17599,  -5459},
00660     {17586,  -5501},
00661     {17573,  -5544},
00662     {17560,  -5586},
00663     {17546,  -5627},
00664     {17533,  -5670},
00665     {17519,  -5712},
00666     {17505,  -5753},
00667     {17492,  -5795},
00668     {17478,  -5837},
00669     {17464,  -5879},
00670     {17450,  -5921},
00671     {17435,  -5963},
00672     {17421,  -6005},
00673     {17406,  -6046},
00674     {17392,  -6088},
00675     {17377,  -6130},
00676     {17363,  -6172},
00677     {17348,  -6213},
00678     {17333,  -6254},
00679     {17318,  -6296},
00680     {17303,  -6338},
00681     {17288,  -6379},
00682     {17272,  -6420},
00683     {17257,  -6462},
00684     {17241,  -6503},
00685     {17225,  -6545},
00686     {17210,  -6586},
00687     {17194,  -6627},
00688     {17178,  -6668},
00689     {17162,  -6709},
00690     {17145,  -6750},
00691     {17130,  -6791},
00692     {17113,  -6832},
00693     {17097,  -6874},
00694     {17080,  -6915},
00695     {17064,  -6956},
00696     {17047,  -6996},
00697     {17030,  -7037},
00698     {17013,  -7078},
00699     {16996,  -7119},
00700     {16979,  -7159},
00701     {16962,  -7200},
00702     {16945,  -7241},
00703     {16927,  -7281},
00704     {16910,  -7322},
00705     {16892,  -7362},
00706     {16874,  -7403},
00707     {16856,  -7444},
00708     {16838,  -7484},
00709     {16821,  -7524},
00710     {16802,  -7564},
00711     {16784,  -7605},
00712     {16766,  -7645},
00713     {16748,  -7685},
00714     {16729,  -7725},
00715     {16711,  -7765},
00716     {16692,  -7805},
00717     {16674,  -7845},
00718     {16654,  -7885},
00719     {16635,  -7925},
00720     {16616,  -7964},
00721     {16597,  -8004},
00722     {16578,  -8044},
00723     {16559,  -8084},
00724     {16539,  -8124},
00725     {16520,  -8164},
00726     {16500,  -8203},
00727     {16480,  -8242},
00728     {16461,  -8282},
00729     {16441,  -8322},
00730     {16421,  -8361},
00731     {16401,  -8400},
00732     {16380,  -8440},
00733     {16360,  -8479},
00734     {16340,  -8518},
00735     {16319,  -8557},
00736     {16299,  -8597},
00737     {16278,  -8635},
00738     {16257,  -8674},
00739     {16237,  -8713},
00740     {16215,  -8752},
00741     {16195,  -8791},
00742     {16173,  -8829},
00743     {16152,  -8868},
00744     {16131,  -8907},
00745     {16110,  -8946},
00746     {16088,  -8985},
00747     {16067,  -9023},
00748     {16045,  -9061},
00749     {16023,  -9100},
00750     {16001,  -9138},
00751     {15979,  -9176},
00752     {15957,  -9215},
00753     {15935,  -9253},
00754     {15913,  -9291},
00755     {15891,  -9329},
00756     {15868,  -9367},
00757     {15846,  -9405},
00758     {15823,  -9443},
00759     {15800,  -9481},
00760     {15778,  -9519},
00761     {15755,  -9557},
00762     {15732,  -9595},
00763     {15709,  -9632},
00764     {15686,  -9670},
00765     {15662,  -9708},
00766     {15639,  -9745},
00767     {15615,  -9782},
00768     {15592,  -9820},
00769     {15569,  -9857},
00770     {15544,  -9894},
00771     {15521,  -9932},
00772     {15497,  -9969},
00773     {15473, -10006},
00774     {15449, -10043},
00775     {15425, -10080},
00776     {15401, -10117},
00777     {15377, -10154},
00778     {15352, -10191},
00779     {15327, -10227},
00780     {15303, -10264},
00781     {15278, -10301},
00782     {15254, -10337},
00783     {15229, -10374},
00784     {15204, -10411},
00785     {15180, -10447},
00786     {15154, -10483},
00787     {15129, -10519},
00788     {15104, -10556},
00789     {15078, -10592},
00790     {15053, -10628},
00791     {15027, -10664},
00792     {15002, -10700},
00793     {14976, -10736},
00794     {14950, -10772},
00795     {14924, -10808},
00796     {14898, -10844},
00797     {14872, -10879},
00798     {14846, -10915},
00799     {14820, -10950},
00800     {14794, -10985},
00801     {14767, -11021},
00802     {14741, -11056},
00803     {14714, -11092},
00804     {14687, -11127},
00805     {14661, -11162},
00806     {14635, -11197},
00807     {14607, -11232},
00808     {14581, -11267},
00809     {14554, -11302},
00810     {14526, -11337},
00811     {14499, -11372},
00812     {14472, -11407},
00813     {14444, -11441},
00814     {14417, -11476},
00815     {14389, -11511},
00816     {14362, -11545},
00817     {14334, -11579},
00818     {14306, -11614},
00819     {14278, -11648},
00820     {14251, -11682},
00821     {14222, -11716},
00822     {14194, -11750},
00823     {14166, -11784},
00824     {14137, -11818},
00825     {14109, -11852},
00826     {14081, -11886},
00827     {14053, -11919},
00828     {14023, -11953},
00829     {13995, -11987},
00830     {13966, -12020},
00831     {13937, -12054},
00832     {13909, -12087},
00833     {13879, -12120},
00834     {13851, -12153},
00835     {13821, -12187},
00836     {13792, -12220},
00837     {13763, -12253},
00838     {13733, -12286},
00839     {13704, -12319},
00840     {13674, -12351},
00841     {13645, -12385},
00842     {13615, -12417},
00843     {13585, -12450},
00844     {13555, -12482},
00845     {13525, -12514},
00846     {13495, -12546},
00847     {13465, -12579},
00848     {13435, -12611},
00849     {13405, -12644},
00850     {13374, -12676},
00851     {13345, -12708},
00852     {13314, -12739},
00853     {13283, -12772}
00854 };
00855 
00856 static const cos_msin_t *s_cos_msin_table[] =
00857 {
00858     s_cos_msin_2,
00859     s_cos_msin_4,
00860     s_cos_msin_8,
00861     s_cos_msin_16,
00862     s_cos_msin_32,
00863     s_cos_msin_64
00864 };
00865 
00866 /*- End of file ------------------------------------------------------------*/

Generated on 29 Mar 2018 for libg722_1 by  doxygen 1.6.1