You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
libjxl linearizes BT.709-tagged images without ICC profile using BT.709 inverse OETF, whereas BT.709 recommends using BT.1886 EOTF when linearizing to display light. This leads to some inconsistencies:
Say that we have an original image which is encoded in BT.709. Let's call this encoded signal A.
Recommended way to linearize to display light is to use BT.1886 EOTF (which is pure gamma 2.4). Let's call this signal X.
libjxl linearizes and encodes A using BT.709 inverse OETF (which is supposed to work on scene light). Let's call this signal Y.
Inconsistencies happen when the encoded image is decoded back to PNG:
Most image viewers will display the original image as X.
Image viewers which prefers CICP tag will display the encoded image as X.
Image viewers which prefers ICC profile will display the encoded image as Y.
When the encoded image is decoded in sRGB color space, it will almost always be displayed as Y (or something similar), because it's what the image is actually encoded as.
libjxl linearizes BT.709-tagged images without ICC profile using BT.709 inverse OETF, whereas BT.709 recommends using BT.1886 EOTF when linearizing to display light. This leads to some inconsistencies:
A
.X
.A
using BT.709 inverse OETF (which is supposed to work on scene light). Let's call this signalY
.X
.X
.Y
.Y
(or something similar), because it's what the image is actually encoded as.Related to #318
The text was updated successfully, but these errors were encountered: