[gegl] gegl-utils: extend gegl_babl_variant with CMYK based spaces
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] gegl-utils: extend gegl_babl_variant with CMYK based spaces
- Date: Sat, 24 Nov 2018 03:02:28 +0000 (UTC)
commit f25ceea6eb3e5cfdbd5c0ab356da19959ec9fca4
Author: Øyvind Kolås <pippin gimp org>
Date: Fri Nov 9 15:47:44 2018 +0100
gegl-utils: extend gegl_babl_variant with CMYK based spaces
The CMYK spaces only exist in one TRC variant, most math in GEGL is assuming
operation on additive like spaces - thus the premultiplied/non-premultiplied
versions returned for CMYK models is the lower-case thus inverted versions
of encodings.
gegl/gegl-utils.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
---
diff --git a/gegl/gegl-utils.c b/gegl/gegl-utils.c
index 482f0c2b0..18cf925d1 100644
--- a/gegl/gegl-utils.c
+++ b/gegl/gegl-utils.c
@@ -66,6 +66,15 @@ static const Babl *gegl_babl_format_linear_float (const Babl *format)
{
format = babl_format_with_space ("YA float", space);
}
+ else if (babl_model_is (model, "cmyk") ||
+ babl_model_is (model, "cmykA") ||
+ babl_model_is (model, "camayakaA") ||
+ babl_model_is (model, "CMYK") ||
+ babl_model_is (model, "CMYKA") ||
+ babl_model_is (model, "CaMaYaKaA"))
+ {
+ format = babl_format_with_space ("cmykA float", space);
+ }
else if (babl_model_is (model, "RGB") ||
babl_model_is (model, "R'G'B'") ||
babl_model_is (model, "R~G~B~"))
@@ -114,6 +123,15 @@ static const Babl *gegl_babl_format_perceptual_float (const Babl *format)
{
format = babl_format_with_space ("Y~A float", space);
}
+ else if (babl_model_is (model, "cmyk") ||
+ babl_model_is (model, "cmykA") ||
+ babl_model_is (model, "camayakaA") ||
+ babl_model_is (model, "CMYK") ||
+ babl_model_is (model, "CMYKA") ||
+ babl_model_is (model, "CaMaYaKaA"))
+ {
+ format = babl_format_with_space ("cmykA float", space);
+ }
else if (babl_model_is (model, "RGB") ||
babl_model_is (model, "R'G'B'") ||
babl_model_is (model, "R~G~B~"))
@@ -162,6 +180,15 @@ static const Babl *gegl_babl_format_nonlinear_float (const Babl *format)
{
format = babl_format_with_space ("Y'A float", space);
}
+ else if (babl_model_is (model, "cmyk") ||
+ babl_model_is (model, "cmykA") ||
+ babl_model_is (model, "camayakaA") ||
+ babl_model_is (model, "CMYK") ||
+ babl_model_is (model, "CMYKA") ||
+ babl_model_is (model, "CaMaYaKaA"))
+ {
+ format = babl_format_with_space ("cmykA float", space);
+ }
else if (babl_model_is (model, "RGB") ||
babl_model_is (model, "R'G'B'") ||
babl_model_is (model, "R~G~B~"))
@@ -207,6 +234,15 @@ static const Babl *gegl_babl_format_premultiplied_linear_float (const Babl *form
{
format = babl_format_with_space ("YaA float", space);
}
+ else if (babl_model_is (model, "cmyk") ||
+ babl_model_is (model, "cmykA") ||
+ babl_model_is (model, "camayakaA") ||
+ babl_model_is (model, "CMYK") ||
+ babl_model_is (model, "CMYKA") ||
+ babl_model_is (model, "CaMaYaKaA"))
+ {
+ format = babl_format_with_space ("camayakaA float", space);
+ }
#if 0 // just treat as else
else if (babl_model_is (model, "RGB") ||
babl_model_is (model, "R'G'B'") ||
@@ -250,6 +286,15 @@ static const Babl *gegl_babl_format_premultiplied_perceptual_float (const Babl *
{
format = babl_format_with_space ("Y~aA float", space);
}
+ else if (babl_model_is (model, "cmyk") ||
+ babl_model_is (model, "cmykA") ||
+ babl_model_is (model, "camayakaA") ||
+ babl_model_is (model, "CMYK") ||
+ babl_model_is (model, "CMYKA") ||
+ babl_model_is (model, "CaMaYaKaA"))
+ {
+ format = babl_format_with_space ("camayakaA float", space);
+ }
#if 0 // just treat as else
else if (babl_model_is (model, "RGB") ||
babl_model_is (model, "R'G'B'") ||
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]