Author: post
Date: 2010-01-16 13:03:51 +0100 (Sat, 16 Jan 2010)
New Revision: 3006

Modified:
   
branches/rawstudio-ng-color/plugins/colorspace-transform/colorspace_transform.c
Log:
Adjust integer colorspace conversion precision [part1/2].

Modified: 
branches/rawstudio-ng-color/plugins/colorspace-transform/colorspace_transform.c
===================================================================
--- 
branches/rawstudio-ng-color/plugins/colorspace-transform/colorspace_transform.c 
    2010-01-16 12:03:03 UTC (rev 3005)
+++ 
branches/rawstudio-ng-color/plugins/colorspace-transform/colorspace_transform.c 
    2010-01-16 12:03:51 UTC (rev 3006)
@@ -183,17 +183,17 @@
                                ( i[R] * mati.coeff[0][0]
                                + i[G] * mati.coeff[0][1]
                                + i[B] * mati.coeff[0][2]
-                               + 128 ) >> 8;
+                               + MATRIX_RESOLUTION_ROUNDER ) >> 
MATRIX_RESOLUTION;
                        g =
                                ( i[R] * mati.coeff[1][0]
                                + i[G] * mati.coeff[1][1]
                                + i[B] * mati.coeff[1][2]
-                               + 128 ) >> 8;
+                               + MATRIX_RESOLUTION_ROUNDER ) >> 
MATRIX_RESOLUTION;
                        b =
                                ( i[R] * mati.coeff[2][0]
                                + i[G] * mati.coeff[2][1]
                                + i[B] * mati.coeff[2][2]
-                               + 128 ) >> 8;
+                               + MATRIX_RESOLUTION_ROUNDER ) >> 
MATRIX_RESOLUTION;
 
                        r = CLAMP(r, 0, 65535);
                        g = CLAMP(g, 0, 65535);
@@ -209,7 +209,7 @@
 }
 
 static void
-transform16_c(gushort *input, gushort *output, gint num_pixels, const gint 
pixelsize, RS_MATRIX3 *matrix)
+transform16_c(gushort* __restrict input, gushort* __restrict output, gint 
num_pixels, const gint pixelsize, RS_MATRIX3 *matrix)
 {
        gint r,g,b;
        RS_MATRIX3Int mati;
@@ -222,17 +222,17 @@
                        ( input[R] * mati.coeff[0][0]
                        + input[G] * mati.coeff[0][1]
                        + input[B] * mati.coeff[0][2]
-                       + 128 ) >> 8;
+                       + MATRIX_RESOLUTION_ROUNDER ) >> MATRIX_RESOLUTION;
                g =
                        ( input[R] * mati.coeff[1][0]
                        + input[G] * mati.coeff[1][1]
                        + input[B] * mati.coeff[1][2]
-                       + 128 ) >> 8;
+                       + MATRIX_RESOLUTION_ROUNDER ) >> MATRIX_RESOLUTION;
                b =
                        ( input[R] * mati.coeff[2][0]
                        + input[G] * mati.coeff[2][1]
                        + input[B] * mati.coeff[2][2]
-                       + 128 ) >> 8;
+                       + MATRIX_RESOLUTION_ROUNDER ) >> MATRIX_RESOLUTION;
 
                r = CLAMP(r, 0, 65535);
                g = CLAMP(g, 0, 65535);


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

Reply via email to