lookup_data.h (9150B)
1 /******************************************************************** 2 * * 3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 * * 8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 9 * by the XIPHOPHORUS Company http://www.xiph.org/ * 10 * * 11 ******************************************************************** 12 13 function: lookup data; generated by lookups.pl; edit there 14 last mod: $Id: lookup_data.h 1919 2005-07-24 14:18:04Z baford $ 15 16 ********************************************************************/ 17 18 #ifndef _V_LOOKUP_DATA_H_ 19 20 #ifdef FLOAT_LOOKUP 21 #define COS_LOOKUP_SZ 128 22 static float COS_LOOKUP[COS_LOOKUP_SZ+1]={ 23 +1.0000000000000f,+0.9996988186962f,+0.9987954562052f,+0.9972904566787f, 24 +0.9951847266722f,+0.9924795345987f,+0.9891765099648f,+0.9852776423889f, 25 +0.9807852804032f,+0.9757021300385f,+0.9700312531945f,+0.9637760657954f, 26 +0.9569403357322f,+0.9495281805930f,+0.9415440651830f,+0.9329927988347f, 27 +0.9238795325113f,+0.9142097557035f,+0.9039892931234f,+0.8932243011955f, 28 +0.8819212643484f,+0.8700869911087f,+0.8577286100003f,+0.8448535652497f, 29 +0.8314696123025f,+0.8175848131516f,+0.8032075314806f,+0.7883464276266f, 30 +0.7730104533627f,+0.7572088465065f,+0.7409511253550f,+0.7242470829515f, 31 +0.7071067811865f,+0.6895405447371f,+0.6715589548470f,+0.6531728429538f, 32 +0.6343932841636f,+0.6152315905806f,+0.5956993044924f,+0.5758081914178f, 33 +0.5555702330196f,+0.5349976198871f,+0.5141027441932f,+0.4928981922298f, 34 +0.4713967368260f,+0.4496113296546f,+0.4275550934303f,+0.4052413140050f, 35 +0.3826834323651f,+0.3598950365350f,+0.3368898533922f,+0.3136817403989f, 36 +0.2902846772545f,+0.2667127574749f,+0.2429801799033f,+0.2191012401569f, 37 +0.1950903220161f,+0.1709618887603f,+0.1467304744554f,+0.1224106751992f, 38 +0.0980171403296f,+0.0735645635997f,+0.0490676743274f,+0.0245412285229f, 39 +0.0000000000000f,-0.0245412285229f,-0.0490676743274f,-0.0735645635997f, 40 -0.0980171403296f,-0.1224106751992f,-0.1467304744554f,-0.1709618887603f, 41 -0.1950903220161f,-0.2191012401569f,-0.2429801799033f,-0.2667127574749f, 42 -0.2902846772545f,-0.3136817403989f,-0.3368898533922f,-0.3598950365350f, 43 -0.3826834323651f,-0.4052413140050f,-0.4275550934303f,-0.4496113296546f, 44 -0.4713967368260f,-0.4928981922298f,-0.5141027441932f,-0.5349976198871f, 45 -0.5555702330196f,-0.5758081914178f,-0.5956993044924f,-0.6152315905806f, 46 -0.6343932841636f,-0.6531728429538f,-0.6715589548470f,-0.6895405447371f, 47 -0.7071067811865f,-0.7242470829515f,-0.7409511253550f,-0.7572088465065f, 48 -0.7730104533627f,-0.7883464276266f,-0.8032075314806f,-0.8175848131516f, 49 -0.8314696123025f,-0.8448535652497f,-0.8577286100003f,-0.8700869911087f, 50 -0.8819212643484f,-0.8932243011955f,-0.9039892931234f,-0.9142097557035f, 51 -0.9238795325113f,-0.9329927988347f,-0.9415440651830f,-0.9495281805930f, 52 -0.9569403357322f,-0.9637760657954f,-0.9700312531945f,-0.9757021300385f, 53 -0.9807852804032f,-0.9852776423889f,-0.9891765099648f,-0.9924795345987f, 54 -0.9951847266722f,-0.9972904566787f,-0.9987954562052f,-0.9996988186962f, 55 -1.0000000000000f, 56 }; 57 58 #define INVSQ_LOOKUP_SZ 32 59 static float INVSQ_LOOKUP[INVSQ_LOOKUP_SZ+1]={ 60 1.414213562373f,1.392621247646f,1.371988681140f,1.352246807566f, 61 1.333333333333f,1.315191898443f,1.297771369046f,1.281025230441f, 62 1.264911064067f,1.249390095109f,1.234426799697f,1.219988562661f, 63 1.206045378311f,1.192569588000f,1.179535649239f,1.166919931983f, 64 1.154700538379f,1.142857142857f,1.131370849898f,1.120224067222f, 65 1.109400392450f,1.098884511590f,1.088662107904f,1.078719779941f, 66 1.069044967650f,1.059625885652f,1.050451462878f,1.041511287847f, 67 1.032795558989f,1.024295039463f,1.016001016002f,1.007905261358f, 68 1.000000000000f, 69 }; 70 71 #define INVSQ2EXP_LOOKUP_MIN (-32) 72 #define INVSQ2EXP_LOOKUP_MAX 32 73 static float INVSQ2EXP_LOOKUP[INVSQ2EXP_LOOKUP_MAX-\ 74 INVSQ2EXP_LOOKUP_MIN+1]={ 75 65536.f, 46340.95001f, 32768.f, 23170.47501f, 76 16384.f, 11585.2375f, 8192.f, 5792.618751f, 77 4096.f, 2896.309376f, 2048.f, 1448.154688f, 78 1024.f, 724.0773439f, 512.f, 362.038672f, 79 256.f, 181.019336f, 128.f, 90.50966799f, 80 64.f, 45.254834f, 32.f, 22.627417f, 81 16.f, 11.3137085f, 8.f, 5.656854249f, 82 4.f, 2.828427125f, 2.f, 1.414213562f, 83 1.f, 0.7071067812f, 0.5f, 0.3535533906f, 84 0.25f, 0.1767766953f, 0.125f, 0.08838834765f, 85 0.0625f, 0.04419417382f, 0.03125f, 0.02209708691f, 86 0.015625f, 0.01104854346f, 0.0078125f, 0.005524271728f, 87 0.00390625f, 0.002762135864f, 0.001953125f, 0.001381067932f, 88 0.0009765625f, 0.000690533966f, 0.00048828125f, 0.000345266983f, 89 0.000244140625f,0.0001726334915f,0.0001220703125f,8.631674575e-05f, 90 6.103515625e-05f,4.315837288e-05f,3.051757812e-05f,2.157918644e-05f, 91 1.525878906e-05f, 92 }; 93 94 #endif 95 96 #define FROMdB_LOOKUP_SZ 35 97 #define FROMdB2_LOOKUP_SZ 32 98 #define FROMdB_SHIFT 5 99 #define FROMdB2_SHIFT 3 100 #define FROMdB2_MASK 31 101 static float FROMdB_LOOKUP[FROMdB_LOOKUP_SZ]={ 102 1.f, 0.6309573445f, 0.3981071706f, 0.2511886432f, 103 0.1584893192f, 0.1f, 0.06309573445f, 0.03981071706f, 104 0.02511886432f, 0.01584893192f, 0.01f, 0.006309573445f, 105 0.003981071706f, 0.002511886432f, 0.001584893192f, 0.001f, 106 0.0006309573445f,0.0003981071706f,0.0002511886432f,0.0001584893192f, 107 0.0001f,6.309573445e-05f,3.981071706e-05f,2.511886432e-05f, 108 1.584893192e-05f, 1e-05f,6.309573445e-06f,3.981071706e-06f, 109 2.511886432e-06f,1.584893192e-06f, 1e-06f,6.309573445e-07f, 110 3.981071706e-07f,2.511886432e-07f,1.584893192e-07f, 111 }; 112 113 static float FROMdB2_LOOKUP[FROMdB2_LOOKUP_SZ]={ 114 0.9928302478f, 0.9786445908f, 0.9646616199f, 0.9508784391f, 115 0.9372921937f, 0.92390007f, 0.9106992942f, 0.8976871324f, 116 0.8848608897f, 0.8722179097f, 0.8597555737f, 0.8474713009f, 117 0.835362547f, 0.8234268041f, 0.8116616003f, 0.8000644989f, 118 0.7886330981f, 0.7773650302f, 0.7662579617f, 0.755309592f, 119 0.7445176537f, 0.7338799116f, 0.7233941627f, 0.7130582353f, 120 0.7028699885f, 0.6928273125f, 0.6829281272f, 0.6731703824f, 121 0.6635520573f, 0.6540711597f, 0.6447257262f, 0.6355138211f, 122 }; 123 124 #ifdef INT_LOOKUP 125 126 #define INVSQ_LOOKUP_I_SHIFT 10 127 #define INVSQ_LOOKUP_I_MASK 1023 128 static long INVSQ_LOOKUP_I[64+1]={ 129 92682l, 91966l, 91267l, 90583l, 130 89915l, 89261l, 88621l, 87995l, 131 87381l, 86781l, 86192l, 85616l, 132 85051l, 84497l, 83953l, 83420l, 133 82897l, 82384l, 81880l, 81385l, 134 80899l, 80422l, 79953l, 79492l, 135 79039l, 78594l, 78156l, 77726l, 136 77302l, 76885l, 76475l, 76072l, 137 75674l, 75283l, 74898l, 74519l, 138 74146l, 73778l, 73415l, 73058l, 139 72706l, 72359l, 72016l, 71679l, 140 71347l, 71019l, 70695l, 70376l, 141 70061l, 69750l, 69444l, 69141l, 142 68842l, 68548l, 68256l, 67969l, 143 67685l, 67405l, 67128l, 66855l, 144 66585l, 66318l, 66054l, 65794l, 145 65536l, 146 }; 147 148 #define COS_LOOKUP_I_SHIFT 9 149 #define COS_LOOKUP_I_MASK 511 150 #define COS_LOOKUP_I_SZ 128 151 static long COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={ 152 16384l, 16379l, 16364l, 16340l, 153 16305l, 16261l, 16207l, 16143l, 154 16069l, 15986l, 15893l, 15791l, 155 15679l, 15557l, 15426l, 15286l, 156 15137l, 14978l, 14811l, 14635l, 157 14449l, 14256l, 14053l, 13842l, 158 13623l, 13395l, 13160l, 12916l, 159 12665l, 12406l, 12140l, 11866l, 160 11585l, 11297l, 11003l, 10702l, 161 10394l, 10080l, 9760l, 9434l, 162 9102l, 8765l, 8423l, 8076l, 163 7723l, 7366l, 7005l, 6639l, 164 6270l, 5897l, 5520l, 5139l, 165 4756l, 4370l, 3981l, 3590l, 166 3196l, 2801l, 2404l, 2006l, 167 1606l, 1205l, 804l, 402l, 168 0l, -401l, -803l, -1204l, 169 -1605l, -2005l, -2403l, -2800l, 170 -3195l, -3589l, -3980l, -4369l, 171 -4755l, -5138l, -5519l, -5896l, 172 -6269l, -6638l, -7004l, -7365l, 173 -7722l, -8075l, -8422l, -8764l, 174 -9101l, -9433l, -9759l, -10079l, 175 -10393l, -10701l, -11002l, -11296l, 176 -11584l, -11865l, -12139l, -12405l, 177 -12664l, -12915l, -13159l, -13394l, 178 -13622l, -13841l, -14052l, -14255l, 179 -14448l, -14634l, -14810l, -14977l, 180 -15136l, -15285l, -15425l, -15556l, 181 -15678l, -15790l, -15892l, -15985l, 182 -16068l, -16142l, -16206l, -16260l, 183 -16304l, -16339l, -16363l, -16378l, 184 -16383l, 185 }; 186 187 #endif 188 189 #endif