[gimp/goat-invasion] app: get rid of cpercep in siox
- From: Ãyvind KolÃs <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/goat-invasion] app: get rid of cpercep in siox
- Date: Sun, 8 Apr 2012 01:25:25 +0000 (UTC)
commit f543bbc78a7a49d842feae81f38a79fb07acbfb9
Author: Ãyvind KolÃs <pippin gimp org>
Date: Sun Apr 8 03:12:44 2012 +0200
app: get rid of cpercep in siox
app/base/siox.c | 32 ++++++++++++++++++--------------
1 files changed, 18 insertions(+), 14 deletions(-)
---
diff --git a/app/base/siox.c b/app/base/siox.c
index a9ecd7a..8822e47 100644
--- a/app/base/siox.c
+++ b/app/base/siox.c
@@ -44,7 +44,7 @@
#include "paint-funcs/paint-funcs.h"
-#include "cpercep.h"
+#include <babl/babl.h>
#include "pixel-region.h"
#include "tile.h"
#include "tile-manager.h"
@@ -135,41 +135,45 @@ calc_lab (const guchar *src,
const guchar *colormap,
lab *pixel)
{
- gdouble l, a, b;
+ float rgb[3];
+ float lab[3];
switch (bpp)
{
case 3: /* RGB */
case 4: /* RGBA */
- cpercep_rgb_to_space (src[RED],
- src[GREEN],
- src[BLUE], &l, &a, &b);
+ rgb[0] = src[RED];
+ rgb[1] = src[GREEN];
+ rgb[2] = src[BLUE];
break;
-
case 2:
case 1:
if (colormap) /* INDEXED(A) */
{
gint i = *src * 3;
- cpercep_rgb_to_space (colormap[i + RED],
- colormap[i + GREEN],
- colormap[i + BLUE], &l, &a, &b);
+ rgb[0] = colormap[i + RED];
+ rgb[1] = colormap[i + GREEN];
+ rgb[2] = colormap[i + BLUE];
}
else /* GRAY(A) */
{
- /* FIXME: there should be cpercep_gray_to_space */
- cpercep_rgb_to_space (*src, *src, *src, &l, &a, &b);
+ rgb[0] = *src;
+ rgb[1] = *src;
+ rgb[2] = *src;
}
break;
default:
g_return_if_reached ();
}
+ babl_process (babl_fish (babl_format ("R'G'B' float"),
+ babl_format ("CIE Lab float")),
+ rgb, lab, 1);
- pixel->l = l;
- pixel->a = a;
- pixel->b = b;
+ pixel->l = lab[0];
+ pixel->a = lab[1];
+ pixel->b = lab[2];
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]