diff options
| author | Justin Ruggles <[email protected]> | 2011-10-28 18:36:28 -0400 | 
|---|---|---|
| committer | Justin Ruggles <[email protected]> | 2011-11-02 17:02:22 -0400 | 
| commit | 08e5cd3810a563ed2cfee4fd6384d9a516b63fa3 (patch) | |
| tree | c2bcba0a1e6515084fd4775eff8e2d63b490559e | |
| parent | 0473f29b60e063ec420cbe66906950f35b40ed7c (diff) | |
imc: return meaningful error codes instead of -1
| -rw-r--r-- | libavcodec/imc.c | 19 | 
1 files changed, 10 insertions, 9 deletions
diff --git a/libavcodec/imc.c b/libavcodec/imc.c index b1fcf12948..daa28576b0 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -344,7 +344,7 @@ static int bit_allocation (IMCContext* q, int stream_format_code, int freebits,              indx = 2;          if (indx == -1) -            return -1; +            return AVERROR_INVALIDDATA;          q->flcoeffs4[i] = q->flcoeffs4[i] + xTab[(indx*2 + (q->flcoeffs1[i] < highest)) * 2 + flag];      } @@ -603,7 +603,7 @@ static int inverse_quant_coeff (IMCContext* q, int stream_format_code) {              middle_value = max_size >> 1;              if (q->codewords[j] >= max_size || q->codewords[j] < 0) -                return -1; +                return AVERROR_INVALIDDATA;              if (cw_len >= 4){                  quantizer = imc_quantizer2[(stream_format_code & 2) >> 1]; @@ -636,7 +636,7 @@ static int imc_get_coeffs (IMCContext* q) {                  if (get_bits_count(&q->gb) + cw_len > 512){  //av_log(NULL,0,"Band %i coeff %i cw_len %i\n",i,j,cw_len); -                    return -1; +                    return AVERROR_INVALIDDATA;                  }                  if(cw_len && (!q->bandFlagsBuf[i] || !q->skipFlags[j])) @@ -659,7 +659,7 @@ static int imc_decode_frame(AVCodecContext * avctx,      IMCContext *q = avctx->priv_data;      int stream_format_code; -    int imc_hdr, i, j, out_size; +    int imc_hdr, i, j, out_size, ret;      int flag;      int bits, summer;      int counter, bitscount; @@ -667,7 +667,7 @@ static int imc_decode_frame(AVCodecContext * avctx,      if (buf_size < IMC_BLOCK_SIZE) {          av_log(avctx, AV_LOG_ERROR, "imc frame too small!\n"); -        return -1; +        return AVERROR_INVALIDDATA;      }      out_size = COEFFS * av_get_bytes_per_sample(avctx->sample_fmt); @@ -686,13 +686,13 @@ static int imc_decode_frame(AVCodecContext * avctx,      if (imc_hdr != IMC_FRAME_ID) {          av_log(avctx, AV_LOG_ERROR, "imc frame header check failed!\n");          av_log(avctx, AV_LOG_ERROR, "got %x instead of 0x21.\n", imc_hdr); -        return -1; +        return AVERROR_INVALIDDATA;      }      stream_format_code = get_bits(&q->gb, 3);      if(stream_format_code & 1){          av_log(avctx, AV_LOG_ERROR, "Stream code format %X is not supported\n", stream_format_code); -        return -1; +        return AVERROR_INVALIDDATA;      }  //    av_log(avctx, AV_LOG_DEBUG, "stream_format_code = %d\n", stream_format_code); @@ -752,10 +752,11 @@ static int imc_decode_frame(AVCodecContext * avctx,          }      } -    if(bit_allocation (q, stream_format_code, 512 - bitscount - get_bits_count(&q->gb), flag) < 0) { +    if((ret = bit_allocation (q, stream_format_code, +                              512 - bitscount - get_bits_count(&q->gb), flag)) < 0) {          av_log(avctx, AV_LOG_ERROR, "Bit allocations failed\n");          q->decoder_reset = 1; -        return -1; +        return ret;      }      for(i = 0; i < BANDS; i++) {  | 
