xref: /aosp_15_r20/external/tremolo/Tremolo/lsp_lookup.h (revision bda690e46497e1f65c5077173b9c548e6e0cd5a1)
1*bda690e4SXin Li /************************************************************************
2*bda690e4SXin Li  * Copyright (C) 2002-2009, Xiph.org Foundation
3*bda690e4SXin Li  * Copyright (C) 2010, Robin Watts for Pinknoise Productions Ltd
4*bda690e4SXin Li  * All rights reserved.
5*bda690e4SXin Li  *
6*bda690e4SXin Li  * Redistribution and use in source and binary forms, with or without
7*bda690e4SXin Li  * modification, are permitted provided that the following conditions
8*bda690e4SXin Li  * are met:
9*bda690e4SXin Li  *
10*bda690e4SXin Li  *     * Redistributions of source code must retain the above copyright
11*bda690e4SXin Li  * notice, this list of conditions and the following disclaimer.
12*bda690e4SXin Li  *     * Redistributions in binary form must reproduce the above
13*bda690e4SXin Li  * copyright notice, this list of conditions and the following disclaimer
14*bda690e4SXin Li  * in the documentation and/or other materials provided with the
15*bda690e4SXin Li  * distribution.
16*bda690e4SXin Li  *     * Neither the names of the Xiph.org Foundation nor Pinknoise
17*bda690e4SXin Li  * Productions Ltd nor the names of its contributors may be used to
18*bda690e4SXin Li  * endorse or promote products derived from this software without
19*bda690e4SXin Li  * specific prior written permission.
20*bda690e4SXin Li  *
21*bda690e4SXin Li  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22*bda690e4SXin Li  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23*bda690e4SXin Li  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24*bda690e4SXin Li  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25*bda690e4SXin Li  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26*bda690e4SXin Li  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27*bda690e4SXin Li  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28*bda690e4SXin Li  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29*bda690e4SXin Li  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30*bda690e4SXin Li  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31*bda690e4SXin Li  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32*bda690e4SXin Li  ************************************************************************
33*bda690e4SXin Li 
34*bda690e4SXin Li   function: lookup data
35*bda690e4SXin Li 
36*bda690e4SXin Li  ************************************************************************/
37*bda690e4SXin Li 
38*bda690e4SXin Li #ifndef _V_LOOKUP_DATA_H_
39*bda690e4SXin Li #define _V_LOOKUP_DATA_H_
40*bda690e4SXin Li 
41*bda690e4SXin Li #include "os_types.h"
42*bda690e4SXin Li 
43*bda690e4SXin Li #define INVSQ_LOOKUP_I_SHIFT 10
44*bda690e4SXin Li #define INVSQ_LOOKUP_I_MASK 1023
45*bda690e4SXin Li static const long INVSQ_LOOKUP_I[64+1]={
46*bda690e4SXin Li 	   92682,   91966,   91267,   90583,
47*bda690e4SXin Li 	   89915,   89261,   88621,   87995,
48*bda690e4SXin Li 	   87381,   86781,   86192,   85616,
49*bda690e4SXin Li 	   85051,   84497,   83953,   83420,
50*bda690e4SXin Li 	   82897,   82384,   81880,   81385,
51*bda690e4SXin Li 	   80899,   80422,   79953,   79492,
52*bda690e4SXin Li 	   79039,   78594,   78156,   77726,
53*bda690e4SXin Li 	   77302,   76885,   76475,   76072,
54*bda690e4SXin Li 	   75674,   75283,   74898,   74519,
55*bda690e4SXin Li 	   74146,   73778,   73415,   73058,
56*bda690e4SXin Li 	   72706,   72359,   72016,   71679,
57*bda690e4SXin Li 	   71347,   71019,   70695,   70376,
58*bda690e4SXin Li 	   70061,   69750,   69444,   69141,
59*bda690e4SXin Li 	   68842,   68548,   68256,   67969,
60*bda690e4SXin Li 	   67685,   67405,   67128,   66855,
61*bda690e4SXin Li 	   66585,   66318,   66054,   65794,
62*bda690e4SXin Li 	   65536,
63*bda690e4SXin Li };
64*bda690e4SXin Li 
65*bda690e4SXin Li static const long INVSQ_LOOKUP_IDel[64]={
66*bda690e4SXin Li              716,     699,     684,     668,
67*bda690e4SXin Li              654,     640,     626,     614,
68*bda690e4SXin Li              600,     589,     576,     565,
69*bda690e4SXin Li              554,     544,     533,     523,
70*bda690e4SXin Li              513,     504,     495,     486,
71*bda690e4SXin Li              477,     469,     461,     453,
72*bda690e4SXin Li              445,     438,     430,     424,
73*bda690e4SXin Li              417,     410,     403,     398,
74*bda690e4SXin Li              391,     385,     379,     373,
75*bda690e4SXin Li              368,     363,     357,     352,
76*bda690e4SXin Li              347,     343,     337,     332,
77*bda690e4SXin Li              328,     324,     319,     315,
78*bda690e4SXin Li              311,     306,     303,     299,
79*bda690e4SXin Li              294,     292,     287,     284,
80*bda690e4SXin Li              280,     277,     273,     270,
81*bda690e4SXin Li              267,     264,     260,     258,
82*bda690e4SXin Li };
83*bda690e4SXin Li 
84*bda690e4SXin Li #define COS_LOOKUP_I_SHIFT 9
85*bda690e4SXin Li #define COS_LOOKUP_I_MASK 511
86*bda690e4SXin Li #define COS_LOOKUP_I_SZ 128
87*bda690e4SXin Li static const ogg_int32_t COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={
88*bda690e4SXin Li 	   16384,   16379,   16364,   16340,
89*bda690e4SXin Li 	   16305,   16261,   16207,   16143,
90*bda690e4SXin Li 	   16069,   15986,   15893,   15791,
91*bda690e4SXin Li 	   15679,   15557,   15426,   15286,
92*bda690e4SXin Li 	   15137,   14978,   14811,   14635,
93*bda690e4SXin Li 	   14449,   14256,   14053,   13842,
94*bda690e4SXin Li 	   13623,   13395,   13160,   12916,
95*bda690e4SXin Li 	   12665,   12406,   12140,   11866,
96*bda690e4SXin Li 	   11585,   11297,   11003,   10702,
97*bda690e4SXin Li 	   10394,   10080,    9760,    9434,
98*bda690e4SXin Li 	    9102,    8765,    8423,    8076,
99*bda690e4SXin Li 	    7723,    7366,    7005,    6639,
100*bda690e4SXin Li 	    6270,    5897,    5520,    5139,
101*bda690e4SXin Li 	    4756,    4370,    3981,    3590,
102*bda690e4SXin Li 	    3196,    2801,    2404,    2006,
103*bda690e4SXin Li 	    1606,    1205,     804,     402,
104*bda690e4SXin Li 	       0,    -401,    -803,   -1204,
105*bda690e4SXin Li 	   -1605,   -2005,   -2403,   -2800,
106*bda690e4SXin Li 	   -3195,   -3589,   -3980,   -4369,
107*bda690e4SXin Li 	   -4755,   -5138,   -5519,   -5896,
108*bda690e4SXin Li 	   -6269,   -6638,   -7004,   -7365,
109*bda690e4SXin Li 	   -7722,   -8075,   -8422,   -8764,
110*bda690e4SXin Li 	   -9101,   -9433,   -9759,  -10079,
111*bda690e4SXin Li 	  -10393,  -10701,  -11002,  -11296,
112*bda690e4SXin Li 	  -11584,  -11865,  -12139,  -12405,
113*bda690e4SXin Li 	  -12664,  -12915,  -13159,  -13394,
114*bda690e4SXin Li 	  -13622,  -13841,  -14052,  -14255,
115*bda690e4SXin Li 	  -14448,  -14634,  -14810,  -14977,
116*bda690e4SXin Li 	  -15136,  -15285,  -15425,  -15556,
117*bda690e4SXin Li 	  -15678,  -15790,  -15892,  -15985,
118*bda690e4SXin Li 	  -16068,  -16142,  -16206,  -16260,
119*bda690e4SXin Li 	  -16304,  -16339,  -16363,  -16378,
120*bda690e4SXin Li 	  -16383,
121*bda690e4SXin Li };
122*bda690e4SXin Li 
123*bda690e4SXin Li #endif
124*bda690e4SXin Li 
125*bda690e4SXin Li 
126*bda690e4SXin Li 
127*bda690e4SXin Li 
128*bda690e4SXin Li 
129