diff options
Diffstat (limited to 'libavcodec/rv10.c')
-rw-r--r-- | libavcodec/rv10.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 5206533633..57ebdc577c 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -28,6 +28,7 @@ #include "libavutil/imgutils.h" #include "avcodec.h" #include "error_resilience.h" +#include "internal.h" #include "mpegvideo.h" #include "mpeg4video.h" #include "h263.h" @@ -363,8 +364,6 @@ static int rv20_decode_picture_header(RVDecContext *rv) AVRational old_aspect = s->avctx->sample_aspect_ratio; av_log(s->avctx, AV_LOG_DEBUG, "attempting to change resolution to %dx%d\n", new_w, new_h); - if (av_image_check_size(new_w, new_h, 0, s->avctx) < 0) - return AVERROR_INVALIDDATA; ff_MPV_common_end(s); // attempt to keep aspect during typical resolution switches @@ -374,7 +373,11 @@ static int rv20_decode_picture_header(RVDecContext *rv) s->avctx->sample_aspect_ratio = av_mul_q(old_aspect, (AVRational){2, 1}); if (new_w * s->height == 2 * new_h * s->width) s->avctx->sample_aspect_ratio = av_mul_q(old_aspect, (AVRational){1, 2}); - avcodec_set_dimensions(s->avctx, new_w, new_h); + + ret = ff_set_dimensions(s->avctx, new_w, new_h); + if (ret < 0) + return ret; + s->width = new_w; s->height = new_h; if ((ret = ff_MPV_common_init(s)) < 0) |