ARRI and RED DRTs in OCIO

I have a setup in Nuke that creates a DRT in the style of ARRI ALF-2 and RED IPP2. This consists of
(1) a gamut conversion matrix (for example ACEScg to Arri AlexaWideGamut),
(2) a Nuke color space conversion linear to camera log (for example AlexaV3LogC),
(3) the camera LUT for Rec.709.

This works great in Nuke, and I am trying to get the same working in an OCIO config. The matrix (1) is easy, as is (3) the LUT. I’m however having a hard time with the colorspace part (2). In Nuke I have a Nuke colorspace node going from Linear to AlexaV3LogC

I would think this would be equivalent to an OCIOColorSpace with ACEScg to ARRI LogC (v3-EI800) AlexaWideGamut. But it clearly is not, and I cannot find any combination that works in OCIO. Can someone help me get unstuck here?

I think the issue may be that the OCIO built-in transform is going from ACES AP0 to LogC which does not make sense after the matrix from ACES into ArriWideGamut.

Both Nuke and ACES configs use a spi1d for log to lin. Can you not just take that file and write it in the config as file transform inverse direction?
Or are you looking for something built in for OCIOv2. Then I’m not sure how.

Yes this is for OCIOv2. I’m thinking this should be done with a LogCameraTransform but I’m unsure how exactly. A bit over my head.

As far as an OCIOv1 you are quite correct that I can grab the log2lin LUT from the nuke-default config and it works perfectly. Just trying to avoid using LUTs if possible.

Yea ARRI LogC v3 is not present in the latest ACES config yet. If you are building an ACES config just for testing/research you could snag the older description perhaps?

  - !<ColorSpace>
    name: Input - ARRI - LogC EI800 AWG
    family: Input/ARRI
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Convert ARRI ALEXA LogC (EI800) ALEXA Wide Gamut to ACES2065-1
      
      ACEStransformID: urn:ampas:aces:transformId:v1.5:ACEScsc.Academy.LogC_EI800_AWG_to_ACES.a1.1.0
    isdata: false
    categories: [file-io]
    encoding: log
    allocation: uniform
    to_scene_reference: !<BuiltinTransform> {style: ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1}

That built-in transform still works if plugged in the release version. You’d just have to remove the matrix in your view transform as it’s included.
RWG/Log3G10 is already described with MatrixTransform + LogCameraTransform in that release config.

A bit of progress: got it working for RED. This does a lin to log for Log3G10:

        - !<LogCameraTransform> {base: 10.0, lin_side_offset: 2.55975327, lin_side_slope: 155.975327, log_side_offset: 0.0, log_side_slope: 0.224282, lin_side_break: -0.01, direction: forward}

Now I just need to figure out the same for ARRI LogCv3…

:exploding_head:
Brilliant, yes of course! Just tried that out and works perfectly!

1 Like