1 /******************************************************************************
2  *
3  *  Copyright (C) 1999-2012 Broadcom Corporation
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at:
8  *
9  *  http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  ******************************************************************************/
18 
19 /******************************************************************************
20  *
21  *  This file contains the coefficient table used for DCT computation in
22  *  analysis.
23  *
24  ******************************************************************************/
25 
26 #include "sbc_encoder.h"
27 /*DCT coeff for 4 sub-band case.*/
28 #if (SBC_FAST_DCT == FALSE)
29 const SINT16 gas16AnalDCTcoeff4[] =
30 {
31 	(SINT16)(0.7071*32768),
32 	(SINT16)(0.9239*32768),
33 	(SINT16)(1.0000*32767),
34 	(SINT16)(0.9239*32768),
35 	(SINT16)(0.7071*32768),
36 	(SINT16)(0.3827*32768),
37 	(SINT16)(0.0000*32768),
38 	(SINT16)(-0.3827*32768),
39 
40 	(SINT16)(-0.7071*32768),
41 	(SINT16)(0.3827*32768),
42 	(SINT16)(1.0000*32767),
43 	(SINT16)(0.3827*32768),
44 	(SINT16)(-0.7071*32768),
45 	(SINT16)(-0.9239*32768),
46 	(SINT16)(-0.0000*32768),
47 	(SINT16)(0.9239*32768),
48 
49 	(SINT16)(-0.7071*32768),
50 	(SINT16)(-0.3827*32768),
51 	(SINT16)(1.0000*32767),
52 	(SINT16)(-0.3827*32768),
53 	(SINT16)(-0.7071*32768),
54 	(SINT16)(0.9239*32768),
55 	(SINT16)(0.0000*32768),
56 	(SINT16)(-0.9239*32768),
57 
58 	(SINT16)(0.7071*32768),
59 	(SINT16)(-0.9239*32768),
60 	(SINT16)(1.0000*32767),
61 	(SINT16)(-0.9239*32768),
62 	(SINT16)(0.7071*32768),
63 	(SINT16)(-0.3827*32768),
64 	(SINT16)(-0.0000*32768),
65 	(SINT16)(0.3827*32768)
66 };
67 
68 /*DCT coeff for 8 sub-band case.*/
69 const SINT16 gas16AnalDCTcoeff8[] =
70 {
71 	(SINT16)(0.7071*32768),
72 	(SINT16)(0.8315*32768),
73 	(SINT16)(0.9239*32768),
74 	(SINT16)(0.9808*32768),
75 	(SINT16)(1.0000*32767),
76 	(SINT16)(0.9808*32768),
77 	(SINT16)(0.9239*32768),
78 	(SINT16)(0.8315*32768),
79 	(SINT16)(0.7071*32768),
80 	(SINT16)(0.5556*32768),
81 	(SINT16)(0.3827*32768),
82 	(SINT16)(0.1951*32768),
83 	(SINT16)(0.0000*32768),
84 	(SINT16)(-0.1951*32768),
85 	(SINT16)(-0.3827*32768),
86 	(SINT16)(-0.5556*32768),
87 	(SINT16)(-0.7071*32768),
88 	(SINT16)(-0.1951*32768),
89 	(SINT16)(0.3827*32768),
90 	(SINT16)(0.8315*32768),
91 	(SINT16)(1.0000*32767),
92 	(SINT16)(0.8315*32768),
93 	(SINT16)(0.3827*32768),
94 	(SINT16)(-0.1951*32768),
95 	(SINT16)(-0.7071*32768),
96 	(SINT16)(-0.9808*32768),
97 	(SINT16)(-0.9239*32768),
98 	(SINT16)(-0.5556*32768),
99 	(SINT16)(-0.0000*32768),
100 	(SINT16)(0.5556*32768),
101 	(SINT16)(0.9239*32768),
102 	(SINT16)(0.9808*32768),
103 	(SINT16)(-0.7071*32768),
104 	(SINT16)(-0.9808*32768),
105 	(SINT16)(-0.3827*32768),
106 	(SINT16)(0.5556*32768),
107 	(SINT16)(1.0000*32767),
108 	(SINT16)(0.5556*32768),
109 	(SINT16)(-0.3827*32768),
110 	(SINT16)(-0.9808*32768),
111 	(SINT16)(-0.7071*32768),
112 	(SINT16)(0.1951*32768),
113 	(SINT16)(0.9239*32768),
114 	(SINT16)(0.8315*32768),
115 	(SINT16)(0.0000*32768),
116 	(SINT16)(-0.8315*32768),
117 	(SINT16)(-0.9239*32768),
118 	(SINT16)(-0.1951*32768),
119 	(SINT16)(0.7071*32768),
120 	(SINT16)(-0.5556*32768),
121 	(SINT16)(-0.9239*32768),
122 	(SINT16)(0.1951*32768),
123 	(SINT16)(1.0000*32767),
124 	(SINT16)(0.1951*32768),
125 	(SINT16)(-0.9239*32768),
126 	(SINT16)(-0.5556*32768),
127 	(SINT16)(0.7071*32768),
128 	(SINT16)(0.8315*32768),
129 	(SINT16)(-0.3827*32768),
130 	(SINT16)(-0.9808*32768),
131 	(SINT16)(-0.0000*32768),
132 	(SINT16)(0.9808*32768),
133 	(SINT16)(0.3827*32768),
134 	(SINT16)(-0.8315*32768),
135 	(SINT16)(0.7071*32768),
136 	(SINT16)(0.5556*32768),
137 	(SINT16)(-0.9239*32768),
138 	(SINT16)(-0.1951*32768),
139 	(SINT16)(1.0000*32767),
140 	(SINT16)(-0.1951*32768),
141 	(SINT16)(-0.9239*32768),
142 	(SINT16)(0.5556*32768),
143 	(SINT16)(0.7071*32768),
144 	(SINT16)(-0.8315*32768),
145 	(SINT16)(-0.3827*32768),
146 	(SINT16)(0.9808*32768),
147 	(SINT16)(0.0000*32768),
148 	(SINT16)(-0.9808*32768),
149 	(SINT16)(0.3827*32768),
150 	(SINT16)(0.8315*32768),
151 	(SINT16)(-0.7071*32768),
152 	(SINT16)(0.9808*32768),
153 	(SINT16)(-0.3827*32768),
154 	(SINT16)(-0.5556*32768),
155 	(SINT16)(1.0000*32767),
156 	(SINT16)(-0.5556*32768),
157 	(SINT16)(-0.3827*32768),
158 	(SINT16)(0.9808*32768),
159 	(SINT16)(-0.7071*32768),
160 	(SINT16)(-0.1951*32768),
161 	(SINT16)(0.9239*32768),
162 	(SINT16)(-0.8315*32768),
163 	(SINT16)(-0.0000*32768),
164 	(SINT16)(0.8315*32768),
165 	(SINT16)(-0.9239*32768),
166 	(SINT16)(0.1951*32768),
167 	(SINT16)(-0.7071*32768),
168 	(SINT16)(0.1951*32768),
169 	(SINT16)(0.3827*32768),
170 	(SINT16)(-0.8315*32768),
171 	(SINT16)(1.0000*32767),
172 	(SINT16)(-0.8315*32768),
173 	(SINT16)(0.3827*32768),
174 	(SINT16)(0.1951*32768),
175 	(SINT16)(-0.7071*32768),
176 	(SINT16)(0.9808*32768),
177 	(SINT16)(-0.9239*32768),
178 	(SINT16)(0.5556*32768),
179 	(SINT16)(-0.0000*32768),
180 	(SINT16)(-0.5556*32768),
181 	(SINT16)(0.9239*32768),
182 	(SINT16)(-0.9808*32768),
183 	(SINT16)(0.7071*32768),
184 	(SINT16)(-0.8315*32768),
185 	(SINT16)(0.9239*32768),
186 	(SINT16)(-0.9808*32768),
187 	(SINT16)(1.0000*32767),
188 	(SINT16)(-0.9808*32768),
189 	(SINT16)(0.9239*32768),
190 	(SINT16)(-0.8315*32768),
191 	(SINT16)(0.7071*32768),
192 	(SINT16)(-0.5556*32768),
193 	(SINT16)(0.3827*32768),
194 	(SINT16)(-0.1951*32768),
195 	(SINT16)(-0.0000*32768),
196 	(SINT16)(0.1951*32768),
197 	(SINT16)(-0.3827*32768),
198 	(SINT16)(0.5556*32768)
199 };
200 #endif
201