[Rawstudio-commit] r2958 - branches/rawstudio-ng-color/plugins/dcp

Klaus Post klauspost at gmail.com
Thu Dec 31 17:06:06 CET 2009


Author: post
Date: 2009-12-31 17:06:06 +0100 (Thu, 31 Dec 2009)
New Revision: 2958

Modified:
   branches/rawstudio-ng-color/plugins/dcp/dcp.c
Log:
Fix default tone curve.

Modified: branches/rawstudio-ng-color/plugins/dcp/dcp.c
===================================================================
--- branches/rawstudio-ng-color/plugins/dcp/dcp.c	2009-12-31 15:52:04 UTC (rev 2957)
+++ branches/rawstudio-ng-color/plugins/dcp/dcp.c	2009-12-31 16:06:06 UTC (rev 2958)
@@ -1066,11 +1066,21 @@
 	/* ProfileToneCurve */
 	dcp->tone_curve = rs_dcp_file_get_tonecurve(dcp_file);
 	if (!dcp->tone_curve)
-		dcp->tone_curve = rs_spline_new(adobe_default_table, adobe_default_table_size / 2, NATURAL);
-	if (dcp->tone_curve)
-		dcp->tone_curve_lut = rs_spline_sample(dcp->tone_curve, NULL, 65536);
-	/* FIXME: Free these at some point! */
+	{
+		gint i;
+		gint num_knots = adobe_default_table_size;
+		gfloat *knots = g_new0(gfloat, adobe_default_table_size * 2);
 
+		for(i = 0; i < adobe_default_table_size; i++)
+		{
+			knots[i*2] = (gfloat)i / (gfloat)adobe_default_table_size;
+			knots[i*2+1] = adobe_default_table[i];
+		}
+		dcp->tone_curve = rs_spline_new(knots, num_knots, NATURAL);
+		g_free(knots);
+	}
+	dcp->tone_curve_lut = rs_spline_sample(dcp->tone_curve, NULL, 65536);
+
 	/* ForwardMatrix */
 	dcp->has_forward_matrix1 = rs_dcp_file_get_forward_matrix1(dcp_file, &dcp->forward_matrix1);
 	dcp->has_forward_matrix2 = rs_dcp_file_get_forward_matrix2(dcp_file, &dcp->forward_matrix2);




More information about the Rawstudio-commit mailing list