Mercurial > libavcodec.hg
comparison ac3enc.c @ 4640:d539eb4db3d2 libavcodec
cosmetics. remove space before semi-colon.
author | jbr |
---|---|
date | Thu, 08 Mar 2007 23:38:50 +0000 |
parents | 1b447031a8b8 |
children | 5bc169ed9db6 |
comparison
equal
deleted
inserted
replaced
4639:33fc84eae7c3 | 4640:d539eb4db3d2 |
---|---|
84 } | 84 } |
85 | 85 |
86 static inline int calc_lowcomp1(int a, int b0, int b1) | 86 static inline int calc_lowcomp1(int a, int b0, int b1) |
87 { | 87 { |
88 if ((b0 + 256) == b1) { | 88 if ((b0 + 256) == b1) { |
89 a = 384 ; | 89 a = 384; |
90 } else if (b0 > b1) { | 90 } else if (b0 > b1) { |
91 a = a - 64; | 91 a = a - 64; |
92 if (a < 0) a=0; | 92 if (a < 0) a=0; |
93 } | 93 } |
94 return a; | 94 return a; |
96 | 96 |
97 static inline int calc_lowcomp(int a, int b0, int b1, int bin) | 97 static inline int calc_lowcomp(int a, int b0, int b1, int bin) |
98 { | 98 { |
99 if (bin < 7) { | 99 if (bin < 7) { |
100 if ((b0 + 256) == b1) { | 100 if ((b0 + 256) == b1) { |
101 a = 384 ; | 101 a = 384; |
102 } else if (b0 > b1) { | 102 } else if (b0 > b1) { |
103 a = a - 64; | 103 a = a - 64; |
104 if (a < 0) a=0; | 104 if (a < 0) a=0; |
105 } | 105 } |
106 } else if (bin < 20) { | 106 } else if (bin < 20) { |
107 if ((b0 + 256) == b1) { | 107 if ((b0 + 256) == b1) { |
108 a = 320 ; | 108 a = 320; |
109 } else if (b0 > b1) { | 109 } else if (b0 > b1) { |
110 a= a - 64; | 110 a= a - 64; |
111 if (a < 0) a=0; | 111 if (a < 0) a=0; |
112 } | 112 } |
113 } else { | 113 } else { |
169 bndstrt = masktab[start]; | 169 bndstrt = masktab[start]; |
170 bndend = masktab[end-1] + 1; | 170 bndend = masktab[end-1] + 1; |
171 | 171 |
172 if (bndstrt == 0) { | 172 if (bndstrt == 0) { |
173 lowcomp = 0; | 173 lowcomp = 0; |
174 lowcomp = calc_lowcomp1(lowcomp, bndpsd[0], bndpsd[1]) ; | 174 lowcomp = calc_lowcomp1(lowcomp, bndpsd[0], bndpsd[1]); |
175 excite[0] = bndpsd[0] - fgain - lowcomp ; | 175 excite[0] = bndpsd[0] - fgain - lowcomp; |
176 lowcomp = calc_lowcomp1(lowcomp, bndpsd[1], bndpsd[2]) ; | 176 lowcomp = calc_lowcomp1(lowcomp, bndpsd[1], bndpsd[2]); |
177 excite[1] = bndpsd[1] - fgain - lowcomp ; | 177 excite[1] = bndpsd[1] - fgain - lowcomp; |
178 begin = 7 ; | 178 begin = 7; |
179 for (bin = 2; bin < 7; bin++) { | 179 for (bin = 2; bin < 7; bin++) { |
180 if (!(is_lfe && bin == 6)) | 180 if (!(is_lfe && bin == 6)) |
181 lowcomp = calc_lowcomp1(lowcomp, bndpsd[bin], bndpsd[bin+1]) ; | 181 lowcomp = calc_lowcomp1(lowcomp, bndpsd[bin], bndpsd[bin+1]); |
182 fastleak = bndpsd[bin] - fgain ; | 182 fastleak = bndpsd[bin] - fgain; |
183 slowleak = bndpsd[bin] - s->sgain ; | 183 slowleak = bndpsd[bin] - s->sgain; |
184 excite[bin] = fastleak - lowcomp ; | 184 excite[bin] = fastleak - lowcomp; |
185 if (!(is_lfe && bin == 6)) { | 185 if (!(is_lfe && bin == 6)) { |
186 if (bndpsd[bin] <= bndpsd[bin+1]) { | 186 if (bndpsd[bin] <= bndpsd[bin+1]) { |
187 begin = bin + 1 ; | 187 begin = bin + 1; |
188 break ; | 188 break; |
189 } | 189 } |
190 } | 190 } |
191 } | 191 } |
192 | 192 |
193 end1=bndend; | 193 end1=bndend; |
194 if (end1 > 22) end1=22; | 194 if (end1 > 22) end1=22; |
195 | 195 |
196 for (bin = begin; bin < end1; bin++) { | 196 for (bin = begin; bin < end1; bin++) { |
197 if (!(is_lfe && bin == 6)) | 197 if (!(is_lfe && bin == 6)) |
198 lowcomp = calc_lowcomp(lowcomp, bndpsd[bin], bndpsd[bin+1], bin) ; | 198 lowcomp = calc_lowcomp(lowcomp, bndpsd[bin], bndpsd[bin+1], bin); |
199 | 199 |
200 fastleak -= s->fdecay ; | 200 fastleak -= s->fdecay; |
201 v = bndpsd[bin] - fgain; | 201 v = bndpsd[bin] - fgain; |
202 if (fastleak < v) fastleak = v; | 202 if (fastleak < v) fastleak = v; |
203 | 203 |
204 slowleak -= s->sdecay ; | 204 slowleak -= s->sdecay; |
205 v = bndpsd[bin] - s->sgain; | 205 v = bndpsd[bin] - s->sgain; |
206 if (slowleak < v) slowleak = v; | 206 if (slowleak < v) slowleak = v; |
207 | 207 |
208 v=fastleak - lowcomp; | 208 v=fastleak - lowcomp; |
209 if (slowleak > v) v=slowleak; | 209 if (slowleak > v) v=slowleak; |
218 fastleak = (s->cplfleak << 8) + 768; | 218 fastleak = (s->cplfleak << 8) + 768; |
219 slowleak = (s->cplsleak << 8) + 768; | 219 slowleak = (s->cplsleak << 8) + 768; |
220 } | 220 } |
221 | 221 |
222 for (bin = begin; bin < bndend; bin++) { | 222 for (bin = begin; bin < bndend; bin++) { |
223 fastleak -= s->fdecay ; | 223 fastleak -= s->fdecay; |
224 v = bndpsd[bin] - fgain; | 224 v = bndpsd[bin] - fgain; |
225 if (fastleak < v) fastleak = v; | 225 if (fastleak < v) fastleak = v; |
226 slowleak -= s->sdecay ; | 226 slowleak -= s->sdecay; |
227 v = bndpsd[bin] - s->sgain; | 227 v = bndpsd[bin] - s->sgain; |
228 if (slowleak < v) slowleak = v; | 228 if (slowleak < v) slowleak = v; |
229 | 229 |
230 v=fastleak; | 230 v=fastleak; |
231 if (slowleak > v) v = slowleak; | 231 if (slowleak > v) v = slowleak; |
247 | 247 |
248 /* delta bit allocation */ | 248 /* delta bit allocation */ |
249 | 249 |
250 if (deltbae == 0 || deltbae == 1) { | 250 if (deltbae == 0 || deltbae == 1) { |
251 int band, seg, delta; | 251 int band, seg, delta; |
252 band = 0 ; | 252 band = 0; |
253 for (seg = 0; seg < deltnseg; seg++) { | 253 for (seg = 0; seg < deltnseg; seg++) { |
254 band += deltoffst[seg] ; | 254 band += deltoffst[seg]; |
255 if (deltba[seg] >= 4) { | 255 if (deltba[seg] >= 4) { |
256 delta = (deltba[seg] - 3) << 7; | 256 delta = (deltba[seg] - 3) << 7; |
257 } else { | 257 } else { |
258 delta = (deltba[seg] - 4) << 7; | 258 delta = (deltba[seg] - 4) << 7; |
259 } | 259 } |
260 for (k = 0; k < deltlen[seg]; k++) { | 260 for (k = 0; k < deltlen[seg]; k++) { |
261 mask[band] += delta ; | 261 mask[band] += delta; |
262 band++ ; | 262 band++; |
263 } | 263 } |
264 } | 264 } |
265 } | 265 } |
266 | 266 |
267 /* compute bit allocation */ | 267 /* compute bit allocation */ |
268 | 268 |
269 i = start ; | 269 i = start; |
270 j = masktab[start] ; | 270 j = masktab[start]; |
271 do { | 271 do { |
272 v=mask[j]; | 272 v=mask[j]; |
273 v -= snroffset ; | 273 v -= snroffset; |
274 v -= s->floor ; | 274 v -= s->floor; |
275 if (v < 0) v = 0; | 275 if (v < 0) v = 0; |
276 v &= 0x1fe0 ; | 276 v &= 0x1fe0; |
277 v += s->floor ; | 277 v += s->floor; |
278 | 278 |
279 end1=bndtab[j] + bndsz[j]; | 279 end1=bndtab[j] + bndsz[j]; |
280 if (end1 > end) end1=end; | 280 if (end1 > end) end1=end; |
281 | 281 |
282 for (k = i; k < end1; k++) { | 282 for (k = i; k < end1; k++) { |
283 address = (psd[i] - v) >> 5 ; | 283 address = (psd[i] - v) >> 5; |
284 if (address < 0) address=0; | 284 if (address < 0) address=0; |
285 else if (address > 63) address=63; | 285 else if (address > 63) address=63; |
286 bap[i] = baptab[address]; | 286 bap[i] = baptab[address]; |
287 i++; | 287 i++; |
288 } | 288 } |
289 } while (end > bndtab[j++]) ; | 289 } while (end > bndtab[j++]); |
290 } | 290 } |
291 | 291 |
292 typedef struct IComplex { | 292 typedef struct IComplex { |
293 short re,im; | 293 short re,im; |
294 } IComplex; | 294 } IComplex; |