123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856 |
- /***********************************************************************
- **
- ** 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
- };
|