Author: post
Date: 2010-10-12 23:59:07 +0200 (Tue, 12 Oct 2010)
New Revision: 3551
Modified:
trunk/plugins/dcp/dcp.c
Log:
Avoid banding by curve tool by using correctly interleaved data for
interpolation.
Modified: trunk/plugins/dcp/dcp.c
===================================================================
--- trunk/plugins/dcp/dcp.c 2010-10-12 17:49:12 UTC (rev 3550)
+++ trunk/plugins/dcp/dcp.c 2010-10-12 21:59:07 UTC (rev 3551)
@@ -226,9 +226,11 @@
value = powf(value, 2.2f);
/* Store in table */
- dcp->curve_samples[i*2] =
dcp->curve_samples[i*2+1] = value;
+ if (i>0)
+
dcp->curve_samples[i*2-1] = value;
+ dcp->curve_samples[i*2] = value;
}
- dcp->curve_samples[256*2] =
dcp->curve_samples[256*2+1] = dcp->curve_samples[255*2];
+ dcp->curve_samples[256*2-1] =
dcp->curve_samples[256*2] = dcp->curve_samples[256*2+1] =
dcp->curve_samples[255*2];
}
}
if (knots)
@@ -1285,9 +1287,11 @@
gfloat *tc = rs_spline_sample(dcp->tone_curve, NULL, 1024);
for (i=0; i< 1024; i++)
{
- dcp->tone_curve_lut[i*2] = dcp->tone_curve_lut[i*2+1] = tc[i];
+ if (i>0)
+ dcp->tone_curve_lut[i*2-1] = tc[i];
+ dcp->tone_curve_lut[i*2] = tc[i];
}
- dcp->tone_curve_lut[1024*2] = dcp->tone_curve_lut[1024*2+1] = tc[1023];
+ dcp->tone_curve_lut[1024*2-1] = dcp->tone_curve_lut[1024*2] =
dcp->tone_curve_lut[1024*2+1] = tc[1023];
g_free(tc);
/* ForwardMatrix */
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit