-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cusp finding algorithm choice needed #22
Comments
My thought is we should base it on JMh as this is independent on the display gamut if possible. |
The cusp is of course the cusp of the display (or limit) gamut, so it is not independent of that. But an evenly spaced LUT in JMh (as my DCTL uses) makes for an easier look-up than an unevenly spaced one. The uneven spacing requires an iteration to find the two table entries to lerp between. |
So if we find the actual spacing of the blink approach and then sample at
the highest resolution needed to match we should have a better fit and no
iteration, the only issue would be if that makes a huge shift in the LUT
size ?
|
Perhaps we use the inverse method to create a high resolution temp 1D LUT, maybe 4096 entries in the target gamut's H (HSV) space, then resample that down to a smaller 1D LUT in the h (JMh) space. That makes the per pixel lookup nice and fast, and keeps the preparation simple and accurate. |
Adding a note that we (so far) kept the uneven JMh spacing for cusp lookups because that means there are entries at precisely the hues of the primary and secondary 'points' of the gamut. While a single, evenly spaced lookup for all cusps and gamma values might be faster (at the expense of a longer oversample and then down-sample Note: The start of this thread said the DCTL used a different approach. This is no longer the case, and the DCTL now uses the same tables as the Blink, but pre-calculated in Python. |
Nick mentioned the DCTL version of the cusp finding is different to the blink implementation and Pekka mentioned that he believes a functional version should be possible.
DCTL uses h based on even spacing in JMh
Blink uses a spacing based on the display/mastering gamut
We should select one
The text was updated successfully, but these errors were encountered: