Author: post
Date: 2010-08-08 16:49:36 +0200 (Sun, 08 Aug 2010)
New Revision: 3487

Modified:
   trunk/plugins/demosaic/demosaic.c
Log:
Avoid 2 multiplies by 3 when looking up pixel values in demosaic.

Modified: trunk/plugins/demosaic/demosaic.c
===================================================================
--- trunk/plugins/demosaic/demosaic.c   2010-08-08 14:36:00 UTC (rev 3486)
+++ trunk/plugins/demosaic/demosaic.c   2010-08-08 14:49:36 UTC (rev 3487)
@@ -399,6 +399,7 @@
   int row, col, c, d;
        int diffA, diffB, guessA, guessB;
        int p = image->pitch;
+       int p3 = p*3;
   gushort (*pix)[4];
 
   {
@@ -420,8 +421,8 @@
        diffB = ( ABS(pix[-2*p][c] - pix[ 0][c]) +
                    ABS(pix[ 2*p][c] - pix[ 0][c]) +
                    ABS(pix[  -p][1] - pix[ p][1]) ) * 3 +
-                 ( ABS(pix[ 3*p][1] - pix[ p][1]) +
-                   ABS(pix[-3*p][1] - pix[-p][1]) ) * 2;
+                 ( ABS(pix[ p3][1] - pix[ p][1]) +
+                   ABS(pix[-p3][1] - pix[-p][1]) ) * 2;
 
                if (diffA > diffB)
                        pix[0][1] = ULIM(guessB >> 2, pix[p][1], pix[-p][1]);


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to