Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv15150

Modified Files:
        configure.ac ufraw.h ufraw_conf.c ufraw_preview.c 
        ufraw_ufraw.c ufraw_ui.h 
Log Message:
Disable despeckle until the interface has been fixed for 4-color cameras. It 
can be enabled by the --enable-despeckle configuration option.

Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.348
retrieving revision 1.349
diff -u -d -r1.348 -r1.349
--- ufraw_preview.c     16 Mar 2010 21:36:50 -0000      1.348
+++ ufraw_preview.c     30 Mar 2010 02:45:24 -0000      1.349
@@ -580,6 +580,7 @@
        guint8 *p8 = pixies + yy*rowstride;
        memcpy(p8, displayPixies + yy*displayImage->rowstride,
                width*displayImage->depth);
+#ifdef UFRAW_DESPECKLE
        if (data->ChannelSelect >= 0) {
            guint8 *p = p8;
            for (xx = 0; xx < width; xx++, p += 3) {
@@ -587,6 +588,7 @@
                p[0] = p[1] = p[2] = px;
            }
        }
+#endif
        guint8 *p8working = workingPixies + yy*workingImage->rowstride;
        for (xx=x; xx<x+width; xx++, p8+=3, p8working+=workingImage->depth) {
            if ( data->SpotDraw &&
@@ -1471,7 +1473,9 @@
 }
 
 static void update_shrink_ranges(preview_data *data);
+#ifdef UFRAW_DESPECKLE
 static void despeckle_update_sensitive(preview_data *data);
+#endif
 
 /* update the UI entries that could have changed automatically */
 static void update_scales(preview_data *data)
@@ -1540,6 +1544,7 @@
     for (i = 0; i < 3; ++i)
         gtk_adjustment_set_value(data->GrayscaleMixers[i],
                CFG->grayscaleMixer[i]);
+#ifdef UFRAW_DESPECKLE
     for (i = 0; i < 3; ++i) {
         gtk_adjustment_set_value(data->DespeckleWindowAdj[i],
                CFG->despeckleWindow[i]);
@@ -1548,6 +1553,7 @@
         gtk_adjustment_set_value(data->DespecklePassesAdj[i],
                CFG->despecklePasses[i]);
     }
+#endif
     for (i = 0; i < CFG->lightnessAdjustmentCount; ++i) {
        gtk_adjustment_set_value(data->LightnessAdjustment[i],
            CFG->lightnessAdjustment[i].adjustment);
@@ -1560,7 +1566,9 @@
        || (CFG->grayscaleMixer[2] != conf_default.grayscaleMixer[2]));
     gtk_widget_set_sensitive(GTK_WIDGET(data->GrayscaleMixerTable),
            CFG->grayscaleMode == grayscale_mixer);
+#ifdef UFRAW_DESPECKLE
     despeckle_update_sensitive(data);
+#endif
 
     for (max = 1, i = 0; i < 3; ++i)
         max = MAX(max, CFG->grayscaleMixer[i]);
@@ -2670,6 +2678,7 @@
         CFG->grayscaleMixer[1] = conf_default.grayscaleMixer[1];
         CFG->grayscaleMixer[2] = conf_default.grayscaleMixer[2];
     }
+#ifdef UFRAW_DESPECKLE
     if (button==data->ResetDespeckleButton) {
        memcpy(CFG->despeckleWindow, conf_default.despeckleWindow,
                sizeof (CFG->despeckleWindow));
@@ -2679,6 +2688,7 @@
                sizeof (CFG->despecklePasses));
        ufraw_invalidate_despeckle_layer(data->UF);
     }
+#endif
     for (i = 0; i < max_adjustments; ++i) {
        if (button == data->ResetLightnessAdjustmentButton[i]) {
            CFG->lightnessAdjustment[i].adjustment = 1.0;
@@ -2787,6 +2797,7 @@
             ufraw_invalidate_layer(data->UF, ufraw_develop_phase);
            update_scales(data);
        }
+#ifdef UFRAW_DESPECKLE
     } else if (valuep==(void*)data->ChannelSelectButton) {
        if (data->ChannelSelect >= -1) {
            int i, b = 0;
@@ -2806,6 +2817,7 @@
            ufraw_invalidate_layer(data->UF, ufraw_develop_phase);
            render_preview(data);
        }
+#endif
     } else {
        *valuep = gtk_toggle_button_get_active(button);
        if ( valuep==&CFG->overExp || valuep==&CFG->underExp ) {
@@ -2857,6 +2869,7 @@
     }
 }
 
