Author: akv
Date: 2009-11-15 22:37:51 +0100 (Sun, 15 Nov 2009)
New Revision: 2742

Modified:
   trunk/plugins/lensfun/lensfun.c
Log:
Moving lensfundatabase init to plugin init instead of doing this every time 
get_image() is called.

Modified: trunk/plugins/lensfun/lensfun.c
===================================================================
--- trunk/plugins/lensfun/lensfun.c     2009-11-15 20:04:54 UTC (rev 2741)
+++ trunk/plugins/lensfun/lensfun.c     2009-11-15 21:37:51 UTC (rev 2742)
@@ -33,6 +33,8 @@
 struct _RSLensfun {
        RSFilter parent;
 
+       lfDatabase *ldb;
+
        gchar *make;
        gchar *model;
        RSLens *lens;
@@ -174,6 +176,10 @@
        lensfun->vignetting_k1 = 0.0;
        lensfun->vignetting_k2 = 0.0;
        lensfun->vignetting_k3 = 0.0;
+
+       /* Initialize Lensfun database */
+       lensfun->ldb = lf_db_new ();
+       lf_db_load (lensfun->ldb);
 }
 
 static void
@@ -344,9 +350,8 @@
                return response;
 
        gint i, j;
-       lfDatabase *ldb = lf_db_new ();
 
-       if (!ldb)
+       if (!lensfun->ldb)
        {
                g_warning ("Failed to create database");
                rs_filter_response_set_image(response, input);
@@ -354,11 +359,9 @@
                return response;
        }
 
-       lf_db_load (ldb);
-
        const lfCamera **cameras = NULL;
        if (lensfun->make && lensfun->model)
-               cameras = lf_db_find_cameras(ldb, lensfun->make, 
lensfun->model);
+               cameras = lf_db_find_cameras(lensfun->ldb, lensfun->make, 
lensfun->model);
 
        if (!cameras)
        {
@@ -376,7 +379,7 @@
                cameras [i]->Variant ? "(" : "",
                cameras [i]->Variant ? lf_mlstr_get (cameras [i]->Variant) : "",
                cameras [i]->Variant ? ")" : "");
-               g_print ("\tMount: %s\n", lf_db_mount_name (ldb, cameras 
[i]->Mount));
+               g_print ("\tMount: %s\n", lf_db_mount_name (lensfun->ldb, 
cameras [i]->Mount));
                g_print ("\tCrop factor: %g\n", cameras [i]->CropFactor);
        }
 
@@ -390,7 +393,7 @@
                make = rs_lens_get_lensfun_make(lensfun->lens);
        }
 
-       lenses = lf_db_find_lenses_hd(ldb, cameras[0], make, model, 0);
+       lenses = lf_db_find_lenses_hd(lensfun->ldb, cameras[0], make, model, 0);
        if (!lenses)
        {
                g_debug("lens not found (make: \"%s\" model: \"%s\")", 
lensfun->lens_make, model);
@@ -411,7 +414,7 @@
                g_print ("\tCCI: %g/%g/%g\n", lenses [i]->RedCCI, lenses 
[i]->GreenCCI, lenses [i]->BlueCCI);
                if (lenses [i]->Mounts)
                        for (j = 0; lenses [i]->Mounts [j]; j++)
-                               g_print ("\tMount: %s\n", lf_db_mount_name 
(ldb, lenses [i]->Mounts [j]));
+                               g_print ("\tMount: %s\n", lf_db_mount_name 
(lensfun->ldb, lenses [i]->Mounts [j]));
        }
 
        const lfLens *lens = lenses [0];


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

Reply via email to