Linux Comprehensive UHD support (even for FullHD)
#1
Video 
Dear Kodi users and developers,

With this post I would like to make a "case" for a higher priority regarding UltraHD and making it backward compatible with "regular" HD. UHD is happening and it's happening fast. By this I don't just mean being able to play a 2160p video. This is already possible in itself, but there are many edge cases and not-so-edge cases that throw a spanner in the works. With UHD support I'm also including the new features that the UHD BD specs mandate or allow for, such as HDR, Rec2020, 10 or 12-bit output and HEVC. And not only support for these features, but also proper playback on non-UHD devices or UHD devices that only support a subset of said features.

I know many of these features are being worked on but it would be great if there could be a "UHD battle plan" or something that attempts to deal with these related issues as comprehensively as possible. I have several suggestions that I hope can be taken into consideration for Kodi v18. I'll focus this post on the in my opinion most critical ones: HDR and HEVC.

HDR (to SDR compatibility)
Right now, anything HDR will simply not be displayed properly on any non-HDR display device, which still form the vast, vast majority of all display devices out there. The colours are simply "wrong", usually overly grey/greenish is my experience. It would help tremendously if you could implement HDR-to-SDR tone mapping, which is what MPV and MadVR have already done. This will increase that status of HDR content on FullHD display devices from unwatchable to perfectly fine. Obviously it's still not HDR, and it never will be, but at least it will be compatible across the board.

Even HDR devices might be able to take advantage of this functionality, by making being able to convert between HDR10 and Dolby Vision (disclaimer: no idea if this is even theoretically realisable; it's just a thought).

HEVC HW-acceleration
Another thing is HEVC hardware decoding. As it is, the GPU decoding of HEVC Main10 is simply not possible under Kodi, without using an external player (mpv). Even though there's hardware support, the client support is basically completely absent.

I know you are hugely dependent upon the goodwill of the GPU vendors here. I understand and respect that, but I also think there are things that Kodi can do right now to fix at least some of the problems. From what I've been given to understand, HEVC Main10 already works with Linux if one uses an Intel Kaby Lake iGPU or and Nvidia Pascal GPU, but apparently it doesn't yet work with Kodi. This seems like that should be fixable by Kodi, without further input/changes/assistance from the hardware vendors, right?

I know Nvidia's VDPAU doesn't support this particular HEVC profile and I've been given to understand that VDPAU is essentially dead in the water. Doesn't this mean that we can't just wait for VDPAU to be fixed if we at the same time think that VDPAU is never going to be fixed going forward? Fortunately there is another solution: CUDA/CUVID. This does work with HEVC Main10 and has been included throughout the software chain, except yet in Kodi.

Unfortunately I don't know the current state of HEVC (Main10) decoding on AMD GPUs. Perhaps other users do know this?


I think solving these two problems would be hugely beneficial to Kodi's UHD video compatibility and readiness. Right now these problems cannot be solved by the user, especially the HDR problem. HEVC decoding can be arranged by just using software decoding, but having an i5 in an HTPC should be considering overkill, in my opinion. Especially with hardware-accelerated alternatives being already available.
Reply
#2
(2017-04-23, 13:04)LB06 Wrote: Dear Kodi users and developers,

With this post I would like to make a "case" for a higher priority regarding UltraHD and making it backward compatible with "regular" HD. UHD is happening and it's happening fast. By this I don't just mean being able to play a 2160p video. This is already possible in itself, but there are many edge cases and not-so-edge cases that throw a spanner in the works. With UHD support I'm also including the new features that the UHD BD specs mandate or allow for, such as HDR, Rec2020, 10 or 12-bit output and HEVC. And not only support for these features, but also proper playback on non-UHD devices or UHD devices that only support a subset of said features.

I know many of these features are being worked on but it would be great if there could be a "UHD battle plan" or something that attempts to deal with these related issues as comprehensively as possible. I have several suggestions that I hope can be taken into consideration for Kodi v18. I'll focus this post on the in my opinion most critical ones: HDR and HEVC.

HDR (to SDR compatibility)
Right now, anything HDR will simply not be displayed properly on any non-HDR display device, which still form the vast, vast majority of all display devices out there. The colours are simply "wrong", usually overly grey/greenish is my experience. It would help tremendously if you could implement HDR-to-SDR tone mapping, which is what MPV and MadVR have already done. This will increase that status of HDR content on FullHD display devices from unwatchable to perfectly fine. Obviously it's still not HDR, and it never will be, but at least it will be compatible across the board.

Even HDR devices might be able to take advantage of this functionality, by making being able to convert between HDR10 and Dolby Vision (disclaimer: no idea if this is even theoretically realisable; it's just a thought).

HEVC HW-acceleration
Another thing is HEVC hardware decoding. As it is, the GPU decoding of HEVC Main10 is simply not possible under Kodi, without using an external player (mpv). Even though there's hardware support, the client support is basically completely absent.

I know you are hugely dependent upon the goodwill of the GPU vendors here. I understand and respect that, but I also think there are things that Kodi can do right now to fix at least some of the problems. From what I've been given to understand, HEVC Main10 already works with Linux if one uses an Intel Kaby Lake iGPU or and Nvidia Pascal GPU, but apparently it doesn't yet work with Kodi. This seems like that should be fixable by Kodi, without further input/changes/assistance from the hardware vendors, right?

I know Nvidia's VDPAU doesn't support this particular HEVC profile and I've been given to understand that VDPAU is essentially dead in the water. Doesn't this mean that we can't just wait for VDPAU to be fixed if we at the same time think that VDPAU is never going to be fixed going forward? Fortunately there is another solution: CUDA/CUVID. This does work with HEVC Main10 and has been included throughout the software chain, except yet in Kodi.

Unfortunately I don't know the current state of HEVC (Main10) decoding on AMD GPUs. Perhaps other users do know this?

I think solving these two problems would be hugely beneficial to Kodi's UHD video compatibility and readiness. Right now these problems cannot be solved by the user, especially the HDR problem. HEVC decoding can be arranged by just using software decoding, but having an i5 in an HTPC should be considering overkill, in my opinion. Especially with hardware-accelerated alternatives being already available.

HEVC support is Cuvid only for NVidia and it would take a large amount of work on the Kodi side to use Cuvid or a large amount of work on the Nvidia side to expand vpdau to 10bit, What I don't understand about vpdau support is why they don't just decode 10but and output 8bit for now, that looks like a realtively small amount of work. 10Bit driver support is a bit of a mess anyway.
Support for AMD 10bit is present but buggy and not really useable last I heard.

Would be interesting to hear some views on how HDR downconversion could be done. My guess would be a GPU filter but that is a complete guess.
Reply

Logout Mark Read Team Forum Stats Members Help
Comprehensive UHD support (even for FullHD)0