RAW 9: Color Differences between 9 and 8

Are color differences expected for any cameras? I have heard some reports, but have not seen it myself. If it's not expected, then I can get those people to file bugs.

Answered by Engineer in 893467022

No, there is meant to be no color difference between versions 8 and 9 of our processing.

No, there is meant to be no color difference between versions 8 and 9 of our processing.

But when I render X-T5 RAF file using RAW 9, the colors are more saturated then RAW 8.

The variable is the CIContext's workingColorSpace in my own experience. That might be why this reproduces for some people and not others.

Same file, same process, mean R/G/B over a 400×400 centre crop, output color space sRGB throughout. Fujifilm X-T5, DSCF0021.RAF:

working color spaceversion 8version 9
linear sRGB78.7 / 46.7 / 44.979.6 / 47.2 / 44.7
sRGB78.7 / 46.8 / 44.9253.3 / 185.4 / 214.0
Display P378.8 / 46.8 / 44.9252.1 / 187.6 / 214.9
extended linear sRGB78.7 / 46.7 / 44.979.6 / 47.2 / 44.7
extended linear Display P378.7 / 46.7 / 44.971.1 / 50.6 / 40.6

Version 8 varies by at most 0.1 code value across every managed working color space. Version 9 varies by a factor of 3.2. On a Canon EOS 5D Mark III the same comparison is starker: version 8 reads 158.6 / 119.4 / 77.8 in every working space, version 9 reads 158.3 / 120.2 / 76.9 in linear sRGB and 254.9 / 253.8 / 255.0 — very nearly pure white — in both sRGB and Display P3.

In short:

  • gamma-encoded working space (sRGB, displayP3) → grossly lifted, largely clipped
  • sRGB-primaried linear (linearSRGB, extendedLinearSRGB) → tracks version 8 to about 1%
  • the output color space does not decide it — both output spaces show the same pattern
  • .version9DNG behaves the same way on a DNG of the same scene, while 8.dng is byte-identical across all five managed working spaces
  • versions 6–8 are insensitive to working color space entirely
  • CIImage.colorSpace reports kCGColorSpaceDisplayP3 under every version including 9, so the output is not carrying an unusual tag

One thing worth flagging, because "just use a linear space" has a wrong answer in it: extendedLinearDisplayP3 is linear, so it avoids the gross failure, but version 9 still departs from version 8 there by −5.0% / +6.3% / −40.7% (R/G/B) on the Canon rendered to sRGB. Only sRGB-primaried linear spaces track version 8. So version 9 is sensitive to primaries as well as transfer, and version 8 to neither.

Nik — if your working space is linear you would not see this at all, which may be why the reports never reproduced for you. Kuro's saturation observation on the X-T5 is consistent with a gamma-encoded working space; the effect is much larger than "more saturated" suggests once you measure it.

Reproduced on 26A5406e and 26A5416b, identical to the last printed digit on both, across three files (X-T5 RAF, X-T5 DNG, Canon CR2), two vendors, two CFA geometries, and both the plain and .dng decoder ladders.

Filed as FB24435750 with a self-contained minimal reproduction that prints its own control and reports the effective decoder version on every row, plus a CC0 sample file.

RAW 9: Color Differences between 9 and 8
 
 
Q