[SCM] libav/experimental: swscale-example: Make selection of dstW, dstH, and flags more clear.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:50:12 UTC 2013


The following commit has been merged in the experimental branch:
commit 6b052ba88fd04c214eeb930e8088ca430dfa3a9e
Author: Ramiro Polla <ramiro.polla at gmail.com>
Date:   Mon Aug 17 02:06:00 2009 +0000

    swscale-example: Make selection of dstW, dstH, and flags more clear.
    
    Originally committed as revision 29527 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

diff --git a/libswscale/swscale-example.c b/libswscale/swscale-example.c
index 7ea4f51..a3d9357 100644
--- a/libswscale/swscale-example.c
+++ b/libswscale/swscale-example.c
@@ -182,12 +182,18 @@ static int doTest(uint8_t *ref[4], int refStride[4], int w, int h, int srcFormat
 
 static void selfTest(uint8_t *src[4], int stride[4], int w, int h)
 {
+    const int flags[] = { SWS_FAST_BILINEAR,
+                          SWS_BILINEAR, SWS_BICUBIC,
+                          SWS_X       , SWS_POINT  , SWS_AREA, 0 };
+    const int srcW = w;
+    const int srcH = h;
+    const int dstW[] = { srcW - srcW/3, srcW, srcW + srcW/3, 0 };
+    const int dstH[] = { srcH - srcH/3, srcH, srcH + srcH/3, 0 };
     enum PixelFormat srcFormat, dstFormat;
-    int srcW, srcH, dstW, dstH;
-    int flags;
 
     for (srcFormat = 0; srcFormat < PIX_FMT_NB; srcFormat++) {
         for (dstFormat = 0; dstFormat < PIX_FMT_NB; dstFormat++) {
+            int i, j, k;
             int res = 0;
 
             printf("%s -> %s\n",
@@ -195,13 +201,11 @@ static void selfTest(uint8_t *src[4], int stride[4], int w, int h)
                    sws_format_name(dstFormat));
             fflush(stdout);
 
-            srcW= w;
-            srcH= h;
-            for (dstW=w - w/3; !res && dstW<= 4*w/3; dstW+= w/3)
-                for (dstH=h - h/3; !res && dstH<= 4*h/3; dstH+= h/3)
-                    for (flags=1; !res && flags<33; flags*=2)
+            for (i = 0; dstW[i] && !res; i++)
+                for (j = 0; dstH[j] && !res; j++)
+                    for (k = 0; flags[k] && !res; k++)
                         res = doTest(src, stride, w, h, srcFormat, dstFormat,
-                                     srcW, srcH, dstW, dstH, flags);
+                                     srcW, srcH, dstW[i], dstH[j], flags[k]);
         }
     }
 }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list