]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rv10.c
avcodec/vp9: make last_invisible local.
[ffmpeg] / libavcodec / rv10.c
index 52065336332bf25e7a3d3f80c0df7849396aa594..120a6d99a7f157ff04161b0f2297ab228d576af6 100644 (file)
@@ -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)
@@ -497,6 +500,7 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx)
     if ((ret = ff_MPV_common_init(s)) < 0)
         return ret;
 
+    ff_h263dsp_init(&s->h263dsp);
     ff_h263_decode_init_vlc();
 
     /* init rv vlc */