force 1.0f roundtrip through invert by tweaking e
Rewrite our stock inverse sRGB numbers using invert(sRGB),
and test that it stays that way.
Just had a feeling this all needs a guard, so guarded.
(Might even need to widen it to cover the previous CL.)
Change-Id: I6e4a1d212005c257bf5c4fa6137c4897f40e1f31
Reviewed-on: https://skia-review.googlesource.com/c/181961
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/profiles/color.org/Lower_Left.icc.txt b/profiles/color.org/Lower_Left.icc.txt
index 172656a..6876c33 100644
--- a/profiles/color.org/Lower_Left.icc.txt
+++ b/profiles/color.org/Lower_Left.icc.txt
@@ -20,7 +20,7 @@
gTRC : 2.199219, 1, 0, 0, 0, 0, 0
bTRC : 2.199219, 1, 0, 0, 0, 0, 0
Best : 2.199219, 1, 0, 0, 0, 0, 0
-Inv : 0.4547069, 1, -0, 0, 0, -0, 0
+Inv : 0.4547069, 1, -0, 0, 0, 0, 0
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 f78ec8e..fbc4bcb 100644
--- a/profiles/color.org/Lower_Right.icc.txt
+++ b/profiles/color.org/Lower_Right.icc.txt
@@ -20,7 +20,7 @@
gTRC : 2.199219, 1, 0, 0, 0, 0, 0
bTRC : 2.199219, 1, 0, 0, 0, 0, 0
Best : 2.199219, 1, 0, 0, 0, 0, 0
-Inv : 0.4547069, 1, -0, 0, 0, -0, 0
+Inv : 0.4547069, 1, -0, 0, 0, 0, 0
XYZ : | 0.609741211 0.205276489 0.149185181 |
| 0.311111450 0.625671387 0.063217163 |
| 0.019470215 0.060867310 0.744567871 |
@@ -39,11 +39,11 @@
3d9712 58332e 33433a 774924 337d3b 653c19 435a87
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 00000095 000000ff 00008000 00008080 000080ff 0000ff00 0000ff00 0000ffff
- 00820000 00820095 008300ff 00808000 00808080 008080ff 0076ff00 0076ff00 0076ffff
+ 00830000 00830095 008300ff 00808000 00808080 008080ff 0076ff00 0076ff00 0076ffff
00ff0000 00ff0095 00ff00ff 00ff8000 00ff8080 00ff80ff 00ffff00 00ffff00 00ffffff
7f000000 7f000095 7f0000ff 7f008000 7f008080 7f0080ff 7f00ff00 7f00ff00 7f00ffff
- 7f820000 7f820095 7f8300ff 7f808000 7f808080 7f8080ff 7f76ff00 7f76ff00 7f76ffff
+ 7f830000 7f830095 7f8300ff 7f808000 7f808080 7f8080ff 7f76ff00 7f76ff00 7f76ffff
7fff0000 7fff0095 7fff00ff 7fff8000 7fff8080 7fff80ff 7fffff00 7fffff00 7fffffff
ff000000 ff000095 ff0000ff ff008000 ff008080 ff0080ff ff00ff00 ff00ff00 ff00ffff
- ff820000 ff820095 ff8300ff ff808000 ff808080 ff8080ff ff76ff00 ff76ff00 ff76ffff
+ ff830000 ff830095 ff8300ff ff808000 ff808080 ff8080ff ff76ff00 ff76ff00 ff76ffff
ffff0000 ffff0095 ffff00ff ffff8000 ffff8080 ffff80ff ffffff00 ffffff00 ffffffff
diff --git a/profiles/color.org/Upper_Left.icc.txt b/profiles/color.org/Upper_Left.icc.txt
index fd886e4..18f32c6 100644
--- a/profiles/color.org/Upper_Left.icc.txt
+++ b/profiles/color.org/Upper_Left.icc.txt
@@ -20,11 +20,11 @@
A2B : "M", Matrix, "B"
"M" : 3 inputs
M0 : 16-bit table with 256 entries
- ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01433209, 0 (Max error: 15.9155) (D-gap: -1.60784e-05)
+ ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01436996, 0 (Max error: 15.916) (D-gap: 2.18004e-05)
M1 : 16-bit table with 256 entries
- ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01433209, 0 (Max error: 15.9155) (D-gap: -1.60784e-05)
+ ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01436996, 0 (Max error: 15.916) (D-gap: 2.18004e-05)
M2 : 16-bit table with 256 entries
- ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01433209, 0 (Max error: 15.9155) (D-gap: -1.60784e-05)
+ ~= : 2.360165, 0.04138994, 0.2937223, 1.290439, 0.05490196, 0.01436996, 0 (Max error: 15.916) (D-gap: 2.18004e-05)
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 |
diff --git a/profiles/color.org/sRGB2014.icc.txt b/profiles/color.org/sRGB2014.icc.txt
index c1106d2..3ca57ad 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/profiles/fuzz/inverse_tf_not_invertible.icc.txt b/profiles/fuzz/inverse_tf_not_invertible.icc.txt
index b34d933..1eb7ec4 100644
--- a/profiles/fuzz/inverse_tf_not_invertible.icc.txt
+++ b/profiles/fuzz/inverse_tf_not_invertible.icc.txt
@@ -16,13 +16,13 @@
'bTRC' : 'curv' : 8204 : 320
rTRC : 16-bit table with 4096 entries
- ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.492599, 0 (Max error: 0.781251) (D-gap: -0.00038107)
+ ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (Max error: 0.782032) (D-gap: 0.000930738)
gTRC : 16-bit table with 4096 entries
- ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.492599, 0 (Max error: 0.781251) (D-gap: -0.00038107)
+ ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (Max error: 0.782032) (D-gap: 0.000930738)
bTRC : 16-bit table with 4096 entries
- ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.492599, 0 (Max error: 0.781251) (D-gap: -0.00038107)
-Best : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.492599, 0 (D-gap: -0.00038107)
-Inv : 0.1954153, 18.88403, 9.302257, 12.97384, 0.003143358, -1.507154, -0 (D-gap: 0.000190791)
+ ~= : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (Max error: 0.782032) (D-gap: 0.000930738)
+Best : 5.117306, 0.5632095, 0.8488435, 0.07707816, 0.04078144, -0.4912872, 0 (D-gap: 0.000930738)
+Inv : 0.1954153, 18.88403, 9.277484, 12.97384, 0.003143358, -1.507324, -0 (D-gap: -0.000780527)
XYZ : | 0.436065674 0.385070801 0.143051147 |
| 0.222503662 0.716873169 0.060607910 |
| 0.013916016 0.097061157 0.713989258 |
diff --git a/profiles/fuzz/one_d_clut.icc.txt b/profiles/fuzz/one_d_clut.icc.txt
index ddb08d7..b6ebfc3 100644
--- a/profiles/fuzz/one_d_clut.icc.txt
+++ b/profiles/fuzz/one_d_clut.icc.txt
@@ -20,7 +20,7 @@
CLUT : 2 (16 bpp)
"M" : 3 inputs
M0 : 16-bit table with 256 entries
- ~= : 13.98541, 0.5743599, 0.6578368, 0.9400777, 0.05882353, 0.04953171, 0 (Max error: 0.410506) (D-gap: -5.75185e-06)
+ ~= : 13.98541, 0.5743599, 0.6578368, 0.9400777, 0.05882353, 0.05073166, 0 (Max error: 0.410614) (D-gap: 0.0011942)
M1 : 16-bit table with 256 entries
M2 : 16-bit table with 256 entries
Mtrx : | 2.202053785 1.944855571 4.722492695 -0.733356714 |
@@ -44,12 +44,12 @@
000000 000000 000000 000800 000000 000000 000000
000000 000800 000000 000800 000000 000800 000000
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00004300 00005f00 00008800 00004300 00005f00 00008800 00004300 00005f00 00008800
- 00004300 00005f00 00008800 00004300 00005f00 00008800 00004300 00005f00 00008800
- 00004300 00005f00 00008800 00004300 00005f00 00008800 00004300 00005f00 00008800
- 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800
- 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800
- 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800 7f004300 7f005f00 7f008800
- ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800
- ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800
- ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800 ff004300 ff005f00 ff008800
+ 00004300 00006000 00008800 00004300 00006000 00008800 00004300 00006000 00008800
+ 00004300 00006000 00008800 00004300 00006000 00008800 00004300 00006000 00008800
+ 00004300 00006000 00008800 00004300 00006000 00008800 00004300 00006000 00008800
+ 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800
+ 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800
+ 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800 7f004300 7f006000 7f008800
+ ff004300 ff006000 ff008800 ff004300 ff006000 ff008800 ff004300 ff006000 ff008800
+ ff004300 ff006000 ff008800 ff004300 ff006000 ff008800 ff004300 ff006000 ff008800
+ ff004300 ff006000 ff008800 ff004300 ff006000 ff008800 ff004300 ff006000 ff008800
diff --git a/profiles/misc/AdobeColorSpin.icc.txt b/profiles/misc/AdobeColorSpin.icc.txt
index e05cc94..74b6a42 100644
--- a/profiles/misc/AdobeColorSpin.icc.txt
+++ b/profiles/misc/AdobeColorSpin.icc.txt
@@ -19,7 +19,7 @@
gTRC : 2.199219, 1, 0, 0, 0, 0, 0
bTRC : 2.199219, 1, 0, 0, 0, 0, 0
Best : 2.199219, 1, 0, 0, 0, 0, 0
-Inv : 0.4547069, 1, -0, 0, 0, -0, 0
+Inv : 0.4547069, 1, -0, 0, 0, 0, 0
XYZ : | 0.205276489 0.149185181 0.609741211 |
| 0.625671387 0.063217163 0.311111450 |
| 0.060867310 0.744552612 0.019470215 |
@@ -37,12 +37,12 @@
1a1342 784e18 2d1d04 2b7e0d 241d99 0a0501 985850
2a1eac 3f6213 3f343f 417d1e 442290 336a17 805058
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00000000 00008000 0000ff00 00820000 00808000 0076ff00 00ff0000 00ff8000 00ffff00
- 00000095 00008080 0000ff00 00820095 00808080 0076ff00 00ff0095 00ff8080 00ffff00
- 000000ff 000080ff 0000ffff 008200ff 008080ff 0076ffff 00ff00ff 00ff80ff 00ffffff
- 7f000000 7f008000 7f00ff00 7f820000 7f808000 7f76ff00 7fff0000 7fff8000 7fffff00
- 7f000095 7f008080 7f00ff00 7f820095 7f808080 7f76ff00 7fff0095 7fff8080 7fffff00
- 7f0000ff 7f0080ff 7f00ffff 7f8200ff 7f8080ff 7f76ffff 7fff00ff 7fff80ff 7fffffff
- ff000000 ff008000 ff00ff00 ff820000 ff808000 ff76ff00 ffff0000 ffff8000 ffffff00
- ff000095 ff008080 ff00ff00 ff820095 ff808080 ff76ff00 ffff0095 ffff8080 ffffff00
- ff0000ff ff0080ff ff00ffff ff8200ff ff8080ff ff76ffff ffff00ff ffff80ff ffffffff
+ 00000000 00008000 0000ff00 00830000 00808000 0076ff00 00ff0000 00ff8000 00ffff00
+ 00000095 00008080 0000ff00 00830095 00808080 0076ff00 00ff0095 00ff8080 00ffff00
+ 000000ff 000080ff 0000ffff 008300ff 008080ff 0076ffff 00ff00ff 00ff80ff 00ffffff
+ 7f000000 7f008000 7f00ff00 7f830000 7f808000 7f76ff00 7fff0000 7fff8000 7fffff00
+ 7f000095 7f008080 7f00ff00 7f830095 7f808080 7f76ff00 7fff0095 7fff8080 7fffff00
+ 7f0000ff 7f0080ff 7f00ffff 7f8300ff 7f8080ff 7f76ffff 7fff00ff 7fff80ff 7fffffff
+ ff000000 ff008000 ff00ff00 ff830000 ff808000 ff76ff00 ffff0000 ffff8000 ffffff00
+ ff000095 ff008080 ff00ff00 ff830095 ff808080 ff76ff00 ffff0095 ffff8080 ffffff00
+ ff0000ff ff0080ff ff00ffff ff8300ff ff8080ff ff76ffff ffff00ff ffff80ff ffffffff
diff --git a/profiles/misc/AdobeRGB.icc.txt b/profiles/misc/AdobeRGB.icc.txt
index f78ec8e..fbc4bcb 100644
--- a/profiles/misc/AdobeRGB.icc.txt
+++ b/profiles/misc/AdobeRGB.icc.txt
@@ -20,7 +20,7 @@
gTRC : 2.199219, 1, 0, 0, 0, 0, 0
bTRC : 2.199219, 1, 0, 0, 0, 0, 0
Best : 2.199219, 1, 0, 0, 0, 0, 0
-Inv : 0.4547069, 1, -0, 0, 0, -0, 0
+Inv : 0.4547069, 1, -0, 0, 0, 0, 0
XYZ : | 0.609741211 0.205276489 0.149185181 |
| 0.311111450 0.625671387 0.063217163 |
| 0.019470215 0.060867310 0.744567871 |
@@ -39,11 +39,11 @@
3d9712 58332e 33433a 774924 337d3b 653c19 435a87
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 00000095 000000ff 00008000 00008080 000080ff 0000ff00 0000ff00 0000ffff
- 00820000 00820095 008300ff 00808000 00808080 008080ff 0076ff00 0076ff00 0076ffff
+ 00830000 00830095 008300ff 00808000 00808080 008080ff 0076ff00 0076ff00 0076ffff
00ff0000 00ff0095 00ff00ff 00ff8000 00ff8080 00ff80ff 00ffff00 00ffff00 00ffffff
7f000000 7f000095 7f0000ff 7f008000 7f008080 7f0080ff 7f00ff00 7f00ff00 7f00ffff
- 7f820000 7f820095 7f8300ff 7f808000 7f808080 7f8080ff 7f76ff00 7f76ff00 7f76ffff
+ 7f830000 7f830095 7f8300ff 7f808000 7f808080 7f8080ff 7f76ff00 7f76ff00 7f76ffff
7fff0000 7fff0095 7fff00ff 7fff8000 7fff8080 7fff80ff 7fffff00 7fffff00 7fffffff
ff000000 ff000095 ff0000ff ff008000 ff008080 ff0080ff ff00ff00 ff00ff00 ff00ffff
- ff820000 ff820095 ff8300ff ff808000 ff808080 ff8080ff ff76ff00 ff76ff00 ff76ffff
+ ff830000 ff830095 ff8300ff ff808000 ff808080 ff8080ff ff76ff00 ff76ff00 ff76ffff
ffff0000 ffff0095 ffff00ff ffff8000 ffff8080 ffff80ff ffffff00 ffffff00 ffffffff
diff --git a/profiles/misc/Apple_Color_LCD.icc.txt b/profiles/misc/Apple_Color_LCD.icc.txt
index c4163ce..cf3509f 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
XYZ : | 0.444335938 0.379440308 0.140411377 |
| 0.224761963 0.726165771 0.049072266 |
| 0.005477905 0.077972412 0.741455078 |
diff --git a/profiles/misc/BenQ_GL2450.icc.txt b/profiles/misc/BenQ_GL2450.icc.txt
index adc0572..77b7591 100644
--- a/profiles/misc/BenQ_GL2450.icc.txt
+++ b/profiles/misc/BenQ_GL2450.icc.txt
@@ -21,13 +21,13 @@
'bTRC' : 'curv' : 2060 : 4936
rTRC : 16-bit table with 1024 entries
- ~= : 1.993112, 1.001831, -0, 0, 0, 0, 0 (Max error: 0.0127077)
+ ~= : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0 (Max error: 0.00890554)
gTRC : 16-bit table with 1024 entries
- ~= : 1.993112, 1.001831, -0, 0, 0, 0, 0 (Max error: 0.0127077)
+ ~= : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0 (Max error: 0.00890554)
bTRC : 16-bit table with 1024 entries
- ~= : 1.993112, 1.001831, -0, 0, 0, 0, 0 (Max error: 0.0127077)
-Best : 1.993112, 1.001831, -0, 0, 0, 0, 0
-Inv : 0.5017281, 0.9963799, -0, 0, 0, 0, 0
+ ~= : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0 (Max error: 0.00890554)
+Best : 1.993112, 1.001831, -0, 0, 0, -1.525879e-05, 0
+Inv : 0.5017281, 0.9963799, 1.520355e-05, 0, 0, -2.288818e-05, 0
XYZ : | 0.388397217 0.402297974 0.201400757 |
| 0.193893433 0.741104126 0.065093994 |
| 0.010299683 0.061203003 1.014602661 |
diff --git a/profiles/misc/BenQ_RL2455.icc.txt b/profiles/misc/BenQ_RL2455.icc.txt
index 67a0904..f912e86 100644
--- a/profiles/misc/BenQ_RL2455.icc.txt
+++ b/profiles/misc/BenQ_RL2455.icc.txt
@@ -31,24 +31,24 @@
'K071' : 'ui08' : 10 : 52024
rTRC : 16-bit table with 5 entries
- ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -9.85422e-05, 0 (Max error: 0.0248359) (D-gap: -3.20375e-07)
+ ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (Max error: 0.0248607) (D-gap: -8.59052e-06)
gTRC : 16-bit table with 5 entries
- ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -9.85422e-05, 0 (Max error: 0.0248359) (D-gap: -3.20375e-07)
+ ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (Max error: 0.0248607) (D-gap: -8.59052e-06)
bTRC : 16-bit table with 5 entries
- ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -9.85422e-05, 0 (Max error: 0.0248359) (D-gap: -3.20375e-07)
-Best : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -9.85422e-05, 0 (D-gap: -3.20375e-07)
-Inv : 0.4542148, 1.001282, 9.86685e-05, 5.27827, 0.047364, -0.0006294399, -0 (D-gap: -1.90735e-06)
+ ~= : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (Max error: 0.0248607) (D-gap: -8.59052e-06)
+Best : 2.201602, 0.9994202, 0.000629075, 0.189456, 0.25, -0.0001068115, 0 (D-gap: -8.59052e-06)
+Inv : 0.4542148, 1.001282, 0.0001069484, 5.27827, 0.047364, -0.000617981, -0 (D-gap: 2.86251e-05)
XYZ : | 0.465194702 0.355957031 0.143020630 |
| 0.231887817 0.681533813 0.086563110 |
| 0.009918213 0.092864990 0.722106934 |
A2B : "A", CLUT, "B"
"A" : 3 inputs
A0 : 16-bit table with 256 entries
- ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 5.444739e-06, 0 (Max error: 0.00392157) (D-gap: -8.38918e-09)
+ ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 0, 0 (Max error: 0.00392157) (D-gap: -5.45313e-06)
A1 : 16-bit table with 256 entries
- ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 5.444739e-06, 0 (Max error: 0.00392157) (D-gap: -8.38918e-09)
+ ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 0, 0 (Max error: 0.00392157) (D-gap: -5.45313e-06)
A2 : 16-bit table with 256 entries
- ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 5.444739e-06, 0 (Max error: 0.00392157) (D-gap: -8.38918e-09)
+ ~= : 2.199465, 1.000069, -0.0001397247, 0.005188067, 0.01176471, 0, 0 (Max error: 0.00392157) (D-gap: -5.45313e-06)
CLUT : 16 x 16 x 16 (16 bpp)
"B" : 3 outputs
B0 : 16-bit table with 4096 entries
@@ -73,10 +73,10 @@
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 00000060 000000c2 00015b00 00005a5e 000058c1 0002b800 0000b859 0000b7bf
005d1100 005c0d5e 005c00c1 005d5d00 005c5d5c 005c5bc1 005db900 005cb957 005cb8be
- 00bc2c00 00bc2b56 00bc26be 00bc6400 00bc6455 00bb63be 00bcbc00 00bcbc4f 00bbbbbc
+ 00bc2c00 00bc2b56 00bc26be 00bc6400 00bc6455 00bb63be 00bcbc00 00bcbc4f 00bcbbbc
7f000000 7f000060 7f0000c2 7f015b00 7f005a5e 7f0058c1 7f02b800 7f00b859 7f00b7bf
7f5d1100 7f5c0d5e 7f5c00c1 7f5d5d00 7f5c5d5c 7f5c5bc1 7f5db900 7f5cb957 7f5cb8be
- 7fbc2c00 7fbc2b56 7fbc26be 7fbc6400 7fbc6455 7fbb63be 7fbcbc00 7fbcbc4f 7fbbbbbc
+ 7fbc2c00 7fbc2b56 7fbc26be 7fbc6400 7fbc6455 7fbb63be 7fbcbc00 7fbcbc4f 7fbcbbbc
ff000000 ff000060 ff0000c2 ff015b00 ff005a5e ff0058c1 ff02b800 ff00b859 ff00b7bf
ff5d1100 ff5c0d5e ff5c00c1 ff5d5d00 ff5c5d5c ff5c5bc1 ff5db900 ff5cb957 ff5cb8be
- ffbc2c00 ffbc2b56 ffbc26be ffbc6400 ffbc6455 ffbb63be ffbcbc00 ffbcbc4f ffbbbbbc
+ ffbc2c00 ffbc2b56 ffbc26be ffbc6400 ffbc6455 ffbb63be ffbcbc00 ffbcbc4f ffbcbbbc
diff --git a/profiles/misc/Coated_FOGRA27_CMYK.icc.txt b/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
index 46a6469..1cb545b 100644
--- a/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
+++ b/profiles/misc/Coated_FOGRA27_CMYK.icc.txt
@@ -19,13 +19,13 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 1.160069, 0.9661255, 0.08076088, 0.8236057, 0.02352941, -0.05260923, 0 (Max error: 0.00186646) (D-gap: -1.39102e-05)
+ ~= : 1.160069, 0.9661255, 0.08076088, 0.8236057, 0.02352941, -0.05234528, 0 (Max error: 0.00187165) (D-gap: 0.000250041)
A1 : 16-bit table with 256 entries
- ~= : 1.086079, 1.063683, -0.1907801, 0.8082388, 0.1803922, 0.145188, 0 (Max error: 0.0069555) (D-gap: -1.3411e-07)
+ ~= : 1.086079, 1.063683, -0.1907801, 0.8082388, 0.1803922, 0.1453209, 0 (Max error: 0.00695801) (D-gap: 0.000132725)
A2 : 16-bit table with 256 entries
- ~= : 1.187467, 0.9799652, 0.03853871, 0.7821012, 0.03529412, -0.01718035, 0 (Max error: 0.00421613) (D-gap: -4.14066e-06)
+ ~= : 1.187467, 0.9799652, 0.03853871, 0.7821012, 0.03529412, -0.0170517, 0 (Max error: 0.00417328) (D-gap: 0.000124509)
A3 : 16-bit table with 256 entries
- ~= : 4.09466, 0.6916656, 0.7610579, 0.7655641, 0.01568628, -0.3344684, 0 (Max error: 0.549026) (D-gap: -7.22157e-05)
+ ~= : 4.09466, 0.6916656, 0.7610579, 0.7655641, 0.01568628, -0.3340759, 0 (Max error: 0.548958) (D-gap: 0.000320251)
CLUT : 9 x 9 x 9 x 9 (16 bpp)
"B" : 3 outputs
B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
@@ -46,8 +46,8 @@
ff030000 ff040014 ff050024 ff0b0200 ff0a090c ff0a0f21 ff130f00 ff121800 ff101f1d
ff0c0100 ff0a0017 ff050028 ff170100 ff15000e ff110323 ff220200 ff1f1000 ff1c1819
ff181d09 ff171859 ff14108a ff1f3e00 ff174c5a ff085c92 ff255c00 ff147759 ff00919c
- ff361b0a ff33135a ff32048b ff493f00 ff4a4e58 ff4c5f93 ff5b5f00 ff5f7b54 ff63969b
+ ff361b0a ff34135a ff32048b ff493f00 ff4a4e58 ff4c5f93 ff5b5f00 ff5f7b54 ff63969b
ff55160a ff50055c ff4d008c ff714000 ff745056 ff796293 ff8c6200 ff95804c ff9f9d9a
ff292e1c ff252391 ff1b00e1 ff326300 ff237c94 ff0094f1 ff379000 ff11be95 ff00ecff
- ff562d19 ff531f91 ff4f00e1 ff746700 ff778092 ff7999f0 ff8f9600 ff96c68d ff9af5ff
+ ff562d19 ff531f91 ff4f00e1 ff746700 ff778092 ff7999f0 ff8f9600 ff96c68d ff9bf5ff
ff832912 ff7e1391 ff7a00e1 ffb36a00 ffba858e ffc19eef ffe09d00 fff0cf80 fffffefc
diff --git a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
index 584faa9..4a0e2fe 100644
--- a/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
+++ b/profiles/misc/Coated_FOGRA39_CMYK.icc.txt
@@ -23,13 +23,13 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 1.05448, 1.018715, -0.007989922, 0.8365758, 0.007843138, 0.006561379, 0 (Max error: 0.0166701) (D-gap: 0)
+ ~= : 1.05448, 1.018715, -0.007989922, 0.8365758, 0.007843138, 0.0066185, 0 (Max error: 0.890015) (D-gap: 5.71203e-05)
A1 : 16-bit table with 256 entries
- ~= : 1.117216, 1.017609, 0.0126555, 0.7665369, 0.007843138, -0.007083124, 0 (Max error: 0.0235068) (D-gap: -1.23028e-06)
+ ~= : 1.117216, 1.017609, 0.0126555, 0.7665369, 0.007843138, -0.007049561, 0 (Max error: 0.0234528) (D-gap: 3.23332e-05)
A2 : 16-bit table with 256 entries
- ~= : 1.179158, 0.9974213, 0.03461293, 0.7081712, 0.007843138, -0.01853815, 0 (Max error: 0.0164376) (D-gap: -2.3935e-07)
+ ~= : 1.179158, 0.9974213, 0.03461293, 0.7081712, 0.007843138, -0.01841736, 0 (Max error: 0.0163574) (D-gap: 0.000120555)
A3 : 16-bit table with 256 entries
- ~= : 2.925117, 0.6722412, 0.6647326, 0.7159533, 0.007843137, -0.304297, 0 (Max error: 0.359909) (D-gap: 1.3453e-06)
+ ~= : 2.925117, 0.6722412, 0.6647326, 0.7159533, 0.007843137, -0.3037949, 0 (Max error: 0.360039) (D-gap: 0.000503455)
CLUT : 11 x 11 x 11 x 11 (16 bpp)
"B" : 3 outputs
B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
@@ -46,10 +46,10 @@
020100 202004 111216 363d12 191b14 130f16 0c0c0f
020201 0c0e15 0e0805 1a1814 070502 16130f 211f27
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- ff010000 ff01000f ff000020 ff010500 ff000c08 ff00101d ff001200 ff001900 ff001e1b
+ ff010000 ff01000f ff000020 ff010500 ff000c08 ff00101e ff001200 ff001900 ff001e1b
ff010000 ff020013 ff010022 ff070100 ff04090b ff000d20 ff0f0e00 ff0c1700 ff091d1b
ff0b0100 ff060014 ff020025 ff170100 ff14030c ff110921 ff200b00 ff1e1600 ff1c1d1c
- ff1a201e ff11195a ff041288 ff234000 ff174e5c ff005b91 ff285f00 ff157759 ff00909b
+ ff1a201e ff11195a ff041288 ff234100 ff174e5c ff005b91 ff285f00 ff157759 ff00909b
ff381b1e ff33155c ff2f0a8b ff4a4000 ff4c515b ff4c5f92 ff5b6000 ff607b55 ff61959a
ff52141f ff500c5d ff4d008c ff704000 ff765359 ff796393 ff8b6200 ff96804e ff9c9c9b
ff313231 ff262992 ff150ce2 ff3b6600 ff2a7b94 ff0092f1 ff419600 ff21c093 ff00edff
diff --git a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
index ea11a44..81ff116 100644
--- a/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
+++ b/profiles/misc/ColorLogic_ISO_Coated_CMYK.icc.txt
@@ -23,17 +23,17 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 0.3393432, 25.73071, 12.38586, 1.200778, 0.01960784, -2.357529, 0 (Max error: 0.102398) (D-gap: -0.000183938)
+ ~= : 0.3393432, 25.73071, 12.38586, 1.200778, 0.01960784, -2.357025, 0 (Max error: 0.102386) (D-gap: 0.000320079)
A1 : 16-bit table with 256 entries
- ~= : 0.3643354, 14.16479, 6.025642, 1.205447, 0.01960784, -1.932159, 0 (Max error: 0.0766691) (D-gap: -9.10796e-05)
+ ~= : 0.3643354, 14.16479, 6.025642, 1.205447, 0.01960784, -1.931793, 0 (Max error: 0.0767495) (D-gap: 0.000274297)
A2 : 16-bit table with 256 entries
- ~= : 0.7474884, 0.9664421, -0.1072783, 1.241552, 0.1490196, 0.1003987, 0 (Max error: 0.0142888) (D-gap: -4.05312e-06)
+ ~= : 0.7474884, 0.9664421, -0.1072783, 1.241552, 0.1490196, 0.1005783, 0 (Max error: 0.0143543) (D-gap: 0.000175521)
A3 : 16-bit table with 256 entries
- ~= : 0.8032417, 0.9342613, -0.01337674, 1.182879, 0.01568628, 0.01381338, 0 (Max error: 0.0662131) (D-gap: -4.47035e-08)
+ ~= : 0.8032417, 0.9342613, -0.01337674, 1.182879, 0.01568628, 0.01389694, 0 (Max error: 0.0662346) (D-gap: 8.3521e-05)
CLUT : 17 x 17 x 17 x 17 (16 bpp)
"B" : 3 outputs
B0 : 16-bit table with 256 entries
- ~= : 1, 0.9961089, 0, 0, 0, 0, 0 (Max error: 0.000120819)
+ ~= : 1, 0.9961089, 0, 0, 0, 0, 0 (Max error: 0.000143707)
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:
@@ -51,7 +51,7 @@
ff050003 ff000010 ff00001f ff080400 ff06080a ff030c1d ff0d0f00 ff0c1500 ff0b1b1a
ff100008 ff090014 ff030021 ff160100 ff120309 ff11091d ff1c0c00 ff1b1400 ff1b1b1b
ff191e1d ff151b55 ff0c1584 ff243e00 ff1d4d5a ff0a5a90 ff2a5c00 ff1c7659 ff008f9b
- ff341b1c ff321856 ff301186 ff473d00 ff4c5059 ff4d5f90 ff595d00 ff607a55 ff63959a
+ ff341b1d ff321856 ff301186 ff473d00 ff4c5059 ff4d5f90 ff595d00 ff607a55 ff63959a
ff4c151c ff4c1357 ff4b0887 ff6b3e00 ff735257 ff796390 ff876000 ff947f4e ff9c9c9a
ff30302f ff282a8d ff1300e2 ff3b6300 ff2d7a93 ff008ff4 ff429400 ff1ec093 ff00ecff
ff552d2d ff54288f ff4f00e4 ff756500 ff7a7f91 ff7b98f2 ff929800 ff9ac78c ff9af4ff
diff --git a/profiles/misc/Color_Spin_Gamma_18.icc.txt b/profiles/misc/Color_Spin_Gamma_18.icc.txt
index 5b0866f..2530d1d 100644
--- a/profiles/misc/Color_Spin_Gamma_18.icc.txt
+++ b/profiles/misc/Color_Spin_Gamma_18.icc.txt
@@ -19,7 +19,7 @@
gTRC : 1.800781, 1, 0, 0, 0, 0, 0
bTRC : 1.800781, 1, 0, 0, 0, 0, 0
Best : 1.800781, 1, 0, 0, 0, 0, 0
-Inv : 0.5553145, 1, -0, 0, 0, -0, 0
+Inv : 0.5553145, 1, -0, 0, 0, 0, 0
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 62ba998..54d5827 100644
--- a/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
+++ b/profiles/misc/DisplayCal_ASUS_NonMonotonic.icc.txt
@@ -31,24 +31,24 @@
'meta' : 'dict' : 2312 : 738448
rTRC : 16-bit table with 256 entries
- ~= : 1.929522, 1.131104, -0.133071, 0.03579767, 0.1176471, 0.004211491, 0 (Max error: 0.0831201) (D-gap: 0)
+ ~= : 1.929522, 1.131104, -0.133071, 0.03579767, 0.1176471, 0.004390717, 0 (Max error: 1.34651e+35) (D-gap: 0.000179225)
gTRC : 16-bit table with 256 entries
- ~= : 2.287451, 0.9762917, 0.03631328, 0.03112842, 0.1921569, -0.02663262, 0 (Max error: 0.0558824) (D-gap: -1.30427e-05)
+ ~= : 2.287451, 0.9762917, 0.03631328, 0.03112842, 0.1921569, -0.02641296, 0 (Max error: 0.0558824) (D-gap: 0.000206613)
bTRC : 16-bit table with 256 entries
- ~= : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01461231, 0 (Max error: 0.152941) (D-gap: -4.89061e-06)
-Best : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01461231, 0 (D-gap: -4.89061e-06)
-Inv : 0.455413, 0.9488716, 0.01386521, 257, 0.0006256199, 0.01555404, -0 (D-gap: 1.90735e-06)
+ ~= : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01451111, 0 (Max error: 0.152941) (D-gap: 9.63116e-05)
+Best : 2.195809, 1.024223, -0.01593081, 0.00389105, 0.1607843, -0.01451111, 0 (D-gap: 9.63116e-05)
+Inv : 0.455413, 0.9488716, 0.01376918, 257, 0.0006256199, 0.01558304, -0 (D-gap: -0.000409693)
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.9896749, 1.006287, 0.1542477, 1.000015, 0.125, -0.1587768, 0 (Max error: 0.0184422) (D-gap: -8.3521e-05) (~Identity)
+ ~= : 0.9896749, 1.006287, 0.1542477, 1.000015, 0.125, -0.1584778, 0 (Max error: 0.0184479) (D-gap: 0.00021553) (~Identity)
A1 : 16-bit table with 2049 entries
- ~= : 0.9858807, 1.008598, 0.1456893, 1.000015, 0.125, -0.1518457, 0 (Max error: 0.016737) (D-gap: -7.7948e-05)
+ ~= : 0.9858807, 1.008598, 0.1456893, 1.000015, 0.125, -0.1515274, 0 (Max error: 0.0167599) (D-gap: 0.000240326)
A2 : 16-bit table with 2049 entries
- ~= : 0.9882579, 1.008926, 0.3841263, 1.000015, 0.03125, -0.388747, 0 (Max error: 0.0201283) (D-gap: -7.56383e-05) (~Identity)
+ ~= : 0.9882579, 1.008926, 0.3841263, 1.000015, 0.03125, -0.3887711, 0 (Max error: 0.0201378) (D-gap: -9.9659e-05) (~Identity)
CLUT : 33 x 33 x 33 (16 bpp)
"B" : 3 outputs
B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
@@ -69,11 +69,11 @@
315609 221416 1d231d 2e1d11 29481e 26180c 293144
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00191919 0000005b 000000bc 00005c00 00005c5c 00005abd 0000be00 0000be59 0000bdbb
- 00670400 005e005b 005d00bc 005b5d00 005b5c5c 005b5abc 0053be00 0054bd59 0052bdbb
- 00c00007 00c0005c 00bf00bd 00bf5b02 00bf5a5c 00be58bd 00bcbc00 00bcbc5a 00bbbcbc
+ 00670400 005e005b 005d00bc 005b5d00 005c5c5c 005b5abc 0053be00 0054bd59 0052bdbb
+ 00c00007 00c0005c 00bf00bd 00bf5b02 00bf5a5c 00be58bd 00bcbc00 00bcbc5a 00bcbcbc
7f191919 7f00005b 7f0000bc 7f005c00 7f005c5c 7f005abd 7f00be00 7f00be59 7f00bdbb
- 7f670400 7f5e005b 7f5d00bc 7f5b5d00 7f5b5c5c 7f5b5abc 7f53be00 7f54bd59 7f52bdbb
- 7fc00007 7fc0005c 7fbf00bd 7fbf5b02 7fbf5a5c 7fbe58bd 7fbcbc00 7fbcbc5a 7fbbbcbc
+ 7f670400 7f5e005b 7f5d00bc 7f5b5d00 7f5c5c5c 7f5b5abc 7f53be00 7f54bd59 7f52bdbb
+ 7fc00007 7fc0005c 7fbf00bd 7fbf5b02 7fbf5a5c 7fbe58bd 7fbcbc00 7fbcbc5a 7fbcbcbc
ff191919 ff00005b ff0000bc ff005c00 ff005c5c ff005abd ff00be00 ff00be59 ff00bdbb
- ff670400 ff5e005b ff5d00bc ff5b5d00 ff5b5c5c ff5b5abc ff53be00 ff54bd59 ff52bdbb
- ffc00007 ffc0005c ffbf00bd ffbf5b02 ffbf5a5c ffbe58bd ffbcbc00 ffbcbc5a ffbbbcbc
+ ff670400 ff5e005b ff5d00bc ff5b5d00 ff5c5c5c ff5b5abc ff53be00 ff54bd59 ff52bdbb
+ ffc00007 ffc0005c ffbf00bd ffbf5b02 ffbf5a5c ffbe58bd ffbcbc00 ffbcbc5a ffbcbcbc
diff --git a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
index c73ef40..5fe126e 100644
--- a/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
+++ b/profiles/misc/Dot_Gain_20_Grayscale.icc.txt
@@ -12,13 +12,13 @@
'kTRC' : 'curv' : 524 : 388
rTRC : 16-bit table with 256 entries
- ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -7.343342e-06, 0 (Max error: 0.000202144) (D-gap: -4.22588e-08)
+ ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (Max error: 0.000202144) (D-gap: -7.95769e-06)
gTRC : 16-bit table with 256 entries
- ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -7.343342e-06, 0 (Max error: 0.000202144) (D-gap: -4.22588e-08)
+ ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (Max error: 0.000202144) (D-gap: -7.95769e-06)
bTRC : 16-bit table with 256 entries
- ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -7.343342e-06, 0 (Max error: 0.000202144) (D-gap: -4.22588e-08)
-Best : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -7.343342e-06, 0 (D-gap: -4.22588e-08)
-Inv : 0.5756963, 1.000122, 7.344238e-06, 15.89691, 0.001480125, -3.289804e-05, -0 (D-gap: -2.38419e-07)
+ ~= : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (Max error: 0.000202144) (D-gap: -7.95769e-06)
+Best : 1.737027, 0.9999313, 3.289578e-05, 0.06290532, 0.02352941, -1.525879e-05, 0 (D-gap: -7.95769e-06)
+Inv : 0.5756963, 1.000122, 1.526065e-05, 15.89691, 0.001480125, -3.051758e-05, -0 (D-gap: 7.42637e-05)
XYZ : | 0.964202881 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 |
| 0.000000000 0.000000000 0.824905396 |
@@ -36,12 +36,12 @@
186e19 31299f 15074b ca0507 29d500 000118 257ab9
24eb0a 8d1841 39654c b82832 08cc47 a41f25 2f859a
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00000000 002700f4 004a00ff 0000c700 000093ad 000400ff 0000ff00 0000ff00 0000fcff
+ 00000000 002700f4 004b00ff 0000c700 000093ad 000400ff 0000ff00 0000ff00 0000fcff
009f1600 00a300e5 00ac00ff 0090c800 00949494 009f00ff 0060ff00 0068ff00 0077fdff
00ff2e00 00ff00bb 00ff00ff 00ffcb00 00ff991f 00ff00ff 00f7ff00 00f9ff00 00ffffff
- 7f000000 7f2700f4 7f4a00ff 7f00c700 7f0093ad 7f0400ff 7f00ff00 7f00ff00 7f00fcff
+ 7f000000 7f2700f4 7f4b00ff 7f00c700 7f0093ad 7f0400ff 7f00ff00 7f00ff00 7f00fcff
7f9f1600 7fa300e5 7fac00ff 7f90c800 7f949494 7f9f00ff 7f60ff00 7f68ff00 7f77fdff
7fff2e00 7fff00bb 7fff00ff 7fffcb00 7fff991f 7fff00ff 7ff7ff00 7ff9ff00 7fffffff
- ff000000 ff2700f4 ff4a00ff ff00c700 ff0093ad ff0400ff ff00ff00 ff00ff00 ff00fcff
+ ff000000 ff2700f4 ff4b00ff ff00c700 ff0093ad ff0400ff ff00ff00 ff00ff00 ff00fcff
ff9f1600 ffa300e5 ffac00ff ff90c800 ff949494 ff9f00ff ff60ff00 ff68ff00 ff77fdff
ffff2e00 ffff00bb ffff00ff ffffcb00 ffff991f ffff00ff fff7ff00 fff9ff00 ffffffff
diff --git a/profiles/misc/Generic_RGB_Gamma_18.icc.txt b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
index 73e5857..de8ca37 100644
--- a/profiles/misc/Generic_RGB_Gamma_18.icc.txt
+++ b/profiles/misc/Generic_RGB_Gamma_18.icc.txt
@@ -21,7 +21,7 @@
gTRC : 1.800781, 1, 0, 0, 0, 0, 0
bTRC : 1.800781, 1, 0, 0, 0, 0, 0
Best : 1.800781, 1, 0, 0, 0, 0, 0
-Inv : 0.5553145, 1, -0, 0, 0, -0, 0
+Inv : 0.5553145, 1, -0, 0, 0, 0, 0
XYZ : | 0.454299927 0.353347778 0.156646729 |
| 0.241912842 0.673629761 0.084457397 |
| 0.014892578 0.090637207 0.719573975 |
@@ -40,11 +40,11 @@
64a71d 55383b 4a574a 6c4c30 58914e 5d4024 5f7291
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 00001193 000026ff 00008e00 00008f91 000093ff 0000f900 0000fa8d 0000fbff
- 00921801 00922093 00912fff 00929000 00919191 009195ff 0091fa00 0091fb8d 0091fcff
+ 00921801 00922193 00912fff 00929000 00919191 009195ff 0091fa00 0091fb8d 0091fcff
00ff3304 00ff3793 00ff40ff 00ff9600 00ff9792 00ff9aff 00fffd00 00fffd8d 00ffffff
7f000000 7f001193 7f0026ff 7f008e00 7f008f91 7f0093ff 7f00f900 7f00fa8d 7f00fbff
- 7f921801 7f922093 7f912fff 7f929000 7f919191 7f9195ff 7f91fa00 7f91fb8d 7f91fcff
+ 7f921801 7f922193 7f912fff 7f929000 7f919191 7f9195ff 7f91fa00 7f91fb8d 7f91fcff
7fff3304 7fff3793 7fff40ff 7fff9600 7fff9792 7fff9aff 7ffffd00 7ffffd8d 7fffffff
ff000000 ff001193 ff0026ff ff008e00 ff008f91 ff0093ff ff00f900 ff00fa8d ff00fbff
- ff921801 ff922093 ff912fff ff929000 ff919191 ff9195ff ff91fa00 ff91fb8d ff91fcff
+ ff921801 ff922193 ff912fff ff929000 ff919191 ff9195ff ff91fa00 ff91fb8d ff91fcff
ffff3304 ffff3793 ffff40ff ffff9600 ffff9792 ffff9aff fffffd00 fffffd8d ffffffff
diff --git a/profiles/misc/Gray_Gamma_22.icc.txt b/profiles/misc/Gray_Gamma_22.icc.txt
index ab2dcca..d699d7c 100644
--- a/profiles/misc/Gray_Gamma_22.icc.txt
+++ b/profiles/misc/Gray_Gamma_22.icc.txt
@@ -15,7 +15,7 @@
gTRC : 2.199219, 1, 0, 0, 0, 0, 0
bTRC : 2.199219, 1, 0, 0, 0, 0, 0
Best : 2.199219, 1, 0, 0, 0, 0, 0
-Inv : 0.4547069, 1, -0, 0, 0, -0, 0
+Inv : 0.4547069, 1, -0, 0, 0, 0, 0
XYZ : | 0.964202881 0.000000000 0.000000000 |
| 0.000000000 1.000000000 0.000000000 |
| 0.000000000 0.000000000 0.824905396 |
@@ -33,12 +33,12 @@
0d580e 201993 0b0339 c00203 1acb00 00000d 1765b3
15e504 790d30 274f3a ab1922 03c035 931217 1e6f8e
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00000000 002100d3 004a00ff 0000ac00 00007e96 002700ff 0000ff00 0000ff00 0000fcff
+ 00000000 002100d3 004b00ff 0000ac00 00007e96 002700ff 0000ff00 0000ff00 0000fcff
00891200 008d00c6 009900ff 007cad00 00808080 008e00ff 0028ff00 0036ff00 0055fdff
00ff2e00 00ff0088 00ff00ff 00ffb100 00ff8600 00ff00ff 00f7ff00 00f9ff00 00ffffff
- 7f000000 7f2100d3 7f4a00ff 7f00ac00 7f007e96 7f2700ff 7f00ff00 7f00ff00 7f00fcff
+ 7f000000 7f2100d3 7f4b00ff 7f00ac00 7f007e96 7f2700ff 7f00ff00 7f00ff00 7f00fcff
7f891200 7f8d00c6 7f9900ff 7f7cad00 7f808080 7f8e00ff 7f28ff00 7f36ff00 7f55fdff
7fff2e00 7fff0088 7fff00ff 7fffb100 7fff8600 7fff00ff 7ff7ff00 7ff9ff00 7fffffff
- ff000000 ff2100d3 ff4a00ff ff00ac00 ff007e96 ff2700ff ff00ff00 ff00ff00 ff00fcff
+ ff000000 ff2100d3 ff4b00ff ff00ac00 ff007e96 ff2700ff ff00ff00 ff00ff00 ff00fcff
ff891200 ff8d00c6 ff9900ff ff7cad00 ff808080 ff8e00ff ff28ff00 ff36ff00 ff55fdff
ffff2e00 ffff0088 ffff00ff ffffb100 ffff8600 ffff00ff fff7ff00 fff9ff00 ffffffff
diff --git a/profiles/misc/HD_709.icc.txt b/profiles/misc/HD_709.icc.txt
index 5af20ef..2b955db 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000251848) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
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 1fd1e91..a8f9508 100644
--- a/profiles/misc/Japan_Color_2001_Coated.icc.txt
+++ b/profiles/misc/Japan_Color_2001_Coated.icc.txt
@@ -19,13 +19,13 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 1.010957, 1.063629, -0.03336876, 0.7801556, 0.03137255, 0.02447547, 0 (Max error: 0.0512919) (D-gap: -1.86265e-09)
+ ~= : 1.010957, 1.063629, -0.03336876, 0.7801556, 0.03137255, 0.02462769, 0 (Max error: 0.0513268) (D-gap: 0.000152213)
A1 : 16-bit table with 256 entries
- ~= : 1.117948, 1.022087, -0.0280573, 0.6270149, 0.02745098, 0.01721218, 0 (Max error: 0.00928837) (D-gap: 0)
+ ~= : 1.127547, 1.01329, -0.000483401, 0.3501945, 0.003921568, -0.000289917, 0 (Max error: 0.0123787) (D-gap: 3.26649e-05)
A2 : 16-bit table with 256 entries
- ~= : 1.158917, 0.990242, 0.04165715, 0.6193256, 0.02352941, -0.02749484, 0 (Max error: 0.0083915) (D-gap: -4.21423e-06)
+ ~= : 1.158917, 0.990242, 0.04165715, 0.6193256, 0.02352941, -0.02733612, 0 (Max error: 0.00832367) (D-gap: 0.000154509)
A3 : 16-bit table with 256 entries
- ~= : 1.834799, 0.7538795, 0.3804454, 0.3229572, 0.003921569, -0.1709625, 0 (Max error: 0.0590553) (D-gap: -1.07035e-05)
+ ~= : 1.834799, 0.7538795, 0.3804454, 0.3229572, 0.003921569, -0.1707611, 0 (Max error: 0.0589523) (D-gap: 0.000190716)
CLUT : 9 x 9 x 9 x 9 (16 bpp)
"B" : 3 outputs
B0 : 1, 1, 0, 0, 0, 0, 0 (~Identity)
@@ -48,6 +48,6 @@
ff19160c ff0e0a5c ff000090 ff224100 ff0f4e5a ff005c96 ff296300 ff077b54 ff00959f
ff391208 ff34035b ff2d008f ff4d4100 ff4a4f58 ff475e96 ff606500 ff5f7e50 ff5e999e
ff590306 ff54005c ff500090 ff773f00 ff784f57 ff7a6196 ff966700 ff9a8249 ffa09f9d
- ff35311e ff2b2793 ff1406e4 ff3f6900 ff2a7e92 ff0097f1 ff459900 ff22c38c ff00f0ff
+ ff35311e ff2b2793 ff1406e4 ff3f6900 ff2a7e93 ff0097f1 ff459900 ff22c38c ff00f0ff
ff5d2d1d ff572092 ff5000e4 ff796900 ff788090 ff769af0 ff969d00 ff97c886 ff99f7ff
ff88211a ff840c91 ff7f00e2 ffb76800 ffbc818c ffc29def ffe9a000 fff4cd7a fffffefc
diff --git a/profiles/misc/Kodak_sRGB.icc.txt b/profiles/misc/Kodak_sRGB.icc.txt
index d7e8cbd..6fbf6fe 100644
--- a/profiles/misc/Kodak_sRGB.icc.txt
+++ b/profiles/misc/Kodak_sRGB.icc.txt
@@ -21,32 +21,32 @@
'bTRC' : 'curv' : 524 : 149844
rTRC : 16-bit table with 256 entries
- ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003171407, 0 (Max error: 0.00614446) (D-gap: -3.46452e-07)
+ ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (Max error: 0.00561243) (D-gap: 0.000211882)
gTRC : 16-bit table with 256 entries
- ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003171407, 0 (Max error: 0.00614446) (D-gap: -3.46452e-07)
+ ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (Max error: 0.00561243) (D-gap: 0.000211882)
bTRC : 16-bit table with 256 entries
- ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003171407, 0 (Max error: 0.00614446) (D-gap: -3.46452e-07)
-Best : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003171407, 0 (D-gap: -3.46452e-07)
-Inv : 0.4137676, 1.159515, -0.003677296, 0.9345455, 0.004196231, -0.05768937, -0 (D-gap: 4.05265e-06)
+ ~= : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (Max error: 0.00561243) (D-gap: 0.000211882)
+Best : 2.416816, 0.9406624, 0.05426622, 1.070039, 0.003921569, 0.003383636, 0 (D-gap: 0.000211882)
+Inv : 0.4137676, 1.159515, -0.003923378, 0.9345455, 0.004196231, -0.05766296, -0 (D-gap: -0.00561243)
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.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5043284, 0 (Max error: 0.00322378) (D-gap: -0.00010246)
+ ~= : 0.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5041351, 0 (Max error: 0.00306643) (D-gap: 9.08375e-05)
A1 : 16-bit table with 256 entries
- ~= : 0.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5043284, 0 (Max error: 0.00322378) (D-gap: -0.00010246)
+ ~= : 0.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5041351, 0 (Max error: 0.00306643) (D-gap: 9.08375e-05)
A2 : 16-bit table with 256 entries
- ~= : 0.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5043284, 0 (Max error: 0.00322378) (D-gap: -0.00010246)
+ ~= : 0.7264283, 1.40155, 0.3523805, 0.7458658, 0.0627451, -0.5041351, 0 (Max error: 0.00306643) (D-gap: 9.08375e-05)
CLUT : 8 x 8 x 8 (16 bpp)
"B" : 3 outputs
B0 : 16-bit table with 4096 entries
- ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.004875124, 0 (Max error: 0.00195366) (D-gap: -3.8147e-06)
+ ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.00484848, 0 (Max error: 0.00196159) (D-gap: -3.0458e-05)
B1 : 16-bit table with 4096 entries
- ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.004875124, 0 (Max error: 0.00195366) (D-gap: -3.8147e-06)
+ ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.00484848, 0 (Max error: 0.00196159) (D-gap: -3.0458e-05)
B2 : 16-bit table with 4096 entries
- ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.004875124, 0 (Max error: 0.00195366) (D-gap: -3.8147e-06)
+ ~= : 4.998877, 1, 2.980232e-07, 0.9980438, 0.9982907, 0.00484848, 0 (Max error: 0.00196159) (D-gap: -3.0458e-05)
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 34c931c..3343a78 100644
--- a/profiles/misc/Lexmark_X110.icc.txt
+++ b/profiles/misc/Lexmark_X110.icc.txt
@@ -38,10 +38,10 @@
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 000206a2 00243cff 0035d000 000bcabc 0002cffe 0063ff1e 005cf3cd 003dffff
00ff674a 00ff68df 00f55ffd 00f6fc00 00b5b5b5 00d4c7fd 00d1d464 00e1ffe5 00d9fffe
- 00ffa03e 00ffa4d1 00ffa4fd 00fff300 00ffddb7 00ffedfe 00fff240 00fff5aa 00ffffff
+ 00ffa03e 00ffa4d1 00ffa4fd 00fff300 00ffddb7 00ffeefe 00fff240 00fff5aa 00ffffff
7f000000 7f0206a2 7f243cff 7f35d000 7f0bcabc 7f02cffe 7f63ff1e 7f5cf3cd 7f3dffff
7fff674a 7fff68df 7ff55ffd 7ff6fc00 7fb5b5b5 7fd4c7fd 7fd1d464 7fe1ffe5 7fd9fffe
- 7fffa03e 7fffa4d1 7fffa4fd 7ffff300 7fffddb7 7fffedfe 7ffff240 7ffff5aa 7fffffff
+ 7fffa03e 7fffa4d1 7fffa4fd 7ffff300 7fffddb7 7fffeefe 7ffff240 7ffff5aa 7fffffff
ff000000 ff0206a2 ff243cff ff35d000 ff0bcabc ff02cffe ff63ff1e ff5cf3cd ff3dffff
ffff674a ffff68df fff55ffd fff6fc00 ffb5b5b5 ffd4c7fd ffd1d464 ffe1ffe5 ffd9fffe
- ffffa03e ffffa4d1 ffffa4fd fffff300 ffffddb7 ffffedfe fffff240 fffff5aa ffffffff
+ ffffa03e ffffa4d1 ffffa4fd fffff300 ffffddb7 ffffeefe fffff240 fffff5aa ffffffff
diff --git a/profiles/misc/MartiMaria_browsertest_A2B.icc.txt b/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
index f8f185a..420b9e9 100644
--- a/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
+++ b/profiles/misc/MartiMaria_browsertest_A2B.icc.txt
@@ -36,12 +36,12 @@
7b8069 7b8069 7b8069 7b8069 7b8069 060605 7b8069
7b8069 7b8069 7b8069 7b8069 686c59 7b8069 7b8069
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
diff --git a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
index ca60ce4..c23c806 100644
--- a/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
+++ b/profiles/misc/MartiMaria_browsertest_HARD.icc.txt
@@ -20,7 +20,7 @@
rTRC : 16-bit table with 255 entries
gTRC : 16-bit table with 255 entries
- ~= : 1, 0.003875792, 0, 0, 0, 0, 0 (Max error: 0.000113308)
+ ~= : 1, 0.003875792, 0, 0, 0, 0, 0 (Max error: 0.000128567)
bTRC : 16-bit table with 255 entries
XYZ : | 0.964202881 0.000000000 0.964202881 |
| 1.000000000 0.000000000 1.000000000 |
@@ -50,12 +50,12 @@
7b8069 7b8069 7b8069 7b8069 7b8069 060605 7b8069
7b8069 7b8069 7b8069 7b8069 686c59 7b8069 7b8069
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc 00000000 00bbbcbc 00bbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc 7f000000 7fbbbcbc 7fbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
- ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc ff000000 ffbbbcbc ffbbbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc 00000000 00bcbcbc 00bcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc 7f000000 7fbcbcbc 7fbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
+ ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc ff000000 ffbcbcbc ffbcbcbc
diff --git a/profiles/misc/Phase_One_P25.icc.txt b/profiles/misc/Phase_One_P25.icc.txt
index 5ac7d46..8f4cafc 100644
--- a/profiles/misc/Phase_One_P25.icc.txt
+++ b/profiles/misc/Phase_One_P25.icc.txt
@@ -19,10 +19,10 @@
'tech' : 'sig ' : 12 : 219352
rTRC : 16-bit table with 256 entries
- ~= : 0.3802269, 1.743515, 0.01529081, 3.844358, 0.007843138, -0.2299772, 0 (Max error: 0.0201951) (D-gap: -3.33935e-05)
+ ~= : 0.3802269, 1.743515, 0.01529081, 3.844358, 0.007843138, -0.2299347, 0 (Max error: 0.0201225) (D-gap: 9.07481e-06)
gTRC : 16-bit table with 256 entries
bTRC : 16-bit table with 256 entries
- ~= : 0.7390234, 0.8481178, -0.009977858, 2.721141, 0.01176471, 0.03201343, 0 (Max error: 0.13987) (D-gap: 0)
+ ~= : 0.7390234, 0.8481178, -0.009977858, 2.721141, 0.01176471, 0.03213882, 0 (Max error: 0.139809) (D-gap: 0.000125397)
XYZ : | 0.647903442 0.357360840 0.156417847 |
| 0.382919312 1.109725952 0.000000000 |
| 0.083267212 0.679275513 0.523422241 |
@@ -51,12 +51,12 @@
214f17 4128a4 1c0d53 9e5406 4bcd2f 04021c 3e5ba2
59e84c 6a3d42 3a4f41 955c27 339b69 814e1b 426388
81 edge-case pixels transformed to sRGB 8888 (unpremul):
- 00010000 000000b5 00002eff 00009c00 0000928d 001a74ff 00c0ff00 0031ff00 0000ffcd
+ 00010000 000000b5 00002eff 00009c00 0000928d 001a74ff 00c1ff00 0031ff00 0000ffcd
00ae0000 00a700b1 007100ff 00879300 008c8d8b 008787ff 00dfff00 0095ff00 0000fff3
00c40000 00e40044 00d300b0 00f68e00 00ff7296 00ff00ff 00ffff00 00ffff00 00fffefc
- 7f010000 7f0000b5 7f002eff 7f009c00 7f00928d 7f1a74ff 7fc0ff00 7f31ff00 7f00ffcd
+ 7f010000 7f0000b5 7f002eff 7f009c00 7f00928d 7f1a74ff 7fc1ff00 7f31ff00 7f00ffcd
7fae0000 7fa700b1 7f7100ff 7f879300 7f8c8d8b 7f8787ff 7fdfff00 7f95ff00 7f00fff3
7fc40000 7fe40044 7fd300b0 7ff68e00 7fff7296 7fff00ff 7fffff00 7fffff00 7ffffefc
- ff010000 ff0000b5 ff002eff ff009c00 ff00928d ff1a74ff ffc0ff00 ff31ff00 ff00ffcd
+ ff010000 ff0000b5 ff002eff ff009c00 ff00928d ff1a74ff ffc1ff00 ff31ff00 ff00ffcd
ffae0000 ffa700b1 ff7100ff ff879300 ff8c8d8b ff8787ff ffdfff00 ff95ff00 ff00fff3
ffc40000 ffe40044 ffd300b0 fff68e00 ffff7296 ffff00ff ffffff00 ffffff00 fffffefc
diff --git a/profiles/misc/SM245B.icc.txt b/profiles/misc/SM245B.icc.txt
index 204a062..e98cabe 100644
--- a/profiles/misc/SM245B.icc.txt
+++ b/profiles/misc/SM245B.icc.txt
@@ -20,13 +20,13 @@
'view' : 'view' : 36 : 2368
rTRC : 16-bit table with 256 entries
- ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -1.221265e-05, 0 (Max error: 0.00392157) (D-gap: -6.50107e-09)
+ ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (Max error: 0.00392157) (D-gap: -1.0682e-05)
gTRC : 16-bit table with 256 entries
- ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -1.221265e-05, 0 (Max error: 0.00392157) (D-gap: -6.50107e-09)
+ ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (Max error: 0.00392157) (D-gap: -1.0682e-05)
bTRC : 16-bit table with 256 entries
- ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -1.221265e-05, 0 (Max error: 0.00392157) (D-gap: -6.50107e-09)
-Best : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -1.221265e-05, 0 (D-gap: -6.50107e-09)
-Inv : 0.4544528, 1.000282, 1.221609e-05, 257, 4.577707e-05, -0.0001117568, -0 (D-gap: -1.78814e-07)
+ ~= : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (Max error: 0.00392157) (D-gap: -1.0682e-05)
+Best : 2.200449, 0.9998741, 0.0001117428, 0.00389105, 0.01176471, -2.288818e-05, 0 (D-gap: -1.0682e-05)
+Inv : 0.4544528, 1.000282, 2.289464e-05, 257, 4.577707e-05, -0.0001068115, -0 (D-gap: 0.000952361)
XYZ : | 0.458724976 0.322952271 0.168487549 |
| 0.232894897 0.697387695 0.069717407 |
| 0.014114380 0.149780273 0.923767090 |
@@ -47,10 +47,10 @@
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 00000083 000000ff 00228100 00228178 002181ff 004dff00 004dff37 004dffef
00900000 00900081 009000ff 00948100 00948175 009481ff 00a0ff00 00a0ff30 00a0ffee
- 00ff0000 00ff0078 00ff00ff 00ff8100 00ff816c 00ff81fc 00ffff00 00ffff01 00ffffeb
+ 00ff0000 00ff0079 00ff00ff 00ff8100 00ff816c 00ff81fc 00ffff00 00ffff01 00ffffeb
7f000000 7f000083 7f0000ff 7f228100 7f228178 7f2181ff 7f4dff00 7f4dff37 7f4dffef
7f900000 7f900081 7f9000ff 7f948100 7f948175 7f9481ff 7fa0ff00 7fa0ff30 7fa0ffee
- 7fff0000 7fff0078 7fff00ff 7fff8100 7fff816c 7fff81fc 7fffff00 7fffff01 7fffffeb
+ 7fff0000 7fff0079 7fff00ff 7fff8100 7fff816c 7fff81fc 7fffff00 7fffff01 7fffffeb
ff000000 ff000083 ff0000ff ff228100 ff228178 ff2181ff ff4dff00 ff4dff37 ff4dffef
ff900000 ff900081 ff9000ff ff948100 ff948175 ff9481ff ffa0ff00 ffa0ff30 ffa0ffee
- ffff0000 ffff0078 ffff00ff ffff8100 ffff816c ffff81fc ffffff00 ffffff01 ffffffeb
+ ffff0000 ffff0079 ffff00ff ffff8100 ffff816c ffff81fc ffffff00 ffffff01 ffffffeb
diff --git a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
index 0fcc9e0..38a809f 100644
--- a/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
+++ b/profiles/misc/SWOP_Coated_20_GCR_CMYK.icc.txt
@@ -44,7 +44,7 @@
ff010000 ff010000 ff010000 ff010000 ff010000 ff010000 ff010000 ff010000 ff010000
ff1a1219 ff16104d ff110080 ff1e3900 ff16474c ff01588a ff1f5a00 ff117144 ff008d8f
ff300d1d ff2f0950 ff2c0081 ff433900 ff434851 ff42598b ff595d00 ff59744b ff599193
- ff45061e ff450051 ff450082 ff663900 ff694854 ff6d5b8c ff886000 ff8e774d ff959493
+ ff45061e ff450051 ff450082 ff663900 ff694854 ff6d5b8d ff886000 ff8e774d ff959493
ff332734 ff2e2389 ff2400dd ff396700 ff2c7f88 ff009bed ff3d9e00 ff25c57a ff00f3f6
ff581f39 ff56178d ff5200df ff786800 ff788090 ff779df1 ff9ca300 ff9dc985 ff9df9fc
ff7b113c ff7b0090 ff7b00e1 ffb26800 ffb68094 ffbc9ff3 ffeba800 fff3ce8a fffffefc
diff --git a/profiles/misc/ThinkpadX1YogaV2.icc.txt b/profiles/misc/ThinkpadX1YogaV2.icc.txt
index cf9f537..0f07644 100644
--- a/profiles/misc/ThinkpadX1YogaV2.icc.txt
+++ b/profiles/misc/ThinkpadX1YogaV2.icc.txt
@@ -24,7 +24,7 @@
gTRC : 2.199997, 1, 0, 0, 0, 0, 0
bTRC : 2.199997, 1, 0, 0, 0, 0, 0
Best : 2.199997, 1, 0, 0, 0, 0, 0
-Inv : 0.4545461, 1, -0, 0, 0, -0, 0
+Inv : 0.4545461, 1, -0, 0, 0, 0, 0
XYZ : | 0.566986084 0.260650635 0.136566162 |
| 0.258071899 0.684646606 0.057281494 |
| 0.000442505 0.044403076 0.780044556 |
diff --git a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
index 42e1fa6..bcd76ba 100644
--- a/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
+++ b/profiles/misc/US_Web_Coated_SWOP_CMYK.icc.txt
@@ -19,11 +19,11 @@
A2B : "A", CLUT, "B"
"A" : 4 inputs
A0 : 16-bit table with 256 entries
- ~= : 0.7457523, 1.273102, 0.2824915, 2.132296, 0.003921569, -0.3863242, 0 (Max error: 0.00500357) (D-gap: -2.32542e-05)
+ ~= : 0.7457523, 1.273102, 0.2824915, 2.132296, 0.003921569, -0.3862457, 0 (Max error: 0.00514561) (D-gap: 5.51855e-05)
A1 : 16-bit table with 256 entries
- ~= : 1.001741, 0.9817963, -0.01540073, 1.622568, 0.01568628, 0.02545205, 0 (Max error: 0.00967842) (D-gap: 0)
+ ~= : 1.001741, 0.9817963, -0.01540073, 1.622568, 0.01568628, 0.02549744, 0 (Max error: 0.00973922) (D-gap: 4.53889e-05)
A2 : 16-bit table with 256 entries
- ~= : 1.043713, 0.9970474, -0.01563996, 1.68677, 0.01568628, 0.02645914, 0 (Max error: 0.0163635) (D-gap: 0)
+ ~= : 1.041717, 0.9965515, -0.003908046, 2.011673, 0.003921569, 0.007892609, 0 (Max error: 0.022772) (D-gap: 3.69456e-06)
A3 : 16-bit table with 256 entries
CLUT : 9 x 9 x 9 x 9 (16 bpp)
"B" : 3 outputs
@@ -44,9 +44,9 @@
ff010000 ff010000 ff020015 ff010000 ff010000 ff01001b ff010500 ff001400 ff001a17
ff010000 ff010000 ff020015 ff010000 ff010000 ff01001e ff090500 ff061500 ff001c1d
ff010000 ff010000 ff020014 ff110100 ff0f0100 ff090023 ff240600 ff231500 ff211f22
- ff181416 ff110f55 ff05058a ff233f00 ff194952 ff02558e ff2e6500 ff21754a ff008c94
+ ff181416 ff110f55 ff05058a ff233f00 ff194952 ff02558e ff2f6500 ff21754a ff008c94
ff381113 ff350955 ff30008a ff4a4000 ff484a51 ff45568e ff5e6600 ff5d7745 ff5b9094
- ff580912 ff540055 ff52008b ff714000 ff724b4e ff73588e ff916800 ff947b3a ff989591
+ ff580912 ff550055 ff52008b ff714000 ff724b4e ff73588e ff916800 ff947b3a ff989591
ff3a3635 ff342f94 ff251fec ff466f00 ff3b7e92 ff1f93f6 ff51a500 ff40c68a ff00f1ff
ff653432 ff612d93 ff5b17ec ff7e7000 ff7d808d ff7996f5 ff9da800 ff9cc97f ff99f6ff
ff92312c ff8f2890 ff8c02ea ffbc7100 ffbd8185 ffc199f2 ffefad00 fff6cf69 fffffefc
diff --git a/profiles/misc/XPS13_9360.icc.txt b/profiles/misc/XPS13_9360.icc.txt
index 48e27fb..d049767 100644
--- a/profiles/misc/XPS13_9360.icc.txt
+++ b/profiles/misc/XPS13_9360.icc.txt
@@ -24,7 +24,7 @@
gTRC : 2.199997, 1, 0, 0, 0, 0, 0
bTRC : 2.199997, 1, 0, 0, 0, 0, 0
Best : 2.199997, 1, 0, 0, 0, 0, 0
-Inv : 0.4545461, 1, -0, 0, 0, -0, 0
+Inv : 0.4545461, 1, -0, 0, 0, 0, 0
XYZ : | 0.437957764 0.384231567 0.142013550 |
| 0.223083496 0.716873169 0.060058594 |
| 0.014511108 0.097259521 0.713119507 |
diff --git a/profiles/misc/calibrated_nonzero_black.icc.txt b/profiles/misc/calibrated_nonzero_black.icc.txt
index 9dea0d9..0472c55 100644
--- a/profiles/misc/calibrated_nonzero_black.icc.txt
+++ b/profiles/misc/calibrated_nonzero_black.icc.txt
@@ -19,13 +19,13 @@
'vcgt' : 'vcgt' : 1554 : 2180
rTRC : 16-bit table with 256 entries
- ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001292041, 0 (Max error: 0.00392152) (D-gap: -1.16415e-10)
+ ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (Max error: 0.00474447) (D-gap: -2.67371e-06)
gTRC : 16-bit table with 256 entries
- ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001292041, 0 (Max error: 0.00392152) (D-gap: -1.16415e-10)
+ ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (Max error: 0.00474447) (D-gap: -2.67371e-06)
bTRC : 16-bit table with 256 entries
- ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001292041, 0 (Max error: 0.00392152) (D-gap: -1.16415e-10)
-Best : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001292041, 0 (D-gap: -1.16415e-10)
-Inv : 0.4545797, 1.001312, -0.001293737, 3.02353, 0.001297017, 3.51076e-05, -0 (D-gap: -4.47035e-08)
+ ~= : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (Max error: 0.00474447) (D-gap: -2.67371e-06)
+Best : 2.199834, 0.9994049, -3.508671e-05, 0.3307393, 0.003921569, 0.001289368, 0 (D-gap: -2.67371e-06)
+Inv : 0.4545797, 1.001312, -0.00129106, 3.02353, 0.001297017, 1.907349e-05, -0 (D-gap: 0.000822901)
XYZ : | 0.436614990 0.385345459 0.142242432 |
| 0.222122192 0.718399048 0.059463501 |
| 0.012954712 0.096542358 0.715393066 |
diff --git a/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt b/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
index eb33b87..4383008 100644
--- a/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Heterogeneous.icc.txt
@@ -16,13 +16,13 @@
'cprt' : 'mluc' : 60 : 1944
rTRC : 16-bit table with 256 entries
- ~= : 2.231975, 1.004669, -0.004109052, 0.01206226, 0.03921569, -0.0001003884, 0 (Max error: 0.00578315) (D-gap: -2.56056e-07)
+ ~= : 2.231975, 1.004669, -0.004109052, 0.01206226, 0.03921569, -8.392334e-05, 0 (Max error: 0.00599737) (D-gap: 1.6209e-05)
gTRC : 16-bit table with 256 entries
- ~= : 2.198176, 1.010323, -0.008952959, 0.009727627, 0.02352941, 0.0001335621, 0 (Max error: 0.00397569) (D-gap: -2.71102e-08)
+ ~= : 2.198176, 1.010323, -0.008952959, 0.009727627, 0.02352941, 0.0001678467, 0 (Max error: 0.00397193) (D-gap: 3.42575e-05)
bTRC : 16-bit table with 256 entries
- ~= : 2.261965, 1.004639, -0.00400689, 0.0077821, 0.01960785, 6.96676e-05, 0 (Max error: 0.0037629) (D-gap: -4.51109e-10)
-Best : 2.231975, 1.004669, -0.004109052, 0.01206226, 0.03921569, -0.0001003884, 0 (D-gap: -2.56056e-07)
-Inv : 0.4480337, 0.9896812, 9.935247e-05, 82.90323, 0.0004730297, 0.004089955, -0 (D-gap: 2.38419e-07)
+ ~= : 2.261965, 1.004639, -0.00400689, 0.0077821, 0.01960785, 7.629395e-05, 0 (Max error: 0.00375706) (D-gap: 6.62589e-06)
+Best : 2.231975, 1.004669, -0.004109052, 0.01206226, 0.03921569, -8.392334e-05, 0 (D-gap: 1.6209e-05)
+Inv : 0.4480337, 0.9896812, 8.305736e-05, 82.90323, 0.0004730297, 0.004089355, -0 (D-gap: -0.000455979)
XYZ : | 0.449279785 0.382583618 0.132339478 |
| 0.224472046 0.722351074 0.053176880 |
| 0.001129150 0.053558350 0.770217896 |
diff --git a/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt b/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
index e4e8f31..4ab21fe 100644
--- a/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
+++ b/profiles/misc/sRGB_Calibrated_Homogeneous.icc.txt
@@ -17,13 +17,13 @@
'MS00' : 'MS10' : 7838 : 2308
rTRC : 16-bit table with 256 entries
- ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0005303656, 0 (Max error: 0.0030936) (D-gap: -7.5018e-07)
+ ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (Max error: 0.00315094) (D-gap: 0.000186293)
gTRC : 16-bit table with 256 entries
- ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0005303656, 0 (Max error: 0.0030936) (D-gap: -7.5018e-07)
+ ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (Max error: 0.00315094) (D-gap: 0.000186293)
bTRC : 16-bit table with 256 entries
- ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0005303656, 0 (Max error: 0.0030936) (D-gap: -7.5018e-07)
-Best : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0005303656, 0 (D-gap: -7.5018e-07)
-Inv : 0.4138747, 1.152328, 0.0006111554, 12.91457, 0.003036545, -0.06367862, -0 (D-gap: 5.71832e-06)
+ ~= : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (Max error: 0.00315094) (D-gap: 0.000186293)
+Best : 2.41619, 0.9430695, 0.06005336, 0.0774319, 0.03921569, -0.0003433228, 0 (D-gap: 0.000186293)
+Inv : 0.4138747, 1.152328, 0.0003956206, 12.91457, 0.003036545, -0.06364441, -0 (D-gap: -0.00222457)
XYZ : | 0.435470581 0.388549805 0.140197754 |
| 0.221725464 0.721969604 0.056304932 |
| 0.013488770 0.087921143 0.723480225 |
diff --git a/profiles/misc/sRGB_HP.icc.txt b/profiles/misc/sRGB_HP.icc.txt
index 7277245..96a789e 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
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 59a21be..dc4a026 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
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_black_scaled.icc.txt b/profiles/misc/sRGB_black_scaled.icc.txt
index b584148..45e14ec 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
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 77973ae..f9f5d26 100644
--- a/profiles/misc/sRGB_lcms.icc.txt
+++ b/profiles/misc/sRGB_lcms.icc.txt
@@ -22,7 +22,7 @@
bTRC : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
TRCs ≈ sRGB
Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
-Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05500732, -0 (D-gap: -8.9258e-06)
+Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
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 b4107cd..f16f694 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
XYZ : | 0.515121460 0.291976929 0.157104492 |
| 0.241195679 0.692245483 0.066574097 |
| -0.001037598 0.041885376 0.784072876 |
@@ -44,11 +44,11 @@
4fa40f 4d2b2d 364439 683e21 448939 573317 4b5e8a
81 edge-case pixels transformed to sRGB 8888 (unpremul):
00000000 0000008b 000000ff 00008100 00007f7f 000075ff 0000ff00 0000ff34 0000ffff
- 00850000 0084008b 007f00ff 00808100 007f7f7f 007b75ff 006dff00 006cff34 0067ffff
+ 00850000 0084008b 007f00ff 00808100 007f7f7f 007b75ff 006eff00 006cff34 0067ffff
00ff0000 00ff008b 00ff00ff 00ff8100 00ff7f7f 00ff75ff 00ffff00 00ffff34 00ffffff
7f000000 7f00008b 7f0000ff 7f008100 7f007f7f 7f0075ff 7f00ff00 7f00ff34 7f00ffff
- 7f850000 7f84008b 7f7f00ff 7f808100 7f7f7f7f 7f7b75ff 7f6dff00 7f6cff34 7f67ffff
+ 7f850000 7f84008b 7f7f00ff 7f808100 7f7f7f7f 7f7b75ff 7f6eff00 7f6cff34 7f67ffff
7fff0000 7fff008b 7fff00ff 7fff8100 7fff7f7f 7fff75ff 7fffff00 7fffff34 7fffffff
ff000000 ff00008b ff0000ff ff008100 ff007f7f ff0075ff ff00ff00 ff00ff34 ff00ffff
- ff850000 ff84008b ff7f00ff ff808100 ff7f7f7f ff7b75ff ff6dff00 ff6cff34 ff67ffff
+ ff850000 ff84008b ff7f00ff ff808100 ff7f7f7f ff7b75ff ff6eff00 ff6cff34 ff67ffff
ffff0000 ffff008b ffff00ff ffff8100 ffff7f7f ffff75ff ffffff00 ffffff34 ffffffff
diff --git a/profiles/mobile/Display_P3_parametric.icc.txt b/profiles/mobile/Display_P3_parametric.icc.txt
index f2df8ae..41635d6 100644
--- a/profiles/mobile/Display_P3_parametric.icc.txt
+++ b/profiles/mobile/Display_P3_parametric.icc.txt
@@ -22,7 +22,7 @@
bTRC : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
TRCs ≈ sRGB
Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
-Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05500732, -0 (D-gap: -8.9258e-06)
+Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
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 cb2ccd6..8b4733a 100644
--- a/profiles/mobile/iPhone7p.icc.txt
+++ b/profiles/mobile/iPhone7p.icc.txt
@@ -21,7 +21,7 @@
bTRC : 2.399994, 0.947998, 0.05200195, 0.07699585, 0.03900146, 0, 0 (D-gap: 4.87827e-06) (~sRGB)
TRCs ≈ sRGB
Best : 2.399994, 0.947998, 0.05200195, 0.07699585, 0.03900146, 0, 0 (D-gap: 4.87827e-06) (~sRGB)
-Inv : 0.4166677, 1.136909, -0, 12.98771, 0.003002951, -0.05485449, -0 (D-gap: -6.16126e-05)
+Inv : 0.4166677, 1.136909, -0, 12.98771, 0.003002951, -0.05482483, -0 (D-gap: -3.19481e-05)
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 8e38845..36bee9d 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 (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
gTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
bTRC : 16-bit table with 1024 entries (~sRGB)
- ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (Max error: 0.000239041) (D-gap: -4.00469e-07) (~sRGB)
+ ~= : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (Max error: 0.00216441) (D-gap: 0.000180295)
TRCs ≈ sRGB
-Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, -1.405069e-06, 0 (D-gap: -4.00469e-07) (~sRGB)
-Inv : 0.4166695, 1.13739, 1.598111e-06, 12.86827, 0.003494316, -0.05497165, -0 (D-gap: 5.24521e-06)
+Best : 2.399984, 0.9478302, 0.05210379, 0.07771055, 0.04496579, 0.0001792908, 0 (D-gap: 0.000180295)
+Inv : 0.4166695, 1.13739, -0.0002039236, 12.86827, 0.003494316, -0.05495453, -0 (D-gap: -0.00216441)
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 62ba34d..44b19dc 100644
--- a/profiles/mobile/sRGB_parametric.icc.txt
+++ b/profiles/mobile/sRGB_parametric.icc.txt
@@ -22,7 +22,7 @@
bTRC : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
TRCs ≈ sRGB
Best : 2.399994, 0.9478607, 0.05213928, 0.07739258, 0.04045105, 0, 0 (D-gap: 8.08388e-07) (~sRGB)
-Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05500732, -0 (D-gap: -8.9258e-06)
+Inv : 0.4166677, 1.137306, -0, 12.92114, 0.003130611, -0.05498505, -0 (D-gap: 1.33514e-05)
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 cdbdc5a..973d20f 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 (~sRGB)
- ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0002416283, 0 (Max error: 0.00198713) (D-gap: -1.11759e-08) (~sRGB)
+ ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0003929138, 0 (Max error: 0.00184847) (D-gap: 0.000151274) (~sRGB)
gTRC : 16-bit table with 26 entries (~sRGB)
- ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0002416283, 0 (Max error: 0.00198713) (D-gap: -1.11759e-08) (~sRGB)
+ ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0003929138, 0 (Max error: 0.00184847) (D-gap: 0.000151274) (~sRGB)
bTRC : 16-bit table with 26 entries (~sRGB)
- ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0002416283, 0 (Max error: 0.00198713) (D-gap: -1.11759e-08) (~sRGB)
+ ~= : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0003929138, 0 (Max error: 0.00184847) (D-gap: 0.000151274) (~sRGB)
TRCs ≈ sRGB
-Best : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0002416283, 0 (D-gap: -1.11759e-08) (~sRGB)
-Inv : 0.4188614, 1.125809, -0.0002720272, 12.9133, 0.003097581, -0.05033204, -0 (D-gap: 3.8147e-06)
+Best : 2.387424, 0.9516296, 0.04789746, 0.07743954, 0.04, 0.0003929138, 0 (D-gap: 0.000151274) (~sRGB)
+Inv : 0.4188614, 1.125809, -0.0004423458, 12.9133, 0.003097581, -0.05030823, -0 (D-gap: -0.00200752)
XYZ : | 0.436065674 0.385147095 0.143066406 |
| 0.222488403 0.716873169 0.060607910 |
| 0.013916016 0.097076416 0.714096069 |
diff --git a/skcms.cc b/skcms.cc
index 19ea5a2..3e81546 100644
--- a/skcms.cc
+++ b/skcms.cc
@@ -1105,7 +1105,11 @@
const skcms_TransferFunction* skcms_sRGB_Inverse_TransferFunction() {
static const skcms_TransferFunction sRGB_inv =
+#ifndef SKCMS_LEGACY_TF_INVERT
+ {0.416666657f, 1.137283325f, -0.0f, 12.920000076f, 0.003130805f, -0.054969788f, -0.0f};
+#else
{ (float)(1/2.4), 1.137119f, 0, 12.92f, 0.0031308f, -0.055f, 0 };
+#endif
return &sRGB_inv;
}
@@ -1459,10 +1463,14 @@
inv.b = -k * src->e;
inv.e = -src->b / src->a;
- // TODO(mtklein): we'd like to guarantee the edge cases more strongly:
- // inv(src(0)) = 0
- // inv(src(d)) = d
- // inv(src(1)) = 1
+#ifndef SKCMS_LEGACY_TF_INVERT
+ // Now in principle we're done.
+ // But to preserve the valuable invariant inv(src(1.0f)) == 1.0f,
+ // we'll tweak e. These two values should be close to each other,
+ // just down to numerical precision issues, especially from powf_.
+ float s = powf_(src->a + src->b, src->g) + src->e;
+ inv.e = 1.0f - powf_(inv.a * s + inv.b, inv.g);
+#endif
*dst = inv;
return tf_is_valid(dst);
diff --git a/tests.c b/tests.c
index c6ae8a8..9e217a8 100644
--- a/tests.c
+++ b/tests.c
@@ -1271,31 +1271,20 @@
512, NULL) );
}
-static void expect_close_to_1(float x) {
- if (x != 1.0f) {
- float o = 1.0f;
- int bits, one;
- memcpy(&bits, &x, 4);
- memcpy(&one , &o, 4);
-
- fprintf(stderr, "%a %g, %d ulps from 1.0f\n", x,x, bits-one);
- }
-}
-
static void test_TF_invert() {
const skcms_TransferFunction *sRGB = skcms_sRGB_TransferFunction(),
*inv = skcms_sRGB_Inverse_TransferFunction();
expect(1.0f == skcms_TransferFunction_eval(sRGB, 1.0f));
- expect_close_to_1(skcms_TransferFunction_eval( inv, 1.0f));
+ expect(1.0f == skcms_TransferFunction_eval( inv, 1.0f));
skcms_TransferFunction sRGB2, inv2;
expect(skcms_TransferFunction_invert( inv, &sRGB2));
expect(skcms_TransferFunction_invert(sRGB, & inv2));
- expect_close_to_1(skcms_TransferFunction_eval(&sRGB2, 1.0f));
- expect_close_to_1(skcms_TransferFunction_eval(& inv2, 1.0f));
+ expect(1.0f == skcms_TransferFunction_eval(&sRGB2, 1.0f));
+ expect(1.0f == skcms_TransferFunction_eval(& inv2, 1.0f));
- //expect(0 == memcmp( inv, & inv2, sizeof(skcms_TransferFunction)));
+ expect(0 == memcmp( inv, & inv2, sizeof(skcms_TransferFunction)));
//expect(0 == memcmp(sRGB, &sRGB2, sizeof(skcms_TransferFunction)));
}