[gegl] operations/external/raw-load: Improve the fidelity of the decoding



commit 2ca38acae33fe9db4883849bf194157de2d5594f
Author: Debarshi Ray <debarshir gnome org>
Date:   Sat Feb 4 18:06:42 2017 +0100

    operations/external/raw-load: Improve the fidelity of the decoding
    
    The output of the RAW loader is visibly different from that of similar
    applications like Darktable and Shotwell. The decoded pixels are also
    substantially different from their camera generated JPEG counterparts.
    Let's address this by using similar parameters as Shotwell to configure
    LibRaw.
    
    Unlike Shotwell, we set the gamma values to (1.0, 1.0) for a linear
    curve since our output format is linear RGB. Shotwell's use of
    libraw_output_params_t.use_camera_matrix turned out to be ambiguous,
    so, for the time being, we have opted for the default value.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778183

 operations/external/raw-load.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/operations/external/raw-load.c b/operations/external/raw-load.c
index dedb620..8fac0f7 100644
--- a/operations/external/raw-load.c
+++ b/operations/external/raw-load.c
@@ -99,9 +99,20 @@ prepare (GeglOperation *operation)
         {
           p->LibRaw->params.shot_select = o->image_num;
     
+          p->LibRaw->params.aber[0] = 1.0;
+          p->LibRaw->params.aber[2] = 1.0;
           p->LibRaw->params.gamm[0] = 1.0;
           p->LibRaw->params.gamm[1] = 1.0;
+          p->LibRaw->params.bright = 1.0f;
+          p->LibRaw->params.half_size = FALSE;
+          p->LibRaw->params.highlight = 0;
+          p->LibRaw->params.use_auto_wb = TRUE;
+          p->LibRaw->params.use_camera_wb = TRUE;
+          p->LibRaw->params.use_camera_matrix = 1;
+          p->LibRaw->params.user_flip = 0;
           p->LibRaw->params.no_auto_bright = 1;
+          p->LibRaw->params.auto_bright_thr = 0.01f;
+          p->LibRaw->params.use_fuji_rotate = -1;
 
           p->LibRaw->params.output_bps = 16;
           p->LibRaw->params.user_qual = o->quality;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]