+#ifdef UFRAW_DESPECKLE
 static void despeckle_update_sensitive(preview_data *data)
 {
     conf_data *c = CFG;
@@ -2948,6 +2961,7 @@
     }
     return match ? TRUE : FALSE;
 }
+#endif
 
 static void adjustment_update(GtkAdjustment *adj, double *valuep)
 {
@@ -2991,8 +3005,10 @@
        ufraw_invalidate_denoise_layer(data->UF);
     } else if (valuep==&CFG->hotpixel) {
        ufraw_invalidate_hotpixel_layer(data->UF);
+#ifdef UFRAW_DESPECKLE
     } else if (despeckle_adjustment_update(data, valuep)) {
        return;
+#endif
     } else {
         if (CFG->autoExposure==enabled_state) CFG->autoExposure = apply_state;
         if (CFG->autoBlack==enabled_state) CFG->autoBlack = apply_state;
@@ -4031,9 +4047,11 @@
     preview_data *data = get_preview_data(notebook);
     if (data->FreezeDialog==TRUE) return;
 
+#ifdef UFRAW_DESPECKLE
     if (data->ChannelSelect >= 0)
        gtk_toggle_button_set_active(
                data->ChannelSelectButton[data->ChannelSelect], FALSE);
+#endif
     GtkWidget *event_box =
            gtk_widget_get_ancestor(data->PreviewWidget, GTK_TYPE_EVENT_BOX);
     if ( page_num==data->PageNumSpot ||
@@ -4567,6 +4585,7 @@
     /* End of Grayscale page */
 }
 
+#ifdef UFRAW_DESPECKLE
 static void denoise_fill_interface(preview_data *data, GtkWidget *page)
 {
     GtkWidget *button, *label, *icon;
@@ -4665,6 +4684,7 @@
        gtk_table_attach(table, button, 6 + i, 6 + i + 1, 3, 4, GTK_FILL, 0, 0, 
0);
     }
 }
+#endif
 
 static void basecurve_fill_interface(preview_data *data, GtkWidget *page,
        int curveeditorHeight)
@@ -5555,8 +5575,10 @@
     data->PageNumGray = gtk_notebook_page_num(notebook, page);
     grayscale_fill_interface(data, page);
 
+#ifdef UFRAW_DESPECKLE
     // page = notebook_page_new(notebook, _("Denoising"), "denoise");
     denoise_fill_interface(data, page);
+#endif
 
 #ifdef HAVE_LENSFUN
     /* Lens correction page */

Index: ufraw.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw.h,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -d -r1.156 -r1.157
--- ufraw.h     4 Mar 2010 05:08:21 -0000       1.156
+++ ufraw.h     30 Mar 2010 02:45:24 -0000      1.157
@@ -250,9 +250,11 @@
     lightness_adjustment lightnessAdjustment[max_adjustments];
     int grayscaleMode;
     double grayscaleMixer[3];
+#ifdef UFRAW_DESPECKLE
     double despeckleWindow[3];
     double despeckleDecay[3];
     double despecklePasses[3];
+#endif
 
     /* SAVE options */
     char inputFilename[max_path], outputFilename[max_path],
@@ -378,7 +380,9 @@
 void ufraw_invalidate_hotpixel_layer(ufraw_data *uf);
 void ufraw_invalidate_denoise_layer(ufraw_data *uf);
 void ufraw_invalidate_darkframe_layer(ufraw_data *uf);
+#ifdef UFRAW_DESPECKLE
 void ufraw_invalidate_despeckle_layer(ufraw_data *uf);
+#endif
 void ufraw_invalidate_whitebalance_layer(ufraw_data *uf);
 void ufraw_invalidate_smoothing_layer(ufraw_data *uf);
 int ufraw_set_wb(ufraw_data *uf);

