summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2015-06-15 18:27:53 +0100
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-06-17 14:06:35 +0100
commitd8d124eebcf2ec1f6a1936b12a4f00a48f08e85c (patch)
treee9b7ef2b950b7de731d1a3e18d80933a01b342e9 /libavcodec
parenta4fbd55d6e03eabdbecc3b7892ec09eb8062d066 (diff)
downloadffmpeg-d8d124eebcf2ec1f6a1936b12a4f00a48f08e85c.tar.gz
aic: Improve error reporting
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/aic.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libavcodec/aic.c b/libavcodec/aic.c
index 5687dbeb00..4782294118 100644
--- a/libavcodec/aic.c
+++ b/libavcodec/aic.c
@@ -385,8 +385,11 @@ static int aic_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
return AVERROR_INVALIDDATA;
}
- if ((ret = aic_decode_header(ctx, buf, buf_size)) < 0)
+ ret = aic_decode_header(ctx, buf, buf_size);
+ if (ret < 0) {
+ av_log(avctx, AV_LOG_ERROR, "Invalid header\n");
return ret;
+ }
if ((ret = ff_get_buffer(avctx, ctx->frame, 0)) < 0)
return ret;
@@ -398,13 +401,17 @@ static int aic_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
for (x = 0; x < ctx->mb_width; x += ctx->slice_width) {
slice_size = bytestream2_get_le16(&gb) * 4;
if (slice_size + off > buf_size || !slice_size) {
- av_log(avctx, AV_LOG_ERROR, "Incorrect slice size\n");
+ av_log(avctx, AV_LOG_ERROR,
+ "Incorrect slice size %d at %d.%d\n", slice_size, x, y);
return AVERROR_INVALIDDATA;
}
- if ((ret = aic_decode_slice(ctx, x, y,
- buf + off, slice_size)) < 0)
+ ret = aic_decode_slice(ctx, x, y, buf + off, slice_size);
+ if (ret < 0) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Error decoding slice at %d.%d\n", x, y);
return ret;
+ }
off += slice_size;
}