The only problem I see here is incorrect scaling in one of the YCbCr to RGB or RGB to YCbCr steps when the source content has full range flag. It passes super black (0-15) and super white (236-255) for source contents that have limited range flag, but acutally have super black and white (eg. a test pattern). The problem is when it detects a full range flag. if you can have that ignored, I think the output will be fine.
Hi Sam,
Enjoy your well-deserved holiday.
Iām going into hospital on Friday, and will be in for a few days at least - colourspace issues can certainly wait!
Take care,
RR
Hi wesko5,
If the vero 4k can output the 8-bit full colourspace files in the same manner as the Pi, in terms of visuals (rather than how itās achieved technically), thatād be fine.
The compressed low and high-end colourspace isnāt noticeable (although even an overclocked original Pi 3, with decent cooling, struggles in terms of framerate on busy 1080p files with decent bitrates)
Regards,
RR
All the best for that!
Thank you Wuschel_Wuschel, thatās very much appreciated
All the best of luck indeed.
Thank you Sam, thatās most kind.
Okay. I need to work out in the chain this issue occurs then.
I probably asked this before (apologies); does disabling HW acceleration resolve the issue? I know it may not play back smoothly but this would be useful to know.
Sam
Itās the same with HW acceleration disabled. LE 9.0 nightly on S912 shows similar issue. Xiaomi Mi Box (Android Oreo) is the only Amlogic box that shows correct levels (with 16-235 clipping). If you disable HW acceleration on the Mi Box, the output is same as seen on other Amlogic devices.
Hi Sam, Wesk05,
Iām finally back out of hospital. Nightmare.
Have you had any chance to further investigate the colourspace issue with 8-bit hevc files?
Many thanks in advance
Hopefully you are back on the mend.
I am back from holiday on 13th July, which realistically means Iāll be getting back to things on the 14th (Saturday).
Sam
Hope you had a terrific holiday Sam.
I did thanks.
Sam
Thatās good to hear
Hi,
Unfortunately after more than two months Iāve still not found a way to play back the majority of my 8-bit h265 encoded files.
Does anybody think this colourspace problem is fixable on the Vero 4K? I really hope so, as itās a tremendous device, this issue aside.
Thanks
Hi,
I am working on (first reproducing, then fixing) as we speak.
Sam
Whilst this is welcome news, working this late on a Sunday? I wouldnāt ask that of anybody Sam. Please enjoy the remainder of the weekend.
Hi,
Iāve had a chance to look at this. AMLogic (SoC vendor) state that full range HDMI TX output shouldnāt need to be toggled manually as it should be set automatically to match the colour range of the video being played. Iām still investigating why that isnāt happening, but in the interim I have produced a new kernel which should always send full range video output. I would appreciate it if you could test this and confirm if weāre moving in the right direction.
You can run these commands via SSH:
wget "https://collab.osmc.tv/s/G6cUokkBI4WajGd/download" -O test.deb
sudo dpkg -i test.deb
reboot
Cheers
Sam
This worsens the problem. Now limited range video has black level 16 output as 30 and for full range 16 is output as 45 and 0 as 30. See post below.
All I did:
diff --git a/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c b/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
index 7bc1bc1..8a2864a 100755
--- a/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
+++ b/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
@@ -4589,7 +4589,7 @@ static void config_hdmi20_tx(enum hdmi_vic vic,
hdev->HWOp.CntlConfig(hdev, CONF_AVI_BT2020, SET_AVI_BT2020);
data32 = 0;
- data32 |= (((0 == COLORRANGE_FUL) ? 1 : 0) << 2);
+ data32 |= 1 << 2;
data32 |= (0 << 0);
hdmitx_wr_reg(HDMITX_DWC_FC_AVICONF3, data32);
This should always force full range I think.