Index: configure.ac
===================================================================
RCS file: /cvsroot/ufraw/ufraw/configure.ac,v
retrieving revision 1.154
retrieving revision 1.155
diff -u -d -r1.154 -r1.155
--- configure.ac        26 Mar 2010 18:45:06 -0000      1.154
+++ configure.ac        30 Mar 2010 02:45:24 -0000      1.155
@@ -339,6 +339,13 @@
   enable_contrast=no)
 AC_MSG_RESULT($enable_contrast)
 
+AC_MSG_CHECKING(whether to enable despeckle)
+AC_ARG_ENABLE(despeckle,
+  [  --enable-despeckle      enable despeckle],
+  AC_DEFINE(UFRAW_DESPECKLE, 1, Despeckle enabled),
+  enable_despeckle=no)
+AC_MSG_RESULT($enable_despeckle)
+
 AC_MSG_CHECKING(whether to enable 'None' interpolation)
 AC_ARG_ENABLE(interp_none,
   [  --enable-interp-none    enable 'None' interpolation (mostly for 
debugging)],

Index: ufraw_conf.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_conf.c,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -d -r1.167 -r1.168
--- ufraw_conf.c        4 Mar 2010 05:08:21 -0000       1.167
+++ ufraw_conf.c        30 Mar 2010 02:45:24 -0000      1.168
@@ -83,9 +83,11 @@
     }, /* lightness adjustments */
     grayscale_none, /* grayscale mode */
     { 1.0, 1.0, 1.0 }, /* grayscale mixer */
+#ifdef UFRAW_DESPECKLE
     { 0.0, 0.0, 0.0 }, /* despeckle window */
     { 0.0, 0.0, 0.0 }, /* despeckle color decay */
     { 1.0, 1.0, 1.0 }, /* despeckle passes */
+#endif
     /* Save options */
     "", "", "", /* inputFilename, outputFilename, outputPath */
     "", "", /* inputURI, inputModTime */
@@ -686,6 +688,7 @@
         sscanf(temp, "%lf %lf %lf", &c->grayscaleMixer[0],
               &c->grayscaleMixer[1], &c->grayscaleMixer[2]);
     }
+#ifdef UFRAW_DESPECKLE
     if ( strcmp("DespeckleWindow", element)==0 ) {
         sscanf(temp, "%lf %lf %lf", &c->despeckleWindow[0],
               &c->despeckleWindow[1], &c->despeckleWindow[2]);
@@ -698,6 +701,7 @@
         sscanf(temp, "%lf %lf %lf", &c->despecklePasses[0],
               &c->despecklePasses[1], &c->despecklePasses[2]);
     }
+#endif
     /* OutputIntent replaces Intent starting from ufraw-0.12. */
     if ( strcmp("OutputIntent", element)==0 )
        c->intent[out_profile] = conf_find_name(temp, intentNames,
@@ -1028,6 +1032,7 @@
                c->grayscaleMixer[1],
                c->grayscaleMixer[2]);
     }
+#ifdef UFRAW_DESPECKLE
     if (c->despeckleWindow[0] != conf_default.despeckleWindow[0] ||
         c->despeckleWindow[1] != conf_default.despeckleWindow[1] ||
         c->despeckleWindow[2] != conf_default.despeckleWindow[2]) {
@@ -1046,6 +1051,7 @@
        buf = uf_markup_buf(buf, "<DespecklePasses>%f %f 
%f</DespecklePasses>\n",
                c->despecklePasses[0], c->despecklePasses[1], 
c->despecklePasses[2]);
     }
+#endif
     if (c->size!=conf_default.size)
        buf = uf_markup_buf(buf, "<Size>%d</Size>\n", c->size);
     if (c->shrink!=conf_default.shrink)
@@ -1295,9 +1301,11 @@
     dst->grayscaleMode = src->grayscaleMode;
     memcpy(dst->grayscaleMixer, src->grayscaleMixer,
           sizeof dst->grayscaleMixer);
