Call avcodec_set_dimensions() instead of simply setting avctx->width/height
authorKostya Shishkov <kostya.shishkov@gmail.com>
Tue, 24 Nov 2009 06:05:41 +0000 (06:05 +0000)
committerReinhard Tartler <siretart@tauware.de>
Sat, 19 Feb 2011 16:07:58 +0000 (17:07 +0100)
when frame dimensions change in RV3/4.

Originally committed as revision 20595 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit d90aeeaf569e4a08c30b3d1d09c3cff3a86eb431)

libavcodec/rv34.c

index 9fe3919..4d8d968 100644 (file)
@@ -1247,8 +1247,9 @@ static int rv34_decode_slice(RV34DecContext *r, int end, const uint8_t* buf, int
         if(s->width != r->si.width || s->height != r->si.height){
             av_log(s->avctx, AV_LOG_DEBUG, "Changing dimensions to %dx%d\n", r->si.width,r->si.height);
             MPV_common_end(s);
-            s->width  = s->avctx->width  = r->si.width;
-            s->height = s->avctx->height = r->si.height;
+            s->width  = r->si.width;
+            s->height = r->si.height;
+            avcodec_set_dimensions(s->avctx, s->width, s->height);
             if(MPV_common_init(s) < 0)
                 return -1;
             r->intra_types_hist = av_realloc(r->intra_types_hist, s->b4_stride * 4 * 2 * sizeof(*r->intra_types_hist));