Use bytestream functions for reading frame header.
authorRamiro Polla <ramiro.polla@gmail.com>
Tue, 22 Apr 2008 20:24:07 +0000 (20:24 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Tue, 22 Apr 2008 20:24:07 +0000 (20:24 +0000)
Originally committed as revision 12929 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mimic.c

index c30ad90..33bba2f 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "avcodec.h"
 #include "bitstream.h"
+#include "bytestream.h"
 #include "dsputil.h"
 
 #define MIMIC_HEADER_SIZE   20
@@ -297,8 +298,13 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
         return -1;
     }
 
-    width  = AV_RL16(buf + 4);
-    height = AV_RL16(buf + 6);
+    buf       += 2;
+    quality    = bytestream_get_le16(&buf);
+    width      = bytestream_get_le16(&buf);
+    height     = bytestream_get_le16(&buf);
+    buf       += 4;
+    is_pframe  = bytestream_get_le32(&buf);
+    num_coeffs = bytestream_get_le32(&buf);
 
     if(!ctx->avctx) {
         int i;
@@ -322,10 +328,6 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
         return -1;
     }
 
-    quality    = AV_RL16(buf + 2);
-    is_pframe  = AV_RL32(buf + 12);
-    num_coeffs = buf[16];
-
     if(is_pframe && !ctx->buf_ptrs[ctx->prev_index].data[0]) {
         av_log(avctx, AV_LOG_ERROR, "decoding must start with keyframe\n");
         return -1;
@@ -346,7 +348,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
         return AVERROR_NOMEM;
 
     ctx->dsp.bswap_buf((uint32_t*)ctx->swap_buf,
-                        (const uint32_t*) (buf + MIMIC_HEADER_SIZE),
+                        (const uint32_t*) buf,
                         swap_buf_size>>2);
     init_get_bits(&ctx->gb, ctx->swap_buf, swap_buf_size << 3);