Explain the DNG color differences between dxo5 (legacy) and dxo6 (wide gamut)

Ok, so I take a RAW file, set it in DxO to 'no correction.
Then I export it to DNG one time with gamut set to ‘legacy’, and another time with gamut set to ‘wide’.
I use the ‘apply all corrections, except color rendering’. DxO tells us that no camera profile / matrix is applied to it, so the software that is processing the DNG can do what it normally can.

Now, I use dcraw_emu from the libraw project (same as FastRawViewer) to export the original RAW, and the two DNG’s from DxO into a linear file. I make sure to set ‘do not use embedded matrix’ and to use the ‘colorspace: raw’. So I’m not transforming any pixels colorwise, I just want the values as they are in the raw file and to compare to the DNG. The only thing I do, is I ‘apply srgb-linear profile’ to the final output file, and resize it down and then convert the ‘srgb normal profile’. So basically I’m applying the default sRGB gamma curve. Just to make viewing easier.

So no, colors are not ‘correct’, but we’re not going for correct here, we’re using it to compare the pixel values ‘as they are’ in the original RAW data vs the DxO DNGs.



Flip between the images in any viewer that makes you do so easily (just opening in different browser tabs will suffice I guess).

You’ll see the original RAW and the ‘legacy gamut’ DNG are like for like colorwise (there is a small cropping difference because of different demosaicing algorithms, but they are basically the same in every other aspect).

The wide-gamut export clearly has different values written to the file. So even if DxO says that DNGs are written without any camera transform or something, something has clearly changed, and it causes programs opening the DNGs and applying their own camera profile to the file to suddenly have a completely different - and not pretty - rendering.

Now, if I do the export again for all three files, but I enable the option to use the embedded matrix… nothing changes in the output. So if there are embedded matrix/profiles written to the files, the ‘wide gamut’ one is wrong (and probably the same as the legacy one).

Thus, this makes the DNG files unusable if the ‘wide gamut’ file is set, because you’ll always get wrong colors.


Now, what I think happens is: DxO is converting the raw data into their own ‘DxO Wide Gamut’ profile. So they are doing a color conversion (as clearly can be seen by looking at the values written out by PL6). So I think whatever input file throw at PL6, if the wide gamut option is selected, it will convert it to their own DxO wide gamut profile. If you write a jpg of tiff file, it will convert it to a normal profile as a last step in writing the output (which makes perfect sense).
But if you write a DNG, nothing like that is done, but the color data has still been converted to DxO Wide Gamut.

So, we basically need a DxO-Wide-Gamut ICC and/or DCP file, to tell the program that’s opening the DxO files ‘the colors are in this color space, use it’.


But to summarize:

  • The DNG data is clearly changed by using a different gamut option in DxO.
  • They tell us that this should not be the case
  • Without knowing what colorspace and/or camera matrix to use for this wide-gamut DNG, they are useless to use in other software.
2 Likes