All posts
By Pravit Gandhi··9 min read

Why CST, ACES and LUTs look different

Why do a color space transform, an ACES setup and a conversion LUT look different on the same log clip? Because only one of them is neutral.

Put a color space transform, an ACES pipeline and a manufacturer conversion LUT on the same S-Log3 clip and you get three visibly different pictures. That is the correct result, not a fault in any of them. Rec.709 specifies primaries, a white point and a transfer function. It does not specify how a camera's full recorded range should be fitted into what a television can show, and that second question is where the three methods part company. Only one is even trying to be neutral about it. So the expectation to give up is that normalizing for Rec.709 produces one standard answer across methods.

The part of the job Rec.709 leaves open

A log curve holds more scene information than a display can reproduce. Sony's technical summary for S-Log3 describes a curve based on the Cineon digital negative revised in 2007, with no shoulder and a reduced toe, running about 1.5 stops wider than S-Log2. ACES goes further: Blackmagic describes its gamut as designed to encompass all visible light, with more than 25 stops of exposure latitude. Rec.709 describes a display and has no such ambition.

Getting from one to the other is two separate kinds of work. The first is arithmetic with a single right answer: undo the log curve, move between primaries, apply the destination transfer function. Sony publishes the anchors that make it checkable, placing 18% grey at 41 IRE and 10-bit code 420, 90% white at 61 IRE and code 598, and 0% black at 3.5 IRE and code 95. Run that first half in both directions across seven formats and the disagreement between them is zero to the limit of double precision, which is what makes it the half with a single right answer.

The second kind has no right answer. What happens to values brighter than the display can show, to colors outside its gamut, and how much contrast gets added, since a log image carries almost none? Every method decides. The difference is whether it tells you.

What a color space transform is computing

Blackmagic describes its Color Space Transform plugin as doing "the kind of color transforms that LUTs do, but instead of using lookup tables, this plugin uses the same math used by Resolve Color Management (RCM) in order to do extremely clean color transforms without clipping." You give it an input color space and gamma, an output color space and gamma, and it computes the conversion.

By default it makes no rendering decision at all. The Tone Mapping menu starts at None, defined in the manual as no tone mapping applied, "resulting in a simple 1:1 mapping to the Timeline Color Space." That is as close to neutral as the three methods get, and it is why a CST out of the box looks flatter and clips harder than people expect.

Change that one menu and the picture changes with it. Clip hard clips out of bounds values. Simple maps between approximately 5500 nits and 100 nits. DaVinci applies a smooth luminance roll off with controlled desaturation at both ends, and is the option recommended for mixed cameras. So "I used a CST" does not describe one image.

ACES renders as well as converts

ACES splits the pipeline into named halves and puts a rendering in the second one, permanently.

The Academy defines the Input Transform as converting camera native data into ACES2065-1, and the Output Transform as preparing scene linear ACES data for display. The wording of the Output Transform's purpose answers your question directly. It exists "to consistently and predictably transform scene-referred ACES-2065 image data into a rendered state suitable for display on a specific output device and set of viewing conditions." Rendered state. Not converted, rendered.

In ACES 2 that Output Transform is built from a Rendering Transform and a Display Encoding Transform, performing tone mapping, chroma compression, gamut compression, white limiting and display encoding. Blackmagic's older description is blunter: an RRT hands standardized wide latitude data to an ODT, and "The RRT and ODT always work together." No configuration hands you the unrendered picture and still counts as an ACES output.

Resolve also lets you pick the ACES version, offering 1.0.3, 1.1, 1.2, 1.3 and 2.0, and the rendering is not identical between them. Its CST plugin offers ACES color spaces too, while the manual warns that plugin "does transforms to the ACES color space colormetrically, which is not actually correct for ACES workflows." A CST pointed at ACES and a project running ACES color science are not the same operation.

The decisions already frozen inside a vendor LUT

A conversion LUT is somebody else's finished answer to both halves of the job, frozen into a grid of numbers.

Sony ships two different 709 conversions for the same source and describes them as different looks. s709 gives "Film-like color tones and color reproduction, with low contrast." 709(800%) gives "Color reproduction and high contrast suitable for TV broadcasting." Both are technically correct. Choosing between them is a creative decision most people make by accident, since whichever their software loads by default becomes their reference.

