[TESTING] Vero 4K / 4K + video improvements

I get this problem with both test & release kernels. «444,10bit» mode, autodetected or forced, leads to ‘no signal’.

PS: I’ve got an answer! LG OLED C8 supports 4:4:4 10bit input ONLY when corresponding input is in «PC mode»!

… and I’m guessing the problem only applies to 24-30Hz streams. 50/60Hz should send 4:2:0 at 10bit.

So is that something you can just set on the TV, or do we need to signal it? It would have to be user-configurable so it didn’t screw up other ppl’s viewing.

It’s a mode you can switch selected HDMI input on modern LG OLED TV (2017/2018yr models, i presume). TV HDMI input in this mode also becomes able to handle not only YCbCr 4:4:4, but also RGB 4:4:4 input from PC.

Bonkers! Flagship HDR TV needs special setting to play HDR. :roll_eyes:

For reference, could you post the output of cat /sys/class/amhdmitx/amhdmitx0/rawedid for your TV in normal mode and PC mode.

Modern 4K HDR titles do not need 4:4:4 anyway, all of them are 4:2:0 encoded. Why to mess with uncommon colorspaces? Why to do unnecessary conversion? 4:4:4 is only for PC/*-Box/SPS (say ‘games’).

The files are 4:2:0. HDMI does not support 4:2:0 except at 4kp50/60, so sources must output 4:4:4 (usually YUV but RGB is mandatory).

Outputting YUV 4:2:2 is much more common than 4:4:4 for HDR.

I own a 2016 LG OLED TV. It can handle 4:2:0 or 4:2:2 HDR signals just fine without engaging PC mode.

Later models may work differently, but engaging PC mode on mine is bad news: it disables a number of the standard image processing options, which causes all kinds of problems.

You mean across different devices? Maybe we will default to that, then. Thanks for the info.

Exactly.

Why not to go 4:2:2?
Meanwhile, no LG, no Samsung. no Sony TVs up to 2018yr models can’t support 4:4:4/10 in standard mode, only in ‘PC mode’(‘Graphics’ mode in SONY TVs) with all picture processing disabled — no TruMotion, etc. That’s it — «flagship HDR TVs», as you’ve said.

Hi – do you have a source for this?

Cheers

Sam

YUV 4:2:2 is the most common format for source-to-display video information for almost all formats - or at least it is in the realm of consumer AV. PCs and monitors generally use full-range (0-255) RGB, but blu ray players and TVs use limited range (16-235) 4:2:2 YUV.

4:4:4 YUV is also used by a fair number of devices for resolutions up to 1080p; and (less often) 4:4:4 can be used for 4K SDR rec.709.

But for 4K 10-bit HDR rec.2020, 4:4:4 is almost unheard of. Your options are generally 4:2:0 at 50 or 60Hz only, or 4:2:2 at any refresh rate. (You may possibly need to convert from 10-bit to 12-bit too - that varies).

Anyway, 4K HDR 4:4:4 is very rare, hence why you have to put TVs into a non-standard mode to handle that signal.

I feel like this thread caused some confusion. 4:4:4 10bit with 4k HDR @ 24hz works on the LG OLED without having to engange any PC mode. 4:4:4 10bit with 4k HDR @ 60hz does not work on the LG, which is expected because HDMI 2.0 spec says so.

This is from @The_Chief’s debug log which is a clip he could not play:

Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)

My apologies, this must be a weird issue with the C8 then. The C7 works as described.

4:4:4 is a better mode for 24hz as you don’t need to convert 10bit to 12bit. On another note 4K REC709 is still being output as BT2020.

You will have to remind me where this was reported.

Hi Graham - here:

Thanks. Things have changed a bit in the last 4 months. Can you post a debug log and mediainfo for your 4k rec709 vid? With this testing kernel installed.

I’m having problems on my new Vero4k+ with Live TV stuttering when using this kernel. I would like to revert to the stable kernel to see whether the problem persists, since I dived straight into using this test build as soon as I received my Vero4k+.

I used the instructions at the top of this post to revert…

However, are we sure this link is correct: http://apt.osmc.tv/pool/main/v/vero364-source-3.14.29-119-osmc/vero364-image-3.14.29-119-osmc_119_arm64.deb

Only reason I ask, is that before reverting, my kernel was reported as:
osmc@vero4k:~$ uname -a
Linux vero4k 3.14.29-119-osmc #1 SMP Wed Sep 5 19:09:21 UTC 2018 aarch64 GNU/Linux

And after reverting, the exact same version is showing:
osmc@vero4k:~$ uname -a
Linux vero4k 3.14.29-119-osmc #1 SMP Wed Sep 5 19:09:21 UTC 2018 aarch64 GNU/Linux