expose three more private routines
We'll need these if we want to use skcms_Matrix3x3
and skcms_TransferFunction in Skia.
Change-Id: Ifaa449a3962835313fd7351c247139d844007ee3
Reviewed-on: https://skia-review.googlesource.com/157524
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/skcms.h b/skcms.h
index b4c0f4c..cbabfc8 100644
--- a/skcms.h
+++ b/skcms.h
@@ -27,6 +27,10 @@
float vals[3][3];
} skcms_Matrix3x3;
+// It is _not_ safe to alias the pointers to invert in-place.
+SKCMS_API bool skcms_Matrix3x3_invert(const skcms_Matrix3x3*, skcms_Matrix3x3*);
+SKCMS_API skcms_Matrix3x3 skcms_Matrix3x3_concat(const skcms_Matrix3x3*, const skcms_Matrix3x3*);
+
// A row-major 3x4 matrix (ie vals[row][col])
typedef struct skcms_Matrix3x4 {
float vals[3][4];
@@ -43,8 +47,9 @@
float g, a,b,c,d,e,f;
} skcms_TransferFunction;
-SKCMS_API bool skcms_TransferFunction_invert(const skcms_TransferFunction*,
- skcms_TransferFunction*);
+SKCMS_API float skcms_TransferFunction_eval (const skcms_TransferFunction*, float);
+SKCMS_API bool skcms_TransferFunction_invert(const skcms_TransferFunction*,
+ skcms_TransferFunction*);
// Unified representation of 'curv' or 'para' tag data, or a 1D table from 'mft1' or 'mft2'
typedef union skcms_Curve {
diff --git a/skcms_internal.h b/skcms_internal.h
index 384cad0..4b0c395 100644
--- a/skcms_internal.h
+++ b/skcms_internal.h
@@ -21,9 +21,6 @@
// ~~~~ General Helper Macros ~~~~
#define ARRAY_COUNT(arr) (int)(sizeof((arr)) / sizeof(*(arr)))
-// ~~~~ skcms_TransferFunction ~~~~
- float skcms_TransferFunction_eval (const skcms_TransferFunction*, float);
-
// ~~~~ skcms_ICCProfile ~~~~
bool skcms_GetCHAD(const skcms_ICCProfile* profile, skcms_Matrix3x3* m);
@@ -32,11 +29,6 @@
// Used for ICC profile equivalence testing.
extern const uint8_t skcms_252_random_bytes[252];
-// ~~~~ Linear Algebra ~~~~
- // It is _not_ safe to alias the pointers to invert in-place.
- bool skcms_Matrix3x3_invert(const skcms_Matrix3x3*, skcms_Matrix3x3*);
- skcms_Matrix3x3 skcms_Matrix3x3_concat(const skcms_Matrix3x3* A, const skcms_Matrix3x3* B);
-
// ~~~~ Portable Math ~~~~
static inline float floorf_(float x) {
float roundtrip = (float)((int)x);