CINEON Docs

Color Spaces

How Cineon handles color science - ACES, AgX, input gamuts, log decoding, and display transforms.

Why color spaces matter

Every image has a color space: a mathematical description of how its pixel values map to actual light. A JPEG from your phone is sRGB. A log clip from an ARRI is LogC3. Apply a grade without accounting for the source color space and the result is wrong — contrast curves hit the wrong tonal zones, saturation shifts look off, and the look won't translate between images.

Cineon's Color Science effect handles this explicitly. You tell it what your image is, pick a transform, and it converts to a linear working space before any other effect touches the pixels.


Three transforms, one effect

The Color Science effect (component id aces) holds three interchangeable engines, selected with a Version switch. Each keeps its own separate settings, so switching between them is lossless — going ACES 1.3 → AgX → back to ACES 1.3 restores exactly what you had.

VersionWhat it is
ACES 1.3Full ACES 1.3.1 pipeline: IDT → RRT → ODT, ported 1:1 as a WebGPU compute shader
ACES 2.0The current Academy output transform, parameterised directly by peak luminance and limiting primaries instead of a fixed ODT list
AgXTroy Sobotka's display rendering transform — softer highlight rolloff, no hue skew, closed-form (no LUTs)

All three read from the same Input Gamut and Exposure controls, and all three run entirely on the GPU.


Input gamuts

The Input Gamut parameter tells the transform what color space your source image is in, so it can decode it correctly before anything else runs.

Input GamutSource typeNotes
sRGBJPEG, PNG from cameras, web imagesDisplay-referred, gamma ≈2.2
Rec.709Video files, broadcast camerasSame primaries as sRGB, different EOTF
DCI-P3iPhone ProRAW, cinema cameras, modern displaysWider gamut than Rec.709
Rec.2020HDR video, high-end captureVery wide gamut
LogC3ARRI Alexa (ARRIRAW, ARRI LogC3)Log curve + AWG3 gamut
S-Log3 / S-Gamut3Sony cameras (FX3, Venice, A7S III)
S-Log3 / S-Gamut3.CineSony cameras, Cine gamut variant
Canon Log 2 / Cinema GamutCanon Cinema EOS (C70, C300, C500)
Panasonic V-Log / V-GamutPanasonic cinema cameras
Fujifilm F-Log / F-GamutFujifilm cinema cameras
Fujifilm F-Log2 / F-GamutFujifilm cinema cameras, F-Log2 variant
ACEScg (Linear AP1)Images already in the ACES working spacePassed through without conversion

RED (REDWideGamutRGB / Log3G10) was removed as an input gamut. A session that still holds it falls back to sRGB.

Log decoding

Log formats compress a wide dynamic range into a smaller code value range. Cineon decodes each one from its official spec:

  • LogC3 — ARRI official cut/slope parameters (cut = 0.1497, a = 5.5556, b = 0.0523)
  • S-Log3 — Sony official 10-bit normalized spec (threshold = 171.2103/1023)
  • Canon Log 2 — Canon official formula with symmetric negative handling
  • V-Log — Panasonic official spec (cut1 = 0.01)
  • F-Log / F-Log2 — Fujifilm official data sheet formulas

After decoding to linear scene light, each format is multiplied by its native gamut-to-AP1 matrix to land in ACEScg.


ACES 1.3

The pipeline has three stages:

Input image

[Input Transform] — decode log / convert gamut → ACEScg linear

[RRT] — Reference Rendering Transform (scene-linear → OCES)

[ODT] — Output Display Transform (OCES → display space)

Canvas / Export

Cineon always works in ACEScg (AP1 primaries, linear light) — the same working space used in professional VFX and DI pipelines. Every other effect in the chain — grain, halation, color grading, LUTs — operates on that linear buffer.

Display transforms (ODT)

The Output parameter controls how the graded ACEScg image is converted for the display.

ODTUse case
sRGBStandard monitor, web export — most common choice
Rec.709Broadcast monitor, video output
P3Wide-gamut display (DCI, Display P3)
BypassNo ODT — raw ACEScg linear on canvas

The RRT runs between ACEScg and the ODT. It applies a tone mapping curve that mimics the response of photochemical print film: shadows lift slightly, highlights roll off instead of clipping. That curve is where the ACES look's characteristic contrast comes from.

Setting Output to Bypass skips both the RRT and the display transform, so the raw ACEScg working space shows on the canvas. Use it to check a grade in linear light before tone mapping, to grade material headed for downstream compositing, or to export toward a pipeline that expects scene-linear.


ACES 2.0

ACES 2.0 replaces the fixed ODT list with two direct parameters: Limiting Primaries and a display encoding (EOTF + Peak Luminance). Instead of picking a preset display, you describe the actual target and the transform derives its own gamut-mapping tables for it.

ParameterControls
Limiting PrimariesThe gamut boundary the tone-mapped image is compressed toward — Rec.709 or P3-D65
EOTFThe inverse transfer function baked into the output: sRGB, BT.1886, Gamma 2.2, Gamma 2.6 (DCI), ST.2084 PQ, or Display Linear
Peak LuminanceDisplay peak in nits, from 48 (DCI cinema reference) up to 1000 (HDR)

