|
|
|
@@ -54,14 +54,14 @@ avs_decode_frame(AVCodecContext * avctx, |
|
|
|
AVFrame *const p = &avs->picture; |
|
|
|
const uint8_t *table, *vect; |
|
|
|
uint8_t *out; |
|
|
|
int i, j, x, y, stride, vect_w = 3, vect_h = 3; |
|
|
|
int i, j, x, y, stride, ret, vect_w = 3, vect_h = 3; |
|
|
|
AvsVideoSubType sub_type; |
|
|
|
AvsBlockType type; |
|
|
|
GetBitContext change_map; |
|
|
|
|
|
|
|
if (avctx->reget_buffer(avctx, p)) { |
|
|
|
if ((ret = avctx->reget_buffer(avctx, p)) < 0) { |
|
|
|
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n"); |
|
|
|
return -1; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
p->reference = 1; |
|
|
|
p->pict_type = AV_PICTURE_TYPE_P; |
|
|
|
@@ -94,7 +94,7 @@ avs_decode_frame(AVCodecContext * avctx, |
|
|
|
} |
|
|
|
|
|
|
|
if (type != AVS_VIDEO) |
|
|
|
return -1; |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|
|
|
|
switch (sub_type) { |
|
|
|
case AVS_I_FRAME: |
|
|
|
@@ -116,7 +116,7 @@ avs_decode_frame(AVCodecContext * avctx, |
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
return -1; |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
|
|
|
|
if (buf_end - buf < 256 * vect_w * vect_h) |
|
|
|
|