Kodi Community Forum

Full Version: Kodi 19.0 Tone Mapping improvements - Beta test build (merged)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
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  Smile


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
Image

Reinhard 2
Image

ACES Filmic
Image


Reinhard
Image

Reinhard 2
Image

ACES
Image

Reinhard
Image

Reinhard 2
Image

ACES
Image


Reinhard
Image

Reinhard 2
Image

ACES
Image
Reinhad
Image

Reinhad 2
Image

ACES
Image


Reinhard
Image

Reinhard 2
Image

ACES
Image


Reinhard
Image

Reinhard 2
Image

ACES
Image
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
Image

ACES
Image

Hable
Image


Reinhard
Image

ACES
Image

Hable
Image
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  Wink

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

Image

Apocalypse Now ACES

Image

Apocalypse Now Hable

Image

Crazy Rich Asians Reinhard

Image

Crazy Rich Asians ACES

Image

Crazy Rich Asians Hable

Image

Inception Reinhard

Image

Inception ACES

Image

Inception Hable

Image

Weathering With You Reinhard

Image

Weathering With You ACES

Image

Weathering With You Hable

Image
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!
Pages: 1 2 3