Commit 38de3365 authored by Anton Khirnov's avatar Anton Khirnov

asvdec: return meaningful error codes.

parent b3b17f78
...@@ -111,7 +111,7 @@ static inline int asv1_decode_block(ASV1Context *a, DCTELEM block[64]) ...@@ -111,7 +111,7 @@ static inline int asv1_decode_block(ASV1Context *a, DCTELEM block[64])
break; break;
if (ccp < 0 || i >= 10) { if (ccp < 0 || i >= 10) {
av_log(a->avctx, AV_LOG_ERROR, "coded coeff pattern damaged\n"); av_log(a->avctx, AV_LOG_ERROR, "coded coeff pattern damaged\n");
return -1; return AVERROR_INVALIDDATA;
} }
if (ccp & 8) if (ccp & 8)
...@@ -213,15 +213,15 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -213,15 +213,15 @@ static int decode_frame(AVCodecContext *avctx,
int buf_size = avpkt->size; int buf_size = avpkt->size;
AVFrame *picture = data; AVFrame *picture = data;
AVFrame * const p = &a->picture; AVFrame * const p = &a->picture;
int mb_x, mb_y; int mb_x, mb_y, ret;
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
p->reference = 0; p->reference = 0;
if (ff_get_buffer(avctx, p) < 0) { if ((ret = ff_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1; return ret;
} }
p->pict_type = AV_PICTURE_TYPE_I; p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1; p->key_frame = 1;
...@@ -243,8 +243,8 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -243,8 +243,8 @@ static int decode_frame(AVCodecContext *avctx,
for (mb_y = 0; mb_y < a->mb_height2; mb_y++) { for (mb_y = 0; mb_y < a->mb_height2; mb_y++) {
for (mb_x = 0; mb_x < a->mb_width2; mb_x++) { for (mb_x = 0; mb_x < a->mb_width2; mb_x++) {
if (decode_mb(a, a->block) < 0) if ((ret = decode_mb(a, a->block)) < 0)
return -1; return ret;
idct_put(a, mb_x, mb_y); idct_put(a, mb_x, mb_y);
} }
...@@ -253,8 +253,8 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -253,8 +253,8 @@ static int decode_frame(AVCodecContext *avctx,
if (a->mb_width2 != a->mb_width) { if (a->mb_width2 != a->mb_width) {
mb_x = a->mb_width2; mb_x = a->mb_width2;
for (mb_y = 0; mb_y < a->mb_height2; mb_y++) { for (mb_y = 0; mb_y < a->mb_height2; mb_y++) {
if (decode_mb(a, a->block) < 0) if ((ret = decode_mb(a, a->block)) < 0)
return -1; return ret;
idct_put(a, mb_x, mb_y); idct_put(a, mb_x, mb_y);
} }
...@@ -263,8 +263,8 @@ static int decode_frame(AVCodecContext *avctx, ...@@ -263,8 +263,8 @@ static int decode_frame(AVCodecContext *avctx,
if (a->mb_height2 != a->mb_height) { if (a->mb_height2 != a->mb_height) {
mb_y = a->mb_height2; mb_y = a->mb_height2;
for (mb_x = 0; mb_x < a->mb_width; mb_x++) { for (mb_x = 0; mb_x < a->mb_width; mb_x++) {
if (decode_mb(a, a->block) < 0) if ((ret = decode_mb(a, a->block)) < 0)
return -1; return ret;
idct_put(a, mb_x, mb_y); idct_put(a, mb_x, mb_y);
} }
......
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