Limiting Primaries is not cosmetic — it feeds the gamut-cusp tables the compression algorithm uses, so Rec.709 vs. P3-D65 produces a genuinely different result in saturated colors, not just a final clamp. Rec.2020 isn't offered here: every target Cineon renders to is sRGB or Display-P3, and limiting to a wider gamut than the output can encode would push saturated colors somewhere the display transform can't correctly place them.

Display Linear is an interchange target (EXR, further downstream processing), not a viewing one — sent straight to an sRGB monitor it looks dark, because the display still applies its own gamma on top.


AgX

AgX is Troy Sobotka's display rendering transform, ported from the reference AgX-S2O3 implementation. It runs as five closed-form analytic stages — clamp + inset, log2 encode, per-channel sigmoid, outset, display encoding — with no lookup tables, validated against the reference LUT.

ParameterControls
EOTFSame option set as ACES 2.0
InsetHow much the pre-curve matrix desaturates highlights before the sigmoid, 0–0.5
OutsetWhether the post-curve matrix restores that chroma afterward

At Inset 0 the matrix is identity, which turns the transform into a bare per-channel sigmoid — with no chroma attenuation the three channels race toward 1.0 together and bright saturated areas lose texture. The default of 0.15 (the AgX reference value) is what keeps that texture. Turning Outset off keeps the desaturated highlights instead of restoring them, which reads as a deliberately flatter, more "filmic" highlight roll.

AgX renders roughly a stop brighter than the ACES ODTs at the same exposure, which is why it opens pulled back on Exposure relative to ACES 1.3 and 2.0.


Exposure and Bias

Two exposure controls sit inside the effect, applied at different points in the pipeline regardless of which version is active:

ParameterWhere appliedEffect
ExposureAfter input → ACEScg conversionScales scene light before the tone curve — affects how highlights roll off
BiasAfter the transform (RRT+ODT for ACES 1.3, the tone curve for ACES 2.0/AgX)Multiplies the final display-referred signal — a linear brightness trim

Both are in stops (2^EV and 2^Bias multipliers). Exposure changes the tone-mapping response itself; Bias is a pure post-grade brightness offset that doesn't touch the curve.


Treat Display as Scene

This ACES 1.3 toggle changes how display-referred inputs (sRGB, Rec.709, P3, Rec.2020) are handled.

  • On (default) — the input is converted to ACEScg via a matrix transform, treating it as if it were scene-linear. This is the standard path and gives the most consistent ACES look.
  • Off — reserved for a future InvRRT path, not yet implemented on GPU. Currently falls back to the same scene path.

Leave this on unless you know you need the InvRRT path.


Conversion effect

The Conversion effect (component id conversion) runs the opposite direction from Color Science: instead of decoding camera footage into a working space, it takes an sRGB image and re-encodes it into a camera's native log gamut, to simulate what that camera's raw output would look like.

ParameterControls
Target SpaceWhich camera log format to simulate: S-Log3/S-Gamut3.Cine, S-Log3/S-Gamut3, LogC3, Canon Log 2, V-Log, F-Log, F-Log2
Strength0–100%, blend between the original scene and the target camera gamut, mixed in linear light before the log curve is applied

Because the gamut blend happens before encoding, every strength value produces a real, valid log signal — a downstream Color Science layer set to the matching Input Gamut decodes it correctly at any strength, not just 100%.

Conversion doesn't run an RRT, doesn't decode existing log, and doesn't use ACEScg. It's a one-way simulation tool, not a color-managed pipeline — use Color Science when correctness matters, Conversion when you want your sRGB source to look like it came off a specific camera.


Camera phone / JPEG → final grade

Input Gamut: sRGB → Version: ACES 1.3 → Output: sRGB

Standard path. ACES applies a slight cinematic contrast curve on top.

ARRI log footage → grade → web export

Input Gamut: LogC3 → Version: ACES 1.3 → Output: sRGB

Full log decode + ACES RRT. Highlights roll off smoothly, shadows open up naturally.

Sony mirrorless (S-Log3) → grade → video export

Input Gamut: S-Log3/S-Gamut3 → Version: ACES 1.3 → Output: Rec.709

Broadcast-correct output for YouTube or Vimeo.

HDR deliverable, P3 display

Input Gamut: sRGB → Version: ACES 2.0 → Limiting Primaries: P3-D65 → Peak Luminance: 1000 → EOTF: ST.2084 PQ

Renders and compresses directly toward the actual target display instead of a fixed ODT preset.

Softer, filmic highlight rolloff

Input Gamut: sRGB → Version: AgX → EOTF: sRGB

No hue skew in saturated highlights, at the cost of a flatter default look than ACES.

VFX / compositing — keep scene-linear

Input Gamut: ACEScg → Version: ACES 1.3 → Output: Bypass

Pass-through. Grade without tone mapping for downstream compositing.

sRGB photo, simulate Sony log footage

Conversion → Target Space: S-Log3/S-Gamut3.Cine → Strength: 100%

Turns a flat sRGB image into a valid S-Log3 signal — useful as a source for testing a log-based grade, or to hand off footage that needs to look camera-native.

On this page