[Rawstudio-commit] r3178 - trunk/plugins/dcp

Anders Brander anders at brander.dk
Fri Feb 12 22:22:01 CET 2010


Author: abrander
Date: 2010-02-12 22:22:00 +0100 (Fri, 12 Feb 2010)
New Revision: 3178

Modified:
   trunk/plugins/dcp/dcp.c
   trunk/plugins/dcp/dcp.h
Log:
Simply relay premultipliers in RSDcp if no DCP profile is used.

Modified: trunk/plugins/dcp/dcp.c
===================================================================
--- trunk/plugins/dcp/dcp.c	2010-02-12 21:19:15 UTC (rev 3177)
+++ trunk/plugins/dcp/dcp.c	2010-02-12 21:22:00 UTC (rev 3178)
@@ -153,15 +153,14 @@
 			NULL);
 
 		RS_xy_COORD whitepoint;
-		RS_VECTOR3 pre_mul;
 		/* This is messy, but we're essentially converting from warmth/tint to cameraneutral */
-        pre_mul.x = (1.0+warmth)*(2.0-tint);
-        pre_mul.y = 1.0;
-        pre_mul.z = (1.0-warmth)*(2.0-tint);
+        dcp->pre_mul.x = (1.0+warmth)*(2.0-tint);
+        dcp->pre_mul.y = 1.0;
+        dcp->pre_mul.z = (1.0-warmth)*(2.0-tint);
 		RS_VECTOR3 neutral;
-		neutral.x = 1.0 / CLAMP(pre_mul.x, 0.001, 100.00);
-		neutral.y = 1.0 / CLAMP(pre_mul.y, 0.001, 100.00);
-		neutral.z = 1.0 / CLAMP(pre_mul.z, 0.001, 100.00);
+		neutral.x = 1.0 / CLAMP(dcp->pre_mul.x, 0.001, 100.00);
+		neutral.y = 1.0 / CLAMP(dcp->pre_mul.y, 0.001, 100.00);
+		neutral.z = 1.0 / CLAMP(dcp->pre_mul.z, 0.001, 100.00);
 		gfloat max = vector3_max(&neutral);
 		neutral.x = neutral.x / max;
 		neutral.y = neutral.y / max;
@@ -410,9 +409,10 @@
 	if (!dcp->use_profile)
 	{
 		gfloat premul[4] = {1.0, 1.0, 1.0, 1.0};
-		premul[0] = 1.0 / dcp->camera_white.x;
-		premul[1] = 1.0 / dcp->camera_white.y;
-		premul[2] = 1.0 / dcp->camera_white.z;
+		premul[0] = dcp->pre_mul.x;
+		premul[1] = dcp->pre_mul.y;
+		premul[2] = dcp->pre_mul.z;
+
 		rs_filter_param_set_float4(RS_FILTER_PARAM(request_clone), "premul", premul);
 	}
 

Modified: trunk/plugins/dcp/dcp.h
===================================================================
--- trunk/plugins/dcp/dcp.h	2010-02-12 21:19:15 UTC (rev 3177)
+++ trunk/plugins/dcp/dcp.h	2010-02-12 21:22:00 UTC (rev 3178)
@@ -55,6 +55,7 @@
 	gfloat channelmixer_green;
 	gfloat channelmixer_blue;
 
+	RS_VECTOR3 pre_mul;
 	RS_xy_COORD white_xy;
 
 	gint nknots;




More information about the Rawstudio-commit mailing list