commit | 7852fc3f0085c5439e78c2b60fda6fc3776dfb2e | [log] [tgz] |
---|---|---|
author | Christopher Cameron <ccameron@chromium.org> | Wed Aug 27 22:57:05 2025 +0200 |
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | Thu Aug 28 06:44:40 2025 -0700 |
tree | 303f0defa401832a661d3449781e44fec057a832 | |
parent | a58dfb3b43532dbda18030f7cf24d79d2e49e634 [diff] |
skcms_Transform: Add HLG OOTF The full transform for HLG applies an opt-optical transfer function, and reaches a peak value of 1000/203. This was avoided in the past due to complexity. Add this step. Unlike the formulation in SkColorSpace, perform this step in the XYZD50 linear space, and fuse it with the scaling. This greatly simplifies the pipeline (and SkColorSpace will probably be changed to match this). Add tests (using test pixel values from a WPT test) to verify the transformation between sRGB, Rec2100PQ, and Rec2100HLG all perform appropriately. Bug: skia:420956739 Change-Id: Iafd6f19317b8c210bbac51c8ea2cdedaac7c4a78 Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/1046556 Reviewed-by: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Christopher Cameron <ccameron@google.com> Commit-Queue: Christopher Cameron <ccameron@google.com>
To build with ninja, simply run ninja
from the root directory. This will produce a library in /out.
There are also Bazel rules, outlined in BAZEL.md