πŸ’‘Color Management, Gamut & Gamma & LUTs

Photos and Color Profiles: The Quickly Approaching Move to Wide-Gamut |  PetaPixel

We’ve talked a bit about gamuts and determined that we have quantifiable ways of representing color digitally. Color management is nothing more than translating between different these different standards to ensure the correct color is represented at the correct point in the signal chain.

So What’s a Gamut?


“Gamut” is simply the range of colors that falls into what’s produceable from the three primary colors. There is no combination of real-world-sourced primary colors (e.g. paint or light) that can produce a gamut as large as that perceivable by the human visual system. There’s no tech capable of showing the extents of the CIE chromaticity chart so it’s much more efficient to work with smaller gamuts we call “color spaces”. Those three primaries are mapped to a specific location based on the color space you’re working with. Generally speaking, it doesn’t matter what color space you’re working in as long as every device in your digital chain is consistently using the same space.

We’ll term those three values “tristimulus” primaries and discuss the “device independent” CIE XYZ gamut when we cover calibration.

  • Rec. 709: The “standard” video color space. This has been the most widely-used color space for broadcast video and remains the color space of choice for most video.
  • Rec. 2020: The replacement to Rec. 709. Nothing can really display this color space which we hope will make it somewhat futureproof.
  • DCI-P3: A standard gamut for digital cinema projection.

The farther out the primaries get from white, the more code values we need to properly span that distance. This is where bit depth comes into play. Remember that your bit depth determines the number of available values/colors you have to work with.

  • All human-visible colors can be described in terms of X,Y and Z.
  • Colors of the same XYZ values can actually be different spectrally, but will appear identical to a human if those three values match.
  • Y is how we perceive luminance. Our eye is most sensitive to green.
  • 2.4 gamma actually matches fairly close to human perceived luminance.
  • Linear is an effects curve used for vfx, you normalize, not linearize a log curve.
  • 9-10 stops immediate dynamic range at one time, but 20 stops available because eye changes dynamically.

Some applications handle color management internally or give the user very little control. Adobe Premiere is a great example. Premiere works great if you work on rec709 material, gamma 2.4, and have a dedicated video display for monitoring that’s calibrated to that standard. If you’re just trying to use Premiere on your computer monitor, it’s not calibrated to that standard, and you’ll never see what you video actually looks like. Hence the multitude of persisting problems people have when their export from Premiere doesn’t match what they saw in the NLE.

Resolve instead aims to be color agnostic. This is good in that it gives you control, but it requires some education to use it properly. By default, Resolve, like Premiere, assumes gamma 2.4 Rec. 709 until you tell it differently. But in Resolve, you can tell it differently. Inside Resolve the simplest form of color management happens with our project settings. Here, we can define a global gamut and gamma for our entire project. Depending on the version of Resolve you’re using, all newly-imported clips will default to this input space. Any clip inside Resolve’s media pool can be independently assigned a color space via a simple right-click.

Your timeline color space basically determines how the changes you make with the grading controls will affect the signal. For example, the same contrast operation done on a log image will behave very differently to an adjustment made on a normalized image. Grading controls need to know the range of values they are operating on in order for the adjustments to behave intuitively. If you switch this mid-project you’ll throw all existing grades off so be careful.

Output Color Space is determined by what you’re viewing your video signal on. If it’s a computer monitor, choose sRGB gamma 2.2. If it’s a grading display for broadcast, choose Rec. 709 gamma 2.4, etc.

The cool thing about color management is that you can change these at any time. If you want to output your project for theatrical projection, it’s fairly easy to change your output space to DCI-P3 and you’re ready to grade in a grading theater.

These color management controls are technical functions designed to map one color space to another, not to look good creatively. When you use a manufacturer-supplied LUT, there’s much more going on than a simple color space conversion. In order to look pleasing, there needs to be a graceful transition from the larger gamut and gamma to the smaller one. That’s where “mapping” comes in. “Tone mapping” deals with gamma adaptation, and the “simple” method is little more than a smooth contrast reduction to go from the higher dynamic range to the lower one. “Luminance mapping” lets you adjust max luma levels, but it will clip the output unlike the other mapping operations.

“Saturation mapping” deals with the change in gamut.

This project-wide color management approach has it’s advantages. It’s pretty simple to set up and works across the entire project without much fuss. It’s perfect for an editor working in Resolve. Most often, however, a professional colorist will want more control over images at different stages in their development. For example, it’s important to remember to do your corrections before the mapping operations, but this is tricky when using project-wide settings.

The color space transform node is one of the most useful additions to Resolve in recent past. It allows you to set up a node tree whereby you can manipulate the footage before the ‘normalization’ and after. “Normalization” is the term I’ll use when referring to the color space transform node which converts to Rec709. When working with the log footage before the normalization, get the bulk of the look right by using offset, contrast and pivot controls. These controls were designed to work on the ranges typical of a log image. After the normalization node, the lift, gamma and gain wheels should behave as expected.

“Saturation Mapping” in the Gamut Mapping OFX plugin is also a great way to software-“legalize” out of gamut saturation. It basically compresses everything out of gamut by a certain ratio. It’s not perfect, but it’s an easy first step towards aiming for broadcast-legal saturation values.

It’s important to note that color management in a lot of photo-based applications takes a different approach and often confuses people. This is covered in much more depth in the calibration section, but the idea here is that we generate an .icc profile which ‘characterizes’ the response of a display and then rely on the software to correctly map the color space of the footage to the needs of our display. But all of this happens on-the-fly by the software.


On icc profiling and desktop computer color management:


On Resolve’s color management:

That’s why the Gamma setting in Method 1 had to be changed to Use Timeline (or to 2.4): With the default Rec709 the OFX assumes you want to map the luminance to Rec709 (Scene), so the blacks are too light.”


Charles Poynton is the authority on this topic.

Really, the important ones to remember (until we get into HDR, Hybrid Log Gamma) are:

  • Gamma 2.2 for web delivery and sRGB applications. Since it’s a bit brighter, it will read better in the brighter environments typical of web content viewing.
  • Gamma 2.4. This is more designed for the home theater sort of environment. It’s a bit darker, but better suited for the dim living room in which someone might be watching TV. It’s very similar to BT1886 which we won’t discuss for now.

Gamma 2.2 is linear^(1/2.2) and gamma 2.4 is linear^(1/2.4)

When it comes to Resolve, I find its naming confusing. Camera sensors have a very bright (closer to linear) gamma of 1.9 and that’s the value Resolve is using with the label Rec709(Scene). But, often when Resolve lets you specify a gamma it will only use the label “Rec709” and internally process with the brighter 1.9 “Scene” gamma. In these cases, you simply need to make sure you’re explicitly choosing the 2.4 gamma option and you’re good to go.


No one is more qualified to talk LUTs than Steve Shaw so give this a read.

Important takeaways:

  • A 1D LUT can only control overall contrast and fix grayscale “tracking”.
  • Some displays only offer a 3×3 matrix in conjunction with a 1D LUT for calibration. This is a limited fix.
  • LUTs vary in size; the larger the LUT, the more accurate, but the more computationally intensive. 17x17x17 LUT with good interpolation is usually enough points (17 points on each axis)
Scroll to Top