Posts: 6,810
Joined: Jul 2010
Reputation:
198
2016-08-09, 07:50
(This post was last modified: 2016-08-09, 07:50 by FernetMenta.)
This is no bug, just a missing feature of outputting limited colour range. Set Kodi and TV to full range and your colours will be ok. Or set driver and TV to limited range. The feature you won't get is wtw / btb.
With support of Wayland (maybe v18) this issue will be history.
Posts: 23,266
Joined: Aug 2011
Reputation:
1,074
fritsch
Team-Kodi Developer
Posts: 23,266
2016-08-09, 08:28
(This post was last modified: 2016-08-09, 08:31 by fritsch.)
You are wrong ... and you don't have an idea what you are talking about. It's the driver that messes things up.
But the explanation is not that easy, so I will forgive you :-) ... in short: Intel kernel / xorg has two modes:
A) Full: Don't clamp anything let 0 .. 255 through and signal the TV that it is full
B) Limited 16:235: Clamp (!) everything, by scaling it to 16:235 - cause it is assumed that input is Full Range. Signal the TV to be limited.
Obvious problems:
A)
1) the TV gets signalled FULL with the info frames and might switch to full (!) - if this is the case the only thing from kodi that helps is: Use Limited Range: off Dithering: 8 bit
2) The TV ignores the infoframe and stays "Limited" itself. Then you can tell kodi: "Use Limited Range", cause the TV will blindly ignore 236 to 255 and 0 to 15 and kodi only outputs 16:235 - which means: original video content without touching colors. Pictures which are full range on the other side, are downscaled by kodi
B)
1) If you tick Use Limited in Kodi, kodi will output 16:235 only, but NOW the driver downscales again and you end up with no blacks and no whites at all. <- You now get _why_ the setting "works" as it works?
2) In that mode (which btw. is _the_ _default_ driver mode) the only thing that helps in kodi is "unticking" Use Limited Range, and also enabling Dithering 8 bit - every content (video) is now upscaled to full range _and_ afterwards downscaled by the GPU itself again.
Now - the sane reader has the questions:
Why isn't there a "Just output what i put in without messing and honoring the Limited Range that _most_ TVs are anyways"?
Answer: There is. I implemented a kernel patch that use the famous: "Video Range 16:235" without touching anything. How does it do this?
- Signal Limited in the info frames (which most TVs are and all video content also is)
- Don't touch the colors that are input
This patch _is_ in OpenELEC since several months. And until the patch, which btw. only enabled this on Intel hardware, was dropped - the kernel automatically was in the correct mode. The only thing the user had to do was:
Tick "Use Limited Range" to on, if the TV is in Limited Range. Or tick it "Off" - if not.
As most TVs are in limited Range by default - I ticked that setting "default" to on. In that combination most intel users had a perfect setup out of the box.
Issues with that approach:
- Nvidia users would have had "Use Limited Range" by default, too .... which is not what they wanted
So, what is missing:
- A simple LibreElec / OpenELEC integration patch that toggles the "Use Limited Setting" dependend on:
a) Is the Video Range 16:235 mode used?
b) Did the user disable it by self and we should not automatically set it.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Posts: 1,143
Joined: Mar 2013
Reputation:
20
So for newbie like me #731 build is the best to achieve best video quality ?