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