From 389e2000ebc299b9da24f7e5faf9a68a88f9ee7c Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Fri, 27 May 2011 12:23:32 -0400 Subject: [PATCH] swscale: delay allocation of formatConvBuffer(). That means it won't be allocated when not needed. Alongside this, it fixes valgrind/fate-detected memory leaks. --- libswscale/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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)) { -- 2.7.4