I have a small request… Is there an ODT that would simulate D65 on a DCI-P3 projector. I would like to turn the DCI WP to D65 for a project that’s coming up.
Making a modified ODT in CTL which produced a “D65 sim” output on a P3 DCI projector would be a relatively straightforward modification on the P3 DCI ODT. You would add a chromatic adaptation matrix and then an additional scale factor to keep everything within the P3 0-1 range.
Unfortunately, converting this to DCTL would be far more complex. The CTL RRT and ODTs use various library functions for the tone curves, and those would have to be written from scratch in DCTL. I suspect the result might seriously impact real time performance. I have found this with my previous experiments with writing complex functions in DCTL.
Simpler would be to create a transform which could be applied downstream of the standard P3 DCI ODT. Unfortunately I do not believe Resolve allows you to use DCTL after the ODT. I could probably create a LUT implementation.
A 3x3 matrix would do the chromatic adaptation and the scale, but would need to be inserted in the right place in the middle of the ODT, which is not possible. Resolve applies the concatenation of the RRT and ODT as one operation, or you choose “None” and get ACES 2065-1 output, in which case you would have to apply the RRT yourself as well.
Bear in mind, there’s nothing wrong with a well constructed LUT implementation, as long as it has a sufficiently large mesh, and applies input range scaling and a 1D shaper where necessary. Most of Baselight’s DRTs (including the ACES ones) are currently implemented with LUTs.
Quickly checked with Lattice and I don’t think you can do that, the only time I used it I think I did it by hand, and of course the 3D LUT that follows must be generated for the output encoding of that shaper…
I’m not sure what @nick suggest but maybe a shaper function is not even needed here (we after the ODT so on display-referred P3-DCI Gamma 2.6 encoded data) but I guess it depends on the complexity of the transformation ?
I am not aware of any software which creates LUTs with shapers automatically. I build them by hand in Python, using some libraries I have written.
A shaper is not needed if creating a LUT to convert the output of the standard P3 DCI ODT to D65. You just concatenate the reverse P3 DCI ODT with the Joseph Goldstone ODT, which Lattice should be able to do for you.
You would need a shaper if designing a LUT to replace an ODT entirely, which took linear AP0 as input.
Ok so… Just concatenate Ok so I just ad the INV P3 ODT and then add the JGoldstone ODT into a 3d Lut… (in that order? I still have to apply the P3 ODT in Resolve right? Thanks!
Correct. You use the P3 ODT, but then cancel out its effect, because its inverse is baked into the LUT, leaving you with the effect of only the J Goldstone ODT.
Correct. Make sure you use a large mesh size LUT (e.g. 64^3) when baking it into a deliverable.
If you need a DCP, you are can either bake this LUT into a P3 master, and use that as a source to make the DCP from, or else make a new modifying LUT which goes to X’Y’Z’ with P3 gamut and D65 white. The former approach is probably simpler.