1.2.5. DPX log encoding limits

What is the maximum encoded linear light value in a DPX file? This depends on the log encoding format.

When working in ACES, you should use the file format OpenEXR to store image data unless the Colourist decides not to grade in ACES and prefers to receive DPX Log encoded files instead of ACES 2065-1 EXR files.

One way of working is to convert all camera media to ACES EXR files and do your compositing and retouch work. When the comps are ready for grading, export the comps as DPX files in the source camera log encoding. And if there was a color & exposure balance step in the comp script, make sure to invert this step before export again. This ensures that the colourist can start with the same image data before and after the comp.

So I am about to export a finished comp as DPX files from Nuke for example. Each flavour of camera log format will encode numbers between 0-1 in 10, 12 or 16 bit. Not only the maximum linear light value is different in each camera log encoding, but also which ranges of values will be stretched and quashed to fit best for each camera.

If you work on a show that has footage from Alexa, RED, Sony and more cameras, this workflow is not ideal, because you need to keep track which comp needs which camera log encoding. That’s why it is recommended to use ACES-EXR files instead.

Here is an overview of the different IDTs and how high is the maximum linear light value they can decode:

  • ACEScc / ACEScct ≈ 222
  • Alexa LogC3 ≈ 55
  • Alexa LogC4 ≈ 469
  • BMDFilm WideGamut Gen5 ≈ 222
  • DaVinci Intermediate WideGamut ≈ 99
  • Canon Log3 ≈ 14
  • Cineon ≈ 13
  • Panasonic V-Log ≈ 46
  • REDLog3G10 ≈ 184
  • Sony S-Log3 Venice S-Gamut3.cine ≈ 38
  • sRGB – Texture = 1.0 (this is not a log encoding)
  • Output Rec.709 ≈ 16.3 (this is not a log encoding)

The values are calculated in Nuke with a ramp node, a OCIO colourspace node and the CurveTool node. The OCIO v2 config that ships with Nuke 14 was used.

The highest value should be the best, but these are camera log encoding formats so the sensor has to give you actually useful information in the specular highlights that you still use. In most ARRI Alexas files (for LogC3 encodings) that I saw the “soft-clip” value is actually around 35-39, but the format allows values up to around 55.

When Resolve is internally working in floating point precision, there is no much “damage” happening converting from scene linear to ACEScct, do the grade and convert back to scene-linear.

But in the case of 10-16Bit DPX files, there is more data loss, but actually not really visible.

sRGB-Texture and Output Rec.709 are not log encodings and the use of both in Nuke for textures and references are a topic for another time.