diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/libfaad/ic_predict.h | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/libfaad/ic_predict.h')
-rw-r--r-- | lib/rbcodec/codecs/libfaad/ic_predict.h | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libfaad/ic_predict.h b/lib/rbcodec/codecs/libfaad/ic_predict.h new file mode 100644 index 0000000000..1f2d2c657e --- /dev/null +++ b/lib/rbcodec/codecs/libfaad/ic_predict.h | |||
@@ -0,0 +1,249 @@ | |||
1 | /* | ||
2 | ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding | ||
3 | ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com | ||
4 | ** | ||
5 | ** This program is free software; you can redistribute it and/or modify | ||
6 | ** it under the terms of the GNU General Public License as published by | ||
7 | ** the Free Software Foundation; either version 2 of the License, or | ||
8 | ** (at your option) any later version. | ||
9 | ** | ||
10 | ** This program is distributed in the hope that it will be useful, | ||
11 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | ** GNU General Public License for more details. | ||
14 | ** | ||
15 | ** You should have received a copy of the GNU General Public License | ||
16 | ** along with this program; if not, write to the Free Software | ||
17 | ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
18 | ** | ||
19 | ** Any non-GPL usage of this software or parts of this software is strictly | ||
20 | ** forbidden. | ||
21 | ** | ||
22 | ** Commercial non-GPL licensing of this software is possible. | ||
23 | ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | ||
24 | ** | ||
25 | ** $Id$ | ||
26 | **/ | ||
27 | |||
28 | #ifdef MAIN_DEC | ||
29 | |||
30 | #ifndef __IC_PREDICT_H__ | ||
31 | #define __IC_PREDICT_H__ | ||
32 | |||
33 | #ifdef __cplusplus | ||
34 | extern "C" { | ||
35 | #endif | ||
36 | |||
37 | #define ALPHA REAL_CONST(0.90625) | ||
38 | #define A REAL_CONST(0.953125) | ||
39 | |||
40 | |||
41 | void pns_reset_pred_state(ic_stream *ics, pred_state *state); | ||
42 | void reset_all_predictors(pred_state *state, uint16_t frame_len); | ||
43 | void ic_prediction(ic_stream *ics, real_t *spec, pred_state *state, | ||
44 | uint16_t frame_len, uint8_t sf_index); | ||
45 | #warning MEM_ALIGN_ATTR me! | ||
46 | static const real_t mnt_table[128] = { | ||
47 | COEF_CONST(0.9531250000), COEF_CONST(0.9453125000), | ||
48 | COEF_CONST(0.9375000000), COEF_CONST(0.9296875000), | ||
49 | COEF_CONST(0.9257812500), COEF_CONST(0.9179687500), | ||
50 | COEF_CONST(0.9101562500), COEF_CONST(0.9023437500), | ||
51 | COEF_CONST(0.8984375000), COEF_CONST(0.8906250000), | ||
52 | COEF_CONST(0.8828125000), COEF_CONST(0.8789062500), | ||
53 | COEF_CONST(0.8710937500), COEF_CONST(0.8671875000), | ||
54 | COEF_CONST(0.8593750000), COEF_CONST(0.8515625000), | ||
55 | COEF_CONST(0.8476562500), COEF_CONST(0.8398437500), | ||
56 | COEF_CONST(0.8359375000), COEF_CONST(0.8281250000), | ||
57 | COEF_CONST(0.8242187500), COEF_CONST(0.8203125000), | ||
58 | COEF_CONST(0.8125000000), COEF_CONST(0.8085937500), | ||
59 | COEF_CONST(0.8007812500), COEF_CONST(0.7968750000), | ||
60 | COEF_CONST(0.7929687500), COEF_CONST(0.7851562500), | ||
61 | COEF_CONST(0.7812500000), COEF_CONST(0.7773437500), | ||
62 | COEF_CONST(0.7734375000), COEF_CONST(0.7656250000), | ||
63 | COEF_CONST(0.7617187500), COEF_CONST(0.7578125000), | ||
64 | COEF_CONST(0.7539062500), COEF_CONST(0.7500000000), | ||
65 | COEF_CONST(0.7421875000), COEF_CONST(0.7382812500), | ||
66 | COEF_CONST(0.7343750000), COEF_CONST(0.7304687500), | ||
67 | COEF_CONST(0.7265625000), COEF_CONST(0.7226562500), | ||
68 | COEF_CONST(0.7187500000), COEF_CONST(0.7148437500), | ||
69 | COEF_CONST(0.7109375000), COEF_CONST(0.7070312500), | ||
70 | COEF_CONST(0.6992187500), COEF_CONST(0.6953125000), | ||
71 | COEF_CONST(0.6914062500), COEF_CONST(0.6875000000), | ||
72 | COEF_CONST(0.6835937500), COEF_CONST(0.6796875000), | ||
73 | COEF_CONST(0.6796875000), COEF_CONST(0.6757812500), | ||
74 | COEF_CONST(0.6718750000), COEF_CONST(0.6679687500), | ||
75 | COEF_CONST(0.6640625000), COEF_CONST(0.6601562500), | ||
76 | COEF_CONST(0.6562500000), COEF_CONST(0.6523437500), | ||
77 | COEF_CONST(0.6484375000), COEF_CONST(0.6445312500), | ||
78 | COEF_CONST(0.6406250000), COEF_CONST(0.6406250000), | ||
79 | COEF_CONST(0.6367187500), COEF_CONST(0.6328125000), | ||
80 | COEF_CONST(0.6289062500), COEF_CONST(0.6250000000), | ||
81 | COEF_CONST(0.6210937500), COEF_CONST(0.6210937500), | ||
82 | COEF_CONST(0.6171875000), COEF_CONST(0.6132812500), | ||
83 | COEF_CONST(0.6093750000), COEF_CONST(0.6054687500), | ||
84 | COEF_CONST(0.6054687500), COEF_CONST(0.6015625000), | ||
85 | COEF_CONST(0.5976562500), COEF_CONST(0.5937500000), | ||
86 | COEF_CONST(0.5937500000), COEF_CONST(0.5898437500), | ||
87 | COEF_CONST(0.5859375000), COEF_CONST(0.5820312500), | ||
88 | COEF_CONST(0.5820312500), COEF_CONST(0.5781250000), | ||
89 | COEF_CONST(0.5742187500), COEF_CONST(0.5742187500), | ||
90 | COEF_CONST(0.5703125000), COEF_CONST(0.5664062500), | ||
91 | COEF_CONST(0.5664062500), COEF_CONST(0.5625000000), | ||
92 | COEF_CONST(0.5585937500), COEF_CONST(0.5585937500), | ||
93 | COEF_CONST(0.5546875000), COEF_CONST(0.5507812500), | ||
94 | COEF_CONST(0.5507812500), COEF_CONST(0.5468750000), | ||
95 | COEF_CONST(0.5429687500), COEF_CONST(0.5429687500), | ||
96 | COEF_CONST(0.5390625000), COEF_CONST(0.5390625000), | ||
97 | COEF_CONST(0.5351562500), COEF_CONST(0.5312500000), | ||
98 | COEF_CONST(0.5312500000), COEF_CONST(0.5273437500), | ||
99 | COEF_CONST(0.5273437500), COEF_CONST(0.5234375000), | ||
100 | COEF_CONST(0.5195312500), COEF_CONST(0.5195312500), | ||
101 | COEF_CONST(0.5156250000), COEF_CONST(0.5156250000), | ||
102 | COEF_CONST(0.5117187500), COEF_CONST(0.5117187500), | ||
103 | COEF_CONST(0.5078125000), COEF_CONST(0.5078125000), | ||
104 | COEF_CONST(0.5039062500), COEF_CONST(0.5039062500), | ||
105 | COEF_CONST(0.5000000000), COEF_CONST(0.4980468750), | ||
106 | COEF_CONST(0.4960937500), COEF_CONST(0.4941406250), | ||
107 | COEF_CONST(0.4921875000), COEF_CONST(0.4902343750), | ||
108 | COEF_CONST(0.4882812500), COEF_CONST(0.4863281250), | ||
109 | COEF_CONST(0.4843750000), COEF_CONST(0.4824218750), | ||
110 | COEF_CONST(0.4804687500), COEF_CONST(0.4785156250) | ||
111 | }; | ||
112 | #warning MEM_ALIGN_ATTR me! | ||
113 | static const real_t exp_table[128] = { | ||
114 | COEF_CONST(0.50000000000000000000000000000000000000000000000000), | ||
115 | COEF_CONST(0.25000000000000000000000000000000000000000000000000), | ||
116 | COEF_CONST(0.12500000000000000000000000000000000000000000000000), | ||
117 | COEF_CONST(0.06250000000000000000000000000000000000000000000000), | ||
118 | COEF_CONST(0.03125000000000000000000000000000000000000000000000), | ||
119 | COEF_CONST(0.01562500000000000000000000000000000000000000000000), | ||
120 | COEF_CONST(0.00781250000000000000000000000000000000000000000000), | ||
121 | COEF_CONST(0.00390625000000000000000000000000000000000000000000), | ||
122 | COEF_CONST(0.00195312500000000000000000000000000000000000000000), | ||
123 | COEF_CONST(0.00097656250000000000000000000000000000000000000000), | ||
124 | COEF_CONST(0.00048828125000000000000000000000000000000000000000), | ||
125 | COEF_CONST(0.00024414062500000000000000000000000000000000000000), | ||
126 | COEF_CONST(0.00012207031250000000000000000000000000000000000000), | ||
127 | COEF_CONST(0.00006103515625000000000000000000000000000000000000), | ||
128 | COEF_CONST(0.00003051757812500000000000000000000000000000000000), | ||
129 | COEF_CONST(0.00001525878906250000000000000000000000000000000000), | ||
130 | COEF_CONST(0.00000762939453125000000000000000000000000000000000), | ||
131 | COEF_CONST(0.00000381469726562500000000000000000000000000000000), | ||
132 | COEF_CONST(0.00000190734863281250000000000000000000000000000000), | ||
133 | COEF_CONST(0.00000095367431640625000000000000000000000000000000), | ||
134 | COEF_CONST(0.00000047683715820312500000000000000000000000000000), | ||
135 | COEF_CONST(0.00000023841857910156250000000000000000000000000000), | ||
136 | COEF_CONST(0.00000011920928955078125000000000000000000000000000), | ||
137 | COEF_CONST(0.00000005960464477539062500000000000000000000000000), | ||
138 | COEF_CONST(0.00000002980232238769531300000000000000000000000000), | ||
139 | COEF_CONST(0.00000001490116119384765600000000000000000000000000), | ||
140 | COEF_CONST(0.00000000745058059692382810000000000000000000000000), | ||
141 | COEF_CONST(0.00000000372529029846191410000000000000000000000000), | ||
142 | COEF_CONST(0.00000000186264514923095700000000000000000000000000), | ||
143 | COEF_CONST(0.00000000093132257461547852000000000000000000000000), | ||
144 | COEF_CONST(0.00000000046566128730773926000000000000000000000000), | ||
145 | COEF_CONST(0.00000000023283064365386963000000000000000000000000), | ||
146 | COEF_CONST(0.00000000011641532182693481000000000000000000000000), | ||
147 | COEF_CONST(0.00000000005820766091346740700000000000000000000000), | ||
148 | COEF_CONST(0.00000000002910383045673370400000000000000000000000), | ||
149 | COEF_CONST(0.00000000001455191522836685200000000000000000000000), | ||
150 | COEF_CONST(0.00000000000727595761418342590000000000000000000000), | ||
151 | COEF_CONST(0.00000000000363797880709171300000000000000000000000), | ||
152 | COEF_CONST(0.00000000000181898940354585650000000000000000000000), | ||
153 | COEF_CONST(0.00000000000090949470177292824000000000000000000000), | ||
154 | COEF_CONST(0.00000000000045474735088646412000000000000000000000), | ||
155 | COEF_CONST(0.00000000000022737367544323206000000000000000000000), | ||
156 | COEF_CONST(0.00000000000011368683772161603000000000000000000000), | ||
157 | COEF_CONST(0.00000000000005684341886080801500000000000000000000), | ||
158 | COEF_CONST(0.00000000000002842170943040400700000000000000000000), | ||
159 | COEF_CONST(0.00000000000001421085471520200400000000000000000000), | ||
160 | COEF_CONST(0.00000000000000710542735760100190000000000000000000), | ||
161 | COEF_CONST(0.00000000000000355271367880050090000000000000000000), | ||
162 | COEF_CONST(0.00000000000000177635683940025050000000000000000000), | ||
163 | COEF_CONST(0.00000000000000088817841970012523000000000000000000), | ||
164 | COEF_CONST(0.00000000000000044408920985006262000000000000000000), | ||
165 | COEF_CONST(0.00000000000000022204460492503131000000000000000000), | ||
166 | COEF_CONST(0.00000000000000011102230246251565000000000000000000), | ||
167 | COEF_CONST(0.00000000000000005551115123125782700000000000000000), | ||
168 | COEF_CONST(0.00000000000000002775557561562891400000000000000000), | ||
169 | COEF_CONST(0.00000000000000001387778780781445700000000000000000), | ||
170 | COEF_CONST(0.00000000000000000693889390390722840000000000000000), | ||
171 | COEF_CONST(0.00000000000000000346944695195361420000000000000000), | ||
172 | COEF_CONST(0.00000000000000000173472347597680710000000000000000), | ||
173 | COEF_CONST(0.00000000000000000086736173798840355000000000000000), | ||
174 | COEF_CONST(0.00000000000000000043368086899420177000000000000000), | ||
175 | COEF_CONST(0.00000000000000000021684043449710089000000000000000), | ||
176 | COEF_CONST(0.00000000000000000010842021724855044000000000000000), | ||
177 | COEF_CONST(0.00000000000000000005421010862427522200000000000000), | ||
178 | COEF_CONST(0.00000000000000000002710505431213761100000000000000), | ||
179 | COEF_CONST(0.00000000000000000001355252715606880500000000000000), | ||
180 | COEF_CONST(0.00000000000000000000677626357803440270000000000000), | ||
181 | COEF_CONST(0.00000000000000000000338813178901720140000000000000), | ||
182 | COEF_CONST(0.00000000000000000000169406589450860070000000000000), | ||
183 | COEF_CONST(0.00000000000000000000084703294725430034000000000000), | ||
184 | COEF_CONST(0.00000000000000000000042351647362715017000000000000), | ||
185 | COEF_CONST(0.00000000000000000000021175823681357508000000000000), | ||
186 | COEF_CONST(0.00000000000000000000010587911840678754000000000000), | ||
187 | COEF_CONST(0.00000000000000000000005293955920339377100000000000), | ||
188 | COEF_CONST(0.00000000000000000000002646977960169688600000000000), | ||
189 | COEF_CONST(0.00000000000000000000001323488980084844300000000000), | ||
190 | COEF_CONST(0.00000000000000000000000661744490042422140000000000), | ||
191 | COEF_CONST(0.00000000000000000000000330872245021211070000000000), | ||
192 | COEF_CONST(0.00000000000000000000000165436122510605530000000000), | ||
193 | COEF_CONST(0.00000000000000000000000082718061255302767000000000), | ||
194 | COEF_CONST(0.00000000000000000000000041359030627651384000000000), | ||
195 | COEF_CONST(0.00000000000000000000000020679515313825692000000000), | ||
196 | COEF_CONST(0.00000000000000000000000010339757656912846000000000), | ||
197 | COEF_CONST(0.00000000000000000000000005169878828456423000000000), | ||
198 | COEF_CONST(0.00000000000000000000000002584939414228211500000000), | ||
199 | COEF_CONST(0.00000000000000000000000001292469707114105700000000), | ||
200 | COEF_CONST(0.00000000000000000000000000646234853557052870000000), | ||
201 | COEF_CONST(0.00000000000000000000000000323117426778526440000000), | ||
202 | COEF_CONST(0.00000000000000000000000000161558713389263220000000), | ||
203 | COEF_CONST(0.00000000000000000000000000080779356694631609000000), | ||
204 | COEF_CONST(0.00000000000000000000000000040389678347315804000000), | ||
205 | COEF_CONST(0.00000000000000000000000000020194839173657902000000), | ||
206 | COEF_CONST(0.00000000000000000000000000010097419586828951000000), | ||
207 | COEF_CONST(0.00000000000000000000000000005048709793414475600000), | ||
208 | COEF_CONST(0.00000000000000000000000000002524354896707237800000), | ||
209 | COEF_CONST(0.00000000000000000000000000001262177448353618900000), | ||
210 | COEF_CONST(0.00000000000000000000000000000631088724176809440000), | ||
211 | COEF_CONST(0.00000000000000000000000000000315544362088404720000), | ||
212 | COEF_CONST(0.00000000000000000000000000000157772181044202360000), | ||
213 | COEF_CONST(0.00000000000000000000000000000078886090522101181000), | ||
214 | COEF_CONST(0.00000000000000000000000000000039443045261050590000), | ||
215 | COEF_CONST(0.00000000000000000000000000000019721522630525295000), | ||
216 | COEF_CONST(0.00000000000000000000000000000009860761315262647600), | ||
217 | COEF_CONST(0.00000000000000000000000000000004930380657631323800), | ||
218 | COEF_CONST(0.00000000000000000000000000000002465190328815661900), | ||
219 | COEF_CONST(0.00000000000000000000000000000001232595164407830900), | ||
220 | COEF_CONST(0.00000000000000000000000000000000616297582203915470), | ||
221 | COEF_CONST(0.00000000000000000000000000000000308148791101957740), | ||
222 | COEF_CONST(0.00000000000000000000000000000000154074395550978870), | ||
223 | COEF_CONST(0.00000000000000000000000000000000077037197775489434), | ||
224 | COEF_CONST(0.00000000000000000000000000000000038518598887744717), | ||
225 | COEF_CONST(0.00000000000000000000000000000000019259299443872359), | ||
226 | COEF_CONST(0.00000000000000000000000000000000009629649721936179), | ||
227 | COEF_CONST(0.00000000000000000000000000000000004814824860968090), | ||
228 | COEF_CONST(0.00000000000000000000000000000000002407412430484045), | ||
229 | COEF_CONST(0.00000000000000000000000000000000001203706215242022), | ||
230 | COEF_CONST(0.00000000000000000000000000000000000601853107621011), | ||
231 | COEF_CONST(0.00000000000000000000000000000000000300926553810506), | ||
232 | COEF_CONST(0.00000000000000000000000000000000000150463276905253), | ||
233 | COEF_CONST(0.00000000000000000000000000000000000075231638452626), | ||
234 | COEF_CONST(0.00000000000000000000000000000000000037615819226313), | ||
235 | COEF_CONST(0.00000000000000000000000000000000000018807909613157), | ||
236 | COEF_CONST(0.00000000000000000000000000000000000009403954806578), | ||
237 | COEF_CONST(0.00000000000000000000000000000000000004701977403289), | ||
238 | COEF_CONST(0.00000000000000000000000000000000000002350988701645), | ||
239 | COEF_CONST(0.00000000000000000000000000000000000001175494350822), | ||
240 | COEF_CONST(0.0 /* 0000000000000000000000000000000000000587747175411 "floating point underflow" */), | ||
241 | COEF_CONST(0.0) | ||
242 | }; | ||
243 | |||
244 | #ifdef __cplusplus | ||
245 | } | ||
246 | #endif | ||
247 | #endif | ||
248 | |||
249 | #endif | ||