Film edge · material artwork

Color Management

Camera tab, Color Management group: Transfer Function and Gamut menus with Automatically set gamut on
Camera tab, Color Management group: Transfer Function and Gamut menus with Automatically set gamut on

Film/Emulsion™ models a photochemical chain, and that chain starts with light falling on a negative. So the plugin needs one thing first: what signal is at its node. The Color Management group on the Camera tab is where you tell it. Declare the wrong signal and the colors decode from the wrong space, and the look drifts before the film chain starts.

This group is input only. The plugin returns the printed image in the same space it received; there is no display transform inside. The sections below cover what it expects, the two controls, and the project setups you are most likely working in.

What the plugin expects

Film/Emulsion™ works best with scene-referred input: an image that still represents the light of the scene, in a known camera or working encoding, before any display look has been applied. Real film was exposed by scene light, and the model follows the same logic.

The one input to avoid is display-referred video with a look already baked in: a Rec.709 clip graded to taste, or footage with a creative LUT cooked into the pixels. The model will still process it, but it is now exposing its negative to a picture rather than a scene, and the result drifts from what the same stock does on clean input. If a look is already baked in, put the plugin before it where you can.

The default input is DaVinci Wide Gamut / DaVinci Intermediate. Every stock and preset assumes that input unless you tell it otherwise, which is why the Resolve Quick Start starts you there.

The Color Management group

Two menus and one switch.

Transfer Function tells the plugin the encoding of the signal reaching the node: log, linear, or a display gamma. It defaults to DaVinci Intermediate. Get this right first, because every stage after it depends on it.

Automatically set gamut is on by default. With it on, the Gamut menu follows the transfer function, choosing the primaries that encoding is normally paired with. DaVinci Intermediate pairs with DaVinci Wide Gamut, ARRI LogC3 with ARRI Wide Gamut 3, ACEScct with ACES AP1, and so on down the list.

Gamut is the primaries of the incoming signal. It defaults to DaVinci Wide Gamut. Uncheck the switch only when you have a deliberate transfer/gamut mismatch to solve, for example a signal carrying one encoding’s gamma over another’s primaries. If you are not sure you need that, leave the switch on.

The encodings the plugin recognizes

The Transfer Function menu, in menu order:

Linear, ACEScc, ACEScct, Apple Log, ARRI LogC3, ARRI LogC4, BMD Film Gen 5, Canon Log 2, Canon Log 3, DaVinci Intermediate, DJI D-Log, Filmlight T-Log, FujiFilm F-Log, FujiFilm F-Log2, Gamma 2.2, Gamma 2.4, JPLog2, Leica L-Log, Panasonic V-Log, RED Log3G10, Sony S-Log2, Sony S-Log3, GoPro GP-Log 2, and DJI D-Log 2.

With Automatically set gamut on, each of these selects the primaries it is paired with, so in practice you choose the transfer function and the gamut follows.

Three ways to feed it

One rule for all three: Transfer Function matches what arrives at the node.

DaVinci YRGB Color Managed

The recommended setup, and the simplest. With the project on DaVinci YRGB Color Managed, automatic color management on, and the timeline color space at its default of DaVinci Wide Gamut / Intermediate, your nodes see DaVinci Intermediate. The defaults already match. Drop the plugin on a node and pick a look.

An ACES timeline

In an ACES project (ACEScct or ACEScc), the node sees the ACES working space. Set Transfer Function to match: ACEScct for a standard ACEScct timeline, ACEScc if that is your working space. With Automatically set gamut on, the gamut follows to ACES AP1. The plugin returns the image in the same space, so it sits inside the ACES pipeline without disturbing your output transform. It does not apply or replace the ODT.

An unmanaged or log timeline

If the project is not color managed and nothing upstream (an input LUT, a color-space transform, a prior node) has changed the clip, the node sees the clip’s own encoding: a LogC3 file arrives as LogC3. Set Transfer Function to the camera’s encoding (ARRI LogC3 in that example) and the gamut follows to the camera’s native primaries (ARRI Wide Gamut 3). The node’s output stays in that space, so nothing else in your tree changes.

This is the setup that is easiest to get wrong. Nothing upstream is normalizing the signal for you, so the plugin only knows what you tell it.

If the image looks wrong

Check Transfer Function before any stock or adjustment control. Two patterns point to it:

These are pointers rather than proof. Confirm by setting Transfer Function to the encoding you know the node is receiving and looking again. In a Resolve-managed project set up as above, the default is correct. A mismatch is easier to hit in unmanaged and hand-configured projects, where a clip’s input space or the timeline space can be set wrong upstream.

Next: Adjustments covers the camera-side controls, exposure and balance before the negative, and why Black Level acts inside the print.