Discrepancies using a “pseudo” ACES workflow in DaVinci Resolve via ACES Transform OFX Plugin

Hi Theo, I would like to know if you get any improvement on your method when using Arri? I haver a high budget shortfilm coming and I kind of being the colorist/postpo supervisor. As I work mainly in ACES I wanted to use your method and spice up some stuff between the 2 transforms to help the DP.

Hi Fabian,

I’d say you can go ahead and use it. The fact is, even though there is a discrepancy, the difference is so minor as to be almost invisible perceptually so I wouldn’t really worry about it.

As per Nick suggestion above, I believe the difference was really only the transform node using a slightly different variant of the Alexa IDT but since you are in a float point environment it’s really not an issue.

Do bear in mind that if you are traveling to smaller colour spaces and depending on the adjustments and transformations that you are doing there, you could possibly clip data before you travel back to ACES. Just make sure you do some testing and that it works for you.

I do think the ACES Transform nodes are pretty rock solid though and I’ve been testing/using them for a while.

Thanks Theo, mainly I will use it, to make a viewing LUT for the shooting with 1 underexpose between the transforms since the dp tends to go extremely low to the point of crushed blacks.

If you never tried, Lattice has a great tool for generating precise exposure adjustment LUTs (which can be very high resolution 1D LUTs) for most colour spaces/gamma pairs including ACES.

Here is a link for a sample -1 Stop in ACEScct AP1 exposure change if you want to try:

1 Like

I know about lattice, I’m planning on VM my windows machine only for it!!! I did try the method and I also compared with the Luts provided by Antler Post I didn’t saw any big difference. We used it on the shooting and It worked as intended.

Thanks!!!

You can export DCTLs and LUTs from within Resolve using ACES 1.1 OFX Plugin. Exposure can be adjusted too.

1 Like

Hi Theo. I’m noticing a big difference in look in resolve using ACES mode compared to the same LUT in Lattice. It seems to appear a little greener, less contrast and less saturated in resolve.

I basically exported a LUT created in lattice within Acescct. I get the desired result in Lattice, when adding the CTL concatenations of

  • ACEScsc.ACEScct_to_ACES.ctl
  • RRT.ctl
  • ODT.Academy.Rec709_100nits_dim.ctl

However in Resolve using ACES mode.

  • Colour Science: ACEScct
  • ACES Version: ACES 1.1
  • ACES IDT: Alexa
  • ACES ODT: Rec.709
  • One node with the previosuly exported LUT in Acescct.

I see a noticeable difference between Lattice and Resolve. Any ideas why? I am using resolve 16.

Hi David, I think you are forgetting a few CTLs there in Lattice. The whole chain should be:

  • IDT.ARRI.Alexa-v3-logC-EI800.ctl
  • ACEScsc.ACES_to_ACEScct.ctl
  • ACEScsc.ACEScct_to_ACES.ctl
  • RRT.ctl
  • ODT.Academy.Rec709_100nits_dim.ctl

I did test it before and it was virtually identical to the resolve look un less something changed with the latest versions.

Well that’s the thing. The LUT was created in the Acescct space so the IDT portion should be irrelevent no?

Not at all unless you had a camera that shot into the ACES colour space and gamma natively (As far as I know, no camera in the marked does that). You still have to use the IDT to bring your camera gamut and colours to the right place before your aces look is applied.

The way you do it is you apply your look between the

  • ACEScsc.ACES_to_ACEScct.ctl
  • ACEScsc.ACEScct_to_ACES.ctl
    CTLs (that is if your look is made for ACEScct)

I’m assuming you are trying to make a monitoring LUT for a specific camera?

I see. So perhaps you can guide me as i explain what was actually done and where i went wrong.

Basically i was trying to reverse a kodak emulation lut that should be applied to alexa log c footage into the acescct color space.

Here was my workflow in Lattice.

  • Changed color space from Alex WIde gamut/Log C to Rec709/Log C
  • Combined Resolve’s Kodak 2383 Emulation Lut (This is the desired look)
  • I then applied an inverse CTL
  • InvODT.Academy.Rec709_100nits_dim
  • InvRRT
  • ACEScsc.ACES_to_ACEScct.ctl

This should give me the desired result in an Acescct space. I guess i misunderstood?

What is the specific gamma and colour space that the LUT expects as an input and what gamma/colour space does it output?

The emulation lut expects rec 709 color space and log C gamma. The output is in rec709/rec709

Ok so try the following in Lattice. Bear in mind it may not work perfectly because of the middle few steps.

First create a blank new LUT in Lattice, preferably a 65^ cube.

Concatenate the following CTLs:

  • IDT.ARRI.Alexa-v3-logC-EI800.ctl
  • ACEScsc.ACES_to_ACEScct.ctl

Then using Lattice’s Convert Colour Space function set it to:

Source: ACES Primaries 1 | D65 | ACEScct

Destination: Rec. 709 | D65 | Arri LogC EI800

Then use Lattice’s Combine function to add your film emulation LUT on top of all that.

After that, do another Lattice Convert Colour Space function and set it to:

Source: Rec. 709 | D65 | BT.1886

Destination: ACES Primaries 1 | D65 | ACEScct

Then concatenate the following CTLs:

  • ACEScsc.ACEScct_to_ACES.ctl
  • RRT.ctl
  • ODT.Academy.Rec709_100nits_dim.ctl

The middle step that I described basically makes your LUT’s input to expect ACEScct AP1 and it’s Output to be ACEScct AP1 as well.

Actually this workflow will actually introduce a few issues.
You know what, you can actually try scrapping all the steps after you have combined your LUT (the 2nd Convert Colour Space and CTLs) and see if it gives you the expected results.

You will need to test, I’m not sure this will work anyway. But I will have a think about it.

Basically you want to find a way to convert your LUT to expect ACEScct AP1 and Output to be ACEScct AP1 but in the right way.

By the way if the LUT’s you are using are the film emulation LUT’s that come with Resolve, I think they expect a Cineon input gamma not LogC. They are similar but not quite the same.

I tried your method but unfortunately the result is off as well. Lattice also shows a warning that Rec. 709 | D65 | BT.1886 to ACES Primaries 1 | D65 | ACEScct transfer functions are not compatible.

Thanks for the tip on the cineon gamma. Didn’t know that. I couldn’t find any details on these luts apart from what people say online.