[FFmpeg-cvslog] swscale: delay allocation of formatConvBuffer().

Ronald S. Bultje git at videolan.org
Fri May 27 23:57:14 CEST 2011


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Fri May 27 12:23:32 2011 -0400| [389e2000ebc299b9da24f7e5faf9a68a88f9ee7c] | committer: Ronald S. Bultje

swscale: delay allocation of formatConvBuffer().

That means it won't be allocated when not needed. Alongside
this, it fixes valgrind/fate-detected memory leaks.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=389e2000ebc299b9da24f7e5faf9a68a88f9ee7c
---

 libswscale/utils.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libswscale/utils.c b/libswscale/utils.c
index 15ed9d1..571f45b 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -791,7 +791,6 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
                srcW, srcH, dstW, dstH);
         return AVERROR(EINVAL);
     }
-    FF_ALLOC_OR_GOTO(c, c->formatConvBuffer, FFALIGN(srcW, 16) * 2, fail);
 
     if (!dstFilter) dstFilter= &dummyFilter;
     if (!srcFilter) srcFilter= &dummyFilter;
@@ -847,6 +846,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
         }
     }
 
+    FF_ALLOC_OR_GOTO(c, c->formatConvBuffer, FFALIGN(srcW, 16) * 2, fail);
     if (HAVE_MMX2 && cpu_flags & AV_CPU_FLAG_MMX2) {
         c->canMMX2BeUsed= (dstW >=srcW && (dstW&31)==0 && (srcW&15)==0) ? 1 : 0;
         if (!c->canMMX2BeUsed && dstW >=srcW && (srcW&15)==0 && (flags&SWS_FAST_BILINEAR)) {



More information about the ffmpeg-cvslog mailing list