[FFmpeg-soc] [soc]: r4132 - libavfilter/vf_scale.c

stefano subversion at mplayerhq.hu
Tue Feb 24 00:05:21 CET 2009


Author: stefano
Date: Tue Feb 24 00:05:20 2009
New Revision: 4132

Log:
Allocate a SwsContext in init(), then use sws_getCachedContext()
in config_props() against that already allocated context.

Modified:
   libavfilter/vf_scale.c

Modified: libavfilter/vf_scale.c
==============================================================================
--- libavfilter/vf_scale.c	Mon Feb 23 02:25:21 2009	(r4131)
+++ libavfilter/vf_scale.c	Tue Feb 24 00:05:20 2009	(r4132)
@@ -46,6 +46,9 @@ static av_cold int init(AVFilterContext 
     scale->w =
     scale->h = 0;
 
+    if (!(scale->sws = sws_getContext(16,16,0, 16,16,0, SWS_BILINEAR, NULL,NULL,NULL)))
+        return -1;
+
     if(args)
         sscanf(args, "%d:%d", &scale->w, &scale->h);
 
@@ -87,9 +90,6 @@ static int config_props(AVFilterLink *li
     ScaleContext *scale = link->src->priv;
     int w, h;
 
-    if(scale->sws)
-        sws_freeContext(scale->sws);
-
     w = scale->w;
     h = scale->h;
     if(!w)      w = link->src->inputs[0]->w;
@@ -98,7 +98,7 @@ static int config_props(AVFilterLink *li
     if(h == -1) h = scale->w*link->src->inputs[0]->h/link->src->inputs[0]->w;
 
     /* TODO: make algorithm configurable */
-    scale->sws = sws_getContext(link->src->inputs[0]->w,
+    scale->sws = sws_getCachedContext(scale->sws, link->src->inputs[0]->w,
                                 link->src->inputs[0]->h,
                                 link->src->inputs[0]->format,
                                 w, h, link->format, SWS_BILINEAR,



More information about the FFmpeg-soc mailing list