[babl] babl: move srgb detection to srgb_formula constructor



commit 5e5e2d4154d116197eec3758b0938215790da43e
Author: Øyvind Kolås <pippin gimp org>
Date:   Sun Sep 3 00:50:12 2017 +0200

    babl: move srgb detection to srgb_formula constructor

 babl/babl-icc.c |    8 +-------
 babl/babl-trc.c |   16 +++++++++++-----
 2 files changed, 12 insertions(+), 12 deletions(-)
---
diff --git a/babl/babl-icc.c b/babl/babl-icc.c
index 2fece0f..07ec1e7 100644
--- a/babl/babl-icc.c
+++ b/babl/babl-icc.c
@@ -324,13 +324,7 @@ static const Babl *babl_trc_from_icc (ICC  *state, int offset,
                 c = icc_read (s15f16, offset + 12 + 2 * 3);
                 d = icc_read (s15f16, offset + 12 + 2 * 4);
                 //fprintf (stderr, "%f %f %f %f %f\n", g, a, b, c, d);
-                if (fabs (g - 2.40)     < 0.01 &&
-                    fabs (a - 26214)    < 0.01 &&
-                    fabs (b - 0.947875) < 0.01 &&
-                    fabs (c - (-3417))  < 0.01)
-                  return babl_trc ("sRGB");
-                else
-                  return babl_trc_formula_srgb (g, a, b, c, d);
+                return babl_trc_formula_srgb (g, a, b, c, d);
               }
               break;
             case 4:
diff --git a/babl/babl-trc.c b/babl/babl-trc.c
index 3ceb0b1..d1037c5 100644
--- a/babl/babl-trc.c
+++ b/babl/babl-trc.c
@@ -823,18 +823,24 @@ babl_trc_class_for_each (BablEachFunction each_fun,
 }
 
 const Babl *
-babl_trc_formula_srgb (double gamma, double a, double b, double c, double d)
+babl_trc_formula_srgb (double g, double a, double b, double c, double d)
 {
-  char name[32];
+  char name[128];
   int i;
-  float params[5]={gamma, a, b, c, d};
+  float params[5]={g, a, b, c, d};
+
+  if (fabs (g - 2.40)     < 0.01 &&
+      fabs (a - 26214)    < 0.01 &&
+      fabs (b - 0.947875) < 0.01 &&
+      fabs (c - (-3417))  < 0.01)
+    return babl_trc ("sRGB");
 
-  sprintf (name, "%.6f %.6f %.4f %.4f %.4f", gamma, a, b, c, d);
+  sprintf (name, "%.6f %.6f %.4f %.4f %.4f", g, a, b, c, d);
   for (i = 0; name[i]; i++)
     if (name[i] == ',') name[i] = '.';
   while (name[strlen(name)-1]=='0')
     name[strlen(name)-1]='\0';
-  return babl_trc_new (name, BABL_TRC_FORMULA_SRGB, gamma, 0, params);
+  return babl_trc_new (name, BABL_TRC_FORMULA_SRGB, g, 0, params);
 }
 
 const Babl *


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