After much documentation (I do not consider myself an expert on this) I have decided to implement new tone mapping methods for Kodi:
Version 6.0.0
Updated at 02-11-2020 (forked from Kodi 19 alpha master).
- Add new tone map methods: "Reinhard Custom" and "ACES Filmic". It greatly improves color retention and increases contrast. The original Reinhard method only acts on luminance so the color tends to lose intensity (image gray-ish).
- New algorithm that considers the 3 metadata values: Max ML, MaxCLL and MaxFALL. Try to compensate for some movies looking too light or too dark by only taking MaxCLL into account.
- New keymap shortcut ALT + F11 to cycle between tone map methods without need to enter on video settings OSD menu.
https://github.com/thexai/xbmc/releases
Any feedback is welcome
These are some of the sources on which I have relied (without this information it would not have been possible):
https://64.github.io/tonemapping/
https://knarkowicz.wordpress.com/2016/01...ing-curve/
http://filmicworlds.com/blog/filmic-tone...operators/
Some image captures:
Reinhard
Reinhard 2
ACES Filmic
Reinhard
Reinhard 2
ACES
Reinhard
Reinhard 2
ACES
Reinhard
Reinhard 2
ACES
Reinhad
Reinhad 2
ACES
Reinhard
Reinhard 2
ACES
Reinhard
Reinhard 2
ACES
Is this implementation multiplatform or Windows only? I ask to understand whether there's a good chance of seeing it implemented in the main builds.
Unfortunately I still don't own a HDR capable screen, so I cannot test this (if your work tonemaps on SDR screens too... well, I understand that for people with projectors but I personally am holding off until I have an HDR screen).
Looking at the differences between the algorithms, it's pretty incredible the amount of variance. With differences like this, how the hell can we know what is closer to the director's intended result?
Thanks a lot for keeping up with all these developments. Much appreciated (even if I still cannot put them to good use). :-)
(2020-11-02, 17:23)ashlar Wrote: [ -> ]Unfortunately I still don't own a HDR capable screen
Tonemap it refers to display HDR content on SDR display (this is for users who do
not have HDR screen.).
Quote:Is this implementation multiplatform or Windows only?
Windows only for now. (and it will probably be for v20 and implemented on all platforms... v19 is on beta state and not accept new features)
(2020-11-02, 19:07)jogal Wrote: [ -> ]Tonemap it refers to display HDR content on SDR display (this is for users who do not have HDR screen.).
Yes, yes. But see later when I say I prefer to wait to have a proper HDR screen (I don't even own a GPU capable of decoding HEVC, I really have no way to test).
(2020-11-02, 19:07)jogal Wrote: [ -> ]Windows only for now. (and it will probably be for v20 and implemented on all platforms... v19 is on beta state and not accept new features)
Ok, thanks for clarifying. And again thank you for all these developments.
Just to clarify my github comment. While the priority for now is bug fixing so we can hopefully move swiftly to Beta (Alpha 3 is the last Alpha) and then RC before end of year, anything that is not a fix will be handled on a case by case basis, with the people reviewing weighing up the risk of introducing unintentional bugs. So improvements or even small new features may still be accepted for v19 if they are judged low risk.
So does nothing for a HDR display? Thought you used tonemapping for HDR on a HDR TV as well.
Thanks for the support for us Windows users!
As the max brightness of HDR displays can vary widely then the tone mapping is always best done in the HDR display where an appropriate roll off curve can be applied for that display. So most HDR displays will do their own tone mapping, for example because all oleds don't go above 1000 nits then they apply tone mapping on all HDR content, with lcd's/led-lcd's then there are displays that can do above 1000 nits but won't go as high as 4000 nits, so they will only tone map content in that 1000 to 4000 nit range.
Version 6.1.0
Updated at 04-11-2020 (forked from Kodi 19 alpha master).
Add new tone map method "Hable" and removed "Reinhard 2" method.
Better fit of ACES Filmic curve.
ALT + F11 only cycles between tone map methods (without going through tonemap OFF state).
https://github.com/thexai/xbmc/releases
Reinhard
ACES
Hable
Reinhard
ACES
Hable
Everything I've read suggests some variation of the filmic algorithm gives best results. There's a lot of good stuff available on dealing with both SDR and HDR assets in game engines.
scott s.
.
Has anyone tried it on Nvidia or AMD to confirm if it works?
The beta build is for this
EDIT: Can be tested on HDR TV too disabling GUI Settings / Player / Use HDR Display Capabilities = OFF
will try and test over the weekend for you
I'm trying this with a GT1030 and a Vizio M422i-b1.
Apocalypse Now Reinhard
Apocalypse Now ACES
Apocalypse Now Hable
Crazy Rich Asians Reinhard
Crazy Rich Asians ACES
Crazy Rich Asians Hable
Inception Reinhard
Inception ACES
Inception Hable
Weathering With You Reinhard
Weathering With You ACES
Weathering With You Hable
Thanks for confirming it works on GT1030!
There are probably small details that can be improved but at this point the important thing is to test it on different systems (rule out fatal crash errors, etc.)
The code has already been merged into kodi master branch!