test_only.c overhaul
- always print a curve per channel
- Linear -> Identity
- try to approximate skcms_TransferFunction with skcms_TF13
- print all curve floats out at %.6g
- get rid of for_unit_test
Change-Id: I8e7c7a8beba161594b06f8d1cecb43c22e7ef3f6
Reviewed-on: https://skia-review.googlesource.com/121488
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/iccdump.c b/iccdump.c
index ae678d0..aa69904 100644
--- a/iccdump.c
+++ b/iccdump.c
@@ -393,7 +393,7 @@
fatal("Unable to parse ICC profile");
}
- dump_profile(&profile, stdout, false);
+ dump_profile(&profile, stdout);
if (desmos) {
if (profile.has_trc) {
diff --git a/profiles/color.org/Lower_Left.icc.txt b/profiles/color.org/Lower_Left.icc.txt
index 70b17b2..a48a2cb 100644
--- a/profiles/color.org/Lower_Left.icc.txt
+++ b/profiles/color.org/Lower_Left.icc.txt
@@ -16,7 +16,12 @@
'gXYZ' : 'XYZ ' : 20 : 492
'bXYZ' : 'XYZ ' : 20 : 512
- TRC : 2.19921875, 1, 0, 0, 0, 0, 0
+rTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+gTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+bTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
XYZ : | 0.385116577 0.143051147 0.436035156 |
| 0.716903687 0.060607910 0.222488403 |
| 0.097061157 0.713912964 0.013916016 |
diff --git a/profiles/color.org/Lower_Right.icc.txt b/profiles/color.org/Lower_Right.icc.txt
index e01c931..d5eb25c 100644
--- a/profiles/color.org/Lower_Right.icc.txt
+++ b/profiles/color.org/Lower_Right.icc.txt
@@ -16,7 +16,12 @@
'gXYZ' : 'XYZ ' : 20 : 520
'bXYZ' : 'XYZ ' : 20 : 540
- TRC : 2.19921875, 1, 0, 0, 0, 0, 0
+rTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+gTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+bTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
XYZ : | 0.609741211 0.205276489 0.149185181 |
| 0.311111450 0.625671387 0.063217163 |
| 0.019470215 0.060867310 0.744567871 |
diff --git a/profiles/color.org/Upper_Left.icc.txt b/profiles/color.org/Upper_Left.icc.txt
index fa04c9a..eb0cb7b 100644
--- a/profiles/color.org/Upper_Left.icc.txt
+++ b/profiles/color.org/Upper_Left.icc.txt
@@ -20,18 +20,18 @@
A2B : "M", Matrix, "B"
"M" : 3 inputs
M0 : 16-bit table with 256 entries
- ~= : 2.492x^3 + -2.858x^2 + 1.366x (Max error: 0.01908)
+ ~= : 2.49204x^3 + -2.85849x^2 + 1.36644x (Max error: 0.0190758)
M1 : 16-bit table with 256 entries
- ~= : 2.492x^3 + -2.858x^2 + 1.366x (Max error: 0.01908)
+ ~= : 2.49204x^3 + -2.85849x^2 + 1.36644x (Max error: 0.0190758)
M2 : 16-bit table with 256 entries
- ~= : 2.492x^3 + -2.858x^2 + 1.366x (Max error: 0.01908)
+ ~= : 2.49204x^3 + -2.85849x^2 + 1.36644x (Max error: 0.0190758)
Mtrx : | 0.959396958 0.847338140 0.314814538 -0.503105104 |
| 0.489433438 1.577521086 0.133390293 -0.521812081 |
| 0.030578148 0.213589266 1.570868373 -0.430443883 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
003012 e8ff0c 335505 00000c 000032 5a3300 2d9d18
8c3b0f 000000 884609 dcd000 274100 0c230c 3510c0
diff --git a/profiles/color.org/Upper_Right.icc.txt b/profiles/color.org/Upper_Right.icc.txt
index d153e1b..b17eb1d 100644
--- a/profiles/color.org/Upper_Right.icc.txt
+++ b/profiles/color.org/Upper_Right.icc.txt
@@ -16,24 +16,24 @@
A2B : "A", CLUT, "M", Matrix, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 2 x 2 x 2 (16 bpp)
"M" : 3 inputs
M0 : 16-bit table with 256 entries
- ~= : 2.099x^3 + -1.99x^2 + 0.8913x (Max error: 0.01818)
+ ~= : 2.09874x^3 + -1.99004x^2 + 0.891296x (Max error: 0.0181844)
M1 : 16-bit table with 256 entries
- ~= : 2.099x^3 + -1.99x^2 + 0.8913x (Max error: 0.01818)
+ ~= : 2.09874x^3 + -1.99004x^2 + 0.891296x (Max error: 0.0181844)
M2 : 16-bit table with 256 entries
- ~= : 2.099x^3 + -1.99x^2 + 0.8913x (Max error: 0.01818)
+ ~= : 2.09874x^3 + -1.99004x^2 + 0.891296x (Max error: 0.0181844)
Mtrx : | 2.202053785 1.944855571 0.722553670 -0.733356714 |
| 1.123395920 3.620794296 0.306147665 -0.760608494 |
| 0.070189357 0.490257412 3.605535746 -0.627431810 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
050217 c9c1ff 434d9d 273100 312b00 a1ff8a 0d054b
d3f938 2a480b bfe26d edffff 6592a8 0b091c a5670c
diff --git a/profiles/color.org/sRGB2014.icc.txt b/profiles/color.org/sRGB2014.icc.txt
index 7e889e2..f28aa1d 100644
--- a/profiles/color.org/sRGB2014.icc.txt
+++ b/profiles/color.org/sRGB2014.icc.txt
@@ -23,14 +23,14 @@
'chad' : 'sf32' : 44 : 2980
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt b/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
index 9d3d98c..90b074c 100644
--- a/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
+++ b/profiles/color.org/sRGB_ICC_v4_Appearance.icc.txt
@@ -17,21 +17,21 @@
A2B : "A", CLUT, "M", Matrix, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"M" : 3 inputs
- M0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ M0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 0.000000000 |
| 0.000000000 0.000000000 1.000000000 0.000000000 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
2f4e2d 92c11a 486216 190e2f 1d1048 5c4609 3e711e
653727 1d1711 6b4623 9c9b13 4a5b0b 2b4229 3a2375
diff --git a/profiles/color.org/sRGB_v4_ICC_preference.icc.txt b/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
index bcaf072..fa6bf76 100644
--- a/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
+++ b/profiles/color.org/sRGB_v4_ICC_preference.icc.txt
@@ -17,21 +17,21 @@
A2B : "A", CLUT, "M", Matrix, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"M" : 3 inputs
- M0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ M0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 0.000000000 |
| 0.000000000 0.000000000 1.000000000 0.000000000 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
0f2b1c 97bd13 445b15 190e29 1d113f 5f4706 1d4a14
6b3928 1f1912 764e26 b3a80d 424e05 1d3325 3b236d
diff --git a/profiles/misc/AdobeRGB.icc.txt b/profiles/misc/AdobeRGB.icc.txt
index e01c931..d5eb25c 100644
--- a/profiles/misc/AdobeRGB.icc.txt
+++ b/profiles/misc/AdobeRGB.icc.txt
@@ -16,7 +16,12 @@
'gXYZ' : 'XYZ ' : 20 : 520
'bXYZ' : 'XYZ ' : 20 : 540
- TRC : 2.19921875, 1, 0, 0, 0, 0, 0
+rTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+gTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+bTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
XYZ : | 0.609741211 0.205276489 0.149185181 |
| 0.311111450 0.625671387 0.063217163 |
| 0.019470215 0.060867310 0.744567871 |
diff --git a/profiles/misc/Apple_Color_LCD.icc.txt b/profiles/misc/Apple_Color_LCD.icc.txt
index 3a4eeec..8cdfc4a 100644
--- a/profiles/misc/Apple_Color_LCD.icc.txt
+++ b/profiles/misc/Apple_Color_LCD.icc.txt
@@ -24,14 +24,14 @@
'aagg' : 'para' : 32 : 3652
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
XYZ : | 0.444335938 0.379440308 0.140411377 |
| 0.224761963 0.726165771 0.049072266 |
| 0.005477905 0.077972412 0.741455078 |
diff --git a/profiles/misc/Apple_Wide_Color.icc.txt b/profiles/misc/Apple_Wide_Color.icc.txt
index ede8059..ba1c68e 100644
--- a/profiles/misc/Apple_Wide_Color.icc.txt
+++ b/profiles/misc/Apple_Wide_Color.icc.txt
@@ -16,21 +16,24 @@
A2B : "A", CLUT, "M", Matrix, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"M" : 3 inputs
- M0 : 2.3999939, 0.947906494, 0.0520935059, 0.0773925781, 0.0393066406, 0, 0
- M1 : 2.3999939, 0.947906494, 0.0520935059, 0.0773925781, 0.0393066406, 0, 0
- M2 : 2.3999939, 0.947906494, 0.0520935059, 0.0773925781, 0.0393066406, 0, 0
+ M0 : 2.39999, 0.947906, 0.0520935, 0.0773926, 0.0393066, 0, 0 (D-gap: -3.51714e-06)
+ ~= : 0.305693x^3 + 0.681725x^2 + 0.0125825x (Max error: 0.00166329)
+ M1 : 2.39999, 0.947906, 0.0520935, 0.0773926, 0.0393066, 0, 0 (D-gap: -3.51714e-06)
+ ~= : 0.305693x^3 + 0.681725x^2 + 0.0125825x (Max error: 0.00166329)
+ M2 : 2.39999, 0.947906, 0.0520935, 0.0773926, 0.0393066, 0, 0 (D-gap: -3.51714e-06)
+ ~= : 0.305693x^3 + 0.681725x^2 + 0.0125825x (Max error: 0.00166329)
Mtrx : | 0.507255435 0.301234424 0.155698314 0.000000000 |
| 0.239345714 0.694691539 0.065977998 0.000000000 |
| 0.000457757 0.047393076 0.777148783 0.000000000 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
2c562d a2d713 4b6615 1a0e30 1e114a 614a06 3d8912
763f31 1c1711 734b27 a6a90d 4c5f06 2b442b 452790
diff --git a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
index 953243a..319f8a4 100644
--- a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
+++ b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
@@ -23,21 +23,21 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 1.04986, 1.01943, -0.00799555, 0.836576, 0.00784314, 0.00656138, 0 (Max error: 0.017) (D-gap: 0)
- ~= : -0.2772x^3 + 0.4481x^2 + 0.8291x (Max error: 0.005832)
+ ~= : 1.04986, 1.01943, -0.00799555, 0.836576, 0.00784314, 0.00656138, 0 (Max error: 0.0174102) (D-gap: 0)
+ ~= : -0.277204x^3 + 0.448107x^2 + 0.829097x (Max error: 0.00583246)
A1 : 16-bit table with 256 entries
- ~= : 1.10368, 1.0238, -0.00473501, 0.766537, 0.00784314, 0.00419043, 0 (Max error: 0.022) (D-gap: 4.7e-10)
- ~= : -0.3874x^3 + 0.6655x^2 + 0.7219x (Max error: 0.01174)
+ ~= : 1.10368, 1.0238, -0.00473501, 0.766537, 0.00784314, 0.00419043, 0 (Max error: 0.0223907) (D-gap: 4.65661e-10)
+ ~= : -0.387404x^3 + 0.665527x^2 + 0.721877x (Max error: 0.011743)
A2 : 16-bit table with 256 entries
- ~= : 1.16035, 1.00803, 0.0113021, 0.708171, 0.00784314, -0.00463676, 0 (Max error: 0.015) (D-gap: 0)
- ~= : -0.3333x^3 + 0.6616x^2 + 0.6717x (Max error: 0.00757)
+ ~= : 1.16035, 1.00803, 0.0113021, 0.708171, 0.00784314, -0.00463676, 0 (Max error: 0.0152175) (D-gap: 0)
+ ~= : -0.333271x^3 + 0.66157x^2 + 0.671701x (Max error: 0.00756961)
A3 : 16-bit table with 256 entries
- ~= : 0.1588x^3 + 0.08634x^2 + 0.7548x (Max error: 0.001332)
+ ~= : 0.158843x^3 + 0.0863405x^2 + 0.754817x (Max error: 0.00133198)
CLUT : 11 x 11 x 11 x 11 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
111c23 3a220f 0c0e06 1b131a 1c1305 18220c 251f11
27253e 000102 101615 232f4c 4a2f21 2c2e1e 030201
diff --git a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
index e93be1f..5f03fb6 100644
--- a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
+++ b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
@@ -23,23 +23,23 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 0.209217, 25.4362, 8.21554, 1.20078, 0.0196078, -1.54935, 0 (Max error: 2.1) (D-gap: 0)
- ~= : 0.2321x^3 + -0.6549x^2 + 1.423x (Max error: 0.02083)
+ ~= : 0.209217, 25.4362, 8.21554, 1.20078, 0.0196078, -1.54935, 0 (Max error: 2.12113) (D-gap: 0)
+ ~= : 0.23214x^3 + -0.654921x^2 + 1.42278x (Max error: 0.0208257)
A1 : 16-bit table with 256 entries
- ~= : 0.2312x^3 + -0.6533x^2 + 1.422x (Max error: 0.02089)
+ ~= : 0.231158x^3 + -0.653273x^2 + 1.42212x (Max error: 0.0208911)
A2 : 16-bit table with 256 entries
- ~= : 0.791702, 0.910815, -0.135729, 1.24155, 0.14902, 0.185016, 0 (Max error: 0.021) (D-gap: 0)
- ~= : 0.232x^3 + -0.6542x^2 + 1.422x (Max error: 0.02094)
+ ~= : 0.791702, 0.910815, -0.135729, 1.24155, 0.14902, 0.185016, 0 (Max error: 0.0206052) (D-gap: 0)
+ ~= : 0.231978x^3 + -0.654208x^2 + 1.42223x (Max error: 0.0209423)
A3 : 16-bit table with 256 entries
- ~= : 0.65406, 1.13213, 0.0862551, 1.18288, 0.0156863, -0.208999, 0 (Max error: 0.1) (D-gap: 0)
- ~= : 0.9762x^3 + -1.635x^2 + 1.659x (Max error: 0.03557)
+ ~= : 0.65406, 1.13213, 0.0862551, 1.18288, 0.0156863, -0.208999, 0 (Max error: 0.104195) (D-gap: 0)
+ ~= : 0.976159x^3 + -1.63511x^2 + 1.65895x (Max error: 0.0355706)
CLUT : 17 x 17 x 17 x 17 (16 bpp)
"B" : 3 outputs
B0 : 16-bit table with 256 entries
- ~= : 1, 0.996109, 0, 0, 0, 0, 0 (Max error: 6e-08)
- ~= : 0.02724x^3 + -0.03113x^2 + 1.004x (Max error: 0.003891)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ ~= : 1, 0.996109, 0, 0, 0, 0, 0 (Max error: 5.96046e-08)
+ ~= : 0.0272362x^3 + -0.0311265x^2 + 1.00389x (Max error: 0.00389105)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
101b21 382210 0c0d06 1a1318 1b1205 18210c 231e11
26243c 000102 101514 232e4a 492f21 2c2d1e 030201
diff --git a/profiles/misc/Color_Spin_Gamma_18.icc.txt b/profiles/misc/Color_Spin_Gamma_18.icc.txt
index bc79869..3b34710 100644
--- a/profiles/misc/Color_Spin_Gamma_18.icc.txt
+++ b/profiles/misc/Color_Spin_Gamma_18.icc.txt
@@ -15,7 +15,12 @@
'gTRC' : 'curv' : 14 : 460
'bTRC' : 'curv' : 14 : 460
- TRC : 1.80078125, 1, 0, 0, 0, 0, 0
+rTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
+gTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
+bTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
XYZ : | 0.385116577 0.143035889 0.436050415 |
| 0.716903687 0.060607910 0.222488403 |
| 0.097061157 0.713912964 0.013916016 |
diff --git a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
index cdcbc19..690dad0 100644
--- a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
+++ b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
@@ -31,33 +31,33 @@
'meta' : 'dict' : 2312 : 738448
rTRC : 16-bit table with 256 entries
- ~= : 1.99944, 1.11172, -0.115069, 0.0357977, 0.117647, 0.00396373, 0 (Max error: 0.083) (D-gap: 0)
- ~= : 0.1266x^3 + 1.011x^2 + -0.1377x (Max error: 0.008777)
+ ~= : 1.99944, 1.11172, -0.115069, 0.0357977, 0.117647, 0.00396373, 0 (Max error: 0.0831202) (D-gap: 0)
+ ~= : 0.126621x^3 + 1.01112x^2 + -0.13774x (Max error: 0.00877728)
gTRC : 16-bit table with 256 entries
- ~= : 2.27403, 0.980813, 0.0314167, 0.0311284, 0.192157, -0.0259432, 0 (Max error: 0.056) (D-gap: 0)
- ~= : 0.09834x^3 + 1.047x^2 + -0.1455x (Max error: 0.006362)
+ ~= : 2.27403, 0.980813, 0.0314167, 0.0311284, 0.192157, -0.0259432, 0 (Max error: 0.0558824) (D-gap: 0)
+ ~= : 0.0983446x^3 + 1.0472x^2 + -0.145544x (Max error: 0.00636222)
bTRC : 16-bit table with 256 entries
- ~= : 2.19997, 1.0228, -0.0143504, 0.00389105, 0.160784, -0.0147935, 0 (Max error: 0.15) (D-gap: -2.3e-10)
- ~= : 0.09596x^3 + 1.055x^2 + -0.1509x (Max error: 0.005556)
+ ~= : 2.19997, 1.0228, -0.0143504, 0.00389105, 0.160784, -0.0147935, 0 (Max error: 0.152941) (D-gap: -2.32831e-10)
+ ~= : 0.0959602x^3 + 1.05493x^2 + -0.150893x (Max error: 0.00555612)
XYZ : | 0.436737061 0.380325317 0.147140503 |
| 0.217636108 0.729843140 0.052520752 |
| 0.002655029 0.064407349 0.757827759 |
A2B : "A", CLUT, "B"
"A" : 3 inputs
A0 : 16-bit table with 2049 entries
- ~= : 0.997553, 1.00181, -0.125226, 1.00002, 0.125, 0.125002, 0 (Max error: 0.019) (D-gap: 0)
- ~= : -0.01022x^3 + 0.01737x^2 + 0.9928x (Max error: 0.01741)
+ ~= : 0.997553, 1.00181, -0.125226, 1.00002, 0.125, 0.125002, 0 (Max error: 0.0185264) (D-gap: 0)
+ ~= : -0.0102165x^3 + 0.0173741x^2 + 0.992842x (Max error: 0.0174073)
A1 : 16-bit table with 2049 entries
- ~= : 0.994697, 1.0024, -0.1253, 1.00002, 0.125, 0.125002, 0 (Max error: 0.017) (D-gap: 0)
- ~= : -0.01251x^3 + 0.02103x^2 + 0.9915x (Max error: 0.01542)
+ ~= : 0.994697, 1.0024, -0.1253, 1.00002, 0.125, 0.125002, 0 (Max error: 0.0170505) (D-gap: 0)
+ ~= : -0.0125142x^3 + 0.0210301x^2 + 0.991484x (Max error: 0.0154224)
A2 : 16-bit table with 2049 entries
- ~= : 0.997287, 1.00252, -0.0313289, 1.00002, 0.03125, 0.0312505, 0 (Max error: 0.02) (D-gap: 0)
- ~= : -0.01502x^3 + 0.02485x^2 + 0.9902x (Max error: 0.01886)
+ ~= : 0.997287, 1.00252, -0.0313289, 1.00002, 0.03125, 0.0312505, 0 (Max error: 0.0203546) (D-gap: 0)
+ ~= : -0.0150221x^3 + 0.0248452x^2 + 0.990177x (Max error: 0.0188635)
CLUT : 33 x 33 x 33 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
1a2c18 526c09 263409 0c0619 0f0727 2f2402 264611
351b17 0e0b08 372313 505205 273004 162315 22124a
diff --git a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
index 8895c7c..64bd7f5 100644
--- a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
+++ b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
@@ -12,14 +12,14 @@
'kTRC' : 'curv' : 524 : 388
rTRC : 16-bit table with 256 entries
- ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.0002) (D-gap: 0)
- ~= : -0.1835x^3 + 1.081x^2 + 0.103x (Max error: 0.002633)
+ ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.000202142) (D-gap: 0)
+ ~= : -0.183519x^3 + 1.08054x^2 + 0.102974x (Max error: 0.00263339)
gTRC : 16-bit table with 256 entries
- ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.0002) (D-gap: 0)
- ~= : -0.1835x^3 + 1.081x^2 + 0.103x (Max error: 0.002633)
+ ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.000202142) (D-gap: 0)
+ ~= : -0.183519x^3 + 1.08054x^2 + 0.102974x (Max error: 0.00263339)
bTRC : 16-bit table with 256 entries
- ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.0002) (D-gap: 0)
- ~= : -0.1835x^3 + 1.081x^2 + 0.103x (Max error: 0.002633)
+ ~= : 1.73715, 0.999979, 6.92596e-05, 0.0629053, 0.0235294, -1.07513e-05, 0 (Max error: 0.000202142) (D-gap: 0)
+ ~= : -0.183519x^3 + 1.08054x^2 + 0.102974x (Max error: 0.00263339)
XYZ : | 0.964202881 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 |
| 0.000000000 0.000000000 0.824905396 |
diff --git a/profiles/misc/Generic_RGB_Gamma_18.icc.txt b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
index b70b7b4..8e824c4 100644
--- a/profiles/misc/Generic_RGB_Gamma_18.icc.txt
+++ b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
@@ -17,7 +17,12 @@
'bTRC' : 'curv' : 14 : 1900
'gTRC' : 'curv' : 14 : 1900
- TRC : 1.80078125, 1, 0, 0, 0, 0, 0
+rTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
+gTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
+bTRC : 1.80078, 1, 0, 0, 0, 0, 0
+ ~= : -0.14516x^3 + 1.07371x^2 + 0.0714538x (Max error: 0.00193666)
XYZ : | 0.454299927 0.353347778 0.156646729 |
| 0.241912842 0.673629761 0.084457397 |
| 0.014892578 0.090637207 0.719573975 |
diff --git a/profiles/misc/Gray_Gamma_22.icc.txt b/profiles/misc/Gray_Gamma_22.icc.txt
index 30ac1f8..a36fbae 100644
--- a/profiles/misc/Gray_Gamma_22.icc.txt
+++ b/profiles/misc/Gray_Gamma_22.icc.txt
@@ -11,7 +11,12 @@
'bkpt' : 'XYZ ' : 20 : 372
'kTRC' : 'curv' : 14 : 392
- TRC : 2.19921875, 1, 0, 0, 0, 0, 0
+rTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+gTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
+bTRC : 2.19922, 1, 0, 0, 0, 0, 0
+ ~= : 0.175675x^3 + 0.862451x^2 + -0.0381258x (Max error: 0.00133421)
XYZ : | 0.964202881 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 |
| 0.000000000 0.000000000 0.824905396 |
diff --git a/profiles/misc/HD_709.icc.txt b/profiles/misc/HD_709.icc.txt
index 87da1cb..139712a 100644
--- a/profiles/misc/HD_709.icc.txt
+++ b/profiles/misc/HD_709.icc.txt
@@ -24,14 +24,14 @@
'aagg' : 'para' : 32 : 2696
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00025) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000251848) (D-gap: 0)
+ ~= : 0.305304x^3 + 0.682173x^2 + 0.0125226x (Max error: 0.0016763)
XYZ : | 0.358963013 0.446350098 0.158889771 |
| 0.195922852 0.742843628 0.061233521 |
| 0.009674072 0.043518066 0.771713257 |
diff --git a/profiles/misc/Japan_Color_2001_Coated.icc.txt b/profiles/misc/Japan_Color_2001_Coated.icc.txt
index 014dcee..40b3672 100644
--- a/profiles/misc/Japan_Color_2001_Coated.icc.txt
+++ b/profiles/misc/Japan_Color_2001_Coated.icc.txt
@@ -19,22 +19,22 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 1.035, 1.04085, -0.0326543, 0.780156, 0.0313726, 0.0244755, 0 (Max error: 0.031) (D-gap: 0)
- ~= : -0.405x^3 + 0.6245x^2 + 0.7805x (Max error: 0.007027)
+ ~= : 1.035, 1.04085, -0.0326543, 0.780156, 0.0313726, 0.0244755, 0 (Max error: 0.0307155) (D-gap: 0)
+ ~= : -0.404956x^3 + 0.624467x^2 + 0.78049x (Max error: 0.00702709)
A1 : 16-bit table with 256 entries
- ~= : 1.11391, 1.02128, -0.0220004, 0.627015, 0.027451, 0.0138406, 0 (Max error: 0.012) (D-gap: 0)
- ~= : -0.3044x^3 + 0.6003x^2 + 0.704x (Max error: 0.003362)
+ ~= : 1.11391, 1.02128, -0.0220004, 0.627015, 0.027451, 0.0138406, 0 (Max error: 0.0115468) (D-gap: 0)
+ ~= : -0.304361x^3 + 0.600324x^2 + 0.704036x (Max error: 0.00336152)
A2 : 16-bit table with 256 entries
- ~= : 1.14818, 0.997828, 0.0230241, 0.619326, 0.0235294, -0.014941, 0 (Max error: 0.0079) (D-gap: 0)
- ~= : -0.2304x^3 + 0.5108x^2 + 0.7196x (Max error: 0.004616)
+ ~= : 1.14818, 0.997828, 0.0230241, 0.619326, 0.0235294, -0.014941, 0 (Max error: 0.00792223) (D-gap: 0)
+ ~= : -0.230413x^3 + 0.510801x^2 + 0.719612x (Max error: 0.0046159)
A3 : 16-bit table with 256 entries
- ~= : 2.30032, 0.409413, 0.795021, 0.322957, 0.00392157, -0.591436, 0 (Max error: 0.054) (D-gap: -1.9e-08)
- ~= : 0.01829x^3 + 0.3262x^2 + 0.6555x (Max error: 0.01191)
+ ~= : 2.30032, 0.409413, 0.795021, 0.322957, 0.00392157, -0.591436, 0 (Max error: 0.0541771) (D-gap: -1.93249e-08)
+ ~= : 0.0182923x^3 + 0.326188x^2 + 0.65552x (Max error: 0.0119067)
CLUT : 9 x 9 x 9 x 9 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
101d25 3d240f 0b0d05 1b131b 1d1406 17230c 241f11
26233f 000001 0f1615 243052 4c3022 2c2e1d 020100
diff --git a/profiles/misc/Kodak_sRGB.icc.txt b/profiles/misc/Kodak_sRGB.icc.txt
index cb38afb..d8b922d 100644
--- a/profiles/misc/Kodak_sRGB.icc.txt
+++ b/profiles/misc/Kodak_sRGB.icc.txt
@@ -21,39 +21,39 @@
'bTRC' : 'curv' : 524 : 149844
rTRC : 16-bit table with 256 entries
- ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.0035) (D-gap: 0)
- ~= : 0.3366x^3 + 0.6215x^2 + 0.04197x (Max error: 0.004218)
+ ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.00349865) (D-gap: 0)
+ ~= : 0.336572x^3 + 0.621457x^2 + 0.0419708x (Max error: 0.00421829)
gTRC : 16-bit table with 256 entries
- ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.0035) (D-gap: 0)
- ~= : 0.3366x^3 + 0.6215x^2 + 0.04197x (Max error: 0.004218)
+ ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.00349865) (D-gap: 0)
+ ~= : 0.336572x^3 + 0.621457x^2 + 0.0419708x (Max error: 0.00421829)
bTRC : 16-bit table with 256 entries
- ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.0035) (D-gap: 0)
- ~= : 0.3366x^3 + 0.6215x^2 + 0.04197x (Max error: 0.004218)
+ ~= : 2.41905, 0.940167, 0.0585088, 0.0696852, 0.0431373, 0.00320302, 0.00392157 (Max error: 0.00349865) (D-gap: 0)
+ ~= : 0.336572x^3 + 0.621457x^2 + 0.0419708x (Max error: 0.00421829)
XYZ : | 0.437637329 0.388412476 0.142410278 |
| 0.214950562 0.712905884 0.072128296 |
| 0.011260986 0.080718994 0.725875854 |
A2B : "A", CLUT, "B"
"A" : 3 inputs
A0 : 16-bit table with 256 entries
- ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.0032) (D-gap: 0)
- ~= : -0.1058x^3 + 0.03758x^2 + 1.068x (Max error: 0.02093)
+ ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.00315941) (D-gap: 0)
+ ~= : -0.105768x^3 + 0.0375784x^2 + 1.06819x (Max error: 0.020932)
A1 : 16-bit table with 256 entries
- ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.0032) (D-gap: 0)
- ~= : -0.1058x^3 + 0.03758x^2 + 1.068x (Max error: 0.02093)
+ ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.00315941) (D-gap: 0)
+ ~= : -0.105768x^3 + 0.0375784x^2 + 1.06819x (Max error: 0.020932)
A2 : 16-bit table with 256 entries
- ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.0032) (D-gap: 0)
- ~= : -0.1058x^3 + 0.03758x^2 + 1.068x (Max error: 0.02093)
+ ~= : 0.708634, 1.48685, 0.435539, 0.745866, 0.0627451, -0.589851, 0 (Max error: 0.00315941) (D-gap: 0)
+ ~= : -0.105768x^3 + 0.0375784x^2 + 1.06819x (Max error: 0.020932)
CLUT : 8 x 8 x 8 (16 bpp)
"B" : 3 outputs
B0 : 16-bit table with 4096 entries
- ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.002) (D-gap: 0)
- ~= : 3.879e-06x^3 + -5.442e-06x^2 + 1x (Max error: 0.003662)
+ ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.00195396) (D-gap: 0)
+ ~= : 3.87949e-06x^3 + -5.44224e-06x^2 + 1x (Max error: 0.00366217)
B1 : 16-bit table with 4096 entries
- ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.002) (D-gap: 0)
- ~= : 3.879e-06x^3 + -5.442e-06x^2 + 1x (Max error: 0.003662)
+ ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.00195396) (D-gap: 0)
+ ~= : 3.87949e-06x^3 + -5.44224e-06x^2 + 1x (Max error: 0.00366217)
B2 : 16-bit table with 4096 entries
- ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.002) (D-gap: 0)
- ~= : 3.879e-06x^3 + -5.442e-06x^2 + 1x (Max error: 0.003662)
+ ~= : 5.99888, 0.75, 0, 0.998044, 0.998291, 0.82012, 0 (Max error: 0.00195396) (D-gap: 0)
+ ~= : 3.87949e-06x^3 + -5.44224e-06x^2 + 1x (Max error: 0.00366217)
252 random bytes transformed to linear XYZD50 bytes:
355632 a5d31d 4c6517 190f30 1e124a 5d4709 4e8727
693a2f 1c1712 6c4626 a0a014 4d5d0c 2e442c 42288e
diff --git a/profiles/misc/Lexmark_X110.icc.txt b/profiles/misc/Lexmark_X110.icc.txt
index 8e42ed6..d69061e 100644
--- a/profiles/misc/Lexmark_X110.icc.txt
+++ b/profiles/misc/Lexmark_X110.icc.txt
@@ -14,14 +14,14 @@
A2B : "A", CLUT, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (8 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
6fa094 d8f243 a7d043 825cbe 8365c0 a39f15 5c8161
a871bd 5a5249 aa8b81 d2f028 a6cb1b 729e83 937fb7
diff --git a/profiles/misc/MartiMaria_browsertest_A2B.icc.txt b/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
index 65efbaf..f1e231c 100644
--- a/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
+++ b/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
@@ -14,14 +14,14 @@
A2B : "A", CLUT, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
181915 7b8069 7b8069 7b8069 7b8069 7b8069 090a08
7b8069 7b8069 7b8069 7b8069 7b8069 7b8069 7b8069
diff --git a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
index 68a83bf..3d19be8 100644
--- a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
+++ b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
@@ -19,25 +19,25 @@
'A2B2' : 'mft2' : 29554 : 2184
rTRC : 16-bit table with 255 entries
- ~= : 5.627x^3 + -10.82x^2 + 6.198x (Max error: 0.2705)
+ ~= : 5.62674x^3 + -10.8243x^2 + 6.19753x (Max error: 0.270479)
gTRC : 16-bit table with 255 entries
- ~= : 1, 0.00387579, 0, 0, 0, 0, 0 (Max error: 6e-08)
- ~= : 6.972x^3 + -7.968x^2 + 1.996x (Max error: 0.9961)
+ ~= : 1, 0.00387579, 0, 0, 0, 0, 0 (Max error: 5.96046e-08)
+ ~= : 6.97233x^3 + -7.96823x^2 + 1.99589x (Max error: 0.996124)
bTRC : 16-bit table with 255 entries
- ~= : 5.627x^3 + -10.82x^2 + 6.198x (Max error: 0.2705)
+ ~= : 5.62674x^3 + -10.8243x^2 + 6.19753x (Max error: 0.270479)
XYZ : | 0.964202881 0.000000000 0.964202881 |
| 1.000000000 0.000000000 1.000000000 |
| 0.824905396 0.000000000 0.824905396 |
A2B : "A", CLUT, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
181915 7b8069 7b8069 7b8069 7b8069 7b8069 090a08
7b8069 7b8069 7b8069 7b8069 7b8069 7b8069 7b8069
diff --git a/profiles/misc/Phase_One_P25.icc.txt b/profiles/misc/Phase_One_P25.icc.txt
index d9738f8..07ac019 100644
--- a/profiles/misc/Phase_One_P25.icc.txt
+++ b/profiles/misc/Phase_One_P25.icc.txt
@@ -19,30 +19,30 @@
'tech' : 'sig ' : 12 : 219352
rTRC : 16-bit table with 256 entries
- ~= : 0.41882, 1.35722, 0.00130201, 3.84436, 0.00784314, -0.126417, 0 (Max error: 0.022) (D-gap: 1.9e-09)
- ~= : 1.474x^3 + -3.205x^2 + 2.731x (Max error: 0.0825)
+ ~= : 0.41882, 1.35722, 0.00130201, 3.84436, 0.00784314, -0.126417, 0 (Max error: 0.0220338) (D-gap: 1.86265e-09)
+ ~= : 1.47367x^3 + -3.20484x^2 + 2.73117x (Max error: 0.0824971)
gTRC : 16-bit table with 256 entries
- ~= : 0.293277, 2.59732, 0.0114139, 5.75486, 0.00392157, -0.302166, 0 (Max error: 0.057) (D-gap: 1.3e-08)
- ~= : 1.873x^3 + -4.076x^2 + 3.203x (Max error: 0.1346)
+ ~= : 0.293277, 2.59732, 0.0114139, 5.75486, 0.00392157, -0.302166, 0 (Max error: 0.057198) (D-gap: 1.30385e-08)
+ ~= : 1.87283x^3 + -4.07598x^2 + 3.20315x (Max error: 0.134625)
bTRC : 16-bit table with 256 entries
- ~= : 0.630719, 0.929499, -0.0109353, 2.72114, 0.0117647, 0.0320134, 0 (Max error: 0.033) (D-gap: 0)
- ~= : 1.302x^3 + -2.583x^2 + 2.281x (Max error: 0.05044)
+ ~= : 0.630719, 0.929499, -0.0109353, 2.72114, 0.0117647, 0.0320134, 0 (Max error: 0.0333357) (D-gap: 0)
+ ~= : 1.30232x^3 + -2.58303x^2 + 2.28071x (Max error: 0.0504362)
XYZ : | 0.647903442 0.357360840 0.156417847 |
| 0.382919312 1.109725952 0.000000000 |
| 0.083267212 0.679275513 0.523422241 |
A2B : "A", CLUT, "B"
"A" : 3 inputs
A0 : 16-bit table with 256 entries
- ~= : 3.103x^3 + -5.715x^2 + 3.611x (Max error: 0.2053)
+ ~= : 3.1035x^3 + -5.71462x^2 + 3.61112x (Max error: 0.205335)
A1 : 16-bit table with 256 entries
- ~= : 3.103x^3 + -5.715x^2 + 3.611x (Max error: 0.2053)
+ ~= : 3.1035x^3 + -5.71462x^2 + 3.61112x (Max error: 0.205335)
A2 : 16-bit table with 256 entries
- ~= : 3.103x^3 + -5.715x^2 + 3.611x (Max error: 0.2053)
+ ~= : 3.1035x^3 + -5.71462x^2 + 3.61112x (Max error: 0.205335)
CLUT : 33 x 33 x 33 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
1d5c40 86f80b 4a7913 2e1551 341674 8a6006 38a75e
b45e34 2f2417 af6d2b b4ae06 547302 1f4c33 6822be
diff --git a/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt b/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
index 3d95f54..b079732 100644
--- a/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
+++ b/profiles/misc/PrintOpen_ISO_Coated_CMYK.icc.txt
@@ -21,15 +21,15 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A3 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A3 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 16 x 16 x 16 x 16 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
162328 3a2310 090a05 1d151d 1b1306 18230c 211b10
2a2742 000101 101615 253047 4c3123 27291b 020201
diff --git a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
index 7c9bd74..a04a808 100644
--- a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
+++ b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
@@ -20,18 +20,18 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : -0.004962x^3 + 0.313x^2 + 0.692x (Max error: 0.04012)
+ ~= : -0.00496159x^3 + 0.312951x^2 + 0.692011x (Max error: 0.0401169)
A1 : 16-bit table with 256 entries
- ~= : 0.3427x^3 + -0.04205x^2 + 0.6993x (Max error: 0.02761)
+ ~= : 0.342737x^3 + -0.0420505x^2 + 0.699314x (Max error: 0.0276145)
A2 : 16-bit table with 256 entries
- ~= : 0.3427x^3 + -0.04205x^2 + 0.6993x (Max error: 0.02761)
+ ~= : 0.342737x^3 + -0.0420505x^2 + 0.699314x (Max error: 0.0276145)
A3 : 16-bit table with 256 entries
- ~= : 0.3427x^3 + -0.04205x^2 + 0.6993x (Max error: 0.02761)
+ ~= : 0.342737x^3 + -0.0420505x^2 + 0.699314x (Max error: 0.0276145)
CLUT : 16 x 16 x 16 x 16 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
121d22 36200e 090a05 191117 181106 131d0a 221d12
252136 000000 0e1312 242d47 472e1f 252618 010100
diff --git a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
index 2eb04e9..d7ee6b8 100644
--- a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
+++ b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
@@ -19,21 +19,21 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 0.773486, 1.17185, 0.175413, 2.1323, 0.00392157, -0.257074, 0 (Max error: 0.0054) (D-gap: -8.4e-09)
- ~= : 0.1055x^3 + -0.3823x^2 + 1.277x (Max error: 0.01024)
+ ~= : 0.773486, 1.17185, 0.175413, 2.1323, 0.00392157, -0.257074, 0 (Max error: 0.0054245) (D-gap: -8.3819e-09)
+ ~= : 0.105546x^3 + -0.382264x^2 + 1.27672x (Max error: 0.0102376)
A1 : 16-bit table with 256 entries
- ~= : 1.01301, 0.972757, 1.55681, 1.62257, 0.0156863, -1.55588, 0 (Max error: 0.011) (D-gap: -3e-08)
- ~= : 0.1635x^3 + -0.2655x^2 + 1.102x (Max error: 0.009072)
+ ~= : 1.01301, 0.972757, 1.55681, 1.62257, 0.0156863, -1.55588, 0 (Max error: 0.0113603) (D-gap: -2.98023e-08)
+ ~= : 0.163549x^3 + -0.265471x^2 + 1.10192x (Max error: 0.00907196)
A2 : 16-bit table with 256 entries
- ~= : 1.08355, 0.963537, 0.207506, 1.68677, 0.0156863, -0.169893, 0 (Max error: 0.016) (D-gap: -1.9e-09)
- ~= : -0.01858x^3 + -0.0008925x^2 + 1.019x (Max error: 0.01557)
+ ~= : 1.08355, 0.963537, 0.207506, 1.68677, 0.0156863, -0.169893, 0 (Max error: 0.0159114) (D-gap: -1.86265e-09)
+ ~= : -0.0185813x^3 + -0.000892473x^2 + 1.01947x (Max error: 0.0155731)
A3 : 16-bit table with 256 entries
- ~= : 0.4144x^3 + -0.5098x^2 + 1.095x (Max error: 0.008042)
+ ~= : 0.414434x^3 + -0.509825x^2 + 1.09539x (Max error: 0.00804227)
CLUT : 9 x 9 x 9 x 9 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
121f24 392210 0a0c06 1b141c 1d1407 151f0c 242014
23223b 000001 0f1514 212d48 482f22 242619 020101
diff --git a/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt b/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
index 627d8cc..9aafa4e 100644
--- a/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
+++ b/profiles/misc/XRite_GRACol7_340_CMYK.icc.txt
@@ -22,15 +22,15 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A3 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A3 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 x 17 (16 bpp)
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
121d23 3b2510 0c0e07 1c151b 1e1607 17210e 252013
242239 010102 111616 212b45 493020 26281a 030201
diff --git a/profiles/misc/sRGB_HP.icc.txt b/profiles/misc/sRGB_HP.icc.txt
index 4a85200..8efd483 100644
--- a/profiles/misc/sRGB_HP.icc.txt
+++ b/profiles/misc/sRGB_HP.icc.txt
@@ -24,14 +24,14 @@
'bTRC' : 'curv' : 2060 : 1084
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/profiles/misc/sRGB_HP_2.icc.txt b/profiles/misc/sRGB_HP_2.icc.txt
index 9a85e3b..3134885 100644
--- a/profiles/misc/sRGB_HP_2.icc.txt
+++ b/profiles/misc/sRGB_HP_2.icc.txt
@@ -24,14 +24,14 @@
'bTRC' : 'curv' : 2060 : 5201
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/profiles/misc/sRGB_ICC_v4_beta.icc.txt b/profiles/misc/sRGB_ICC_v4_beta.icc.txt
index dd0b077..00f6e21 100644
--- a/profiles/misc/sRGB_ICC_v4_beta.icc.txt
+++ b/profiles/misc/sRGB_ICC_v4_beta.icc.txt
@@ -17,21 +17,21 @@
A2B : "A", CLUT, "M", Matrix, "B"
"A" : 3 inputs
- A0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- A2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ A0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ A2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
CLUT : 17 x 17 x 17 (16 bpp)
"M" : 3 inputs
- M0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- M2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ M0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ M2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
Mtrx : | 1.000000000 0.000000000 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 0.000000000 |
| 0.000000000 0.000000000 1.000000000 0.000000000 |
"B" : 3 outputs
- B0 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B1 : 1, 1, 0, 0, 0, 0, 0 (Linear)
- B2 : 1, 1, 0, 0, 0, 0, 0 (Linear)
+ B0 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B1 : 1, 1, 0, 0, 0, 0, 0 (Identity)
+ B2 : 1, 1, 0, 0, 0, 0, 0 (Identity)
252 random bytes transformed to linear XYZD50 bytes:
2f4e2d 92c11a 486216 190e2f 1d1048 5c4609 3e711e
653727 1d1711 6b4623 9c9b13 4a5b0b 2b4229 3a2375
diff --git a/profiles/misc/sRGB_black_scaled.icc.txt b/profiles/misc/sRGB_black_scaled.icc.txt
index 61b4362..16e3282 100644
--- a/profiles/misc/sRGB_black_scaled.icc.txt
+++ b/profiles/misc/sRGB_black_scaled.icc.txt
@@ -23,14 +23,14 @@
'chad' : 'sf32' : 44 : 3004
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/profiles/misc/sRGB_lcms.icc.txt b/profiles/misc/sRGB_lcms.icc.txt
index 4a248d7..a1d48b4 100644
--- a/profiles/misc/sRGB_lcms.icc.txt
+++ b/profiles/misc/sRGB_lcms.icc.txt
@@ -17,7 +17,12 @@
'bTRC' : 'para' : 32 : 588
'chrm' : 'chrm' : 36 : 620
- TRC : 2.3999939, 0.947860718, 0.0521392822, 0.0773925781, 0.0404510498, 0, 0 (sRGB)
+rTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+gTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+bTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
XYZ : | 0.435852051 0.385330200 0.143020630 |
| 0.222381592 0.717041016 0.060592651 |
| 0.013916016 0.097137451 0.713836670 |
diff --git a/profiles/mobile/Display_P3_LUT.icc.txt b/profiles/mobile/Display_P3_LUT.icc.txt
index 0f766cb..76d9c1c 100644
--- a/profiles/mobile/Display_P3_LUT.icc.txt
+++ b/profiles/mobile/Display_P3_LUT.icc.txt
@@ -18,14 +18,14 @@
'gTRC' : 'curv' : 2060 : 508
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.515121460 0.291976929 0.157104492 |
| 0.241195679 0.692245483 0.066574097 |
| -0.001037598 0.041885376 0.784072876 |
diff --git a/profiles/mobile/Display_P3_parametric.icc.txt b/profiles/mobile/Display_P3_parametric.icc.txt
index af47040..4da57e1 100644
--- a/profiles/mobile/Display_P3_parametric.icc.txt
+++ b/profiles/mobile/Display_P3_parametric.icc.txt
@@ -17,7 +17,12 @@
'bTRC' : 'para' : 32 : 508
'gTRC' : 'para' : 32 : 508
- TRC : 2.3999939, 0.947860718, 0.0521392822, 0.0773925781, 0.0404510498, 0, 0 (sRGB)
+rTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+gTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+bTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
XYZ : | 0.515121460 0.291976929 0.157104492 |
| 0.241195679 0.692245483 0.066574097 |
| -0.001037598 0.041885376 0.784072876 |
diff --git a/profiles/mobile/iPhone7p.icc.txt b/profiles/mobile/iPhone7p.icc.txt
index 762aeac..08db75d 100644
--- a/profiles/mobile/iPhone7p.icc.txt
+++ b/profiles/mobile/iPhone7p.icc.txt
@@ -16,7 +16,12 @@
'bTRC' : 'para' : 32 : 472
'gTRC' : 'para' : 32 : 472
- TRC : 2.3999939, 0.947998047, 0.0520019531, 0.0769958496, 0.0390014648, 0, 0
+rTRC : 2.39999, 0.947998, 0.052002, 0.0769958, 0.0390015, 0, 0 (D-gap: 4.88153e-06)
+ ~= : 0.305782x^3 + 0.68177x^2 + 0.012448x (Max error: 0.0016624)
+gTRC : 2.39999, 0.947998, 0.052002, 0.0769958, 0.0390015, 0, 0 (D-gap: 4.88153e-06)
+ ~= : 0.305782x^3 + 0.68177x^2 + 0.012448x (Max error: 0.0016624)
+bTRC : 2.39999, 0.947998, 0.052002, 0.0769958, 0.0390015, 0, 0 (D-gap: 4.88153e-06)
+ ~= : 0.305782x^3 + 0.68177x^2 + 0.012448x (Max error: 0.0016624)
XYZ : | 0.515121460 0.291976929 0.157104492 |
| 0.241195679 0.692245483 0.066574097 |
| -0.001052856 0.041885376 0.784072876 |
diff --git a/profiles/mobile/sRGB_LUT.icc.txt b/profiles/mobile/sRGB_LUT.icc.txt
index 59432c0..b703629 100644
--- a/profiles/mobile/sRGB_LUT.icc.txt
+++ b/profiles/mobile/sRGB_LUT.icc.txt
@@ -18,14 +18,14 @@
'gTRC' : 'curv' : 2060 : 520
rTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
gTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
bTRC : 16-bit table with 1024 entries
- ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.00024) (D-gap: 0)
- ~= : 0.3053x^3 + 0.6822x^2 + 0.01252x (Max error: 0.001676)
+ ~= : 2.39978, 0.947934, 0.052081, 0.0777105, 0.0449658, -1.28639e-06, 0 (Max error: 0.000239041) (D-gap: 0)
+ ~= : 0.305305x^3 + 0.682172x^2 + 0.0125229x (Max error: 0.00167628)
XYZ : | 0.436035156 0.385116577 0.143051147 |
| 0.222488403 0.716903687 0.060607910 |
| 0.013916016 0.097061157 0.713912964 |
diff --git a/profiles/mobile/sRGB_parametric.icc.txt b/profiles/mobile/sRGB_parametric.icc.txt
index 3f132af..1ab7473 100644
--- a/profiles/mobile/sRGB_parametric.icc.txt
+++ b/profiles/mobile/sRGB_parametric.icc.txt
@@ -17,7 +17,12 @@
'bTRC' : 'para' : 32 : 520
'gTRC' : 'para' : 32 : 520
- TRC : 2.3999939, 0.947860718, 0.0521392822, 0.0773925781, 0.0404510498, 0, 0 (sRGB)
+rTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+gTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
+bTRC : 2.39999, 0.947861, 0.0521393, 0.0773926, 0.040451, 0, 0 (D-gap: 8.2748e-07) (sRGB)
+ ~= : 0.305647x^3 + 0.681704x^2 + 0.0126491x (Max error: 0.00166379)
XYZ : | 0.436035156 0.385116577 0.143051147 |
| 0.222488403 0.716903687 0.060607910 |
| 0.013916016 0.097061157 0.713912964 |
diff --git a/profiles/sRGB_Facebook.icc.txt b/profiles/sRGB_Facebook.icc.txt
index cf1098b..b7a0c6d 100644
--- a/profiles/sRGB_Facebook.icc.txt
+++ b/profiles/sRGB_Facebook.icc.txt
@@ -17,14 +17,14 @@
'bTRC' : 'curv' : 64 : 460
rTRC : 16-bit table with 26 entries
- ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0014) (D-gap: 0)
- ~= : 0.3071x^3 + 0.681x^2 + 0.01189x (Max error: 0.001513)
+ ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0013938) (D-gap: 0)
+ ~= : 0.307076x^3 + 0.681032x^2 + 0.011892x (Max error: 0.0015126)
gTRC : 16-bit table with 26 entries
- ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0014) (D-gap: 0)
- ~= : 0.3071x^3 + 0.681x^2 + 0.01189x (Max error: 0.001513)
+ ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0013938) (D-gap: 0)
+ ~= : 0.307076x^3 + 0.681032x^2 + 0.011892x (Max error: 0.0015126)
bTRC : 16-bit table with 26 entries
- ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0014) (D-gap: 0)
- ~= : 0.3071x^3 + 0.681x^2 + 0.01189x (Max error: 0.001513)
+ ~= : 2.39737, 0.949209, 0.0506402, 0.0774395, 0.04, 0.000100383, 0 (Max error: 0.0013938) (D-gap: 0)
+ ~= : 0.307076x^3 + 0.681032x^2 + 0.011892x (Max error: 0.0015126)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/test_only.c b/test_only.c
index 5b62058..12724e0 100644
--- a/test_only.c
+++ b/test_only.c
@@ -119,7 +119,7 @@
&& tf->f == 0 / 65536.0f;
}
-static bool is_linear(const skcms_TransferFunction* tf) {
+static bool is_identity(const skcms_TransferFunction* tf) {
return tf->g == 1.0f
&& tf->a == 1.0f
&& tf->b == 0.0f
@@ -129,83 +129,62 @@
&& tf->f == 0.0f;
}
-static void dump_transfer_function(FILE* fp, const char* name, const skcms_TransferFunction* tf) {
- fprintf(fp, "%4s : %.9g, %.9g, %.9g, %.9g, %.9g, %.9g, %.9g", name,
- tf->g, tf->a, tf->b, tf->c, tf->d, tf->e, tf->f);
- if (is_sRGB(tf)) {
- fprintf(fp, " (sRGB)");
- } else if (is_linear(tf)) {
- fprintf(fp, " (Linear)");
- }
- fprintf(fp, "\n");
+static void dump_approx_tf13(FILE* fp, const skcms_TF13* tf, float max_error) {
+ fprintf(fp, " ~= : %.6gx^3 + %.6gx^2 + %.6gx (Max error: %.6g)\n",
+ tf->A, tf->B, (1 - tf->A - tf->B), max_error);
}
-static void dump_approx_transfer_function(FILE* fp, const skcms_TransferFunction* tf,
- float max_error, bool for_unit_test) {
- if (for_unit_test) {
- fprintf(fp, " ~= : %.6g, %.6g, %.6g, %.6g, %.6g, %.6g, %.6g (Max error: %.2g)",
- tf->g, tf->a, tf->b, tf->c, tf->d, tf->e, tf->f, max_error);
- } else {
- fprintf(fp, " ~= : %.9g, %.9g, %.9g, %.9g, %.9g, %.9g, %.9g (Max error: %.9g)",
- tf->g, tf->a, tf->b, tf->c, tf->d, tf->e, tf->f, max_error);
+static void dump_transfer_function(FILE* fp, const char* name,
+ const skcms_TransferFunction* tf, float max_error) {
+ fprintf(fp, "%4s : %.6g, %.6g, %.6g, %.6g, %.6g, %.6g, %.6g", name,
+ tf->g, tf->a, tf->b, tf->c, tf->d, tf->e, tf->f);
+
+ if (max_error > 0) {
+ fprintf(fp, " (Max error: %.6g)", max_error);
}
+
if (tf->d > 0) {
// Has both linear and nonlinear sections, include the discontinuity at D
float l_at_d = (tf->c * tf->d + tf->f);
float n_at_d = powf_(tf->a * tf->d + tf->b, tf->g) + tf->e;
- fprintf(fp, " (D-gap: %.*g)", for_unit_test ? 2 : 9, (n_at_d - l_at_d));
+ fprintf(fp, " (D-gap: %.6g)", (n_at_d - l_at_d));
}
- if (is_linear(tf)) {
- fprintf(fp, " (Linear)");
+
+ if (is_sRGB(tf)) {
+ fprintf(fp, " (sRGB)");
+ } else if (is_identity(tf)) {
+ fprintf(fp, " (Identity)");
}
fprintf(fp, "\n");
+
+ if (max_error == 0 && !is_identity(tf)) {
+ skcms_TF13 tf13;
+ skcms_Curve curve = { {0, *tf} };
+ if (skcms_ApproximateCurve13(&curve, &tf13, &max_error)) {
+ dump_approx_tf13(fp, &tf13, max_error);
+ }
+ }
}
-static void dump_approx_tf13(FILE* fp, const skcms_TF13* tf,
- float max_error, bool for_unit_test) {
- (void)for_unit_test;
- fprintf(fp, " ~= : %.4gx^3 + %.4gx^2 + %.4gx (Max error: %.4g)\n",
- tf->A, tf->B, (1 - tf->A - tf->B), max_error);
-}
-
-static void dump_curve(FILE* fp, const char* name, const skcms_Curve* curve, bool for_unit_test) {
- if (curve->table_entries) {
+static void dump_curve(FILE* fp, const char* name, const skcms_Curve* curve) {
+ if (curve->table_entries == 0) {
+ dump_transfer_function(fp, name, &curve->parametric, 0);
+ } else {
fprintf(fp, "%4s : %d-bit table with %u entries\n", name,
curve->table_8 ? 8 : 16, curve->table_entries);
- skcms_TransferFunction tf;
float max_error;
+ skcms_TransferFunction tf;
if (skcms_ApproximateCurve(curve, &tf, &max_error)) {
- dump_approx_transfer_function(fp, &tf, max_error, for_unit_test);
+ dump_transfer_function(fp, "~=", &tf, max_error);
}
skcms_TF13 tf13;
if (skcms_ApproximateCurve13(curve, &tf13, &max_error)) {
- dump_approx_tf13(fp, &tf13, max_error, for_unit_test);
+ dump_approx_tf13(fp, &tf13, max_error);
}
- } else {
- dump_transfer_function(fp, name, &curve->parametric);
}
}
-static bool has_single_transfer_function(const skcms_ICCProfile* profile,
- skcms_TransferFunction* tf) {
- const skcms_Curve* trc = profile->trc;
- if (profile->has_trc &&
- trc[0].table_entries == 0 &&
- trc[1].table_entries == 0 &&
- trc[2].table_entries == 0) {
-
- if (0 != memcmp(&trc[0].parametric, &trc[1].parametric, sizeof(skcms_TransferFunction)) ||
- 0 != memcmp(&trc[0].parametric, &trc[2].parametric, sizeof(skcms_TransferFunction))) {
- return false;
- }
-
- memcpy(tf, &trc[0].parametric, sizeof(skcms_TransferFunction));
- return true;
- }
- return false;
-}
-
-void dump_profile(const skcms_ICCProfile* profile, FILE* fp, bool for_unit_test) {
+void dump_profile(const skcms_ICCProfile* profile, FILE* fp) {
fprintf(fp, "%20s : 0x%08X : %u\n", "Size", profile->size, profile->size);
dump_sig_field(fp, "Data color space", profile->data_color_space);
dump_sig_field(fp, "PCS", profile->pcs);
@@ -228,13 +207,10 @@
fprintf(fp, "\n");
- skcms_TransferFunction tf;
- if (has_single_transfer_function(profile, &tf)) {
- dump_transfer_function(fp, "TRC", &tf);
- } else if (profile->has_trc) {
+ if (profile->has_trc) {
const char* trcNames[3] = { "rTRC", "gTRC", "bTRC" };
for (int i = 0; i < 3; ++i) {
- dump_curve(fp, trcNames[i], &profile->trc[i], for_unit_test);
+ dump_curve(fp, trcNames[i], &profile->trc[i]);
}
}
@@ -256,7 +232,7 @@
fprintf(fp, "%4s : %u inputs\n", "\"A\"", a2b->input_channels);
const char* curveNames[4] = { "A0", "A1", "A2", "A3" };
for (uint32_t i = 0; i < a2b->input_channels; ++i) {
- dump_curve(fp, curveNames[i], &a2b->input_curves[i], for_unit_test);
+ dump_curve(fp, curveNames[i], &a2b->input_curves[i]);
}
fprintf(fp, "%4s : ", "CLUT");
const char* sep = "";
@@ -271,7 +247,7 @@
fprintf(fp, "%4s : %u inputs\n", "\"M\"", a2b->matrix_channels);
const char* curveNames[4] = { "M0", "M1", "M2" };
for (uint32_t i = 0; i < a2b->matrix_channels; ++i) {
- dump_curve(fp, curveNames[i], &a2b->matrix_curves[i], for_unit_test);
+ dump_curve(fp, curveNames[i], &a2b->matrix_curves[i]);
}
const skcms_Matrix3x4* m = &a2b->matrix;
fprintf(fp, "Mtrx : | %.9f %.9f %.9f %.9f |\n"
@@ -286,7 +262,7 @@
fprintf(fp, "%4s : %u outputs\n", "\"B\"", a2b->output_channels);
const char* curveNames[3] = { "B0", "B1", "B2" };
for (uint32_t i = 0; i < a2b->output_channels; ++i) {
- dump_curve(fp, curveNames[i], &a2b->output_curves[i], for_unit_test);
+ dump_curve(fp, curveNames[i], &a2b->output_curves[i]);
}
}
}
diff --git a/test_only.h b/test_only.h
index a30d874..63a2983 100644
--- a/test_only.h
+++ b/test_only.h
@@ -10,7 +10,7 @@
#include "skcms.h"
#include <stdio.h>
-void dump_profile(const skcms_ICCProfile* profile, FILE* fp, bool for_unit_test);
+void dump_profile(const skcms_ICCProfile* profile, FILE* fp);
bool load_file_fp(FILE* fp, void** buf, size_t* len);
bool load_file(const char* filename, void** buf, size_t* len);
diff --git a/tests.c b/tests.c
index d79e6c1..6d0b9f8 100644
--- a/tests.c
+++ b/tests.c
@@ -561,7 +561,7 @@
expect(dump);
if (parsed) {
- dump_profile(&profile, dump, true);
+ dump_profile(&profile, dump);
} else {
fprintf(dump, "Unable to parse ICC profile\n");
}