imc: use DSPContext.bswap16_buf() to byte-swap packet data
authorJustin Ruggles <justin.ruggles@gmail.com>
Fri, 28 Oct 2011 22:16:31 +0000 (18:16 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 2 Nov 2011 21:02:22 +0000 (17:02 -0400)
libavcodec/imc.c

index 07d6cad..1a3eeaa 100644 (file)
@@ -655,14 +655,14 @@ static int imc_decode_frame(AVCodecContext * avctx,
     int flag;
     int bits, summer;
     int counter, bitscount;
-    uint16_t buf16[IMC_BLOCK_SIZE / 2];
+    LOCAL_ALIGNED_16(uint16_t, buf16, [IMC_BLOCK_SIZE / 2]);
 
     if (buf_size < IMC_BLOCK_SIZE) {
         av_log(avctx, AV_LOG_ERROR, "imc frame too small!\n");
         return -1;
     }
-    for(i = 0; i < IMC_BLOCK_SIZE / 2; i++)
-        buf16[i] = av_bswap16(((const uint16_t*)buf)[i]);
+
+    q->dsp.bswap16_buf(buf16, (const uint16_t*)buf, IMC_BLOCK_SIZE / 2);
 
     q->out_samples = data;
     init_get_bits(&q->gb, (const uint8_t*)buf16, IMC_BLOCK_SIZE * 8);