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