changeset 6666:1c76797e2216 libavcodec

Use bytestream functions for reading frame header.
author ramiro
date Tue, 22 Apr 2008 20:24:07 +0000
parents c22932db0ebb
children 4a5c7112e35c
files mimic.c
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mimic.c	Tue Apr 22 20:21:21 2008 +0000
+++ b/mimic.c	Tue Apr 22 20:24:07 2008 +0000
@@ -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 @@
         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 @@
         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 @@
         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);