cpm-code / xbmc

Other
21 stars 4 forks source link

YCC colour range: limited #24

Open KyleSanderson opened 14 hours ago

KyleSanderson commented 14 hours ago

Bug report

Describe the bug

First off sorry for being annoying. I think there's a bug here, previously (kernel 3.14) you were able to get "full" range by setting echo full > /sys/class/amhdmitx/amhdmitx0/attr. It's since gotten a little more technical, but /sys/devices/virtual/amhdmitx/amhdmitx0/config renders out YCC colour range: limited.

It looks like this is restricted to tv-led dolby vision at the moment, which might not be what people want when the source is DoVi and it's being sent over other outputs (HDR10 - where the source is typically not full, but in this case it is?).

https://github.com/cpm-code/linux-amlogic/blob/0eef35b7df198c3a08ca78404f3414d22070950e/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c#L2032

Is this a fools errand? My panel supports full, and it's stuck on limited right now through "auto".


cur_VIC: 32
cur_video_param->VIC=32
VIC: 32 1920x1080p24hz
Colour depth: 12-bit
Colourspace: YUV444
Colour range: default
EOTF: HDR10
YCC colour range: limited
Colourimetry: BT.2020nc
PLL clock: 0xdb1504b9, Vid clock div 0x000a78f0
audio config: on
audio on/off: on
audio source: SPDIF
audio type: Dobly Digital+
audio channel num: 2 channels
audio sample rate: 192kHz
audio sample size: 16bit
3D config: off```
cpm-code commented 12 hours ago

For TV-LED Dolby Vision - which in this case is using a DV Tunnel - you can effectively ignore what it says about the HDMI as not relevant, the relevant info is in the metadata embedded into the image, and the processing at the TV end on that metadata.

I added the colour range: tv aka limited, and pc aka full on the player process info for the source material, in the DV P7 case this is the base layer info.

When using LLDV do you see it set to full? and saying in Player Led (HDR) it is set to limited?

KyleSanderson commented 12 hours ago

Both Player Led (LL-DV) and Player Led (HDR) is YCC* colour range limited. I don't have my EDID bit editor anymore, but it looks like it's always set to limited in code unless if it's TV-Led DoVi.

I don't see the item in Player Process Information, but I can confirm the signal is indeed limited to my panel on A5.

Colourspace is the only thing that changes between DV-LL and HDR10 (YUV422 vs YUV444).

cpm-code commented 12 hours ago

Pretty sure I cannot help here, and don't really understand the issue and what it should be if there is one - sounds a bit beyond my understanding.

FYI, the Player Process Info (Video Colour) has the source material range as the first item "tv" or "pc". (I think coming form ffmpeg in this case)