In v6 and before, we had the various norms, each behaving differently; in v7, the norm selector is gone, two fixed norms are used, with a mix between the former max RGB and no preservation modes. See po/filmicv7 - port Filmic V7 to darktable. by TurboGit · Pull Request #14321 · darktable-org/darktable · GitHub :
Filmic v7 removes chroma preservation norms. The saturation parameter drives an user-defined mix between the former max RGB chroma-preserving norm and the “no chroma preservation” mode:
- +50 % saturation is equal to the former max RGB chroma-preserving mode,
- -50 % saturation is equal to the former no preservation mode (at constant hue and luminance),
- 0 % is an equal mix of both (mean),
- values beyond ±50 % are linear extrapolations.
In any case :
- saturation is forced at most the the original value (the algo is forbidden to resaturate),
- hue is forced at the original value, gamut mapping is the same as before in Yrg.
The saturation parameter therefore controls only the amount of saturation bleaching,
especially on skin tones and skies.
And the behaviour of v6 was documented here: Filmic v6 by aurelienpierre · Pull Request #10976 · darktable-org/darktable · GitHub, the parts related to hue and saturation being:
- for the non-chrominance preserving method (independent RGB channels), we still enforce hue to be passed along from input to output. We still keep the desaturing behaviour in highlights but we set the original chroma in shadows to avoid resaturating.
- Bottom line is all methods now preserve hue. Chrominance-preserving norms preserve saturation as well.
There was a very long discussion (actually, several very long discussions) about this. People did not like filmic desaturating highlights (you can search the forum), so Aurélien came up with v6, and then people did not like the side effects. See https://discuss.pixls.us/t/magenta-highlights-vs-raw-clipping-indicator-vs-filmic-white-level/30765/60:
The reason v5 hides it better is that the ratios are massaged to degrade progressively to { 1, 1, 1 } when we reach display white. Problem is that this “desaturation” is not hue-linear… (pick your poison).
So v5 distorts colours. Which can be OK, as our eyes also do. RGB curves in most software also do that, and so does sigmoid, unless I’m mistaken.
If I understood correctly, filmic first does the tone mapping, and then tries to re-apply colours using the selected norm (now norms + mix). If one thinks of this as multiplying the RGB channels by numbers smaller than 1, based on the ratios in the original colour (the exact numbers depending on the norm), then that means darkening. At least that’s how I interpreted the black-and-white and colour-only images in that post by Aurélien.