| @@ -28,6 +28,7 @@ | |||||
| #include "avcodec.h" | #include "avcodec.h" | ||||
| #include "get_bits.h" | #include "get_bits.h" | ||||
| #include "internal.h" | |||||
| #include "vp56.h" | #include "vp56.h" | ||||
| #include "vp56data.h" | #include "vp56data.h" | ||||
| @@ -67,7 +68,9 @@ static int vp5_parse_header(VP56Context *s, const uint8_t *buf, int buf_size, | |||||
| if (!s->macroblocks || /* first frame */ | if (!s->macroblocks || /* first frame */ | ||||
| 16*cols != s->avctx->coded_width || | 16*cols != s->avctx->coded_width || | ||||
| 16*rows != s->avctx->coded_height) { | 16*rows != s->avctx->coded_height) { | ||||
| avcodec_set_dimensions(s->avctx, 16*cols, 16*rows); | |||||
| int ret = ff_set_dimensions(s->avctx, 16 * cols, 16 * rows); | |||||
| if (ret < 0) | |||||
| return ret; | |||||
| return VP56_SIZE_CHANGE; | return VP56_SIZE_CHANGE; | ||||
| } | } | ||||
| } else if (!s->macroblocks) | } else if (!s->macroblocks) | ||||
| @@ -470,7 +470,7 @@ static int vp56_size_changed(AVCodecContext *avctx) | |||||
| s->mb_height = (avctx->coded_height+15) / 16; | s->mb_height = (avctx->coded_height+15) / 16; | ||||
| if (s->mb_width > 1000 || s->mb_height > 1000) { | if (s->mb_width > 1000 || s->mb_height > 1000) { | ||||
| avcodec_set_dimensions(avctx, 0, 0); | |||||
| ff_set_dimensions(avctx, 0, 0); | |||||
| av_log(avctx, AV_LOG_ERROR, "picture too big\n"); | av_log(avctx, AV_LOG_ERROR, "picture too big\n"); | ||||
| return -1; | return -1; | ||||
| } | } | ||||
| @@ -528,7 +528,7 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, | |||||
| for (i = 0; i < 4; i++) | for (i = 0; i < 4; i++) | ||||
| av_frame_unref(s->frames[i]); | av_frame_unref(s->frames[i]); | ||||
| if (is_alpha) { | if (is_alpha) { | ||||
| avcodec_set_dimensions(avctx, 0, 0); | |||||
| ff_set_dimensions(avctx, 0, 0); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| } | } | ||||
| @@ -32,6 +32,7 @@ | |||||
| #include "avcodec.h" | #include "avcodec.h" | ||||
| #include "get_bits.h" | #include "get_bits.h" | ||||
| #include "huffman.h" | #include "huffman.h" | ||||
| #include "internal.h" | |||||
| #include "vp56.h" | #include "vp56.h" | ||||
| #include "vp56data.h" | #include "vp56data.h" | ||||
| @@ -93,7 +94,10 @@ static int vp6_parse_header(VP56Context *s, const uint8_t *buf, int buf_size, | |||||
| s->avctx->coded_width = 16 * cols; | s->avctx->coded_width = 16 * cols; | ||||
| s->avctx->coded_height = 16 * rows; | s->avctx->coded_height = 16 * rows; | ||||
| } else { | } else { | ||||
| avcodec_set_dimensions(s->avctx, 16 * cols, 16 * rows); | |||||
| int ret = ff_set_dimensions(s->avctx, 16 * cols, 16 * rows); | |||||
| if (ret < 0) | |||||
| return ret; | |||||
| if (s->avctx->extradata_size == 1) { | if (s->avctx->extradata_size == 1) { | ||||
| s->avctx->width -= s->avctx->extradata[0] >> 4; | s->avctx->width -= s->avctx->extradata[0] >> 4; | ||||
| s->avctx->height -= s->avctx->extradata[0] & 0x0F; | s->avctx->height -= s->avctx->extradata[0] & 0x0F; | ||||
| @@ -154,7 +158,7 @@ static int vp6_parse_header(VP56Context *s, const uint8_t *buf, int buf_size, | |||||
| buf_size -= coeff_offset; | buf_size -= coeff_offset; | ||||
| if (buf_size < 0) { | if (buf_size < 0) { | ||||
| if (s->frames[VP56_FRAME_CURRENT]->key_frame) | if (s->frames[VP56_FRAME_CURRENT]->key_frame) | ||||
| avcodec_set_dimensions(s->avctx, 0, 0); | |||||
| ff_set_dimensions(s->avctx, 0, 0); | |||||
| return AVERROR_INVALIDDATA; | return AVERROR_INVALIDDATA; | ||||
| } | } | ||||
| if (s->use_huffman) { | if (s->use_huffman) { | ||||