mpegvideo: release frame buffers before freeing them
authorJanne Grunau <janne-libav@jannau.net>
Wed, 19 Sep 2012 17:39:52 +0000 (19:39 +0200)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 19 Sep 2012 17:58:15 +0000 (19:58 +0200)
Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30.

libavcodec/mpegvideo.c

index e2e5276..4682ab1 100644 (file)
@@ -1104,14 +1104,15 @@ void ff_MPV_common_end(MpegEncContext *s)
     av_freep(&s->reordered_input_picture);
     av_freep(&s->dct_offset);
 
-    free_context_frame(s);
-
     if (s->picture && !s->avctx->internal->is_copy) {
         for (i = 0; i < s->picture_count; i++) {
             free_picture(s, &s->picture[i]);
         }
     }
     av_freep(&s->picture);
+
+    free_context_frame(s);
+
     s->context_initialized      = 0;
     s->last_picture_ptr         =
     s->next_picture_ptr         =