Rec 709 to cie-xyz using flame 2026 OCIO?

As the subject implies, I cant find out how to do that colour transform witht eh new 2026 OCIO. Used to use DCDM but now all of those are exclusively for D65 WhitePoint and I am aiming DCI WB. Any of you ran into this?

-Best

/opt/Autodesk/colour_mgmt/configs/legacy_configs/syncolor_ctfs
1 Like

Yes, indeed I can do this with the old color ops, heck, I have previosuly built presets in my node bin. But I really want to get my brain around OCIO.

Hey @Frank

With OCIO v2 we can use built in transforms

If you want to see what is available you can pull out some python skils and punch in this:

import PyOpenColorIO as ocio

registry = ocio.BuiltinTransformRegistry()
for style, description in registry.getBuiltins():
    print(f"{style} — {description}") 

but I just made a copy of it so you can see what is available:

Built In Transforms
IDENTITY - 
UTILITY - ACES-AP0_to_CIE-XYZ-D65_BFD - "Convert ACES AP0 primaries to CIE XYZ with a D65 white point with Bradford adaptation"
UTILITY - ACES-AP1_to_CIE-XYZ-D65_BFD - "Convert ACES AP1 primaries to CIE XYZ with a D65 white point with Bradford adaptation"
UTILITY - ACES-AP1_to_LINEAR-REC709_BFD - "Convert ACES AP1 primaries to linear Rec.709 primaries with Bradford adaptation"

CURVE - ACEScct-LOG_to_LINEAR - "Apply the log-to-lin curve used in ACEScct"
ACEScct_to_ACES2065-1 - "Convert ACEScct to ACES2065-1"
ACEScc_to_ACES2065-1 - "Convert ACEScc to ACES2065-1"
ACEScg_to_ACES2065-1 - "Convert ACEScg to ACES2065-1"
ACESproxy10i_to_ACES2065-1 - "Convert ACESproxy 10i to ACES2065-1"

ADX10_to_ACES2065-1 - "Convert ADX10 to ACES2065-1"
ADX16_to_ACES2065-1 - "Convert ADX16 to ACES2065-1"

ACES-LMT - BLUE_LIGHT_ARTIFACT_FIX - "LMT for desaturating blue hues to reduce clipping artifacts"
ACES-LMT - ACES 1.3 Reference Gamut Compression - "LMT (applied in ACES2065-1) to compress scene-referred values from common cameras into the AP1 gamut"

ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA_1.0 - "Component of ACES Output Transforms for SDR cinema"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO_1.0 - "Component of ACES Output Transforms for SDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-REC709lim_1.1 - "Component of ACES Output Transforms for SDR cinema"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-REC709lim_1.1 - "Component of ACES Output Transforms for SDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-P3lim_1.1 - "Component of ACES Output Transforms for SDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-D65_1.1 - "Component of ACES Output Transforms for SDR D65 cinema simulating D60 white"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-VIDEO-D60sim-D65_1.0 - "Component of ACES Output Transforms for SDR D65 video simulating D60 white"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D60sim-DCI_1.0 - "Component of ACES Output Transforms for SDR DCI cinema simulating D60 white"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-CINEMA-D65sim-DCI_1.1 - "Component of ACES Output Transforms for SDR DCI cinema simulating D65 white"

ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-REC2020lim_1.1 - "Component of ACES Output Transforms for 1000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-1000nit-15nit-P3lim_1.1 - "Component of ACES Output Transforms for 1000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-REC2020lim_1.1 - "Component of ACES Output Transforms for 2000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-2000nit-15nit-P3lim_1.1 - "Component of ACES Output Transforms for 2000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-REC2020lim_1.1 - "Component of ACES Output Transforms for 4000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-VIDEO-4000nit-15nit-P3lim_1.1 - "Component of ACES Output Transforms for 4000 nit HDR D65 video"
ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-CINEMA-108nit-7.2nit-P3lim_1.1 - "Component of ACES Output Transforms for 108 nit HDR D65 cinema"

ARRI_ALEXA-LOGC-EI800-AWG_to_ACES2065-1 - "Convert ARRI ALEXA LogC (EI800) ALEXA Wide Gamut to ACES2065-1"
ARRI_LOGC4_to_ACES2065-1 - "Convert ARRI LogC4 to ACES2065-1"

CANON_CLOG2-CGAMUT_to_ACES2065-1 - "Convert Canon Log 2 Cinema Gamut to ACES2065-1"
CURVE - CANON_CLOG2_to_LINEAR - "Convert Canon Log 2 to linear"
CANON_CLOG3-CGAMUT_to_ACES2065-1 - "Convert Canon Log 3 Cinema Gamut to ACES2065-1"
CURVE - CANON_CLOG3_to_LINEAR - "Convert Canon Log 3 to linear"

