[babl] Add the BablConversion as first argument of all conversions
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] Add the BablConversion as first argument of all conversions
- Date: Fri, 18 Aug 2017 20:50:16 +0000 (UTC)
commit e604fd0385006d63af449c1961756c1f100b2c13
Author: Øyvind Kolås <pippin gimp org>
Date: Fri Aug 18 22:46:26 2017 +0200
Add the BablConversion as first argument of all conversions
This is neccesary to be able to access state of source/destination from within
registered conversions.
babl/babl-conversion.c | 29 +++++----
babl/babl-conversion.h | 23 ++++---
babl/babl-core.c | 18 +++---
babl/babl-internal.h | 9 +++
babl/babl-palette.c | 34 +++++++----
babl/babl-types.h | 7 ++-
babl/base/model-gray.c | 37 +++++++----
babl/base/model-rgb.c | 35 +++++++----
babl/base/model-ycbcr.c | 12 +++-
babl/base/type-float.c | 6 +-
babl/base/type-half.c | 14 +++--
babl/base/type-u15.c | 33 ++++++-----
babl/base/type-u16.c | 14 +++--
babl/base/type-u32.c | 14 +++--
babl/base/type-u8.c | 14 +++--
extensions/16bit.c | 4 +-
extensions/CIE.c | 52 ++++++++++------
extensions/HCY.c | 16 +++---
extensions/HSL.c | 16 +++---
extensions/HSV.c | 16 +++---
extensions/cairo.c | 30 +++++-----
extensions/fast-float.c | 20 +++---
extensions/float-half.c | 28 ++++----
extensions/float.c | 12 ++--
extensions/gegl-fixups.c | 32 +++++-----
extensions/gggl-lies.c | 128 ++++++++++++++++++++--------------------
extensions/gggl-table-lies.c | 56 +++++++++---------
extensions/gggl-table.c | 60 +++++++++---------
extensions/gggl.c | 136 +++++++++++++++++++++---------------------
extensions/gimp-8bit.c | 56 +++++++++---------
extensions/grey.c | 6 +-
extensions/naive-CMYK.c | 16 +++---
extensions/simple.c | 78 ++++++++++++------------
extensions/sse-half.c | 28 ++++----
extensions/sse2-float.c | 30 +++++-----
extensions/sse2-int16.c | 4 +-
extensions/sse2-int8.c | 18 +++---
extensions/sse4-int8.c | 14 ++--
extensions/two-table.c | 14 ++--
extensions/ycbcr.c | 8 +-
40 files changed, 628 insertions(+), 549 deletions(-)
---
diff --git a/babl/babl-conversion.c b/babl/babl-conversion.c
index dbdce50..766e6c4 100644
--- a/babl/babl-conversion.c
+++ b/babl/babl-conversion.c
@@ -26,15 +26,15 @@
#include "babl-db.h"
#include "babl-ref-pixels.h"
-static Babl *
-conversion_new (const char *name,
- int id,
- Babl *source,
- Babl *destination,
- BablFuncLinear linear,
- BablFuncPlane plane,
- BablFuncPlanar planar,
- void *user_data)
+Babl *
+_conversion_new (const char *name,
+ int id,
+ Babl *source,
+ Babl *destination,
+ BablFuncLinear linear,
+ BablFuncPlane plane,
+ BablFuncPlanar planar,
+ void *user_data)
{
Babl *babl = NULL;
@@ -281,7 +281,7 @@ babl_conversion_new (const void *first_arg,
babl = babl_db_exist (db, id, name);
}
- babl = conversion_new (name, id, source, destination, linear, plane, planar,
+ babl = _conversion_new (name, id, source, destination, linear, plane, planar,
user_data);
/* Since there is not an already registered instance by the required
@@ -300,7 +300,8 @@ babl_conversion_linear_process (BablConversion *conversion,
void *destination,
long n)
{
- return conversion->function.linear (source, destination, n, conversion->data);
+ return conversion->function.linear ((void*)conversion,
+ source, destination, n, conversion->data);
}
static long
@@ -311,7 +312,8 @@ babl_conversion_plane_process (BablConversion *conversion,
int dst_pitch,
long n)
{
- return conversion->function.plane (source, destination,
+ return conversion->function.plane ((void*)conversion,
+ source, destination,
src_pitch, dst_pitch,
n,
conversion->data);
@@ -334,7 +336,8 @@ babl_conversion_planar_process (BablConversion *conversion,
memcpy (src_data, source->data, sizeof (void *) * source->components);
memcpy (dst_data, destination->data, sizeof (void *) * destination->components);
- return conversion->function.planar (source->components,
+ return conversion->function.planar ((void*)conversion,
+ source->components,
src_data,
source->pitch,
destination->components,
diff --git a/babl/babl-conversion.h b/babl/babl-conversion.h
index 902beb5..ac7ade6 100644
--- a/babl/babl-conversion.h
+++ b/babl/babl-conversion.h
@@ -23,19 +23,22 @@ BABL_CLASS_DECLARE (conversion);
const Babl * babl_conversion (const char *name);
+typedef struct _BablConversion BablConversion;
+
+
/* Signature of functions registered for reference type
* conversions,
*/
-typedef long (*BablFuncPlane) (const char *src,
- char *dst,
- int src_pitch,
- int dst_pitch,
- long n,
- void *user_data);
-
+typedef long (*BablFuncPlane) (BablConversion *conversion,
+ const char *src,
+ char *dst,
+ int src_pitch,
+ int dst_pitch,
+ long n,
+ void *user_data);
-typedef struct
-BablConversion {
+struct
+_BablConversion {
BablInstance instance;
const Babl *source;
const Babl *destination;
@@ -50,6 +53,6 @@ BablConversion {
void *data; /* user data */
int processings;
long pixels;
-} BablConversion;
+};
#endif
diff --git a/babl/babl-core.c b/babl/babl-core.c
index 00e43e8..d591d73 100644
--- a/babl/babl-core.c
+++ b/babl/babl-core.c
@@ -22,11 +22,12 @@
#include "util.h"
static long
-convert_double_double (char *src,
- char *dst,
- int src_pitch,
- int dst_pitch,
- long n)
+convert_double_double (const Babl *babl,
+ char *src,
+ char *dst,
+ int src_pitch,
+ int dst_pitch,
+ long n)
{
if (src_pitch == 64 &&
dst_pitch == 64)
@@ -77,9 +78,10 @@ convert_double_double (char *src,
*/
static long
-rgba_to_rgba (char *src,
- char *dst,
- long n)
+rgba_to_rgba (const Babl *babl,
+ char *src,
+ char *dst,
+ long n)
{
memcpy (dst, src, n * sizeof (double) * 4);
return n;
diff --git a/babl/babl-internal.h b/babl/babl-internal.h
index 78f2b56..c193998 100644
--- a/babl/babl-internal.h
+++ b/babl/babl-internal.h
@@ -319,6 +319,15 @@ static inline double babl_parse_double (const char *str)
return result;
}
+Babl *
+_conversion_new (const char *name,
+ int id,
+ Babl *source,
+ Babl *destination,
+ BablFuncLinear linear,
+ BablFuncPlane plane,
+ BablFuncPlanar planar,
+ void *user_data);
double _babl_legal_error (void);
void babl_init_db (void);
diff --git a/babl/babl-palette.c b/babl/babl-palette.c
index ad90608..7284d6b 100644
--- a/babl/babl-palette.c
+++ b/babl/babl-palette.c
@@ -177,7 +177,8 @@ static BablPalette *default_palette (void)
}
static long
-rgba_to_pal (char *src,
+rgba_to_pal (Babl *conversion,
+ char *src,
char *dst,
long n,
void *dst_model_data)
@@ -218,7 +219,8 @@ rgba_to_pal (char *src,
}
static long
-rgba_to_pala (char *src,
+rgba_to_pala (Babl *conversion,
+ char *src,
char *dst,
long n,
void *dst_model_data)
@@ -264,7 +266,8 @@ rgba_to_pala (char *src,
}
static long
-pal_to_rgba (char *src,
+pal_to_rgba (Babl *conversion,
+ char *src,
char *dst,
long n,
void *src_model_data)
@@ -290,7 +293,8 @@ pal_to_rgba (char *src,
}
static long
-pala_to_rgba (char *src,
+pala_to_rgba (Babl *conversion,
+ char *src,
char *dst,
long n,
void *src_model_data)
@@ -320,10 +324,11 @@ pala_to_rgba (char *src,
}
static long
-rgba_u8_to_pal (unsigned char *src,
+rgba_u8_to_pal (Babl *conversion,
+ unsigned char *src,
unsigned char *dst,
- long n,
- void *src_model_data)
+ long n,
+ void *src_model_data)
{
BablPalette **palptr = src_model_data;
BablPalette *pal;
@@ -342,7 +347,8 @@ rgba_u8_to_pal (unsigned char *src,
}
static long
-rgba_u8_to_pal_a (char *src,
+rgba_u8_to_pal_a (Babl *conversion,
+ char *src,
char *dst,
long n,
void *src_model_data)
@@ -364,7 +370,8 @@ rgba_u8_to_pal_a (char *src,
}
static long
-pal_u8_to_rgba_u8 (char *src,
+pal_u8_to_rgba_u8 (Babl *conversion,
+ char *src,
char *dst,
long n,
void *src_model_data)
@@ -392,7 +399,8 @@ pal_u8_to_rgba_u8 (char *src,
}
static long
-pala_u8_to_rgba_u8 (char *src,
+pala_u8_to_rgba_u8 (Babl *conversion,
+ char *src,
char *dst,
long n,
void *src_model_data)
@@ -424,7 +432,8 @@ pala_u8_to_rgba_u8 (char *src,
#include "base/util.h"
static inline long
-conv_pal8_pala8 (unsigned char *src, unsigned char *dst, long samples)
+conv_pal8_pala8 (Babl *conversion,
+ unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -439,7 +448,8 @@ conv_pal8_pala8 (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_pala8_pal8 (unsigned char *src, unsigned char *dst, long samples)
+conv_pala8_pal8 (Babl *conversion,
+ unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
diff --git a/babl/babl-types.h b/babl/babl-types.h
index 252a382..e4e5a85 100644
--- a/babl/babl-types.h
+++ b/babl/babl-types.h
@@ -33,16 +33,19 @@
**/
typedef union _Babl Babl;
+
/* Conversion function between linear data of a either a data types or
* color formats.
*/
-typedef long (*BablFuncLinear) (const char *src,
+typedef long (*BablFuncLinear) (const Babl *conversion,
+ const char *src,
char *dst,
long n,
void *user_data);
/* TypePlanar,ModelPlanar and FormatPlanar */
-typedef long (*BablFuncPlanar) (int src_bands,
+typedef long (*BablFuncPlanar) (const Babl *conversion,
+ int src_bands,
const char *src[],
int src_pitch[],
int dst_bands,
diff --git a/babl/base/model-gray.c b/babl/base/model-gray.c
index 239333e..d2e7d68 100644
--- a/babl/base/model-gray.c
+++ b/babl/base/model-gray.c
@@ -110,7 +110,8 @@ models (void)
static long
-rgba_to_graya (char *src,
+rgba_to_graya (Babl *conversion,
+ char *src,
char *dst,
long n)
{
@@ -138,7 +139,8 @@ rgba_to_graya (char *src,
}
static long
-rgba_to_gray (char *src,
+rgba_to_gray (Babl *conversion,
+ char *src,
char *dst,
long n)
{
@@ -165,7 +167,8 @@ rgba_to_gray (char *src,
static long
-rgb_to_gray_2_2 (int src_bands,
+rgb_to_gray_2_2 (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -202,7 +205,8 @@ rgb_to_gray_2_2 (int src_bands,
static long
-gray_2_2_to_rgb (int src_bands,
+gray_2_2_to_rgb (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -241,7 +245,8 @@ gray_2_2_to_rgb (int src_bands,
static long
-graya_to_rgba (char *src,
+graya_to_rgba (Babl *conversion,
+ char *src,
char *dst,
long n)
{
@@ -270,7 +275,8 @@ graya_to_rgba (char *src,
static long
-gray_to_rgba (char *src,
+gray_to_rgba (Babl *conversion,
+ char *src,
char *dst,
long n)
{
@@ -296,7 +302,8 @@ gray_to_rgba (char *src,
}
static long
-gray_alpha_premultiplied_to_rgba (int src_bands,
+gray_alpha_premultiplied_to_rgba (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -333,7 +340,8 @@ gray_alpha_premultiplied_to_rgba (int src_bands,
static long
-rgba_to_gray_alpha_premultiplied (int src_bands,
+rgba_to_gray_alpha_premultiplied (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -367,7 +375,8 @@ rgba_to_gray_alpha_premultiplied (int src_bands,
}
static long
-non_premultiplied_to_premultiplied (int src_bands,
+non_premultiplied_to_premultiplied (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -395,7 +404,8 @@ non_premultiplied_to_premultiplied (int src_bands,
}
static long
-premultiplied_to_non_premultiplied (int src_bands,
+premultiplied_to_non_premultiplied (Babl *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -430,7 +440,8 @@ premultiplied_to_non_premultiplied (int src_bands,
}
static long
-rgba2gray_gamma_2_2_premultiplied (char *src,
+rgba2gray_gamma_2_2_premultiplied (Babl *conversion,
+ char *src,
char *dst,
long n)
{
@@ -458,9 +469,9 @@ rgba2gray_gamma_2_2_premultiplied (char *src,
return n;
}
-
static long
-gray_gamma_2_2_premultiplied2rgba (char *src,
+gray_gamma_2_2_premultiplied2rgba (Babl *conversion,
+ char *src,
char *dst,
long n)
{
diff --git a/babl/base/model-rgb.c b/babl/base/model-rgb.c
index 4ba6f7d..69c3b53 100644
--- a/babl/base/model-rgb.c
+++ b/babl/base/model-rgb.c
@@ -151,7 +151,8 @@ models (void)
}
static long
-copy_strip_1 (int src_bands,
+copy_strip_1 (BablConversion *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -182,7 +183,8 @@ copy_strip_1 (int src_bands,
}
static long
-g3_gamma_2_2 (int src_bands,
+g3_gamma_2_2 (BablConversion *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -208,7 +210,8 @@ g3_gamma_2_2 (int src_bands,
static long
-g3_inv_gamma_2_2 (int src_bands,
+g3_inv_gamma_2_2 (BablConversion *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -239,7 +242,8 @@ g3_inv_gamma_2_2 (int src_bands,
}
static long
-non_premultiplied_to_premultiplied (int src_bands,
+non_premultiplied_to_premultiplied (BablConversion *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -268,7 +272,8 @@ non_premultiplied_to_premultiplied (int src_bands,
}
static long
-premultiplied_to_non_premultiplied (int src_bands,
+premultiplied_to_non_premultiplied (BablConversion *conversion,
+ int src_bands,
char **src,
int *src_pitch,
int dst_bands,
@@ -306,7 +311,8 @@ premultiplied_to_non_premultiplied (int src_bands,
static long
-rgba2rgba_gamma_2_2_premultiplied (char *src,
+rgba2rgba_gamma_2_2_premultiplied (BablConversion *conversion,
+ char *src,
char *dst,
long samples)
{
@@ -327,9 +333,10 @@ rgba2rgba_gamma_2_2_premultiplied (char *src,
static long
-rgba_gamma_2_2_premultiplied2rgba (char *src,
- char *dst,
- long samples)
+rgba_gamma_2_2_premultiplied2rgba (BablConversion *conversion,
+ char *src,
+ char *dst,
+ long samples)
{
long n = samples;
@@ -358,9 +365,10 @@ rgba_gamma_2_2_premultiplied2rgba (char *src,
static long
-rgba2rgba_gamma_2_2 (char *src,
- char *dst,
- long samples)
+rgba2rgba_gamma_2_2 (BablConversion *conversion,
+ char *src,
+ char *dst,
+ long samples)
{
long n = samples;
@@ -379,7 +387,8 @@ rgba2rgba_gamma_2_2 (char *src,
static long
-rgba_gamma_2_22rgba (char *src,
+rgba_gamma_2_22rgba (BablConversion *conversion,
+ char *src,
char *dst,
long samples)
{
diff --git a/babl/base/model-ycbcr.c b/babl/base/model-ycbcr.c
index 6a6370e..c6de014 100644
--- a/babl/base/model-ycbcr.c
+++ b/babl/base/model-ycbcr.c
@@ -78,7 +78,8 @@ models (void)
}
static long
-rgba_to_ycbcra (char *src,
+rgba_to_ycbcra (BablConversion *conversion,
+ char *src,
char *dst,
long n)
{
@@ -112,7 +113,8 @@ rgba_to_ycbcra (char *src,
static long
-rgba_to_ycbcr (char *src,
+rgba_to_ycbcr (BablConversion *conversion,
+ char *src,
char *dst,
long n)
{
@@ -143,7 +145,8 @@ rgba_to_ycbcr (char *src,
}
static long
-ycbcra_to_rgba (char *src,
+ycbcra_to_rgba (BablConversion *conversion,
+ char *src,
char *dst,
long n)
{
@@ -177,7 +180,8 @@ ycbcra_to_rgba (char *src,
static long
-ycbcr_to_rgba (char *src,
+ycbcr_to_rgba (BablConversion *conversion,
+ char *src,
char *dst,
long n)
{
diff --git a/babl/base/type-float.c b/babl/base/type-float.c
index ce7e407..8c62021 100644
--- a/babl/base/type-float.c
+++ b/babl/base/type-float.c
@@ -26,7 +26,8 @@
#include "babl-base.h"
static long
-convert_double_float (char *src,
+convert_double_float (BablConversion *conversion,
+ char *src,
char *dst,
int src_pitch,
int dst_pitch,
@@ -42,7 +43,8 @@ convert_double_float (char *src,
}
static long
-convert_float_double (char *src,
+convert_float_double (BablConversion *conversion,
+ char *src,
char *dst,
int src_pitch,
int dst_pitch,
diff --git a/babl/base/type-half.c b/babl/base/type-half.c
index 61a63ca..64fd15d 100644
--- a/babl/base/type-half.c
+++ b/babl/base/type-half.c
@@ -184,7 +184,8 @@ static void halfp2doubles(void *target, void *source, long numel)
}
static long
-convert_double_half (char *src,
+convert_double_half (BablConversion *conversion,
+ char *src,
char *dst,
int src_pitch,
int dst_pitch,
@@ -200,11 +201,12 @@ convert_double_half (char *src,
}
static long
-convert_half_double (char *src,
- char *dst,
- int src_pitch,
- int dst_pitch,
- long n)
+convert_half_double (BablConversion *conversion,
+ char *src,
+ char *dst,
+ int src_pitch,
+ int dst_pitch,
+ long n)
{
while (n--)
{
diff --git a/babl/base/type-u15.c b/babl/base/type-u15.c
index 47e3878..ee188e8 100644
--- a/babl/base/type-u15.c
+++ b/babl/base/type-u15.c
@@ -27,15 +27,16 @@
static inline long
-convert_double_u15_scaled (double min_val,
- double max_val,
- uint16_t min,
- uint16_t max,
- char *src,
- char *dst,
- int src_pitch,
- int dst_pitch,
- long n)
+convert_double_u15_scaled (BablConversion *conversion,
+ double min_val,
+ double max_val,
+ uint16_t min,
+ uint16_t max,
+ char *src,
+ char *dst,
+ int src_pitch,
+ int dst_pitch,
+ long n)
{
while (n--)
{
@@ -57,8 +58,9 @@ convert_double_u15_scaled (double min_val,
}
static inline long
-convert_u15_double_scaled (double min_val,
- double max_val,
+convert_u15_double_scaled (BablConversion *conversion,
+ double min_val,
+ double max_val,
uint16_t min,
uint16_t max,
char *src,
@@ -88,23 +90,24 @@ convert_u15_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (void *src, \
+ convert_ ## name ## _double (BablConversion *conversion, \
+ void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u15_double_scaled (min_val, max_val, min, max, \
+ return convert_u15_double_scaled (conversion, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (void *src, \
+ convert_double_ ## name (BablConversion *conversion, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u15_scaled (min_val, max_val, min, max, \
+ return convert_double_u15_scaled (conversion, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
diff --git a/babl/base/type-u16.c b/babl/base/type-u16.c
index 9fcad8b..697f1da 100644
--- a/babl/base/type-u16.c
+++ b/babl/base/type-u16.c
@@ -27,7 +27,8 @@
static inline long
-convert_double_u16_scaled (double min_val,
+convert_double_u16_scaled (BablConversion *conversion,
+ double min_val,
double max_val,
uint16_t min,
uint16_t max,
@@ -57,7 +58,8 @@ convert_double_u16_scaled (double min_val,
}
static inline long
-convert_u16_double_scaled (double min_val,
+convert_u16_double_scaled (BablConversion *conversion,
+ double min_val,
double max_val,
uint16_t min,
uint16_t max,
@@ -88,23 +90,23 @@ convert_u16_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (void *src, \
+ convert_ ## name ## _double (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u16_double_scaled (min_val, max_val, min, max, \
+ return convert_u16_double_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (void *src, \
+ convert_double_ ## name (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u16_scaled (min_val, max_val, min, max, \
+ return convert_double_u16_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
diff --git a/babl/base/type-u32.c b/babl/base/type-u32.c
index fc38a01..b934dbe 100644
--- a/babl/base/type-u32.c
+++ b/babl/base/type-u32.c
@@ -26,7 +26,8 @@
#include "babl-base.h"
static inline long
-convert_double_u32_scaled (double min_val,
+convert_double_u32_scaled (BablConversion *c,
+ double min_val,
double max_val,
uint32_t min,
uint32_t max,
@@ -56,7 +57,8 @@ convert_double_u32_scaled (double min_val,
}
static inline long
-convert_u32_double_scaled (double min_val,
+convert_u32_double_scaled (BablConversion *c,
+ double min_val,
double max_val,
uint32_t min,
uint32_t max,
@@ -87,23 +89,23 @@ convert_u32_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (void *src, \
+ convert_ ## name ## _double (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u32_double_scaled (min_val, max_val, min, max, \
+ return convert_u32_double_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (void *src, \
+ convert_double_ ## name (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u32_scaled (min_val, max_val, min, max, \
+ return convert_double_u32_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
diff --git a/babl/base/type-u8.c b/babl/base/type-u8.c
index 9a67a0e..86d889e 100644
--- a/babl/base/type-u8.c
+++ b/babl/base/type-u8.c
@@ -26,7 +26,8 @@
#include <math.h>
static inline long
-convert_double_u8_scaled (double min_val,
+convert_double_u8_scaled (BablConversion *c,
+ double min_val,
double max_val,
unsigned char min,
unsigned char max,
@@ -56,7 +57,8 @@ convert_double_u8_scaled (double min_val,
}
static inline long
-convert_u8_double_scaled (double min_val,
+convert_u8_double_scaled (BablConversion *c,
+ double min_val,
double max_val,
unsigned char min,
unsigned char max,
@@ -88,23 +90,23 @@ convert_u8_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (void *src, \
+ convert_ ## name ## _double (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u8_double_scaled (min_val, max_val, min, max, \
+ return convert_u8_double_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (void *src, \
+ convert_double_ ## name (BablConversion *c, void *src, \
void *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u8_scaled (min_val, max_val, min, max, \
+ return convert_double_u8_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
diff --git a/extensions/16bit.c b/extensions/16bit.c
index 96701ef..9071fad 100644
--- a/extensions/16bit.c
+++ b/extensions/16bit.c
@@ -26,7 +26,7 @@
#include "extensions/util.h"
static inline long
-conv_rgbu16_rgbau16 (unsigned char *src,
+conv_rgbu16_rgbau16 (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
@@ -48,7 +48,7 @@ conv_rgbu16_rgbau16 (unsigned char *src,
}
static inline long
-conv_yu16_yau16 (unsigned char *src,
+conv_yu16_yau16 (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
diff --git a/extensions/CIE.c b/extensions/CIE.c
index 040c03c..61c2bce 100644
--- a/extensions/CIE.c
+++ b/extensions/CIE.c
@@ -300,7 +300,8 @@ LAB_to_XYZ (double L,
}
static long
-rgba_to_lab (char *src,
+rgba_to_lab (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -328,7 +329,8 @@ rgba_to_lab (char *src,
}
static long
-lab_to_rgba (char *src,
+lab_to_rgba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -357,7 +359,8 @@ lab_to_rgba (char *src,
}
static long
-rgba_to_laba (char *src,
+rgba_to_laba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -387,7 +390,8 @@ rgba_to_laba (char *src,
}
static long
-laba_to_rgba (char *src,
+laba_to_rgba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -441,7 +445,8 @@ ab_to_CHab (double a,
}
static long
-rgba_to_lchab (char *src,
+rgba_to_lchab (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -472,7 +477,8 @@ rgba_to_lchab (char *src,
}
static long
-lchab_to_rgba (char *src,
+lchab_to_rgba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -504,7 +510,8 @@ lchab_to_rgba (char *src,
}
static long
-rgba_to_lchaba (char *src,
+rgba_to_lchaba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -537,7 +544,8 @@ rgba_to_lchaba (char *src,
}
static long
-lchaba_to_rgba (char *src,
+lchaba_to_rgba (Babl *babl,
+ char *src,
char *dst,
long n)
{
@@ -1143,7 +1151,8 @@ formats (void)
/******** begin integer RGB/CIE color space conversions **************/
static inline long
-convert_double_u8_scaled (double min_val,
+convert_double_u8_scaled (const Babl *babl,
+ double min_val,
double max_val,
unsigned char min,
unsigned char max,
@@ -1173,7 +1182,8 @@ convert_double_u8_scaled (double min_val,
}
static inline long
-convert_u8_double_scaled (double min_val,
+convert_u8_double_scaled (const Babl *c,
+ double min_val,
double max_val,
unsigned char min,
unsigned char max,
@@ -1205,23 +1215,23 @@ convert_u8_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (char *src, \
+ convert_ ## name ## _double (const Babl *c, char *src, \
char *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u8_double_scaled (min_val, max_val, min, max, \
+ return convert_u8_double_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (char *src, \
+ convert_double_ ## name (const Babl *c, char *src, \
char *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u8_scaled (min_val, max_val, min, max, \
+ return convert_double_u8_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
@@ -1283,7 +1293,8 @@ types_u8 (void)
}
static inline long
-convert_double_u16_scaled (double min_val,
+convert_double_u16_scaled (const Babl *babl,
+ double min_val,
double max_val,
unsigned short min,
unsigned short max,
@@ -1313,7 +1324,8 @@ convert_double_u16_scaled (double min_val,
}
static inline long
-convert_u16_double_scaled (double min_val,
+convert_u16_double_scaled (const Babl *babl,
+ double min_val,
double max_val,
unsigned short min,
unsigned short max,
@@ -1344,23 +1356,23 @@ convert_u16_double_scaled (double min_val,
#define MAKE_CONVERSIONS(name, min_val, max_val, min, max) \
static long \
- convert_ ## name ## _double (char *src, \
+ convert_ ## name ## _double (const Babl *c, char *src, \
char *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_u16_double_scaled (min_val, max_val, min, max, \
+ return convert_u16_double_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
} \
static long \
- convert_double_ ## name (char *src, \
+ convert_double_ ## name (const Babl *c, char *src, \
char *dst, \
int src_pitch, \
int dst_pitch, \
long n) \
{ \
- return convert_double_u16_scaled (min_val, max_val, min, max, \
+ return convert_double_u16_scaled (c, min_val, max_val, min, max, \
src, dst, src_pitch, dst_pitch, n); \
}
diff --git a/extensions/HCY.c b/extensions/HCY.c
index 0993842..27a221d 100644
--- a/extensions/HCY.c
+++ b/extensions/HCY.c
@@ -35,19 +35,19 @@
#define RGB_LUMA_BLUE 0.114 //0.0722
#define EPSILON 1e-10
-static long rgba_to_hcya (char *src,
+static long rgba_to_hcya (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hcya_to_rgba (char *src,
+static long hcya_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
-static long rgba_to_hcy (char *src,
+static long rgba_to_hcy (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hcy_to_rgba (char *src,
+static long hcy_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
@@ -287,7 +287,7 @@ hcy_to_rgba_step (char *src,
}
static long
-rgba_to_hcya (char *src,
+rgba_to_hcya (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -309,7 +309,7 @@ rgba_to_hcya (char *src,
}
static long
-hcya_to_rgba (char *src,
+hcya_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -331,7 +331,7 @@ hcya_to_rgba (char *src,
}
static long
-rgba_to_hcy (char *src,
+rgba_to_hcy (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -349,7 +349,7 @@ rgba_to_hcy (char *src,
}
static long
-hcy_to_rgba (char *src,
+hcy_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
diff --git a/extensions/HSL.c b/extensions/HSL.c
index 827e028..14d9031 100644
--- a/extensions/HSL.c
+++ b/extensions/HSL.c
@@ -27,16 +27,16 @@
#define MAX(a,b) ((a < b) ? b : a)
#define EPSILON 1.0e-10
-static long rgba_to_hsla (char *src,
+static long rgba_to_hsla (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hsla_to_rgba (char *src,
+static long hsla_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
-static long rgba_to_hsl (char *src,
+static long rgba_to_hsl (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hsl_to_rgba (char *src,
+static long hsl_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
static void rgb_to_hsl_step (double *src,
@@ -157,7 +157,7 @@ rgb_to_hsl_step (double* src,
static long
-rgba_to_hsla (char *src,
+rgba_to_hsla (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -180,7 +180,7 @@ rgba_to_hsla (char *src,
static long
-rgba_to_hsl (char *src,
+rgba_to_hsl (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -244,7 +244,7 @@ hsl_to_rgb_step (double *src,
static long
-hsla_to_rgba (char *src,
+hsla_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -267,7 +267,7 @@ hsla_to_rgba (char *src,
static long
-hsl_to_rgba (char *src,
+hsl_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
diff --git a/extensions/HSV.c b/extensions/HSV.c
index c830a0c..bcab206 100644
--- a/extensions/HSV.c
+++ b/extensions/HSV.c
@@ -32,19 +32,19 @@
#define MAX(a,b) (a < b) ? b : a;
#define EPSILON 1.0e-10
-static long rgba_to_hsva (char *src,
+static long rgba_to_hsva (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hsva_to_rgba (char *src,
+static long hsva_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
-static long rgba_to_hsv (char *src,
+static long rgba_to_hsv (const Babl *conversion,char *src,
char *dst,
long samples);
-static long hsv_to_rgba (char *src,
+static long hsv_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples);
@@ -275,7 +275,7 @@ hsv_to_rgba_step (char *src,
}
static long
-rgba_to_hsva (char *src,
+rgba_to_hsva (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -297,7 +297,7 @@ rgba_to_hsva (char *src,
}
static long
-hsva_to_rgba (char *src,
+hsva_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -319,7 +319,7 @@ hsva_to_rgba (char *src,
}
static long
-rgba_to_hsv (char *src,
+rgba_to_hsv (const Babl *conversion,char *src,
char *dst,
long samples)
{
@@ -337,7 +337,7 @@ rgba_to_hsv (char *src,
}
static long
-hsv_to_rgba (char *src,
+hsv_to_rgba (const Babl *conversion,char *src,
char *dst,
long samples)
{
diff --git a/extensions/cairo.c b/extensions/cairo.c
index 4f82e8d..bd640d9 100644
--- a/extensions/cairo.c
+++ b/extensions/cairo.c
@@ -26,7 +26,7 @@
int init (void);
static inline long
-conv_rgba8_cairo24_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_cairo24_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
uint32_t *srci = (void *)src;
@@ -45,7 +45,7 @@ conv_rgba8_cairo24_le (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_rgb8_cairo24_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_cairo24_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -65,7 +65,7 @@ conv_rgb8_cairo24_le (unsigned char *src, unsigned char *dst, long samples)
#if 0
static inline long
-conv_rgbA8_premul_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_premul_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -85,7 +85,7 @@ conv_rgbA8_premul_cairo32_le (unsigned char *src, unsigned char *dst, long sampl
#else
static inline long
-conv_rgbA8_premul_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_premul_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
uint32_t *srci = (void *)src;
@@ -104,7 +104,7 @@ conv_rgbA8_premul_cairo32_le (unsigned char *src, unsigned char *dst, long sampl
}
#endif
-static long conv_cairo32_rgbA8_premul_le (unsigned char *src, unsigned char *dst, long samples)
+static long conv_cairo32_rgbA8_premul_le (const Babl *conversion,unsigned char *src, unsigned char *dst,
long samples)
{
long n = samples;
while (n--)
@@ -123,7 +123,7 @@ static long conv_cairo32_rgbA8_premul_le (unsigned char *src, unsigned char *dst
}
-static long conv_cairo32_rgbAF_premul_le (unsigned char *src, unsigned char *dst_char, long samples)
+static long conv_cairo32_rgbAF_premul_le (const Babl *conversion,unsigned char *src, unsigned char
*dst_char, long samples)
{
long n = samples;
float *dst = (void*)dst_char;
@@ -143,7 +143,7 @@ static long conv_cairo32_rgbAF_premul_le (unsigned char *src, unsigned char *dst
}
static inline long
-conv_rgbA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -163,7 +163,7 @@ conv_rgbA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_rgb8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -184,7 +184,7 @@ conv_rgb8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
static inline long
-conv_yA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_yA8_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -204,7 +204,7 @@ conv_yA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_yA16_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_yA16_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
uint16_t *ssrc = (void*) src;
@@ -222,7 +222,7 @@ conv_yA16_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_y8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_y8_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
while (n--)
@@ -237,7 +237,7 @@ conv_y8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
}
static inline long
-conv_y16_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+conv_y16_cairo32_le (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
uint16_t *s16 = (void*)src;
@@ -256,7 +256,7 @@ conv_y16_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbA_gamma_float_cairo32_le (unsigned char *src,
+conv_rgbA_gamma_float_cairo32_le (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -280,7 +280,7 @@ conv_rgbA_gamma_float_cairo32_le (unsigned char *src,
}
static long
-conv_rgbafloat_cairo32_le (unsigned char *src,
+conv_rgbafloat_cairo32_le (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -326,7 +326,7 @@ conv_rgbafloat_cairo32_le (unsigned char *src,
static long
-conv_yafloat_cairo32_le (unsigned char *src,
+conv_yafloat_cairo32_le (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
diff --git a/extensions/fast-float.c b/extensions/fast-float.c
index 163ffe8..8d5f30b 100644
--- a/extensions/fast-float.c
+++ b/extensions/fast-float.c
@@ -288,7 +288,7 @@ babl_lookup_free (BablLookup *lookup)
#endif
static INLINE long
-conv_rgbaF_linear_rgbAF_gamma (unsigned char *src,
+conv_rgbaF_linear_rgbAF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -330,7 +330,7 @@ conv_rgbaF_linear_rgbAF_gamma (unsigned char *src,
static INLINE long
-conv_rgbaF_linear_rgba8_gamma (unsigned char *src,
+conv_rgbaF_linear_rgba8_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -367,7 +367,7 @@ conv_rgbaF_linear_rgba8_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbaF_linear_rgbA8_gamma (unsigned char *src,
+conv_rgbaF_linear_rgbA8_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -412,7 +412,7 @@ conv_rgbaF_linear_rgbA8_gamma (unsigned char *src,
}
static INLINE long
-conv_yaF_linear_rgbA8_gamma (unsigned char *src,
+conv_yaF_linear_rgbA8_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -453,7 +453,7 @@ conv_yaF_linear_rgbA8_gamma (unsigned char *src,
static long
-conv_rgbaF_linear_rgbA8_gamma_cairo (unsigned char *src,
+conv_rgbaF_linear_rgbA8_gamma_cairo (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -498,7 +498,7 @@ conv_rgbaF_linear_rgbA8_gamma_cairo (unsigned char *src,
}
static INLINE long
-conv_rgbAF_linear_rgbAF_gamma (unsigned char *src,
+conv_rgbAF_linear_rgbAF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -539,7 +539,7 @@ conv_rgbAF_linear_rgbAF_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbaF_linear_rgbaF_gamma (unsigned char *src,
+conv_rgbaF_linear_rgbaF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -558,7 +558,7 @@ conv_rgbaF_linear_rgbaF_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbF_linear_rgbF_gamma (unsigned char *src,
+conv_rgbF_linear_rgbF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -577,7 +577,7 @@ conv_rgbF_linear_rgbF_gamma (unsigned char *src,
static INLINE long
-conv_rgbaF_gamma_rgbaF_linear (unsigned char *src,
+conv_rgbaF_gamma_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -596,7 +596,7 @@ conv_rgbaF_gamma_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_rgbF_gamma_rgbF_linear (unsigned char *src,
+conv_rgbF_gamma_rgbF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
diff --git a/extensions/float-half.c b/extensions/float-half.c
index ff37625..08b7dfb 100644
--- a/extensions/float-half.c
+++ b/extensions/float-half.c
@@ -178,53 +178,53 @@ static void singles2halfp(void *target, const void *source, long numel)
}
static inline long
-conv_yHalf_yF (const uint16_t *src, float *dst, long samples)
+conv_yHalf_yF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
halfp2singles(dst, src, samples);
return samples;
}
static long
-conv_yaHalf_yaF (const uint16_t *src, float *dst, long samples)
+conv_yaHalf_yaF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 2) / 2;
+ return conv_yHalf_yF (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgbHalf_rgbF (const uint16_t *src, float *dst, long samples)
+conv_rgbHalf_rgbF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 3) / 3;
+ return conv_yHalf_yF (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbaHalf_rgbaF (const uint16_t *src, float *dst, long samples)
+conv_rgbaHalf_rgbaF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 4) / 4;
+ return conv_yHalf_yF (conversion, src, dst, samples * 4) / 4;
}
static inline long
-conv_yF_yHalf (const float *src, uint16_t *dst, long samples)
+conv_yF_yHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
singles2halfp (dst, src, samples);
return samples;
}
static long
-conv_yaF_yaHalf (const float *src, uint16_t *dst, long samples)
+conv_yaF_yaHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 2) / 2;
+ return conv_yF_yHalf (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgbF_rgbHalf (const float *src, uint16_t *dst, long samples)
+conv_rgbF_rgbHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 3) / 3;
+ return conv_yF_yHalf (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbaF_rgbaHalf (const float *src, uint16_t *dst, long samples)
+conv_rgbaF_rgbaHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 4) / 4;
+ return conv_yF_yHalf (conversion, src, dst, samples * 4) / 4;
}
int init (void);
diff --git a/extensions/float.c b/extensions/float.c
index 9460804..4cea8b5 100644
--- a/extensions/float.c
+++ b/extensions/float.c
@@ -30,7 +30,7 @@
static INLINE long
-conv_rgbaF_linear_rgbAF_gamma (unsigned char *src,
+conv_rgbaF_linear_rgbAF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -50,7 +50,7 @@ conv_rgbaF_linear_rgbAF_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbAF_linear_rgbAF_gamma (unsigned char *src,
+conv_rgbAF_linear_rgbAF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -89,7 +89,7 @@ conv_rgbAF_linear_rgbAF_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbaF_linear_rgbaF_gamma (unsigned char *src,
+conv_rgbaF_linear_rgbaF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -108,7 +108,7 @@ conv_rgbaF_linear_rgbaF_gamma (unsigned char *src,
}
static INLINE long
-conv_rgbF_linear_rgbF_gamma (unsigned char *src,
+conv_rgbF_linear_rgbF_gamma (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -127,7 +127,7 @@ conv_rgbF_linear_rgbF_gamma (unsigned char *src,
static INLINE long
-conv_rgbaF_gamma_rgbaF_linear (unsigned char *src,
+conv_rgbaF_gamma_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -146,7 +146,7 @@ conv_rgbaF_gamma_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_rgbF_gamma_rgbF_linear (unsigned char *src,
+conv_rgbF_gamma_rgbF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
diff --git a/extensions/gegl-fixups.c b/extensions/gegl-fixups.c
index c32968c..96cb6e3 100644
--- a/extensions/gegl-fixups.c
+++ b/extensions/gegl-fixups.c
@@ -146,7 +146,7 @@ gggl_float_to_index16 (float f)
}
static INLINE long
-conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -164,7 +164,7 @@ conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
static INLINE long
-conv_F_8g (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8g (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -182,7 +182,7 @@ conv_F_8g (unsigned char *src, unsigned char *dst, long samples)
static INLINE long __attribute__((unused))
-conv_8_F (unsigned char *src, unsigned char *dst, long samples)
+conv_8_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -199,7 +199,7 @@ conv_8_F (unsigned char *src, unsigned char *dst, long samples)
static INLINE long
-conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -227,7 +227,7 @@ conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
static INLINE long __attribute__((unused))
-conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -259,16 +259,16 @@ conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_rgbaF_rgbP8 conv_rgbaF_rgba8
static INLINE long __attribute__((unused))
-conv_rgbF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8g (src, dst, samples * 3);
+ conv_F_8g (conversion, src, dst, samples * 3);
return samples;
}
static INLINE long __attribute__((unused))
-conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 2);
+ conv_F_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -278,7 +278,7 @@ conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
static INLINE long
-conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -304,7 +304,7 @@ conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
static INLINE long
-conv_rgb8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -329,7 +329,7 @@ conv_rgb8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbAF_rgb8 (unsigned char *srcc,
+conv_rgbAF_rgb8 (const Babl *conversion,unsigned char *srcc,
unsigned char *dstc,
long samples)
{
@@ -360,7 +360,7 @@ conv_rgbAF_rgb8 (unsigned char *srcc,
}
static long
-conv_bgrA8_rgba8 (unsigned char *srcc,
+conv_bgrA8_rgba8 (const Babl *conversion,unsigned char *srcc,
unsigned char *dstc,
long samples)
{
@@ -382,7 +382,7 @@ conv_bgrA8_rgba8 (unsigned char *srcc,
}
static long
-conv_rgbaF_rgbAF (unsigned char *srcc,
+conv_rgbaF_rgbAF (const Babl *conversion,unsigned char *srcc,
unsigned char *dstc,
long samples)
{
@@ -404,7 +404,7 @@ conv_rgbaF_rgbAF (unsigned char *srcc,
}
static long
-conv_rgbAF_rgbaF (unsigned char *srcc,
+conv_rgbAF_rgbaF (const Babl *conversion,unsigned char *srcc,
unsigned char *dstc,
long samples)
{
@@ -432,7 +432,7 @@ conv_rgbAF_rgbaF (unsigned char *srcc,
static long
-conv_rgbAF_lrgba8 (unsigned char *srcc,
+conv_rgbAF_lrgba8 (const Babl *conversion,unsigned char *srcc,
unsigned char *dstc,
long samples)
{
diff --git a/extensions/gggl-lies.c b/extensions/gggl-lies.c
index 3d1627f..76d4d26 100644
--- a/extensions/gggl-lies.c
+++ b/extensions/gggl-lies.c
@@ -49,7 +49,7 @@
*/
static long
-conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -75,7 +75,7 @@ conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -103,7 +103,7 @@ conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_8_F (unsigned char *src, unsigned char *dst, long samples)
+conv_8_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -117,7 +117,7 @@ conv_8_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_16_F (unsigned char *src, unsigned char *dst, long samples)
+conv_16_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -131,7 +131,7 @@ conv_16_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_D (unsigned char *src, unsigned char *dst, long samples)
+conv_F_D (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -145,7 +145,7 @@ conv_F_D (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_D_F (unsigned char *src, unsigned char *dst, long samples)
+conv_D_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -158,7 +158,7 @@ conv_D_F (unsigned char *src, unsigned char *dst, long samples)
return samples;
}
static long
-conv_16_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_16_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -173,7 +173,7 @@ conv_16_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_8_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_8_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -188,25 +188,25 @@ conv_8_16 (unsigned char *src, unsigned char *dst, long samples)
/*********/
static long
-conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 4);
+ conv_F_8 (conversion, src, dst, samples * 4);
return samples;
}
#define conv_rgbaF_rgbP8 conv_rgbaF_rgba8
static long
-conv_rgbF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 3);
+ conv_F_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 2);
+ conv_F_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -215,37 +215,37 @@ conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA8 conv_gaF_ga8
static long
-conv_rgbaF_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 4);
+ conv_F_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbaF_rgbaD (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbaD (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_D (src, dst, samples * 4);
+ conv_F_D (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbaD_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaD_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_D_F (src, dst, samples * 4);
+ conv_D_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 3);
+ conv_F_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 2);
+ conv_F_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -256,23 +256,23 @@ conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA16 conv_gaF_ga16
static long
-conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 4);
+ conv_8_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb8_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 3);
+ conv_8_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 2);
+ conv_8_F (conversion, src, dst, samples * 2);
return samples;
}
@@ -281,23 +281,23 @@ conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g8_gF conv_8_F
static long
-conv_rgba16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 4);
+ conv_16_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 3);
+ conv_16_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 2);
+ conv_16_F (conversion, src, dst, samples * 2);
return samples;
}
@@ -306,23 +306,23 @@ conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g16_gF conv_16_F
static long
-conv_rgba16_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 4);
+ conv_16_8 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 3);
+ conv_16_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 2);
+ conv_16_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -331,23 +331,23 @@ conv_ga16_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_g16_g8 conv_16_8
static long
-conv_rgba8_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 4);
+ conv_8_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb8_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 3);
+ conv_8_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga8_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 2);
+ conv_8_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -358,7 +358,7 @@ conv_ga8_ga16 (unsigned char *src, unsigned char *dst, long samples)
/* alpha conversions */
static long
-conv_gaF_gAF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_gAF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -377,7 +377,7 @@ conv_gaF_gAF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gAF_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gAF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -398,7 +398,7 @@ conv_gAF_gaF (unsigned char *src, unsigned char *dst, long samples)
/* alpha stripping and adding */
static long
-conv_rgbaF_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -420,7 +420,7 @@ conv_rgbaF_rgbF (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_gF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -442,7 +442,7 @@ conv_gF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_gF_rgbAF conv_gF_rgbaF
static long
-conv_rgbF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -464,7 +464,7 @@ conv_rgbF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gaF_gF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_gF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -479,7 +479,7 @@ conv_gaF_gF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gF_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -501,7 +501,7 @@ conv_gF_gaF (unsigned char *src, unsigned char *dst, long samples)
/* colorchannel dropping and adding */
static long
-conv_gF_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -520,7 +520,7 @@ conv_gF_rgbF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -546,7 +546,7 @@ conv_gaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
/* other conversions coded for some optimisation reason or sumthin */
static long
-conv_rgbaF_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbA8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -569,7 +569,7 @@ conv_rgbaF_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -589,7 +589,7 @@ conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbaF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -609,7 +609,7 @@ conv_rgbaF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgba8_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbA8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -638,7 +638,7 @@ conv_rgba8_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbA8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -668,7 +668,7 @@ conv_rgbA8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgb8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -688,7 +688,7 @@ conv_rgb8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_rgb8_rgbA8 conv_rgb8_rgba8
static long
-conv_rgba8_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
diff --git a/extensions/gggl-table-lies.c b/extensions/gggl-table-lies.c
index 3e79a6f..8149002 100644
--- a/extensions/gggl-table-lies.c
+++ b/extensions/gggl-table-lies.c
@@ -150,7 +150,7 @@ gggl_float_to_index16 (float f)
static long
-conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -167,7 +167,7 @@ conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -184,7 +184,7 @@ conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_8_F (unsigned char *src, unsigned char *dst, long samples)
+conv_8_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -200,7 +200,7 @@ conv_8_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_16_F (unsigned char *src, unsigned char *dst, long samples)
+conv_16_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -217,25 +217,25 @@ conv_16_F (unsigned char *src, unsigned char *dst, long samples)
/*********/
static long
-conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 4);
+ conv_F_8 (conversion, src, dst, samples * 4);
return samples;
}
#define conv_rgbaF_rgbP8 conv_rgbaF_rgba8
static long
-conv_rgbF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 3);
+ conv_F_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 2);
+ conv_F_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -244,23 +244,23 @@ conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA8 conv_gaF_ga8
static long
-conv_rgbaF_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 4);
+ conv_F_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 3);
+ conv_F_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 2);
+ conv_F_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -269,23 +269,23 @@ conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA16 conv_gaF_ga16
static long
-conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 4);
+ conv_8_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb8_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 3);
+ conv_8_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_F (src, dst, samples * 2);
+ conv_8_F (conversion, src, dst, samples * 2);
return samples;
}
@@ -294,23 +294,23 @@ conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g8_gF conv_8_F
static long
-conv_rgba16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 4);
+ conv_16_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 3);
+ conv_16_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 2);
+ conv_16_F (conversion, src, dst, samples * 2);
return samples;
}
diff --git a/extensions/gggl-table.c b/extensions/gggl-table.c
index 071167d..ebb4b85 100644
--- a/extensions/gggl-table.c
+++ b/extensions/gggl-table.c
@@ -149,7 +149,7 @@ gggl_float_to_index16 (float f)
}
static long
-conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -166,7 +166,7 @@ conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -183,7 +183,7 @@ conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_8_F (unsigned char *src, unsigned char *dst, long samples)
+conv_8_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -199,7 +199,7 @@ conv_8_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgb8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -223,7 +223,7 @@ conv_rgb8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_16_F (unsigned char *src, unsigned char *dst, long samples)
+conv_16_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -239,7 +239,7 @@ conv_16_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -268,23 +268,23 @@ conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
/*********/
static long
-conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 4);
+ conv_F_8 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 3);
+ conv_F_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 2);
+ conv_F_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -293,23 +293,23 @@ conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA8 conv_gaF_ga8
static long
-conv_rgbaF_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 4);
+ conv_F_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 3);
+ conv_F_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 2);
+ conv_F_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -318,22 +318,22 @@ conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA16 conv_gaF_ga16
static long
-conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 4) / 4;
+ return conv_8_F (conversion, src, dst, samples * 4) / 4;
}
static long
-conv_rgb8_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 3) / 3;
+ return conv_8_F (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 2) / 2;
+ return conv_8_F (conversion, src, dst, samples * 2) / 2;
}
#define conv_rgbA8_rgbAF conv_rgba8_rgbaF
@@ -341,23 +341,23 @@ conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g8_gF conv_8_F
static long
-conv_rgba16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 4);
+ conv_16_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 3);
+ conv_16_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 2);
+ conv_16_F (conversion, src, dst, samples * 2);
return samples;
}
diff --git a/extensions/gggl.c b/extensions/gggl.c
index b01659f..cf0f664 100644
--- a/extensions/gggl.c
+++ b/extensions/gggl.c
@@ -50,7 +50,7 @@
*/
static long
-conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -70,7 +70,7 @@ conv_F_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_F_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -96,7 +96,7 @@ conv_F_16 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_8_F (unsigned char *src, unsigned char *dst, long samples)
+conv_8_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -110,7 +110,7 @@ conv_8_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_16_F (unsigned char *src, unsigned char *dst, long samples)
+conv_16_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -124,7 +124,7 @@ conv_16_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -150,7 +150,7 @@ conv_rgbaF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_F_D (unsigned char *src, unsigned char *dst, long samples)
+conv_F_D (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -164,7 +164,7 @@ conv_F_D (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_D_F (unsigned char *src, unsigned char *dst, long samples)
+conv_D_F (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -178,7 +178,7 @@ conv_D_F (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_16_8 (unsigned char *src, unsigned char *dst, long samples)
+conv_16_8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -193,7 +193,7 @@ conv_16_8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_8_16 (unsigned char *src, unsigned char *dst, long samples)
+conv_8_16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -209,23 +209,23 @@ conv_8_16 (unsigned char *src, unsigned char *dst, long samples)
/*********/
static long
-conv_rgbaF_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 4);
+ conv_F_8 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 3);
+ conv_F_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_8 (src, dst, samples * 2);
+ conv_F_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -234,23 +234,23 @@ conv_gaF_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA8 conv_gaF_ga8
static long
-conv_rgbaF_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 4);
+ conv_F_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 3);
+ conv_F_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_16 (src, dst, samples * 2);
+ conv_F_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -259,22 +259,22 @@ conv_gaF_ga16 (unsigned char *src, unsigned char *dst, long samples)
#define conv_gAF_gA16 conv_gaF_ga16
static long
-conv_rgba8_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 4) / 4;
+ return conv_8_F (conversion, src, dst, samples * 4) / 4;
}
static long
-conv_rgb8_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 3) / 3;
+ return conv_8_F (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- return conv_8_F (src, dst, samples * 2) / 2;
+ return conv_8_F (conversion, src, dst, samples * 2) / 2;
}
#define conv_rgbA8_rgbAF conv_rgba8_rgbaF
@@ -282,37 +282,37 @@ conv_ga8_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g8_gF conv_8_F
static long
-conv_rgbaF_rgbaD (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbaD (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_F_D (src, dst, samples * 4);
+ conv_F_D (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgbaD_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaD_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_D_F (src, dst, samples * 4);
+ conv_D_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgba16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 4);
+ conv_16_F (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 3);
+ conv_16_F (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_F (src, dst, samples * 2);
+ conv_16_F (conversion, src, dst, samples * 2);
return samples;
}
@@ -321,23 +321,23 @@ conv_ga16_gaF (unsigned char *src, unsigned char *dst, long samples)
#define conv_g16_gF conv_16_F
static long
-conv_rgba16_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba16_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 4);
+ conv_16_8 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb16_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb16_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 3);
+ conv_16_8 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga16_ga8 (unsigned char *src, unsigned char *dst, long samples)
+conv_ga16_ga8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_16_8 (src, dst, samples * 2);
+ conv_16_8 (conversion, src, dst, samples * 2);
return samples;
}
@@ -346,23 +346,23 @@ conv_ga16_ga8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_g16_g8 conv_16_8
static long
-conv_rgba8_rgba16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgba16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 4);
+ conv_8_16 (conversion, src, dst, samples * 4);
return samples;
}
static long
-conv_rgb8_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 3);
+ conv_8_16 (conversion, src, dst, samples * 3);
return samples;
}
static long
-conv_ga8_ga16 (unsigned char *src, unsigned char *dst, long samples)
+conv_ga8_ga16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
- conv_8_16 (src, dst, samples * 2);
+ conv_8_16 (conversion, src, dst, samples * 2);
return samples;
}
@@ -373,7 +373,7 @@ conv_ga8_ga16 (unsigned char *src, unsigned char *dst, long samples)
/* alpha conversions */
static long
-conv_gaF_gAF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_gAF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -392,7 +392,7 @@ conv_gaF_gAF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gAF_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gAF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -413,7 +413,7 @@ conv_gAF_gaF (unsigned char *src, unsigned char *dst, long samples)
/* alpha stripping and adding */
static long
-conv_rgbaF_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -434,7 +434,7 @@ conv_rgbaF_rgbF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -459,7 +459,7 @@ conv_rgbF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_gaF_gF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_gF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -474,7 +474,7 @@ conv_gaF_gF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gF_gaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_gaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -496,7 +496,7 @@ conv_gF_gaF (unsigned char *src, unsigned char *dst, long samples)
/* colorchannel dropping and adding */
static long
-conv_gF_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -515,7 +515,7 @@ conv_gF_rgbF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gaF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -542,7 +542,7 @@ conv_gaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_rgbaF_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgbA8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -565,7 +565,7 @@ conv_rgbaF_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbaF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbaF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -585,7 +585,7 @@ conv_rgbaF_rgb16 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbA16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA16_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -608,7 +608,7 @@ conv_rgbA16_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_gF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_gF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -713,7 +713,7 @@ conv_gF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
}
*/
static long
-conv_rgba8_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgbA8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -742,7 +742,7 @@ conv_rgba8_rgbA8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbA8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -772,7 +772,7 @@ conv_rgbA8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgb8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgb8_rgba8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples-1;
while (n--)
@@ -791,7 +791,7 @@ conv_rgb8_rgba8 (unsigned char *src, unsigned char *dst, long samples)
#define conv_rgb8_rgbA8 conv_rgb8_rgba8
static long
-conv_rgba8_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgba8_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -807,7 +807,7 @@ conv_rgba8_rgb8 (unsigned char *src, unsigned char *dst, long samples)
}
static long
-conv_rgbA8_rgb8 (unsigned char *src, unsigned char *dst, long samples)
+conv_rgbA8_rgb8 (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
long n = samples;
@@ -863,7 +863,7 @@ conv_rgbA8_rgb8 (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_yuvaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
+conv_yuvaF_rgbaF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
float *src_f = (float *) src;
float *dst_f = (float *) dst;
@@ -895,7 +895,7 @@ conv_yuvaF_rgbaF (unsigned char *src, unsigned char *dst, long samples)
static long
-conv_yuvF_rgbF (unsigned char *src, unsigned char *dst, long samples)
+conv_yuvF_rgbF (const Babl *conversion,unsigned char *src, unsigned char *dst, long samples)
{
float *src_f = (float *) src;
float *dst_f = (float *) dst;
diff --git a/extensions/gimp-8bit.c b/extensions/gimp-8bit.c
index 55bd95c..92e3d6e 100644
--- a/extensions/gimp-8bit.c
+++ b/extensions/gimp-8bit.c
@@ -52,7 +52,7 @@ tables_init (void)
}
static INLINE long
-u8_linear_to_float_linear (unsigned char *src,
+u8_linear_to_float_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -67,7 +67,7 @@ u8_linear_to_float_linear (unsigned char *src,
static INLINE long
-u8_linear_to_float_linear_premul (unsigned char *src,
+u8_linear_to_float_linear_premul (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -88,7 +88,7 @@ u8_linear_to_float_linear_premul (unsigned char *src,
}
static INLINE long
-u8_gamma_2_2_to_float_linear (unsigned char *src,
+u8_gamma_2_2_to_float_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -102,28 +102,28 @@ u8_gamma_2_2_to_float_linear (unsigned char *src,
}
static INLINE long
-conv_rgba8_linear_rgbaF_linear (unsigned char *src,
+conv_rgba8_linear_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_linear_to_float_linear (src, dst, samples * 4);
+ u8_linear_to_float_linear (conversion, src, dst, samples * 4);
return samples;
}
static INLINE long
-conv_rgba8_linear_ragabaaF_linear (unsigned char *src,
+conv_rgba8_linear_ragabaaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_linear_to_float_linear_premul (src, dst, samples);
+ u8_linear_to_float_linear_premul (conversion, src, dst, samples);
return samples;
}
static INLINE long
-conv_rgba8_gamma_2_2_rgbaF_linear (unsigned char *src,
+conv_rgba8_gamma_2_2_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -142,27 +142,27 @@ conv_rgba8_gamma_2_2_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_rgb8_linear_rgbF_linear (unsigned char *src,
+conv_rgb8_linear_rgbF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_linear_to_float_linear (src, dst, samples * 3);
+ u8_linear_to_float_linear (conversion, src, dst, samples * 3);
return samples;
}
static INLINE long
-conv_rgb8_gamma_2_2_rgbF_linear (unsigned char *src,
+conv_rgb8_gamma_2_2_rgbF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_gamma_2_2_to_float_linear (src, dst, samples * 3);
+ u8_gamma_2_2_to_float_linear (conversion, src, dst, samples * 3);
return samples;
}
static INLINE long
-conv_rgb8_linear_rgbaF_linear (unsigned char *src,
+conv_rgb8_linear_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -183,7 +183,7 @@ conv_rgb8_linear_rgbaF_linear (unsigned char *src,
#define conv_rgb8_linear_ragabaaF_linear conv_rgb8_linear_rgbaF_linear
static INLINE long
-conv_rgb8_gamma_2_2_rgbaF_linear (unsigned char *src,
+conv_rgb8_gamma_2_2_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -202,17 +202,17 @@ conv_rgb8_gamma_2_2_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_ga8_linear_gaF_linear (unsigned char *src,
+conv_ga8_linear_gaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_linear_to_float_linear (src, dst, samples * 2);
+ u8_linear_to_float_linear (conversion, src, dst, samples * 2);
return samples;
}
static INLINE long
-conv_ga8_gamma_2_2_gaF_linear (unsigned char *src,
+conv_ga8_gamma_2_2_gaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -229,7 +229,7 @@ conv_ga8_gamma_2_2_gaF_linear (unsigned char *src,
}
static INLINE long
-conv_ga8_gamma_2_2_rgba8_gamma_2_2 (unsigned char *src,
+conv_ga8_gamma_2_2_rgba8_gamma_2_2 (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -247,7 +247,7 @@ conv_ga8_gamma_2_2_rgba8_gamma_2_2 (unsigned char *src,
}
static INLINE long
-conv_ga8_linear_rgbaF_linear (unsigned char *src,
+conv_ga8_linear_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -268,7 +268,7 @@ conv_ga8_linear_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_ga8_gamma_2_2_rgbaF_linear (unsigned char *src,
+conv_ga8_gamma_2_2_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -289,27 +289,27 @@ conv_ga8_gamma_2_2_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_g8_linear_gF_linear (unsigned char *src,
+conv_g8_linear_gF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_linear_to_float_linear (src, dst, samples);
+ u8_linear_to_float_linear (conversion, src, dst, samples);
return samples;
}
static INLINE long
-conv_g8_gamma_2_2_gF_linear (unsigned char *src,
+conv_g8_gamma_2_2_gF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
- u8_gamma_2_2_to_float_linear (src, dst, samples);
+ u8_gamma_2_2_to_float_linear (conversion, src, dst, samples);
return samples;
}
static INLINE long
-conv_g8_linear_rgbaF_linear (unsigned char *src,
+conv_g8_linear_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -329,7 +329,7 @@ conv_g8_linear_rgbaF_linear (unsigned char *src,
return samples;
}
static INLINE long
-conv_g8_gamma_2_2_rgbaF_linear (unsigned char *src,
+conv_g8_gamma_2_2_rgbaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -350,7 +350,7 @@ conv_g8_gamma_2_2_rgbaF_linear (unsigned char *src,
}
static INLINE long
-conv_rgbaF_linear_rgb8_linear (unsigned char *src,
+conv_rgbaF_linear_rgb8_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -376,7 +376,7 @@ conv_rgbaF_linear_rgb8_linear (unsigned char *src,
}
static INLINE long
-conv_rgbaF_linear_rgba8_linear (unsigned char *src,
+conv_rgbaF_linear_rgba8_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
diff --git a/extensions/grey.c b/extensions/grey.c
index a6fef28..b394064 100644
--- a/extensions/grey.c
+++ b/extensions/grey.c
@@ -37,7 +37,7 @@ static const float RGB_LUMINANCE_GREEN_FLOAT = RGB_LUMINANCE_GREEN;
static const float RGB_LUMINANCE_BLUE_FLOAT = RGB_LUMINANCE_BLUE;
static long
-conv_rgbaF_linear_y8_linear (unsigned char *src,
+conv_rgbaF_linear_y8_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -65,7 +65,7 @@ conv_rgbaF_linear_y8_linear (unsigned char *src,
}
static long
-conv_rgbaF_linear_yF_linear (unsigned char *src,
+conv_rgbaF_linear_yF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
@@ -88,7 +88,7 @@ conv_rgbaF_linear_yF_linear (unsigned char *src,
}
static long
-conv_rgbaF_linear_yaF_linear (unsigned char *src,
+conv_rgbaF_linear_yaF_linear (const Babl *conversion,unsigned char *src,
unsigned char *dst,
long samples)
{
diff --git a/extensions/naive-CMYK.c b/extensions/naive-CMYK.c
index f92b0d2..339536b 100644
--- a/extensions/naive-CMYK.c
+++ b/extensions/naive-CMYK.c
@@ -24,19 +24,19 @@
#include "base/util.h"
-static long rgba_to_cmyk (char *src,
+static long rgba_to_cmyk (const Babl *conversion,char *src,
char *dst,
long n);
-static long cmyk_to_rgba (char *src,
+static long cmyk_to_rgba (const Babl *conversion,char *src,
char *dst,
long n);
-static long rgba_to_cmy (char *src,
+static long rgba_to_cmy (const Babl *conversion,char *src,
char *dst,
long n);
-static long cmy_to_rgba (char *src,
+static long cmy_to_rgba (const Babl *conversion,char *src,
char *dst,
long n);
@@ -127,7 +127,7 @@ init (void)
static long
-rgba_to_cmyk (char *src,
+rgba_to_cmyk (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -177,7 +177,7 @@ rgba_to_cmyk (char *src,
}
static long
-cmyk_to_rgba (char *src,
+cmyk_to_rgba (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -218,7 +218,7 @@ cmyk_to_rgba (char *src,
}
static long
-rgba_to_cmy (char *src,
+rgba_to_cmy (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -245,7 +245,7 @@ rgba_to_cmy (char *src,
}
static long
-cmy_to_rgba (char *src,
+cmy_to_rgba (const Babl *conversion,char *src,
char *dst,
long n)
{
diff --git a/extensions/simple.c b/extensions/simple.c
index 1430ab1..cd34f1c 100644
--- a/extensions/simple.c
+++ b/extensions/simple.c
@@ -6,7 +6,7 @@ int init (void);
static inline long
-float_to_u8_x1 (unsigned char *src_char, unsigned char *dst, long samples)
+float_to_u8_x1 (const Babl *conversion,unsigned char *src_char, unsigned char *dst, long samples)
{
float *src = (float *)src_char;
long n = samples;
@@ -21,27 +21,27 @@ float_to_u8_x1 (unsigned char *src_char, unsigned char *dst, long samples)
}
static inline long
-float_to_u8_x4 (unsigned char *src_char, unsigned char *dst, long samples)
+float_to_u8_x4 (const Babl *conversion,unsigned char *src_char, unsigned char *dst, long samples)
{
- return float_to_u8_x1 (src_char, dst, samples * 4);
+ return float_to_u8_x1 (conversion, src_char, dst, samples * 4);
}
static inline long
-float_to_u8_x3 (unsigned char *src_char, unsigned char *dst, long samples)
+float_to_u8_x3 (const Babl *conversion,unsigned char *src_char, unsigned char *dst, long samples)
{
- return float_to_u8_x1 (src_char, dst, samples * 3);
+ return float_to_u8_x1 (conversion, src_char, dst, samples * 3);
}
static inline long
-float_to_u8_x2 (unsigned char *src_char, unsigned char *dst, long samples)
+float_to_u8_x2 (const Babl *conversion,unsigned char *src_char, unsigned char *dst, long samples)
{
- return float_to_u8_x1 (src_char, dst, samples * 2);
+ return float_to_u8_x1 (conversion, src_char, dst, samples * 2);
}
static inline long
-float_pre_to_u8_pre (unsigned char *src_char, unsigned char *dst, long samples)
+float_pre_to_u8_pre (const Babl *conversion,unsigned char *src_char, unsigned char *dst, long samples)
{
float *src = (float *)src_char;
long n = samples;
@@ -72,7 +72,7 @@ float_pre_to_u8_pre (unsigned char *src_char, unsigned char *dst, long samples)
}
static inline long
-float_to_u16_x1 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u16_x1 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
float *src = (float *)src_char;
uint16_t *dst = (uint16_t *)dst_char;
@@ -87,23 +87,23 @@ float_to_u16_x1 (unsigned char *src_char, unsigned char *dst_char, long samples)
return samples;
}
static inline long
-float_to_u16_x2 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u16_x2 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u16_x1 (src_char, dst_char, samples * 2);
+ return float_to_u16_x1 (conversion, src_char, dst_char, samples * 2);
}
static inline long
-float_to_u16_x3 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u16_x3 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u16_x1 (src_char, dst_char, samples * 3);
+ return float_to_u16_x1 (conversion, src_char, dst_char, samples * 3);
}
static inline long
-float_to_u16_x4 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u16_x4 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u16_x1 (src_char, dst_char, samples * 4);
+ return float_to_u16_x1 (conversion, src_char, dst_char, samples * 4);
}
static inline long
-float_pre_to_u16_pre (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_pre_to_u16_pre (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
float *src = (float *)src_char;
uint16_t *dst = (uint16_t *)dst_char;
@@ -134,7 +134,7 @@ float_pre_to_u16_pre (unsigned char *src_char, unsigned char *dst_char, long sam
}
static inline long
-float_pre_to_u32_pre (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_pre_to_u32_pre (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
float *src = (float *)src_char;
uint32_t *dst = (uint32_t *)dst_char;
@@ -166,7 +166,7 @@ float_pre_to_u32_pre (unsigned char *src_char, unsigned char *dst_char, long sam
static inline long
-float_to_u32_x1 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u32_x1 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
float *src = (float *)src_char;
uint32_t *dst = (uint32_t *)dst_char;
@@ -183,24 +183,24 @@ float_to_u32_x1 (unsigned char *src_char, unsigned char *dst_char, long samples)
return samples;
}
static inline long
-float_to_u32_x2 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u32_x2 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u32_x1 (src_char, dst_char, samples * 2);
+ return float_to_u32_x1 (conversion, src_char, dst_char, samples * 2);
}
static inline long
-float_to_u32_x3 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u32_x3 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u32_x1 (src_char, dst_char, samples * 3);
+ return float_to_u32_x1 (conversion, src_char, dst_char, samples * 3);
}
static inline long
-float_to_u32_x4 (unsigned char *src_char, unsigned char *dst_char, long samples)
+float_to_u32_x4 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- return float_to_u32_x1 (src_char, dst_char, samples * 4);
+ return float_to_u32_x1 (conversion, src_char, dst_char, samples * 4);
}
static inline long
-u32_to_float (unsigned char *src_char, unsigned char *dst_char, long samples)
+u32_to_float (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
uint32_t *src = (uint32_t *)src_char;
float *dst = (float *)dst_char;
@@ -215,30 +215,30 @@ u32_to_float (unsigned char *src_char, unsigned char *dst_char, long samples)
}
static inline long
-u32_to_float_x4 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u32_to_float_x4 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u32_to_float (src_char, dst_char, samples * 4);
+ u32_to_float (conversion, src_char, dst_char, samples * 4);
return samples;
}
static inline long
-u32_to_float_x3 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u32_to_float_x3 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u32_to_float (src_char, dst_char, samples * 3);
+ u32_to_float (conversion, src_char, dst_char, samples * 3);
return samples;
}
static inline long
-u32_to_float_x2 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u32_to_float_x2 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u32_to_float (src_char, dst_char, samples * 2);
+ u32_to_float (conversion, src_char, dst_char, samples * 2);
return samples;
}
static inline long
-u16_to_float (unsigned char *src_char, unsigned char *dst_char, long samples)
+u16_to_float (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
uint16_t *src = (uint16_t *)src_char;
float *dst = (float *)dst_char;
@@ -253,29 +253,29 @@ u16_to_float (unsigned char *src_char, unsigned char *dst_char, long samples)
}
static inline long
-u16_to_float_x4 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u16_to_float_x4 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u16_to_float (src_char, dst_char, samples * 4);
+ u16_to_float (conversion, src_char, dst_char, samples * 4);
return samples;
}
static inline long
-u16_to_float_x3 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u16_to_float_x3 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u16_to_float (src_char, dst_char, samples * 3);
+ u16_to_float (conversion, src_char, dst_char, samples * 3);
return samples;
}
static inline long
-u16_to_float_x2 (unsigned char *src_char, unsigned char *dst_char, long samples)
+u16_to_float_x2 (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
- u16_to_float (src_char, dst_char, samples * 2);
+ u16_to_float (conversion, src_char, dst_char, samples * 2);
return samples;
}
static inline long
-yau16_rgbaf (unsigned char *src_char, unsigned char *dst_char, long samples)
+yau16_rgbaf (const Babl *conversion,unsigned char *src_char, unsigned char *dst_char, long samples)
{
uint16_t *src = (uint16_t *)src_char;
float *dst = (float *)dst_char;
diff --git a/extensions/sse-half.c b/extensions/sse-half.c
index e20c214..1a48adb 100644
--- a/extensions/sse-half.c
+++ b/extensions/sse-half.c
@@ -30,7 +30,7 @@
#include "extensions/util.h"
static inline long
-conv_yHalf_yF (const uint16_t *src, float *dst, long samples)
+conv_yHalf_yF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
const uint64_t *s_vec;
__v4sf *d_vec;
@@ -63,25 +63,25 @@ conv_yHalf_yF (const uint16_t *src, float *dst, long samples)
}
static long
-conv_yaHalf_yaF (const uint16_t *src, float *dst, long samples)
+conv_yaHalf_yaF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 2) / 2;
+ return conv_yHalf_yF (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgbHalf_rgbF (const uint16_t *src, float *dst, long samples)
+conv_rgbHalf_rgbF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 3) / 3;
+ return conv_yHalf_yF (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbaHalf_rgbaF (const uint16_t *src, float *dst, long samples)
+conv_rgbaHalf_rgbaF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
- return conv_yHalf_yF (src, dst, samples * 4) / 4;
+ return conv_yHalf_yF (conversion, src, dst, samples * 4) / 4;
}
static inline long
-conv_yF_yHalf (const float *src, uint16_t *dst, long samples)
+conv_yF_yHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
const __v4sf *s_vec;
uint64_t *d_vec;
@@ -114,21 +114,21 @@ conv_yF_yHalf (const float *src, uint16_t *dst, long samples)
}
static long
-conv_yaF_yaHalf (const float *src, uint16_t *dst, long samples)
+conv_yaF_yaHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 2) / 2;
+ return conv_yF_yHalf (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgbF_rgbHalf (const float *src, uint16_t *dst, long samples)
+conv_rgbF_rgbHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 3) / 3;
+ return conv_yF_yHalf (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbaF_rgbaHalf (const float *src, uint16_t *dst, long samples)
+conv_rgbaF_rgbaHalf (const Babl *conversion,const float *src, uint16_t *dst, long samples)
{
- return conv_yF_yHalf (src, dst, samples * 4) / 4;
+ return conv_yF_yHalf (conversion, src, dst, samples * 4) / 4;
}
#endif /* defined(USE_SSE4_1) && defined(USE_F16C) && defined(ARCH_X86_64) */
diff --git a/extensions/sse2-float.c b/extensions/sse2-float.c
index 71fa008..1f5468f 100644
--- a/extensions/sse2-float.c
+++ b/extensions/sse2-float.c
@@ -38,7 +38,7 @@
static const float BABL_ALPHA_THRESHOLD_FLOAT = (float)BABL_ALPHA_THRESHOLD;
static long
-conv_rgbaF_linear_rgbAF_linear (const float *src, float *dst, long samples)
+conv_rgbaF_linear_rgbAF_linear (const Babl *conversion,const float *src, float *dst, long samples)
{
long i = 0;
long remainder;
@@ -96,7 +96,7 @@ conv_rgbaF_linear_rgbAF_linear (const float *src, float *dst, long samples)
}
static long
-conv_rgbAF_linear_rgbaF_linear_shuffle (const float *src, float *dst, long samples)
+conv_rgbAF_linear_rgbaF_linear_shuffle (const Babl *conversion,const float *src, float *dst, long samples)
{
long i = 0;
long remainder;
@@ -164,7 +164,7 @@ conv_rgbAF_linear_rgbaF_linear_shuffle (const float *src, float *dst, long sampl
}
static long
-conv_rgbAF_linear_rgbaF_linear_spin (const float *src, float *dst, long samples)
+conv_rgbAF_linear_rgbaF_linear_spin (const Babl *conversion,const float *src, float *dst, long samples)
{
long i = 0;
long remainder;
@@ -297,7 +297,7 @@ gamma_2_2_to_linear_sse2 (__v4sf x)
#define GAMMA_RGBA(func, munge) \
static inline long \
-func (const float *src, float *dst, long samples)\
+func (const Babl *conversion,const float *src, float *dst, long samples)\
{\
int i = samples;\
if (((uintptr_t)src % 16) + ((uintptr_t)dst % 16) == 0)\
@@ -353,11 +353,11 @@ func (const float *src, float *dst, long samples)\
GAMMA_RGBA(conv_rgbaF_linear_rgbaF_gamma, linear_to_gamma_2_2_sse2)
GAMMA_RGBA(conv_rgbaF_gamma_rgbaF_linear, gamma_2_2_to_linear_sse2)
-static long conv_rgbaF_linear_rgbAF_gamma (const float *src, float *dst, long samples)
+static long conv_rgbaF_linear_rgbAF_gamma (const Babl *conversion,const float *src, float *dst, long samples)
{
float *tmp = alloca (sizeof(float)*4*samples);
- conv_rgbaF_linear_rgbaF_gamma (src, tmp, samples);
- conv_rgbaF_linear_rgbAF_linear (tmp, dst, samples);
+ conv_rgbaF_linear_rgbaF_gamma (conversion, src, tmp, samples);
+ conv_rgbaF_linear_rgbAF_linear (conversion, tmp, dst, samples);
return samples;
}
@@ -380,7 +380,7 @@ static long conv_rgbaF_linear_rgbAF_gamma (const float *src, float *dst, long sa
}\
static long
-conv_yaF_linear_yaF_gamma (const float *src, float *dst, long samples)
+conv_yaF_linear_yaF_gamma (const Babl *conversion,const float *src, float *dst, long samples)
{
long total = samples;
@@ -418,7 +418,7 @@ conv_yaF_linear_yaF_gamma (const float *src, float *dst, long samples)
static long
-conv_yaF_gamma_yaF_linear (const float *src, float *dst, long samples)
+conv_yaF_gamma_yaF_linear (const Babl *conversion,const float *src, float *dst, long samples)
{
long total = samples;
@@ -455,7 +455,7 @@ conv_yaF_gamma_yaF_linear (const float *src, float *dst, long samples)
}
static inline long
-conv_yF_linear_yF_gamma (const float *src, float *dst, long samples)
+conv_yF_linear_yF_gamma (const Babl *conversion,const float *src, float *dst, long samples)
{
long total = samples;
@@ -495,7 +495,7 @@ conv_yF_linear_yF_gamma (const float *src, float *dst, long samples)
}
static inline long
-conv_yF_gamma_yF_linear (const float *src, float *dst, long samples)
+conv_yF_gamma_yF_linear (const Babl *conversion,const float *src, float *dst, long samples)
{
long total = samples;
@@ -536,16 +536,16 @@ conv_yF_gamma_yF_linear (const float *src, float *dst, long samples)
static long
-conv_rgbF_linear_rgbF_gamma (const float *src, float *dst, long samples)
+conv_rgbF_linear_rgbF_gamma (const Babl *conversion,const float *src, float *dst, long samples)
{
- return conv_yF_linear_yF_gamma (src, dst, samples * 3) / 3;
+ return conv_yF_linear_yF_gamma (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbF_gamma_rgbF_linear (const float *src, float *dst, long samples)
+conv_rgbF_gamma_rgbF_linear (const Babl *conversion,const float *src, float *dst, long samples)
{
- return conv_yF_gamma_yF_linear (src, dst, samples * 3) / 3;
+ return conv_yF_gamma_yF_linear (conversion, src, dst, samples * 3) / 3;
}
#endif /* defined(USE_SSE2) */
diff --git a/extensions/sse2-int16.c b/extensions/sse2-int16.c
index 843e030..71ae0b2 100644
--- a/extensions/sse2-int16.c
+++ b/extensions/sse2-int16.c
@@ -35,7 +35,7 @@
static const __v4sf u16_float = Q (1.f / 65535);
static long
-conv_rgba16_rgbaF (const uint16_t *src, float *dst, long samples)
+conv_rgba16_rgbaF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
long i = 0;
@@ -71,7 +71,7 @@ conv_rgba16_rgbaF (const uint16_t *src, float *dst, long samples)
}
static long
-conv_rgba16_rgbAF (const uint16_t *src, float *dst, long samples)
+conv_rgba16_rgbAF (const Babl *conversion,const uint16_t *src, float *dst, long samples)
{
long i = 0;
long remainder;
diff --git a/extensions/sse2-int8.c b/extensions/sse2-int8.c
index 5353de6..cfa146e 100644
--- a/extensions/sse2-int8.c
+++ b/extensions/sse2-int8.c
@@ -31,7 +31,7 @@
#include "extensions/util.h"
static inline long
-conv_yF_y8 (const float *src, uint8_t *dst, long samples)
+conv_yF_y8 (const Babl *conversion,const float *src, uint8_t *dst, long samples)
{
const __v4sf *s_vec;
__m128i *d_vec;
@@ -128,28 +128,28 @@ conv_yF_y8 (const float *src, uint8_t *dst, long samples)
}
static long
-conv_yaF_ya8 (const float *src, uint8_t *dst, long samples)
+conv_yaF_ya8 (const Babl *conversion,const float *src, uint8_t *dst, long samples)
{
- return conv_yF_y8 (src, dst, samples * 2) / 2;
+ return conv_yF_y8 (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgbF_rgb8 (const float *src, uint8_t *dst, long samples)
+conv_rgbF_rgb8 (const Babl *conversion,const float *src, uint8_t *dst, long samples)
{
- return conv_yF_y8 (src, dst, samples * 3) / 3;
+ return conv_yF_y8 (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgbaF_rgba8 (const float *src, uint8_t *dst, long samples)
+conv_rgbaF_rgba8 (const Babl *conversion,const float *src, uint8_t *dst, long samples)
{
- return conv_yF_y8 (src, dst, samples * 4) / 4;
+ return conv_yF_y8 (conversion, src, dst, samples * 4) / 4;
}
static long
-conv_rgbAF_rgbA8 (const float *src, uint8_t *dst, long samples)
+conv_rgbAF_rgbA8 (const Babl *conversion,const float *src, uint8_t *dst, long samples)
{
- return conv_yF_y8 (src, dst, samples * 4) / 4;
+ return conv_yF_y8 (conversion, src, dst, samples * 4) / 4;
}
#endif
diff --git a/extensions/sse4-int8.c b/extensions/sse4-int8.c
index 73f63e3..b6f7c42 100644
--- a/extensions/sse4-int8.c
+++ b/extensions/sse4-int8.c
@@ -31,7 +31,7 @@
#include "extensions/util.h"
static inline long
-conv_y8_yF (const uint8_t *src, float *dst, long samples)
+conv_y8_yF (const Babl *conversion,const uint8_t *src, float *dst, long samples)
{
const float factor = 1.0f / 255.0f;
const __v4sf factor_vec = {1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f, 1.0f / 255.0f};
@@ -67,21 +67,21 @@ conv_y8_yF (const uint8_t *src, float *dst, long samples)
}
static long
-conv_ya8_yaF (const uint8_t *src, float *dst, long samples)
+conv_ya8_yaF (const Babl *conversion,const uint8_t *src, float *dst, long samples)
{
- return conv_y8_yF (src, dst, samples * 2) / 2;
+ return conv_y8_yF (conversion, src, dst, samples * 2) / 2;
}
static long
-conv_rgb8_rgbF (const uint8_t *src, float *dst, long samples)
+conv_rgb8_rgbF (const Babl *conversion,const uint8_t *src, float *dst, long samples)
{
- return conv_y8_yF (src, dst, samples * 3) / 3;
+ return conv_y8_yF (conversion, src, dst, samples * 3) / 3;
}
static long
-conv_rgba8_rgbaF (const uint8_t *src, float *dst, long samples)
+conv_rgba8_rgbaF (const Babl *conversion,const uint8_t *src, float *dst, long samples)
{
- return conv_y8_yF (src, dst, samples * 4) / 4;
+ return conv_y8_yF (conversion, src, dst, samples * 4) / 4;
}
#endif
diff --git a/extensions/two-table.c b/extensions/two-table.c
index 6be18ca..c7344a1 100644
--- a/extensions/two-table.c
+++ b/extensions/two-table.c
@@ -43,7 +43,7 @@ conv_float_u8_two_table_map (float value)
}
static long
-conv_rgbafloat_linear_cairo24_le (unsigned char *src_char,
+conv_rgbafloat_linear_cairo24_le (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -69,7 +69,7 @@ conv_rgbafloat_linear_cairo24_le (unsigned char *src_char,
}
static long
-conv_rgbfloat_linear_cairo24_le (unsigned char *src_char,
+conv_rgbfloat_linear_cairo24_le (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -89,7 +89,7 @@ conv_rgbfloat_linear_cairo24_le (unsigned char *src_char,
}
static long
-conv_rgbafloat_linear_rgbu8_gamma (unsigned char *src_char,
+conv_rgbafloat_linear_rgbu8_gamma (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -118,7 +118,7 @@ conv_rgbafloat_linear_rgbu8_gamma (unsigned char *src_char,
static long
-conv_rgbafloat_linear_rgbau8_gamma (unsigned char *src_char,
+conv_rgbafloat_linear_rgbau8_gamma (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -148,7 +148,7 @@ conv_rgbafloat_linear_rgbau8_gamma (unsigned char *src_char,
}
static long
-conv_rgbfloat_linear_rgbu8_gamma (unsigned char *src_char,
+conv_rgbfloat_linear_rgbu8_gamma (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -168,7 +168,7 @@ conv_rgbfloat_linear_rgbu8_gamma (unsigned char *src_char,
}
static long
-conv_yfloat_linear_yu8_gamma (unsigned char *src_char,
+conv_yfloat_linear_yu8_gamma (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
@@ -183,7 +183,7 @@ conv_yfloat_linear_yu8_gamma (unsigned char *src_char,
}
static long
-conv_yafloat_linear_yau8_gamma (unsigned char *src_char,
+conv_yafloat_linear_yau8_gamma (const Babl *conversion,unsigned char *src_char,
unsigned char *dst,
long samples)
{
diff --git a/extensions/ycbcr.c b/extensions/ycbcr.c
index 11db563..a7b1e28 100644
--- a/extensions/ycbcr.c
+++ b/extensions/ycbcr.c
@@ -72,7 +72,7 @@ models (void)
static long
-rgba_to_ycbcra709 (char *src,
+rgba_to_ycbcra709 (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -106,7 +106,7 @@ rgba_to_ycbcra709 (char *src,
static long
-rgba_to_ycbcr709 (char *src,
+rgba_to_ycbcr709 (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -138,7 +138,7 @@ rgba_to_ycbcr709 (char *src,
static long
-ycbcra709_to_rgba (char *src,
+ycbcra709_to_rgba (const Babl *conversion,char *src,
char *dst,
long n)
{
@@ -172,7 +172,7 @@ ycbcra709_to_rgba (char *src,
static long
-ycbcr709_to_rgba (char *src,
+ycbcr709_to_rgba (const Babl *conversion,char *src,
char *dst,
long n)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]