Hey all,

happy new year and best wishes for 2021 !

I have a few questions regarding the Gamut Compress algorithm if you don’t mind. I’m not sure if I’m too late, too early or off-topic to be honest…

I have a done a series of tests on full CG animated footage to test the algorithm. Here is the test :

Here are some screenshots (in case of the video not working) :

I am using the side effect of the compress algorithm to display some very saturated values, acescg primaries in this case. I am overall satisfied with the result but I have a few questions specific to full CG footage. In the documentation, it is written about the distance limit :

The limit of distance from the achromatic axis that values will be compressed to the gamut boundary. The limit values have been chosen so that the encoding gamuts of all digital cinema cameras with official ACES IDTs(ARRI, RED, Canon, Sony, Panasonic) will compress to within AP1.

Would it be worth trying for full CG footage a different distance limit ? Since we don’t deal with cameras ? I’m just curious if I could set here AP1 limit distance.

Then about the compression limit, it is written that :

Percentage of the core gamut to protect. Derived from the boundary of the ColorChecker Classic 24 (as specified in ISO 17321-1) values in ACEScg.

In my test, would it be worth trying to derive from the boundary of the P3 gamut ?

I have no idea of what I’m writing makes sense or if it would be worth a shot but I’m curious to run this test if anyone could point at me in the right direction… I am anticipating some very saturated sequences with saturated neon lights at night and just want to be sure I have a solution when this happens.

Another thing I have noticed is the general increase of noise on CG footage after the use of the algorithm. I think it makes sense in a way : anti-aliasing is based on the ODT (with the posterized red) and since the algorithm “reveals” some data that was not perceptible before, it is not properly sampled.

I guess I’m just curious how will the algorithm will be implemented in the OCIO config ? An optional LMT ? And if we will be able to render/sample taking in account the GM effect. Maybe I’m just hacking too much the algorithm since it is not supposed to work this way… But I wanted to ask…

Update : found an old version of the algorithm with the possibility to calculate the distance limit based on different gamuts. That’s properly amazing ! Thanks guys !

Hope some of this makes sense,

Chris