aces-dev
aces-dev copied to clipboard
Order of operations for limiting to primaries and CAT causes unwanted clipping
It appears that in ACESlib.OutputTransforms.ctl
, the order of operations still clips to LIMITING_PRI
before chromatic adaptation. This means that, for example, for D65 Output Transforms without D60 sim, red is clamped at about 98% of Y_MAX
. This is probably imperceptible for HDR Output Transforms, but if the Output Transform
function is used for SDR, the red channel is clipped noticeably below 100%.
https://github.com/ampas/aces-dev/blob/63c45dec9bc7147cf95f7876f74c800d6563aafa/transforms/ctl/lib/ACESlib.OutputTransforms.ctl#L130
Because this change would (subtly) alter the output of the HDR Output Transforms, I'd really like to hold off on merging this in as a part of v1.2. I know that we fully revamped the HDR transforms in 1.1 so there is precedent for changing the "look" of a given output in a minor release, but considering that, as you stated, the issue will likely have only a very, very small change for HDR output and also considering that we are not yet using the Output Transforms module for SDR transforms, I would like to hold off on this until we revamp the entire system to utilize the different architecture. We also know there are a other logical or inactive steps in the Output Transform function that will not yet be addressed by 1.2. So I will leave this here and tag it to be closed with 2.0.
Here is a DCTL implementation of the SSTS OT which, among other things, gives control over the CAT/clipping order of operations, so people can see the effect: https://github.com/nick-shaw/aces-ot-vwg-experiments/blob/master/dctl/SSTS_OT.dctl