PANASONIC_VLOG-VGAMUT_to_ACES2065-1 - "Convert Panasonic Varicam V-Log V-Gamut to ACES2065-1"

RED_REDLOGFILM-RWG_to_ACES2065-1 - "Convert RED LogFilm RED Wide Gamut to ACES2065-1"
RED_LOG3G10-RWG_to_ACES2065-1 - "Convert RED Log3G10 RED Wide Gamut to ACES2065-1"

SONY_SLOG3-SGAMUT3_to_ACES2065-1 - "Convert Sony S-Log3 S-Gamut3 to ACES2065-1"
SONY_SLOG3-SGAMUT3.CINE_to_ACES2065-1 - "Convert Sony S-Log3 S-Gamut3.Cine to ACES2065-1"
SONY_SLOG3-SGAMUT3-VENICE_to_ACES2065-1 - "Convert Sony S-Log3 S-Gamut3 for the Venice camera to ACES2065-1"
SONY_SLOG3-SGAMUT3.CINE-VENICE_to_ACES2065-1 - "Convert Sony S-Log3 S-Gamut3.Cine for the Venice camera to ACES2065-1"

DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.709 - "Convert CIE XYZ (D65 white) to Rec.1886/Rec.709 (HD video)"
DISPLAY - CIE-XYZ-D65_to_REC.1886-REC.2020 - "Convert CIE XYZ (D65 white) to Rec.1886/Rec.2020 (UHD video)"
DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709 - "Convert CIE XYZ (D65 white) to Gamma2.2, Rec.709"
DISPLAY - CIE-XYZ-D65_to_sRGB - "Convert CIE XYZ (D65 white) to sRGB (piecewise EOTF)"
DISPLAY - CIE-XYZ-D65_to_G2.6-P3-DCI-BFD - "Convert CIE XYZ (D65 white) to Gamma 2.6, P3-DCI (DCI white with Bradford adaptation)"
DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D65 - "Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D65"
DISPLAY - CIE-XYZ-D65_to_G2.6-P3-D60-BFD - "Convert CIE XYZ (D65 white) to Gamma 2.6, P3-D60 (Bradford adaptation)"

CURVE - ST-2084_to_LINEAR - "Convert SMPTE ST-2084 (PQ) full-range to linear nits/100"
CURVE - LINEAR_to_ST-2084 - "Convert linear nits/100 to SMPTE ST-2084 (PQ) full-range"

DISPLAY - CIE-XYZ-D65_to_REC.2100-PQ - "Convert CIE XYZ (D65 white) to Rec.2100-PQ"
DISPLAY - CIE-XYZ-D65_to_ST2084-P3-D65 - "Convert CIE XYZ (D65 white) to ST-2084 (PQ), P3-D65 primaries"
DISPLAY - CIE-XYZ-D65_to_REC.2100-HLG-1000nit - "Convert CIE XYZ (D65 white) to Rec.2100-HLG, 1000 nit"

You can pick out what you need and apply it to your ocio config like this:

  - !<ColorSpace>
    name: rec709
    family: Input Transforms
    equalitygroup: ""
    bitdepth: 32f
    description: rec709 to cie-xyz
    isdata: false
    to_scene_reference: !<BuiltinTransform> { style: "DISPLAY - CIE-XYZ-D65_to_G2.2-REC.709" , direction: inverse}

I am also quite new to the world of OCIO but i have enjoyed the adventure. Finding good documentation can be tricky. I found this quite helpful - Config syntax
Another helpful resource I found was this simplified demo config with lots of comments explaining stuff. Check it out - ocio-v2_demo

4 Likes

The ACES and OCIO projects have stopped providing DCI-balanced transforms. We’ve found that people never really adapt to the greenish cast of that white point and so any grading that is done underneath that has a magenta push to it. That makes it impossible to reuse the grade to go out to any other display type. Especially given that you want to make a DCDM from Rec.709 material, the D65 transform that is provided seems like it would be much more appropriate.

But as Phil pointed out, there are the legacy transform files and there is the Legacy ACES 1.1 config provided too which has a color space wrapper on top of the old transforms.

Doug

4 Likes

I lowkey love that a problem we had 20 years ago using Truelight for print based theatrical release is more or less still a problem today.

1 Like

So what is someone like me who works on a DCI display at times supposed to do? How about if I have the dcp authoring team requesting cie-xyz-dci white point (and I did my wokr on ACEScg or rec.709? Is scripting OCIO the new path forward?