+#ifdef UFRAW_DESPECKLE
     memcpy(dst->despeckleWindow, src->despeckleWindow, sizeof 
(dst->despeckleWindow));
     memcpy(dst->despeckleDecay, src->despeckleDecay, sizeof 
(dst->despeckleDecay));
     memcpy(dst->despecklePasses, src->despecklePasses, sizeof 
(dst->despecklePasses));
+#endif
     g_strlcpy(dst->darkframeFile, src->darkframeFile, max_path);
     /* We only copy the current BaseCurve */
     if (src->BaseCurveIndex<=camera_curve) {

Index: ufraw_ufraw.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v
retrieving revision 1.249
retrieving revision 1.250
diff -u -d -r1.249 -r1.250
--- ufraw_ufraw.c       4 Mar 2010 04:52:32 -0000       1.249
+++ ufraw_ufraw.c       30 Mar 2010 02:45:24 -0000      1.250
@@ -951,6 +951,7 @@
     uf->hotpixels = count;
 }
 
+#ifdef UFRAW_DESPECKLE
 static void ufraw_despeckle_line(guint16 *base, int step, int size, int window,
        double decay, int colors, int c)
 {
@@ -1063,6 +1064,7 @@
     }
     return active;
 }
+#endif
 
 static int ufraw_calculate_scale(ufraw_data *uf)
 {
@@ -1147,7 +1149,9 @@
     dcraw_wavelet_denoise(raw, uf->conf->threshold * sqrt(uf->raw_multiplier));
     dcraw_finalize_raw(raw, dark, uf->developer->rgbWB);
     raw->raw.image = rawimage;
+#ifdef UFRAW_DESPECKLE
     ufraw_despeckle(uf, phase);
+#endif
 #ifdef HAVE_LENSFUN
     ufraw_prepare_tca(uf);
     if (uf->TCAmodifier != NULL) {
@@ -1825,10 +1829,12 @@
     ufraw_invalidate_layer(uf, ufraw_raw_phase);
 }
 
+#ifdef UFRAW_DESPECKLE
 void ufraw_invalidate_despeckle_layer(ufraw_data *uf)
 {
     ufraw_invalidate_layer(uf, ufraw_raw_phase);
 }
+#endif
 
 /*
  * This one is special. The raw layer applies WB in preparation for optimal
@@ -1842,9 +1848,11 @@
     uf->Images[ufraw_raw_phase].valid = 0;
     uf->Images[ufraw_raw_phase].invalidate_event = TRUE;
 
+#ifdef UFRAW_DESPECKLE
     /* Despeckling is sensitive for WB changes because it is nonlinear. */
     if (ufraw_despeckle_active(uf))
        ufraw_invalidate_despeckle_layer(uf);
+#endif
 }
 
 /*

Index: ufraw_ui.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_ui.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- ufraw_ui.h  4 Mar 2010 05:08:22 -0000       1.41
+++ ufraw_ui.h  30 Mar 2010 02:45:24 -0000      1.42
@@ -70,7 +70,9 @@
 #endif
     GtkWidget *ResetBlackButton, *ResetBaseCurveButton, *ResetCurveButton;
     GtkWidget *ResetGrayscaleChannelMixerButton;
+#ifdef UFRAW_DESPECKLE
     GtkWidget *ResetDespeckleButton;
+#endif
     GtkWidget *SaveButton;
     GtkWidget *ControlButton[num_buttons];
     guint16 ButtonMnemonic[num_buttons];
@@ -109,12 +111,14 @@
     GtkAdjustment *RotationAdjustment;
     GtkWidget *ResetRotationAdjustment;
     GtkAdjustment *GrayscaleMixers[3];
+#ifdef UFRAW_DESPECKLE
     GtkAdjustment *DespeckleWindowAdj[3];
     GtkAdjustment *DespeckleDecayAdj[3];
     GtkAdjustment *DespecklePassesAdj[3];
     GtkToggleButton *DespeckleLockChannelsButton;
     GtkToggleButton *ChannelSelectButton[3];
     int ChannelSelect;
+#endif
 #ifdef HAVE_LENSFUN
     /* The GtkEntry with camera maker/model name */
     GtkWidget *CameraModel;


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to