From b61e0b99dfac9fdd4fdec305f4c60181184af1d6 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 16 Nov 2012 15:25:32 +0100 Subject: [PATCH] truemotion1: return meaningful error codes --- libavcodec/truemotion1.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libavcodec/truemotion1.c b/libavcodec/truemotion1.c index c49f9fecbf..232ee2c2b8 100644 --- a/libavcodec/truemotion1.c +++ b/libavcodec/truemotion1.c @@ -308,7 +308,7 @@ static void gen_vector_table24(TrueMotion1Context *s, const uint8_t *sel_vector_ * there was an error while decoding the header */ static int truemotion1_decode_header(TrueMotion1Context *s) { - int i; + int i, ret; int width_shift = 0; int new_pix_fmt; struct frame_header header; @@ -319,7 +319,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s) if (s->buf[0] < 0x10) { av_log(s->avctx, AV_LOG_ERROR, "invalid header size (%d)\n", s->buf[0]); - return -1; + return AVERROR_INVALIDDATA; } /* unscramble the header bytes with a XOR operation */ @@ -343,7 +343,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s) if (header.header_type > 3) { av_log(s->avctx, AV_LOG_ERROR, "invalid header type (%d)\n", header.header_type); - return -1; + return AVERROR_INVALIDDATA; } else if ((header.header_type == 2) || (header.header_type == 3)) { s->flags = header.flags; if (!(s->flags & FLAG_INTERFRAME)) @@ -371,7 +371,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s) if (header.compression >= 17) { av_log(s->avctx, AV_LOG_ERROR, "invalid compression type (%d)\n", header.compression); - return -1; + return AVERROR_INVALIDDATA; } if ((header.deltaset != s->last_deltaset) || @@ -385,7 +385,7 @@ static int truemotion1_decode_header(TrueMotion1Context *s) sel_vector_table = tables[header.vectable - 1]; else { av_log(s->avctx, AV_LOG_ERROR, "invalid vector table id (%d)\n", header.vectable); - return -1; + return AVERROR_INVALIDDATA; } } @@ -396,8 +396,8 @@ static int truemotion1_decode_header(TrueMotion1Context *s) new_pix_fmt = AV_PIX_FMT_RGB555; // RGB565 is supported as well s->w >>= width_shift; - if (av_image_check_size(s->w, s->h, 0, s->avctx) < 0) - return -1; + if ((ret = av_image_check_size(s->w, s->h, 0, s->avctx)) < 0) + return ret; if (s->w != s->avctx->width || s->h != s->avctx->height || new_pix_fmt != s->avctx->pix_fmt) { @@ -843,21 +843,21 @@ static int truemotion1_decode_frame(AVCodecContext *avctx, AVPacket *avpkt) { const uint8_t *buf = avpkt->data; - int buf_size = avpkt->size; + int ret, buf_size = avpkt->size; TrueMotion1Context *s = avctx->priv_data; s->buf = buf; s->size = buf_size; - if (truemotion1_decode_header(s) == -1) - return -1; + if ((ret = truemotion1_decode_header(s)) < 0) + return ret; s->frame.reference = 1; s->frame.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE; - if (avctx->reget_buffer(avctx, &s->frame) < 0) { + if ((ret = avctx->reget_buffer(avctx, &s->frame)) < 0) { av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); - return -1; + return ret; } if (compression_types[s->compression].algorithm == ALGO_RGB24H) {