Panasonic says the quiet part out loud in its VariCam LUT library: "A Conversion LUT translates the flat V-Log material to a more restricted, yet contrasty, dynamic range and shifts the color-space to match the monitor." Canon makes the same point structurally, publishing 1D LUTs from Canon Log, Canon Log 2 and Canon Log 3 to Linear, Cineon, BT.709, Wide DR, DCI and PQ. Its white paper then defines Wide DR as "A gamma curve equivalent to BT.709, which extends the dynamic range up to 800%." Canon Log 3 to BT.709 and Canon Log 3 to Wide DR are both right, and they do not match. How to grade C-Log3 footage covers which to reach for.

There is a mechanical difference too. Blackmagic notes that lookup tables "can have plenty of precision, but can clip out-of-bounds image data and introduce issues when differing lookup table interpolation methods cause minor inconsistencies with color space transformations from application to application." That is why the LUT version tends to clip earliest and to drift in hue in bright saturated objects the other two hold cleanly.

Which one belongs on which job

For a single camera job going straight to 709, use your NLE's color management or the manufacturer LUT, and know which you picked.

For mixed cameras and mixed log formats, use a computed transform. Blackmagic's own example is two cameras shooting the same green trees in Blackmagic Film and S-Gamut3.Cine/S-Log3, which have to arrive at the same green. Matrix math gets you there where a pile of per camera LUTs will not. Why your cameras don't match covers what remains afterwards. Use ACES when VFX vendors, multiple facilities or a long archival life are involved, because the value is the defined interchange rather than the picture. Use a LUT when you need portability across applications with no color management in common.

The sequence around your choice is fixed either way. Normalize, then balance exposure and white balance, then build the look. With a conversion LUT the exposure correction has to happen upstream while the clip is still log, because once values pass through the table the skew is baked in. With a CST you can correct in the working space after the input transform. S-Log3 to Rec.709 conversion works through that in detail.

Leumos AI, our browser-based grading studio, makes this decision once rather than per clip: uploads get an ACES based input transform for their format, so every shot is normalized the same way before any look goes on. It is in closed beta with a waitlist at leumos.ai.

Telling a real fault from an expected difference

Three plausible pictures differing in contrast and saturation is the expected outcome. Three symptoms are not.

Flat and grey when the others are not means no transform ran, or the input color space is wrong. Check the software identified the format rather than assuming Rec.709, which is Premiere applying a LUT to log footage seen from the opposite direction. Contrasty with plastic highlights and crushed shadows is the reverse: two transforms are stacked, so remove one.

Levels sitting wrong before you touch anything means a range mismatch. Sony records S-Log3 as full range, code 0 to 1023 covering -7 IRE through 109 IRE, with no option to select legal range, which is scaled and limited to 64 through 940. If a step in your chain assumes legal range, everything outside that window is gone before your first node. Put a waveform on the untouched clip and check 18% grey reads 41, or code 420 on a raw scope.

Hue drifting only in the brightest saturated objects, a sunset going magenta or an LED practical shifting as it brightens, points at LUT interpolation rather than grading. Clips that arrived with a look already written into the file are a separate problem, covered in matching log footage to baked-in LUT clips.

Frequently asked questions

Why does the same clip look different with a CST, ACES and a LUT?

Because converting to Rec.709 involves two jobs and only the first has one right answer. Undoing the log curve and moving between primaries is arithmetic. Fitting a camera's full range into a display's much smaller one is a rendering choice, and a CST defaults to making none, ACES always makes one, and a LUT already made one for you.

Which of the three is the correct Rec.709?

All of them, for different definitions of correct. A CST with tone mapping off is most faithful to the numbers. An ACES output transform is most predictable across displays. A manufacturer LUT is closest to what the camera maker intended. Pick by what the job needs, not by which looks best.

Is my ACES setup broken if it looks more contrasty than my CST?

Probably not. The ACES Output Transform performs tone mapping, chroma compression, gamut compression and white limiting on the way to the display, so extra contrast and rolled off highlights are the transform working. Two real faults to rule out are a CST pointed at ACES color spaces instead of the ACES Transform plugin, and an ACES version mismatch against whatever your reference was made with.

Can I use an ordinary conversion LUT inside an ACES project?

Not directly. Blackmagic states that ACES grades require CLF LUTs built for ACES; a regular LUT means transforming out of ACES, applying it, then transforming back, which does not always give ideal results.

Sources