Mercurial > libavcodec.hg
comparison mace.c @ 7792:c372b8d5abfb libavcodec
Reindent mace.c, its indentation was completly inconsistent with the coding rules.
author | vitor |
---|---|
date | Thu, 04 Sep 2008 23:00:34 +0000 |
parents | 85ab7655ad4d |
children | 0253472b1f25 |
comparison
equal
deleted
inserted
replaced
7791:da7996a575f3 | 7792:c372b8d5abfb |
---|---|
234 { 0x3E22, 0x7FFF, 0x8000, 0xC1DD, 0, 0, 0, 0 }, { 0x40E7, 0x7FFF, 0x8000, 0xBF18, 0, 0, 0, 0 }, | 234 { 0x3E22, 0x7FFF, 0x8000, 0xC1DD, 0, 0, 0, 0 }, { 0x40E7, 0x7FFF, 0x8000, 0xBF18, 0, 0, 0, 0 }, |
235 }; | 235 }; |
236 /* end of constants */ | 236 /* end of constants */ |
237 | 237 |
238 typedef struct MACEContext { | 238 typedef struct MACEContext { |
239 short index, lev, factor, prev2, previous, level; | 239 short index, lev, factor, prev2, previous, level; |
240 short *outPtr; | 240 short *outPtr; |
241 } MACEContext; | 241 } MACEContext; |
242 | 242 |
243 /* /// "chomp3()" */ | 243 /* /// "chomp3()" */ |
244 static void chomp3(MACEContext *ctx, | 244 static void chomp3(MACEContext *ctx, uint8_t val, const uint16_t tab1[], |
245 uint8_t val, | 245 const uint16_t tab2[][8], uint32_t numChannels) |
246 const uint16_t tab1[], | 246 { |
247 const uint16_t tab2[][8], | 247 short current; |
248 uint32_t numChannels) | 248 |
249 { | 249 current = (short) tab2[(ctx->index & 0x7f0) >> 4][val]; |
250 short current; | 250 |
251 | 251 if (current + ctx->lev > 32767) |
252 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val]; | 252 current = 32767; |
253 if (current+ctx->lev > 32767) current=32767; | 253 else if (current + ctx->lev < -32768) |
254 else if (current+ctx->lev < -32768) current=-32767; | 254 current = -32767; |
255 else current+=ctx->lev; | 255 else |
256 ctx->lev=current-(current >> 3); | 256 current += ctx->lev; |
257 // *ctx->outPtr++=current >> 8; | 257 |
258 *ctx->outPtr=current; | 258 ctx->lev = current - (current >> 3); |
259 ctx->outPtr+=numChannels; | 259 //*ctx->outPtr++=current >> 8; |
260 if ( ( ctx->index += tab1[val]-(ctx->index>>5) ) < 0 ) ctx->index = 0; | 260 *ctx->outPtr = current; |
261 ctx->outPtr += numChannels; | |
262 if (( ctx->index += tab1[val]-(ctx->index >> 5) ) < 0) | |
263 ctx->index = 0; | |
261 } | 264 } |
262 /* \\\ */ | 265 /* \\\ */ |
263 | 266 |
264 /* /// "Exp1to3()" */ | 267 /* /// "Exp1to3()" */ |
265 static void Exp1to3(MACEContext *ctx, | 268 static void Exp1to3(MACEContext *ctx, const uint8_t *inBuffer, void *outBuffer, |
266 const uint8_t *inBuffer, | 269 uint32_t cnt, uint32_t numChannels, uint32_t whichChannel) |
267 void *outBuffer, | 270 { |
268 uint32_t cnt, | 271 uint8_t pkt; |
269 uint32_t numChannels, | 272 |
270 uint32_t whichChannel) | 273 /* |
271 { | 274 if (inState) { |
272 uint8_t pkt; | 275 ctx->index=inState[0]; |
273 | 276 ctx->lev=inState[1]; |
274 /* | 277 } else |
275 if (inState) { | |
276 ctx->index=inState[0]; | |
277 ctx->lev=inState[1]; | |
278 } else | |
279 */ | 278 */ |
280 ctx->index=ctx->lev=0; | 279 ctx->index = ctx->lev = 0; |
281 | 280 |
282 inBuffer+=(whichChannel-1)*2; | 281 inBuffer += (whichChannel - 1)*2; |
283 | 282 |
284 ctx->outPtr=outBuffer; | 283 ctx->outPtr = outBuffer; |
285 | 284 |
286 while (cnt>0) { | 285 while (cnt > 0) { |
287 pkt=inBuffer[0]; | 286 pkt=inBuffer[0]; |
288 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); | 287 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); |
289 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); | 288 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); |
290 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); | 289 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); |
291 pkt=inBuffer[1]; | 290 pkt=inBuffer[1]; |
292 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); | 291 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); |
293 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); | 292 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); |
294 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); | 293 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); |
295 | 294 |
296 inBuffer+=numChannels*2; | 295 inBuffer += numChannels*2; |
297 --cnt; | 296 --cnt; |
298 } | 297 } |
299 | 298 |
300 /* | 299 /* |
301 if (outState) { | 300 if (outState) { |
302 outState[0]=ctx->index; | 301 outState[0]=ctx->index; |
303 outState[1]=ctx->lev; | 302 outState[1]=ctx->lev; |
304 } | 303 } |
305 */ | 304 */ |
306 } | 305 } |
307 /* \\\ */ | 306 /* \\\ */ |
308 | 307 |
309 /* /// "chomp6()" */ | 308 /* /// "chomp6()" */ |
310 static void chomp6(MACEContext *ctx, | 309 static void chomp6(MACEContext *ctx, uint8_t val, const uint16_t tab1[], |
311 uint8_t val, | 310 const uint16_t tab2[][8], uint32_t numChannels) |
312 const uint16_t tab1[], | 311 { |
313 const uint16_t tab2[][8], | 312 short current; |
314 uint32_t numChannels) | 313 |
315 { | 314 current = (short)tab2[(ctx->index & 0x7f0) >> 4][val]; |
316 short current; | 315 |
317 | 316 if ((ctx->previous ^ current) >= 0) { |
318 current=(short)tab2[(ctx->index & 0x7f0) >> 4][val]; | 317 if (ctx->factor + 506 > 32767) |
319 | 318 ctx->factor = 32767; |
320 if ((ctx->previous^current)>=0) { | 319 else |
321 if (ctx->factor+506>32767) ctx->factor=32767; | 320 ctx->factor += 506; |
322 else ctx->factor+=506; | 321 } else { |
323 } else { | 322 if (ctx->factor - 314 < -32768) |
324 if (ctx->factor-314<-32768) ctx->factor=-32767; | 323 ctx->factor = -32767; |
325 else ctx->factor-=314; | 324 else |
326 } | 325 ctx->factor -= 314; |
327 | 326 } |
328 if (current+ctx->level>32767) current=32767; | 327 |
329 else if (current+ctx->level<-32768) current=-32767; | 328 if (current + ctx->level > 32767) |
330 else current+=ctx->level; | 329 current = 32767; |
331 | 330 else if (current + ctx->level < -32768) |
332 ctx->level=((current*ctx->factor) >> 15); | 331 current = -32767; |
333 current>>=1; | 332 else |
333 current += ctx->level; | |
334 | |
335 ctx->level = ((current*ctx->factor) >> 15); | |
336 current >>= 1; | |
334 | 337 |
335 // *ctx->outPtr++=(ctx->previous+ctx->prev2-((ctx->prev2-current) >> 2)) >> 8; | 338 // *ctx->outPtr++=(ctx->previous+ctx->prev2-((ctx->prev2-current) >> 2)) >> 8; |
336 // *ctx->outPtr++=(ctx->previous+current+((ctx->prev2-current) >> 2)) >> 8; | 339 // *ctx->outPtr++=(ctx->previous+current+((ctx->prev2-current) >> 2)) >> 8; |
337 *ctx->outPtr=(ctx->previous+ctx->prev2-((ctx->prev2-current) >> 2)); | 340 *ctx->outPtr = (ctx->previous + ctx->prev2 - ((ctx->prev2-current) >> 2)); |
338 ctx->outPtr+=numChannels; | 341 ctx->outPtr += numChannels; |
339 *ctx->outPtr=(ctx->previous+current+((ctx->prev2-current) >> 2)); | 342 *ctx->outPtr = (ctx->previous + current + ((ctx->prev2-current) >> 2)); |
340 ctx->outPtr+=numChannels; | 343 ctx->outPtr += numChannels; |
341 ctx->prev2=ctx->previous; | 344 ctx->prev2 = ctx->previous; |
342 ctx->previous=current; | 345 ctx->previous = current; |
343 | 346 |
344 if( ( ctx->index += tab1[val]-(ctx->index>>5) ) < 0 ) ctx->index = 0; | 347 if ((ctx->index += tab1[val] - (ctx->index >> 5)) < 0) |
348 ctx->index = 0; | |
345 } | 349 } |
346 /* \\\ */ | 350 /* \\\ */ |
347 | 351 |
348 /* /// "Exp1to6()" */ | 352 /* /// "Exp1to6()" */ |
349 static void Exp1to6(MACEContext *ctx, | 353 static void Exp1to6(MACEContext *ctx, const uint8_t *inBuffer, void *outBuffer, |
350 const uint8_t *inBuffer, | 354 uint32_t cnt, uint32_t numChannels, uint32_t whichChannel) |
351 void *outBuffer, | 355 { |
352 uint32_t cnt, | 356 uint8_t pkt; |
353 uint32_t numChannels, | |
354 uint32_t whichChannel) | |
355 { | |
356 uint8_t pkt; | |
357 | 357 |
358 /* | 358 /* |
359 if (inState) { | 359 if (inState) { |
360 ctx->previous=inState[0]; | 360 ctx->previous=inState[0]; |
361 ctx->prev2=inState[1]; | 361 ctx->prev2=inState[1]; |
362 ctx->index=inState[2]; | 362 ctx->index=inState[2]; |
363 ctx->level=inState[3]; | 363 ctx->level=inState[3]; |
364 ctx->factor=inState[4]; | 364 ctx->factor=inState[4]; |
365 } else | 365 } else |
366 */ | 366 */ |
367 ctx->previous=ctx->prev2=ctx->index=ctx->level=ctx->factor=0; | 367 ctx->previous = ctx->prev2 = ctx->index = ctx->level = ctx->factor = 0; |
368 | 368 |
369 inBuffer+=(whichChannel-1); | 369 inBuffer += (whichChannel - 1); |
370 ctx->outPtr=outBuffer; | 370 ctx->outPtr = outBuffer; |
371 | 371 |
372 while (cnt>0) { | 372 while (cnt>0) { |
373 pkt=*inBuffer; | 373 pkt = *inBuffer; |
374 | 374 |
375 chomp6(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); | 375 chomp6(ctx, pkt >> 5 , MACEtab1, MACEtab2, numChannels); |
376 chomp6(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); | 376 chomp6(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, numChannels); |
377 chomp6(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); | 377 chomp6(ctx, pkt & 7, MACEtab1, MACEtab2, numChannels); |
378 | 378 |
379 inBuffer+=numChannels; | 379 inBuffer += numChannels; |
380 --cnt; | 380 --cnt; |
381 } | 381 } |
382 | 382 |
383 /* | 383 /* |
384 if (outState) { | 384 if (outState) { |
385 outState[0]=ctx->previous; | 385 outState[0]=ctx->previous; |
386 outState[1]=ctx->prev2; | 386 outState[1]=ctx->prev2; |