OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / frameworks / base / media / libstagefright / codecs / aacdec / mdct_tables_fxp.cpp
1 /* ------------------------------------------------------------------
2  * Copyright (C) 1998-2009 PacketVideo
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  * -------------------------------------------------------------------
17  */
18 /*
19
20  Pathname: mdct_tables_fxp.c
21  Funtions:
22
23 ------------------------------------------------------------------------------
24  REVISION HISTORY
25
26  Description:  Created from fft_rx2.c
27
28  Description:  Modified to include forward and inverse tables
29
30  Who:                       Date:
31  Description:
32
33   ------------------------------------------------------------------------------
34  MODULE DESCRIPTION
35
36     MDCT rotation tables fixpoint tables
37
38     For a table with N complex points:
39
40     cos_n + j*sin_n == exp(j(2pi/N)(n+1/8))
41
42 ------------------------------------------------------------------------------
43 */
44
45
46 /*----------------------------------------------------------------------------
47 ; INCLUDES
48 ----------------------------------------------------------------------------*/
49 #include "pv_audio_type_defs.h"
50
51 #ifdef __cplusplus
52 extern "C"
53 {
54 #endif
55
56     /*----------------------------------------------------------------------------
57     ; MACROS
58     ; Define module specific macros here
59     ----------------------------------------------------------------------------*/
60
61     /*----------------------------------------------------------------------------
62     ; DEFINES
63     ; Include all pre-processor statements here. Include conditional
64     ; compile variables also.
65     ----------------------------------------------------------------------------*/
66
67     /*----------------------------------------------------------------------------
68     ; LOCAL FUNCTION DEFINITIONS
69     ; Function Prototype declaration
70     ----------------------------------------------------------------------------*/
71
72     /*----------------------------------------------------------------------------
73     ; LOCAL VARIABLE DEFINITIONS
74     ; Variable declaration - defined here and used outside this module
75     ----------------------------------------------------------------------------*/
76
77
78     /*----------------------------------------------------------------------------
79     ; EXTERNAL FUNCTION REFERENCES
80     ; Declare functions defined elsewhere and referenced in this module
81     ----------------------------------------------------------------------------*/
82
83     /*----------------------------------------------------------------------------
84     ; EXTERNAL VARIABLES REFERENCES
85     ; Declare variables used in this module but defined elsewhere
86     ----------------------------------------------------------------------------*/
87
88
89
90
91     extern const Int32 exp_rotation_N_256[64] =
92     {
93
94         0x5A820047,  0x5A7A0280, 0x5A6304B8, 0x5A3E06EF,
95         0x5A0C0926,  0x59CB0B5B, 0x597D0D8E, 0x59210FBF,
96         0x58B711EE,  0x5840141A, 0x57BB1643, 0x57281868,
97         0x56881A8A,  0x55DB1CA8, 0x55201EC1, 0x545820D5,
98         0x538322E5,  0x52A224EF, 0x51B326F3, 0x50B828F1,
99         0x4FB12AE9,  0x4E9D2CDA, 0x4D7D2EC5, 0x4C5230A8,
100         0x4B1A3284,  0x49D73458, 0x48883624, 0x472F37E7,
101         0x45CA39A2,  0x445A3B54, 0x42E03CFD, 0x415C3E9C,
102         0x3FCE4032,  0x3E3541BE, 0x3C944340, 0x3AE844B7,
103         0x39344624,  0x37774786, 0x35B148DD, 0x33E44A29,
104         0x320E4B69,  0x30304C9E, 0x2E4B4DC6, 0x2C5F4EE3,
105         0x2A6C4FF4,  0x287250F8, 0x267251F0, 0x246D52DB,
106         0x226153BA,  0x2051548B, 0x1E3B5550, 0x1C215607,
107         0x1A0256B1,  0x17DF574E, 0x15B957DD, 0x138F585F,
108         0x116358D3,  0x0F335939, 0x0D015992, 0x0ACE59DD,
109         0x08985A1A,  0x06625A49, 0x042A5A6A, 0x01F25A7D
110     };
111
112
113
114
115
116
117     extern const Int32 exp_rotation_N_2048[512] =
118     {
119
120         0x5A820009,  0x5A820050, 0x5A820097, 0x5A8100DE,
121         0x5A810125,  0x5A80016C, 0x5A7E01B3, 0x5A7D01FA,
122         0x5A7B0242,  0x5A790289, 0x5A7702D0, 0x5A750317,
123         0x5A72035E,  0x5A7003A5, 0x5A6D03EC, 0x5A6A0433,
124         0x5A66047A,  0x5A6304C1, 0x5A5F0508, 0x5A5B054F,
125         0x5A560596,  0x5A5205DD, 0x5A4D0624, 0x5A48066A,
126         0x5A4306B1,  0x5A3E06F8, 0x5A38073F, 0x5A320786,
127         0x5A2C07CD,  0x5A260814, 0x5A20085A, 0x5A1908A1,
128         0x5A1208E8,  0x5A0B092F, 0x5A040975, 0x59FC09BC,
129         0x59F40A03,  0x59EC0A49, 0x59E40A90, 0x59DC0AD7,
130         0x59D30B1D,  0x59CA0B64, 0x59C10BAA, 0x59B80BF1,
131         0x59AE0C37,  0x59A50C7E, 0x599B0CC4, 0x59910D0A,
132         0x59860D51,  0x597C0D97, 0x59710DDD, 0x59660E23,
133         0x595B0E6A,  0x594F0EB0, 0x59440EF6, 0x59380F3C,
134         0x592C0F82,  0x59200FC8, 0x5913100E, 0x59061054,
135         0x58F9109A,  0x58EC10E0, 0x58DF1126, 0x58D1116B,
136         0x58C411B1,  0x58B611F7, 0x58A7123C, 0x58991282,
137         0x588A12C8,  0x587B130D, 0x586C1353, 0x585D1398,
138         0x584E13DD,  0x583E1423, 0x582E1468, 0x581E14AD,
139         0x580D14F2,  0x57FD1538, 0x57EC157D, 0x57DB15C2,
140         0x57CA1607,  0x57B9164C, 0x57A71690, 0x579516D5,
141         0x5783171A,  0x5771175F, 0x575E17A3, 0x574C17E8,
142         0x5739182C,  0x57261871, 0x571218B5, 0x56FF18FA,
143         0x56EB193E,  0x56D71982, 0x56C319C6, 0x56AF1A0A,
144         0x569A1A4F,  0x56851A93, 0x56701AD6, 0x565B1B1A,
145         0x56461B5E,  0x56301BA2, 0x561A1BE5, 0x56041C29,
146         0x55EE1C6D,  0x55D81CB0, 0x55C11CF3, 0x55AA1D37,
147         0x55931D7A,  0x557C1DBD, 0x55651E00, 0x554D1E43,
148         0x55351E86,  0x551D1EC9, 0x55051F0C, 0x54EC1F4F,
149         0x54D31F91,  0x54BB1FD4, 0x54A12016, 0x54882059,
150         0x546F209B,  0x545520DE, 0x543B2120, 0x54212162,
151         0x540721A4,  0x53EC21E6, 0x53D12228, 0x53B62269,
152         0x539B22AB,  0x538022ED, 0x5364232E, 0x53492370,
153         0x532D23B1,  0x531123F2, 0x52F42434, 0x52D82475,
154         0x52BB24B6,  0x529E24F7, 0x52812538, 0x52642578,
155         0x524625B9,  0x522825FA, 0x520B263A, 0x51EC267A,
156         0x51CE26BB,  0x51B026FB, 0x5191273B, 0x5172277B,
157         0x515327BB,  0x513427FB, 0x5114283A, 0x50F4287A,
158         0x50D428BA,  0x50B428F9, 0x50942938, 0x50742978,
159         0x505329B7,  0x503229F6, 0x50112A35, 0x4FF02A74,
160         0x4FCE2AB2,  0x4FAD2AF1, 0x4F8B2B2F, 0x4F692B6E,
161         0x4F472BAC,  0x4F242BEA, 0x4F022C29, 0x4EDF2C67,
162         0x4EBC2CA4,  0x4E992CE2, 0x4E752D20, 0x4E522D5D,
163         0x4E2E2D9B,  0x4E0A2DD8, 0x4DE62E15, 0x4DC22E53,
164         0x4D9D2E90,  0x4D792ECD, 0x4D542F09, 0x4D2F2F46,
165         0x4D0A2F83,  0x4CE42FBF, 0x4CBF2FFB, 0x4C993038,
166         0x4C733074,  0x4C4D30B0, 0x4C2630EC, 0x4C003127,
167         0x4BD93163,  0x4BB2319E, 0x4B8B31DA, 0x4B643215,
168         0x4B3D3250,  0x4B15328B, 0x4AED32C6, 0x4AC53301,
169         0x4A9D333C,  0x4A753376, 0x4A4C33B1, 0x4A2433EB,
170         0x49FB3425,  0x49D2345F, 0x49A83499, 0x497F34D3,
171         0x4955350C,  0x492C3546, 0x4902357F, 0x48D835B9,
172         0x48AD35F2,  0x4883362B, 0x48583664, 0x482E369C,
173         0x480336D5,  0x47D7370E, 0x47AC3746, 0x4781377E,
174         0x475537B6,  0x472937EE, 0x46FD3826, 0x46D1385E,
175         0x46A43895,  0x467838CD, 0x464B3904, 0x461E393B,
176         0x45F13972,  0x45C439A9, 0x459739E0, 0x45693A16,
177         0x453C3A4D,  0x450E3A83, 0x44E03AB9, 0x44B13AEF,
178         0x44833B25,  0x44553B5B, 0x44263B90, 0x43F73BC6,
179         0x43C83BFB,  0x43993C30, 0x43693C65, 0x433A3C9A,
180         0x430A3CCF,  0x42DA3D04, 0x42AA3D38, 0x427A3D6C,
181         0x424A3DA0,  0x42193DD4, 0x41E93E08, 0x41B83E3C,
182         0x41873E6F,  0x41563EA3, 0x41253ED6, 0x40F33F09,
183         0x40C23F3C,  0x40903F6F, 0x405E3FA1, 0x402C3FD4,
184         0x3FFA4006,  0x3FC74038, 0x3F95406A, 0x3F62409C,
185         0x3F2F40CE,  0x3EFC4100, 0x3EC94131, 0x3E964162,
186         0x3E634193,  0x3E2F41C4, 0x3DFB41F5, 0x3DC74226,
187         0x3D934256,  0x3D5F4286, 0x3D2B42B6, 0x3CF642E6,
188         0x3CC24316,  0x3C8D4346, 0x3C584375, 0x3C2343A5,
189         0x3BEE43D4,  0x3BB84403, 0x3B834432, 0x3B4D4460,
190         0x3B18448F,  0x3AE244BD, 0x3AAC44EB, 0x3A754519,
191         0x3A3F4547,  0x3A094575, 0x39D245A2, 0x399B45CF,
192         0x396445FD,  0x392D462A, 0x38F64656, 0x38BF4683,
193         0x388746B0,  0x385046DC, 0x38184708, 0x37E04734,
194         0x37A84760,  0x3770478B, 0x373847B7, 0x36FF47E2,
195         0x36C7480D,  0x368E4838, 0x36554863, 0x361D488E,
196         0x35E348B8,  0x35AA48E2, 0x3571490C, 0x35384936,
197         0x34FE4960,  0x34C44989, 0x348B49B3, 0x345149DC,
198         0x34164A05,  0x33DC4A2E, 0x33A24A56, 0x33684A7F,
199         0x332D4AA7,  0x32F24ACF, 0x32B74AF7, 0x327C4B1F,
200         0x32414B46,  0x32064B6E, 0x31CB4B95, 0x31904BBC,
201         0x31544BE3,  0x31184C0A, 0x30DD4C30, 0x30A14C56,
202         0x30654C7C,  0x30294CA2, 0x2FEC4CC8, 0x2FB04CEE,
203         0x2F734D13,  0x2F374D38, 0x2EFA4D5D, 0x2EBD4D82,
204         0x2E804DA7,  0x2E434DCB, 0x2E064DEF, 0x2DC94E13,
205         0x2D8C4E37,  0x2D4E4E5B, 0x2D104E7E, 0x2CD34EA2,
206         0x2C954EC5,  0x2C574EE8, 0x2C194F0A, 0x2BDB4F2D,
207         0x2B9D4F4F,  0x2B5E4F71, 0x2B204F93, 0x2AE14FB5,
208         0x2AA34FD7,  0x2A644FF8, 0x2A255019, 0x29E6503A,
209         0x29A7505B,  0x2968507C, 0x2929509C, 0x28E950BC,
210         0x28AA50DC,  0x286A50FC, 0x282B511C, 0x27EB513B,
211         0x27AB515B,  0x276B517A, 0x272B5199, 0x26EB51B7,
212         0x26AB51D6,  0x266A51F4, 0x262A5212, 0x25E95230,
213         0x25A9524E,  0x2568526B, 0x25275288, 0x24E652A5,
214         0x24A652C2,  0x246452DF, 0x242352FB, 0x23E25318,
215         0x23A15334,  0x235F5350, 0x231E536B, 0x22DC5387,
216         0x229B53A2,  0x225953BD, 0x221753D8, 0x21D553F3,
217         0x2193540D,  0x21515427, 0x210F5442, 0x20CD545B,
218         0x208B5475,  0x2048548F, 0x200654A8, 0x1FC354C1,
219         0x1F8154DA,  0x1F3E54F2, 0x1EFB550B, 0x1EB85523,
220         0x1E76553B,  0x1E335553, 0x1DF0556A, 0x1DAC5582,
221         0x1D695599,  0x1D2655B0, 0x1CE355C7, 0x1C9F55DD,
222         0x1C5C55F4,  0x1C18560A, 0x1BD55620, 0x1B915636,
223         0x1B4D564B,  0x1B095661, 0x1AC55676, 0x1A82568B,
224         0x1A3E569F,  0x19F956B4, 0x19B556C8, 0x197156DC,
225         0x192D56F0,  0x18E95704, 0x18A45717, 0x1860572A,
226         0x181B573E,  0x17D75750, 0x17925763, 0x174D5775,
227         0x17095788,  0x16C4579A, 0x167F57AB, 0x163A57BD,
228         0x15F557CE,  0x15B057DF, 0x156B57F0, 0x15265801,
229         0x14E15812,  0x149C5822, 0x14575832, 0x14115842,
230         0x13CC5851,  0x13875861, 0x13415870, 0x12FC587F,
231         0x12B6588E,  0x1271589D, 0x122B58AB, 0x11E558B9,
232         0x11A058C7,  0x115A58D5, 0x111458E2, 0x10CE58F0,
233         0x108858FD,  0x1042590A, 0x0FFD5916, 0x0FB75923,
234         0x0F71592F,  0x0F2A593B, 0x0EE45947, 0x0E9E5952,
235         0x0E58595E,  0x0E125969, 0x0DCC5974, 0x0D85597E,
236         0x0D3F5989,  0x0CF95993, 0x0CB2599D, 0x0C6C59A7,
237         0x0C2559B1,  0x0BDF59BA, 0x0B9959C4, 0x0B5259CD,
238         0x0B0B59D5,  0x0AC559DE, 0x0A7E59E6, 0x0A3859EE,
239         0x09F159F6,  0x09AA59FE, 0x09645A05, 0x091D5A0D,
240         0x08D65A14,  0x08905A1B, 0x08495A21, 0x08025A28,
241         0x07BB5A2E,  0x07745A34, 0x072D5A3A, 0x06E75A3F,
242         0x06A05A44,  0x06595A49, 0x06125A4E, 0x05CB5A53,
243         0x05845A57,  0x053D5A5C, 0x04F65A60, 0x04AF5A63,
244         0x04685A67,  0x04215A6A, 0x03DA5A6D, 0x03935A70,
245         0x034C5A73,  0x03055A76, 0x02BE5A78, 0x02775A7A,
246         0x02305A7C,  0x01E95A7D, 0x01A25A7F, 0x015B5A80,
247         0x01135A81,  0x00CC5A82, 0x00855A82, 0x003E5A82
248     };
249
250
251 #ifdef __cplusplus
252 }
253 #endif