Commit fc22c009 authored by Ramiro Polla's avatar Ramiro Polla
Browse files

Use bytestream functions for reading frame header.

Originally committed as revision 12929 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 904bc6b8
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "avcodec.h" #include "avcodec.h"
#include "bitstream.h" #include "bitstream.h"
#include "bytestream.h"
#include "dsputil.h" #include "dsputil.h"
#define MIMIC_HEADER_SIZE 20 #define MIMIC_HEADER_SIZE 20
...@@ -297,8 +298,13 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, ...@@ -297,8 +298,13 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
return -1; return -1;
} }
width = AV_RL16(buf + 4); buf += 2;
height = AV_RL16(buf + 6); 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) { if(!ctx->avctx) {
int i; int i;
...@@ -322,10 +328,6 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, ...@@ -322,10 +328,6 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
return -1; 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]) { if(is_pframe && !ctx->buf_ptrs[ctx->prev_index].data[0]) {
av_log(avctx, AV_LOG_ERROR, "decoding must start with keyframe\n"); av_log(avctx, AV_LOG_ERROR, "decoding must start with keyframe\n");
return -1; return -1;
...@@ -346,7 +348,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data, ...@@ -346,7 +348,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
return AVERROR_NOMEM; return AVERROR_NOMEM;
ctx->dsp.bswap_buf((uint32_t*)ctx->swap_buf, ctx->dsp.bswap_buf((uint32_t*)ctx->swap_buf,
(const uint32_t*) (buf + MIMIC_HEADER_SIZE), (const uint32_t*) buf,
swap_buf_size>>2); swap_buf_size>>2);
init_get_bits(&ctx->gb, ctx->swap_buf, swap_buf_size << 3); init_get_bits(&ctx->gb, ctx->swap_buf, swap_buf_size << 3);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment