On 2012-09-19 20:18:14 +0300, Martin Storsj?? wrote:
> On Wed, 19 Sep 2012, Janne Grunau  wrote:
> 
> > Module: libav
> > Branch: master
> > Commit: 1b3439b3055b083df51d7f7838ecc6b3f708b15c
> >
> > Author:    Janne Grunau <[email protected]>
> > Committer: Janne Grunau <[email protected]>
> > Date:      Wed Sep  5 16:34:05 2012 +0200
> >
> > mpegvideo: move frame size dependent memory management to separate functions
> >
> > This is a preparation for supporting frame size changes during
> > frame-based multithreading.
> 
> This commit broke running fate with -DDEBUG, 
> http://fate.libav.org/x86_64-linux-DDEBUG.

Indeed. Failing rightfully over an assert, following patch fixes it.

Janne
---8<---
Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30.
---
 libavcodec/mpegvideo.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index d309a2f..5033135 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1113,14 +1113,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         =
-- 
1.7.12

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to