HDR works on all those boxes that don't use kodi rendering path. Though - I am quite amused how AMLogic should properly work for HDR rendering - their framebuffer is RGB after all. Standard Androids do it with Mediacodec Surface, which is a blackbox and what it does is totall hidden to kodi. You see those nice effects when playing HDR content and have subtitels / kodi menu on top.
For the kodi roadmap:
- We can properly decode HDR, we transfer it using a BT2020 matrix to RGB. What we are missing is applying the correct Transfer function. That means when doing 8 bit BT709 output (For the bikeshedder, you know what I mean ...), the original assumed EOTF needs to be undone (not a linear operation) and it needs to be properly transformed if you output on non HDR whatever screens.
- This will end up the same as PCM vs. Passthrough. In HDR "Passthrough mode" - you see that with Android Mediacodec Surface, all the HDR bits metadata is hidden to us, it's done in the driver / Framework - vendor specific. We are looking forward to support the first approach in kodi to have decent looking pictures in our rendering path, depending on available output.
If someone wants to really understand the issues, please read:
https://www.google.de/url?sa=t&rct=j&q=&...zVEaacUXfd
For what Android does (why it works and why kodi has zero influence that it works), see:
https://source.android.com/devices/tech/display/hdr and especially the vendor part here:
https://source.android.com/devices/tech/...peline.png by scrolling down
PS: It does not really matter to get all the details above 100% correct. As bike-shedding won't help to solve that issue. For platforms like Linux, where 30 bit visuals are currently work in progress (see mesa-dev ml), but where you don't have any further infrastructure available to tell the Output device the HDR metadata, OpenGL renders RGB don't forget that, the first approach: doing it properly in software and making sure the chain we use is as "lossless" as possible is the way to go for now.