Author: post
Date: 2010-01-16 14:15:43 +0100 (Sat, 16 Jan 2010)
New Revision: 3007

Modified:
   branches/rawstudio-ng-color/src/rs-preview-widget.c
Log:
Move cache filter above "input_transform", since "input_transform" wrongly 
assumes that it receives Prophoto RGB. 

This corrupts the cache, since "make_cbdata" requests sRGB data, and 
"input_transform" then does a wrong Prophoto->sRGB conversion, which not only 
is used by make_cbdata, but also cached for display-rendering.

Backside of this temporary "fix" is that any ICC profile will have to be 
applied every time any color adjustment is made.

Modified: branches/rawstudio-ng-color/src/rs-preview-widget.c
===================================================================
--- branches/rawstudio-ng-color/src/rs-preview-widget.c 2010-01-16 12:03:51 UTC 
(rev 3006)
+++ branches/rawstudio-ng-color/src/rs-preview-widget.c 2010-01-16 13:15:43 UTC 
(rev 3007)
@@ -346,9 +346,10 @@
        for(i=0;i<MAX_VIEWS;i++)
        {
                preview->filter_resample[i] = rs_filter_new("RSResample", NULL);
-               preview->filter_transform_input[i] = 
rs_filter_new("RSColorspaceTransform", preview->filter_resample[i]);
-               preview->filter_cache1[i] = rs_filter_new("RSCache", 
preview->filter_transform_input[i]);
-               preview->filter_dcp[i] = rs_filter_new("RSDcp", 
preview->filter_cache1[i]);
+               /* Careful - "make_cbdata" grabs data from "filter_cache1" */
+               preview->filter_cache1[i] = rs_filter_new("RSCache", 
preview->filter_resample[i]);
+               preview->filter_transform_input[i] = 
rs_filter_new("RSColorspaceTransform", preview->filter_cache1[i]);
+               preview->filter_dcp[i] = rs_filter_new("RSDcp", 
preview->filter_transform_input[i]);
                preview->filter_cache2[i] = rs_filter_new("RSCache", 
preview->filter_dcp[i]);
                preview->filter_denoise[i] = rs_filter_new("RSDenoise", 
preview->filter_cache2[i]);
                preview->filter_transform_display[i] = 
rs_filter_new("RSColorspaceTransform", preview->filter_denoise[i]);


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

Reply via email to