mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-04 05:57:49 +02:00
aic: Improve error reporting
This commit is contained in:
parent
a4fbd55d6e
commit
d8d124eebc
@ -385,8 +385,11 @@ static int aic_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
|||||||
return AVERROR_INVALIDDATA;
|
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;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
if ((ret = ff_get_buffer(avctx, ctx->frame, 0)) < 0)
|
if ((ret = ff_get_buffer(avctx, ctx->frame, 0)) < 0)
|
||||||
return ret;
|
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) {
|
for (x = 0; x < ctx->mb_width; x += ctx->slice_width) {
|
||||||
slice_size = bytestream2_get_le16(&gb) * 4;
|
slice_size = bytestream2_get_le16(&gb) * 4;
|
||||||
if (slice_size + off > buf_size || !slice_size) {
|
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;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ret = aic_decode_slice(ctx, x, y,
|
ret = aic_decode_slice(ctx, x, y, buf + off, slice_size);
|
||||||
buf + off, slice_size)) < 0)
|
if (ret < 0) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
|
"Error decoding slice at %d.%d\n", x, y);
|
||||||
return ret;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
off += slice_size;
|
off += slice_size;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user