diff options
Diffstat (limited to 'third_party/skcms/src')
-rw-r--r-- | third_party/skcms/src/Curve.c | 4 | ||||
-rw-r--r-- | third_party/skcms/src/Curve.h | 15 | ||||
-rw-r--r-- | third_party/skcms/src/ICCProfile.c | 7 | ||||
-rw-r--r-- | third_party/skcms/src/ICCProfile.h | 12 | ||||
-rw-r--r-- | third_party/skcms/src/LinearAlgebra.c | 3 | ||||
-rw-r--r-- | third_party/skcms/src/LinearAlgebra.h | 18 | ||||
-rw-r--r-- | third_party/skcms/src/Macros.h | 17 | ||||
-rw-r--r-- | third_party/skcms/src/PortableMath.c | 2 | ||||
-rw-r--r-- | third_party/skcms/src/PortableMath.h | 30 | ||||
-rw-r--r-- | third_party/skcms/src/RandomBytes.h | 14 | ||||
-rw-r--r-- | third_party/skcms/src/TransferFunction.c | 6 | ||||
-rw-r--r-- | third_party/skcms/src/TransferFunction.h | 22 | ||||
-rw-r--r-- | third_party/skcms/src/Transform.c | 7 | ||||
-rw-r--r-- | third_party/skcms/src/Transform.h | 70 | ||||
-rw-r--r-- | third_party/skcms/src/Transform_inl.h | 2 |
15 files changed, 7 insertions, 222 deletions
diff --git a/third_party/skcms/src/Curve.c b/third_party/skcms/src/Curve.c index a1a3c62a3d..2b99fd7bf4 100644 --- a/third_party/skcms/src/Curve.c +++ b/third_party/skcms/src/Curve.c @@ -5,9 +5,7 @@ * found in the LICENSE file. */ -#include "Curve.h" -#include "PortableMath.h" -#include "TransferFunction.h" +#include "../skcms_internal.h" #include <assert.h> static float minus_1_ulp(float x) { diff --git a/third_party/skcms/src/Curve.h b/third_party/skcms/src/Curve.h deleted file mode 100644 index 1316562b56..0000000000 --- a/third_party/skcms/src/Curve.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -#include "../skcms.h" - -// Evaluate an skcms_Curve at x. -float skcms_eval_curve(const skcms_Curve*, float x); - -float skcms_MaxRoundtripError(const skcms_Curve* curve, const skcms_TransferFunction* inv_tf); diff --git a/third_party/skcms/src/ICCProfile.c b/third_party/skcms/src/ICCProfile.c index 1f25d1611f..257e111025 100644 --- a/third_party/skcms/src/ICCProfile.c +++ b/third_party/skcms/src/ICCProfile.c @@ -6,12 +6,7 @@ */ #include "../skcms.h" -#include "ICCProfile.h" -#include "LinearAlgebra.h" -#include "Macros.h" -#include "PortableMath.h" -#include "RandomBytes.h" -#include "TransferFunction.h" +#include "../skcms_internal.h" #include <assert.h> #include <limits.h> #include <stdlib.h> diff --git a/third_party/skcms/src/ICCProfile.h b/third_party/skcms/src/ICCProfile.h deleted file mode 100644 index 39967a1cb2..0000000000 --- a/third_party/skcms/src/ICCProfile.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -#include <stdbool.h> - -bool skcms_GetCHAD(const skcms_ICCProfile* profile, skcms_Matrix3x3* m); diff --git a/third_party/skcms/src/LinearAlgebra.c b/third_party/skcms/src/LinearAlgebra.c index fb35e5c65c..1cd8b3cb32 100644 --- a/third_party/skcms/src/LinearAlgebra.c +++ b/third_party/skcms/src/LinearAlgebra.c @@ -6,8 +6,7 @@ */ #include "../skcms.h" -#include "LinearAlgebra.h" -#include "PortableMath.h" +#include "../skcms_internal.h" #include <float.h> bool skcms_Matrix3x3_invert(const skcms_Matrix3x3* src, skcms_Matrix3x3* dst) { diff --git a/third_party/skcms/src/LinearAlgebra.h b/third_party/skcms/src/LinearAlgebra.h deleted file mode 100644 index 10b122645a..0000000000 --- a/third_party/skcms/src/LinearAlgebra.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -#include <stdbool.h> - -typedef struct { float vals[3]; } skcms_Vector3; - -// 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); - -skcms_Vector3 skcms_MV_mul(const skcms_Matrix3x3*, const skcms_Vector3*); diff --git a/third_party/skcms/src/Macros.h b/third_party/skcms/src/Macros.h deleted file mode 100644 index 6bf9c5eb3e..0000000000 --- a/third_party/skcms/src/Macros.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. -// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit. -#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x)) - -// Please do not use sizeof() directly, and size_t only when required. -// (We have no way of enforcing these requests...) - -#define ARRAY_COUNT(arr) (int)(SAFE_SIZEOF((arr)) / SAFE_SIZEOF(*(arr))) diff --git a/third_party/skcms/src/PortableMath.c b/third_party/skcms/src/PortableMath.c index b50cb0f1c2..52e8b7d1c8 100644 --- a/third_party/skcms/src/PortableMath.c +++ b/third_party/skcms/src/PortableMath.c @@ -6,7 +6,7 @@ */ #include "../skcms.h" -#include "PortableMath.h" +#include "../skcms_internal.h" #include <limits.h> #include <string.h> diff --git a/third_party/skcms/src/PortableMath.h b/third_party/skcms/src/PortableMath.h deleted file mode 100644 index 58a2fa8751..0000000000 --- a/third_party/skcms/src/PortableMath.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -static const union { - uint32_t bits; - float f; -} inf_ = { 0x7f800000 }; - -#define INFINITY_ inf_.f - -static inline float floorf_(float x) { - float roundtrip = (float)((int)x); - return roundtrip > x ? roundtrip - 1 : roundtrip; -} - -static inline float fmaxf_(float x, float y) { return x > y ? x : y; } -static inline float fminf_(float x, float y) { return x < y ? x : y; } -static inline float fabsf_(float x) { return x < 0 ? -x : x; } - -float log2f_(float); -float exp2f_(float); -float powf_(float, float); - -static inline bool isfinitef_(float x) { return 0 == x*0; } diff --git a/third_party/skcms/src/RandomBytes.h b/third_party/skcms/src/RandomBytes.h deleted file mode 100644 index a6191a5e96..0000000000 --- a/third_party/skcms/src/RandomBytes.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -#include <stdint.h> - -// 252 of a random shuffle of all possible bytes. -// 252 is evenly divisible by 3 and 4. Only 192, 10, 241, and 43 are missing. -extern const uint8_t skcms_252_random_bytes[252]; diff --git a/third_party/skcms/src/TransferFunction.c b/third_party/skcms/src/TransferFunction.c index 0e3467c13f..7bab9d9286 100644 --- a/third_party/skcms/src/TransferFunction.c +++ b/third_party/skcms/src/TransferFunction.c @@ -6,11 +6,7 @@ */ #include "../skcms.h" -#include "Curve.h" -#include "LinearAlgebra.h" -#include "Macros.h" -#include "PortableMath.h" -#include "TransferFunction.h" +#include "../skcms_internal.h" #include <assert.h> #include <limits.h> #include <string.h> diff --git a/third_party/skcms/src/TransferFunction.h b/third_party/skcms/src/TransferFunction.h deleted file mode 100644 index 1f32831db4..0000000000 --- a/third_party/skcms/src/TransferFunction.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#pragma once - -// TransferFunction.h contains skcms-private APIs for working with skcms_TransferFunction. - -#include <stdbool.h> - -bool skcms_TransferFunction_isValid(const skcms_TransferFunction*); - -float skcms_TransferFunction_eval(const skcms_TransferFunction*, float); - -bool skcms_TransferFunction_invert(const skcms_TransferFunction*, skcms_TransferFunction*); - -// Fit c,d,f parameters of an skcms_TransferFunction to the first 2 < L ≤ N -// evenly-spaced points on an skcms_Curve within a given tolerance, returning L. -int skcms_fit_linear(const skcms_Curve*, int N, float tol, float* c, float* d, float* f); diff --git a/third_party/skcms/src/Transform.c b/third_party/skcms/src/Transform.c index ebfd0cef5b..2f4216ba8b 100644 --- a/third_party/skcms/src/Transform.c +++ b/third_party/skcms/src/Transform.c @@ -6,12 +6,7 @@ */ #include "../skcms.h" -#include "Curve.h" -#include "LinearAlgebra.h" -#include "Macros.h" -#include "PortableMath.h" -#include "TransferFunction.h" -#include "Transform.h" +#include "../skcms_internal.h" #include <assert.h> #include <limits.h> #include <stdint.h> diff --git a/third_party/skcms/src/Transform.h b/third_party/skcms/src/Transform.h deleted file mode 100644 index 6eda8992ba..0000000000 --- a/third_party/skcms/src/Transform.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -// Op is a type used by both Transform.c and Transform_inl.h. - -#pragma once - -#define FOREACH_Op(M) \ - M(noop) \ - M(load_a8) \ - M(load_g8) \ - M(load_4444) \ - M(load_565) \ - M(load_888) \ - M(load_8888) \ - M(load_1010102) \ - M(load_161616) \ - M(load_16161616) \ - M(load_hhh) \ - M(load_hhhh) \ - M(load_fff) \ - M(load_ffff) \ - M(swap_rb) \ - M(clamp) \ - M(invert) \ - M(force_opaque) \ - M(premul) \ - M(unpremul) \ - M(matrix_3x3) \ - M(matrix_3x4) \ - M(lab_to_xyz) \ - M(tf_r) \ - M(tf_g) \ - M(tf_b) \ - M(tf_a) \ - M(table_8_r) \ - M(table_8_g) \ - M(table_8_b) \ - M(table_8_a) \ - M(table_16_r) \ - M(table_16_g) \ - M(table_16_b) \ - M(table_16_a) \ - M(clut_3D_8) \ - M(clut_3D_16) \ - M(clut_4D_8) \ - M(clut_4D_16) \ - M(store_a8) \ - M(store_g8) \ - M(store_4444) \ - M(store_565) \ - M(store_888) \ - M(store_8888) \ - M(store_1010102) \ - M(store_161616) \ - M(store_16161616) \ - M(store_hhh) \ - M(store_hhhh) \ - M(store_fff) \ - M(store_ffff) - -typedef enum { - #define M(op) Op_##op, - FOREACH_Op(M) - #undef M -} Op; diff --git a/third_party/skcms/src/Transform_inl.h b/third_party/skcms/src/Transform_inl.h index fd3100aa60..34dcbbfff6 100644 --- a/third_party/skcms/src/Transform_inl.h +++ b/third_party/skcms/src/Transform_inl.h @@ -7,7 +7,7 @@ // Intentionally NO #pragma once -#include "Transform.h" +#include "../skcms_internal.h" // This file is included from src/Transform.c, with some values and types pre-defined: // N: depth of all vectors, 1,4,8, or 16 |