[gimp] Bug 795300 - ICC profile conversion artifacts and gamma problems
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 795300 - ICC profile conversion artifacts and gamma problems
- Date: Wed, 18 Apr 2018 16:50:41 +0000 (UTC)
commit 64c38edd81abc2fe9f5bbd12e2bea24d0ac6d1cf
Author: Michael Natterer <mitch gimp org>
Date: Wed Apr 18 18:49:47 2018 +0200
Bug 795300 - ICC profile conversion artifacts and gamma problems
Cache the fish in GimpColorTransform as suggested by Massimo.
libgimpcolor/gimpcolortransform.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/libgimpcolor/gimpcolortransform.c b/libgimpcolor/gimpcolortransform.c
index 3fda8c7..7da1ec1 100644
--- a/libgimpcolor/gimpcolortransform.c
+++ b/libgimpcolor/gimpcolortransform.c
@@ -76,6 +76,7 @@ struct _GimpColorTransformPrivate
const Babl *dest_space_format;
cmsHTRANSFORM transform;
+ const Babl *fish;
};
@@ -228,11 +229,14 @@ gimp_color_transform_new (GimpColorProfile *src_profile,
{
priv->src_format = src_format;
priv->dest_format = dest_format;
+ priv->fish = babl_fish (priv->src_space_format,
+ priv->dest_space_format);
g_printerr ("%s: using babl for '%s' -> '%s'\n",
G_STRFUNC,
gimp_color_profile_get_label (src_profile),
gimp_color_profile_get_label (dest_profile));
+
return transform;
}
@@ -421,9 +425,7 @@ gimp_color_transform_process_pixels (GimpColorTransform *transform,
}
else
{
- babl_process (babl_fish (priv->src_space_format,
- priv->dest_space_format),
- src, dest, length);
+ babl_process (priv->fish, src, dest, length);
}
if (src_format != priv->src_format)
@@ -502,8 +504,7 @@ gimp_color_transform_process_buffer (GimpColorTransform *transform,
}
else
{
- babl_process (babl_fish (priv->src_space_format,
- priv->dest_space_format),
+ babl_process (priv->fish,
iter->data[0], iter->data[1], iter->length);
}
@@ -530,8 +531,7 @@ gimp_color_transform_process_buffer (GimpColorTransform *transform,
}
else
{
- babl_process (babl_fish (priv->src_space_format,
- priv->dest_space_format),
+ babl_process (priv->fish,
iter->data[0], iter->data[0], iter->length);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]