comparison mace.c @ 7797:09b73aceebaf libavcodec

Simplify: use a for instead of unrolling by hand
author vitor
date Fri, 05 Sep 2008 00:00:20 +0000
parents a7caaa2b56e9
children e7ec66d55d9e
comparison
equal deleted inserted replaced
7796:a7caaa2b56e9 7797:09b73aceebaf
315 void *data, int *data_size, 315 void *data, int *data_size,
316 const uint8_t *buf, int buf_size) 316 const uint8_t *buf, int buf_size)
317 { 317 {
318 short *samples = data; 318 short *samples = data;
319 MACEContext *ctx = avctx->priv_data; 319 MACEContext *ctx = avctx->priv_data;
320 int i, j; 320 int i, j, k;
321 321
322 for(i = 0; i < avctx->channels; i++) { 322 for(i = 0; i < avctx->channels; i++) {
323 ctx->index = ctx->lev = 0; 323 ctx->index = ctx->lev = 0;
324 324
325 ctx->outPtr = samples + i; 325 ctx->outPtr = samples + i;
326 326
327 for (j=0; j < buf_size / 2 / avctx->channels; j++) { 327 for (j=0; j < buf_size / 2 / avctx->channels; j++) {
328 uint8_t pkt = buf[i*2 + j*2*avctx->channels]; 328 for (k=0; k < 2; k++) {
329 uint8_t pkt = buf[i*2 + j*2*avctx->channels + k];
329 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, avctx->channels); 330 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, avctx->channels);
330 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, avctx->channels); 331 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, avctx->channels);
331 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, avctx->channels); 332 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, avctx->channels);
332 333 }
333 pkt = buf[i*2 + j*2*avctx->channels + 1];
334 chomp3(ctx, pkt & 7, MACEtab1, MACEtab2, avctx->channels);
335 chomp3(ctx,(pkt >> 3) & 3, MACEtab3, MACEtab4, avctx->channels);
336 chomp3(ctx, pkt >> 5 , MACEtab1, MACEtab2, avctx->channels);
337 } 334 }
338 } 335 }
339 336
340 *data_size = 2 * 3 * buf_size; 337 *data_size = 2 * 3 * buf_size;
341 338