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 #include "common/bt_target.h"
26 #include "sbc_encoder.h"
27 
28 #if (defined(SBC_ENC_INCLUDED) && SBC_ENC_INCLUDED == TRUE)
29 
30 /*DCT coeff for 4 sub-band case.*/
31 #if (SBC_FAST_DCT == FALSE)
32 const SINT16 gas16AnalDCTcoeff4[] = {
33     (SINT16)(0.7071 * 32768),
34     (SINT16)(0.9239 * 32768),
35     (SINT16)(1.0000 * 32767),
36     (SINT16)(0.9239 * 32768),
37     (SINT16)(0.7071 * 32768),
38     (SINT16)(0.3827 * 32768),
39     (SINT16)(0.0000 * 32768),
40     (SINT16)(-0.3827 * 32768),
41 
42     (SINT16)(-0.7071 * 32768),
43     (SINT16)(0.3827 * 32768),
44     (SINT16)(1.0000 * 32767),
45     (SINT16)(0.3827 * 32768),
46     (SINT16)(-0.7071 * 32768),
47     (SINT16)(-0.9239 * 32768),
48     (SINT16)(-0.0000 * 32768),
49     (SINT16)(0.9239 * 32768),
50 
51     (SINT16)(-0.7071 * 32768),
52     (SINT16)(-0.3827 * 32768),
53     (SINT16)(1.0000 * 32767),
54     (SINT16)(-0.3827 * 32768),
55     (SINT16)(-0.7071 * 32768),
56     (SINT16)(0.9239 * 32768),
57     (SINT16)(0.0000 * 32768),
58     (SINT16)(-0.9239 * 32768),
59 
60     (SINT16)(0.7071 * 32768),
61     (SINT16)(-0.9239 * 32768),
62     (SINT16)(1.0000 * 32767),
63     (SINT16)(-0.9239 * 32768),
64     (SINT16)(0.7071 * 32768),
65     (SINT16)(-0.3827 * 32768),
66     (SINT16)(-0.0000 * 32768),
67     (SINT16)(0.3827 * 32768)
68 };
69 
70 /*DCT coeff for 8 sub-band case.*/
71 const SINT16 gas16AnalDCTcoeff8[] = {
72     (SINT16)(0.7071 * 32768),
73     (SINT16)(0.8315 * 32768),
74     (SINT16)(0.9239 * 32768),
75     (SINT16)(0.9808 * 32768),
76     (SINT16)(1.0000 * 32767),
77     (SINT16)(0.9808 * 32768),
78     (SINT16)(0.9239 * 32768),
79     (SINT16)(0.8315 * 32768),
80     (SINT16)(0.7071 * 32768),
81     (SINT16)(0.5556 * 32768),
82     (SINT16)(0.3827 * 32768),
83     (SINT16)(0.1951 * 32768),
84     (SINT16)(0.0000 * 32768),
85     (SINT16)(-0.1951 * 32768),
86     (SINT16)(-0.3827 * 32768),
87     (SINT16)(-0.5556 * 32768),
88     (SINT16)(-0.7071 * 32768),
89     (SINT16)(-0.1951 * 32768),
90     (SINT16)(0.3827 * 32768),
91     (SINT16)(0.8315 * 32768),
92     (SINT16)(1.0000 * 32767),
93     (SINT16)(0.8315 * 32768),
94     (SINT16)(0.3827 * 32768),
95     (SINT16)(-0.1951 * 32768),
96     (SINT16)(-0.7071 * 32768),
97     (SINT16)(-0.9808 * 32768),
98     (SINT16)(-0.9239 * 32768),
99     (SINT16)(-0.5556 * 32768),
100     (SINT16)(-0.0000 * 32768),
101     (SINT16)(0.5556 * 32768),
102     (SINT16)(0.9239 * 32768),
103     (SINT16)(0.9808 * 32768),
104     (SINT16)(-0.7071 * 32768),
105     (SINT16)(-0.9808 * 32768),
106     (SINT16)(-0.3827 * 32768),
107     (SINT16)(0.5556 * 32768),
108     (SINT16)(1.0000 * 32767),
109     (SINT16)(0.5556 * 32768),
110     (SINT16)(-0.3827 * 32768),
111     (SINT16)(-0.9808 * 32768),
112     (SINT16)(-0.7071 * 32768),
113     (SINT16)(0.1951 * 32768),
114     (SINT16)(0.9239 * 32768),
115     (SINT16)(0.8315 * 32768),
116     (SINT16)(0.0000 * 32768),
117     (SINT16)(-0.8315 * 32768),
118     (SINT16)(-0.9239 * 32768),
119     (SINT16)(-0.1951 * 32768),
120     (SINT16)(0.7071 * 32768),
121     (SINT16)(-0.5556 * 32768),
122     (SINT16)(-0.9239 * 32768),
123     (SINT16)(0.1951 * 32768),
124     (SINT16)(1.0000 * 32767),
125     (SINT16)(0.1951 * 32768),
126     (SINT16)(-0.9239 * 32768),
127     (SINT16)(-0.5556 * 32768),
128     (SINT16)(0.7071 * 32768),
129     (SINT16)(0.8315 * 32768),
130     (SINT16)(-0.3827 * 32768),
131     (SINT16)(-0.9808 * 32768),
132     (SINT16)(-0.0000 * 32768),
133     (SINT16)(0.9808 * 32768),
134     (SINT16)(0.3827 * 32768),
135     (SINT16)(-0.8315 * 32768),
136     (SINT16)(0.7071 * 32768),
137     (SINT16)(0.5556 * 32768),
138     (SINT16)(-0.9239 * 32768),
139     (SINT16)(-0.1951 * 32768),
140     (SINT16)(1.0000 * 32767),
141     (SINT16)(-0.1951 * 32768),
142     (SINT16)(-0.9239 * 32768),
143     (SINT16)(0.5556 * 32768),
144     (SINT16)(0.7071 * 32768),
145     (SINT16)(-0.8315 * 32768),
146     (SINT16)(-0.3827 * 32768),
147     (SINT16)(0.9808 * 32768),
148     (SINT16)(0.0000 * 32768),
149     (SINT16)(-0.9808 * 32768),
150     (SINT16)(0.3827 * 32768),
151     (SINT16)(0.8315 * 32768),
152     (SINT16)(-0.7071 * 32768),
153     (SINT16)(0.9808 * 32768),
154     (SINT16)(-0.3827 * 32768),
155     (SINT16)(-0.5556 * 32768),
156     (SINT16)(1.0000 * 32767),
157     (SINT16)(-0.5556 * 32768),
158     (SINT16)(-0.3827 * 32768),
159     (SINT16)(0.9808 * 32768),
160     (SINT16)(-0.7071 * 32768),
161     (SINT16)(-0.1951 * 32768),
162     (SINT16)(0.9239 * 32768),
163     (SINT16)(-0.8315 * 32768),
164     (SINT16)(-0.0000 * 32768),
165     (SINT16)(0.8315 * 32768),
166     (SINT16)(-0.9239 * 32768),
167     (SINT16)(0.1951 * 32768),
168     (SINT16)(-0.7071 * 32768),
169     (SINT16)(0.1951 * 32768),
170     (SINT16)(0.3827 * 32768),
171     (SINT16)(-0.8315 * 32768),
172     (SINT16)(1.0000 * 32767),
173     (SINT16)(-0.8315 * 32768),
174     (SINT16)(0.3827 * 32768),
175     (SINT16)(0.1951 * 32768),
176     (SINT16)(-0.7071 * 32768),
177     (SINT16)(0.9808 * 32768),
178     (SINT16)(-0.9239 * 32768),
179     (SINT16)(0.5556 * 32768),
180     (SINT16)(-0.0000 * 32768),
181     (SINT16)(-0.5556 * 32768),
182     (SINT16)(0.9239 * 32768),
183     (SINT16)(-0.9808 * 32768),
184     (SINT16)(0.7071 * 32768),
185     (SINT16)(-0.8315 * 32768),
186     (SINT16)(0.9239 * 32768),
187     (SINT16)(-0.9808 * 32768),
188     (SINT16)(1.0000 * 32767),
189     (SINT16)(-0.9808 * 32768),
190     (SINT16)(0.9239 * 32768),
191     (SINT16)(-0.8315 * 32768),
192     (SINT16)(0.7071 * 32768),
193     (SINT16)(-0.5556 * 32768),
194     (SINT16)(0.3827 * 32768),
195     (SINT16)(-0.1951 * 32768),
196     (SINT16)(-0.0000 * 32768),
197     (SINT16)(0.1951 * 32768),
198     (SINT16)(-0.3827 * 32768),
199     (SINT16)(0.5556 * 32768)
200 };
201 #endif
202 
203 #endif /* #if (defined(SBC_ENC_INCLUDED) && SBC_ENC_INCLUDED == TRUE) */
204