Ensure that exactly one scaler algo is used.
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 17 Jul 2008 22:01:18 +0000 (22:01 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 17 Jul 2008 22:01:18 +0000 (22:01 +0000)
Originally committed as revision 27317 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/swscale.c

index 60f11d6..fd6aeb2 100644 (file)
@@ -2014,6 +2014,23 @@ SwsContext *sws_getContext(int srcW, int srcH, int srcFormat, int dstW, int dstH
         return NULL;
     }
 
+    i= flags & ( SWS_POINT
+                |SWS_AREA
+                |SWS_FAST_BILINEAR
+                |SWS_BICUBIC
+                |SWS_X
+                |SWS_GAUSS
+                |SWS_LANCZOS
+                |SWS_SINC
+                |SWS_SPLINE
+                |SWS_BICUBLIN);
+    if(!i || (i & (i-1)))
+    {
+        av_log(NULL, AV_LOG_ERROR, "swScaler: Exactly one scaler algorithm must be choosen\n");
+        return NULL;
+    }
+
+
     /* sanity check */
     if (srcW<4 || srcH<1 || dstW<8 || dstH<1) //FIXME check if these are enough and try to lowwer them after fixing the relevant parts of the code
     {