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

We’ve been working on a few improvements to further improve the HDR and video playback experience on Vero 4K / Vero 4K +. We need some testing and feedback before we can integrate these changes in to OSMC.

Some key improvements:

  • Added support for automatic colour space switching without having to set 10-bit manually or enable HDR autoswitching in Kodi.

If you’ve enabled 10-bit output or you are using the HDR auto-switch option, you should disable this before testing this kernel. We should now be able to switch colour space appropriately based on the display’s advertised capabilities without manual configuration.

  • Improved picture quality for some HDR content. After some discussion, we’ve found some scenarios where HDR content will appear to be too dark on OLED TVs. This seems to occur when the video is muxed in a way that prevents the mastering data from being stored properly. We now use a more sane fallback and inject static metadata in such a scenario.

Coco was a film that was reported to be particularly improved. We continue to work on improving support for HDR content.

  • Fix an issue with YUV → RGB conversion when a file is encoded with the full range flag. This affected some HEVC content and caused crushed colours for some users

As an aside, this kernel also contains some improvements for the Gigabit Ethernet interface found on the Vero 4K +.

To test these improvements, you can run the following commands via the command line

wget https://collab.osmc.tv/s/DKFOE1k8H4QuuCq/download -O /home/osmc/kernel.deb
sudo dpkg -i /home/osmc/kernel.deb
rm /home/osmc/kernel.deb
sudo reboot

Many thanks to @grahamh for his assistance.

Cheers

Sam

Edit: to revert if things don’t work out:

wget http://apt.osmc.tv/pool/main/v/vero364-source-3.14.29-119-osmc/vero364-image-3.14.29-119-osmc_119_arm64.deb -O kernel.deb
sudo dpkg -i kernel.deb
rm kernel.deb
reboot
1 Like

I’ve re-added the instructions — had to do a quick rebuild.

I’ll try it with some HDR rip I already own…do you need anything in particular? Anything to pay attention?

Just play a range of stuff and see what happens. If yr TV reports bit-depth, check it’s right.

WARNING: we are getting some issues playing HDR material through non-HDR equipment. Testers may wish to wait till we’ve bottomed that out.

I’ve tried some HDR stuff, 10bit, with latest Kodi 18, HDR autoswitch disabled.
It’s looked pretty good to me, I don’t know how to check color bit-depth (I own an OLD LG C8 series, if it would help you to help me with it, with Vero 4K+). It switched to HDR preset automatically as expected.

1 Like

Looking really good to me…

Vero 4k → Yamaha AVR3079 → JVC X5500 Prj

Disabled 10bit 444 in rc.local and HDR auto switching.

Tried various samples of the following:

10bit 4k HDR : All good :smile:
10bit 4k SDR : All good :smile:
8bit 1080p SDR : All good :smile:
8bit 720p SDR : All good :smile:

Projector reported correct HDR and bit depth in all cases so far. Colourspace is a bit harder to tell on my device… but it looked right in terms of colours not too washed out or vivid.

Good job guys!

2 Likes

I’ve had banding issues for a while now, and been waiting for the next release to fix things.
I’ve got 2018-08-2 installed now, but 4k HDR content still has banding.
I installed the kernel referenced in this thread, but still getting banding.

My setup is Vero 4k -> LG B6.
HDR auto switching is off. I’ve never configured 10bit explicitly.
TV switches to HDR when the video is played.

Playing the same content via DLNA using the TV’s player shows now banding.

Please can you play some content and post a debug log?

Cheers

Sam

Here’s the log: http://paste.osmc.io/pazujasexu

I have also had two instances of the video signal dying since installing this new kernel:
kodi.log says:
13:10:15.382 T:3070227200 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
13:10:29.784 T:4074730064 NOTICE: VideoPlayer: Opening: /file.mkv
13:10:29.784 T:4074730064 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
13:10:29.784 T:3654165248 NOTICE: Creating InputStream
13:10:29.842 T:3654165248 NOTICE: Creating Demuxer
13:10:30.002 T:3654165248 NOTICE: Opening stream: 0 source: 256
13:10:30.002 T:3654165248 NOTICE: Creating video codec with codec id: 28
13:10:30.004 T:3654165248 ERROR: Unable to load libamplayer.so, reason: libamplayer.so: cannot open shared object file: No such file or directory
13:10:30.004 T:3654165248 WARNING: CAMLCodec::CAMLCodec libamplayer.so not found, trying libamcodec.so instead
13:10:30.008 T:3654165248 NOTICE: Creating video thread
13:10:30.008 T:3654165248 NOTICE: Opening stream: 1 source: 256
13:10:30.008 T:3654165248 NOTICE: Finding audio codec for: 86018
13:10:30.008 T:3019895552 NOTICE: running thread: video_thread
13:10:30.010 T:3654165248 NOTICE: Creating audio thread
13:10:30.010 T:3028284160 NOTICE: running thread: CVideoPlayerAudio::Process()
13:10:30.020 T:3028284160 NOTICE: Creating audio stream (codec id: 86018, channels: 2, sample rate: 48000, no pass-through)
13:10:30.042 T:3019895552 NOTICE: CAMLCodec::OpenDecoder - using V4L2 pts format: 64Bit
13:10:42.142 T:3019895552 WARNING: CRenderManager::WaitForBuffer - timeout waiting for buffer

After rebooting I can play the same video.

Can you post a full set of logs please? This doesn’t really give us much to go on.
Also enable debug logging please.

Is there a way to turn off the screen overlay when debug logging is enabled ?
The video signal has cut out once more (3 total), but it doesn’t happen predictably, and I don’t want to have the screen overlay constantly.

I don’t think there is.

Hi zb3NHgbUD,

https://kodi.wiki/view/Log_file/Advanced#Turn_on_debugging_using_a_file_.28advancedsettings.xml.29

Change the log level to 1, in advancedsettings.xml

Thanks Tom.

There is a new kernel now available which will resolve some of the reported issues.

You can follow the updated instructions in the original post.

Cheers

Sam

Thanks @Tom_Doyle , I’m getting DEBUG logs, but without the overlay.

I’ve also installed the new kernel. I’ll see whether the video signal dies again.

The banding in the 4K HDR file is still there, unfortunately. @sam_nazarko are you asking for the full set of logs in relation to the banding as well, or only the video signal dying ?

I did previously apply some of the patches that @sam_nazarko posted. When I look in /etc/rc.local, I see that there is: echo ‘444,10bit’ > /sys/class/amhdmitx/amhdmitx0/attr
In there, and /sys/class/amhdmitx/amhdmitx0/attr does have 444,10bit.

Looking at /sys/class/amhdmitx/amhdmitx0/disp_cap I see:
480p60hz
576p50hz
720p60hz
1080i60hz
1080p60hz
720p50hz
1080i50hz
1080p30hz
1080p50hz
1080p25hz
1080p24hz
2160p30hz
2160p25hz
2160p24hz
smpte24hz
smpte25hz
smpte30hz
smpte50hz
smpte60hz
smpte50hz420
smpte60hz420
2160p50hz
2160p60hz
2160p50hz420
2160p60hz420

So I guess 444 is not supported by the LG B6.

I commented out the explicit 444,10bit setting in rc.local.
Rebooted, started the video. /sys/class/amhdmitx/amhdmitx0/attr is empty, but banding is still there.

What to try ?

I need full logs when you see banding.
Banding was fixed some months ago so this is particularly interesting

Sam

When I start the 4k HDR video, I see in dmesg:
[ 43.966036] codec: Colourdepth set from stream as 30B in para 0x01e4bbc8 (3840x2160p60hz)
[ 43.966038] codec: Colourdepth in stream changed to 10
[ 43.966040] codec: Colourdepth set from stream as 5 in cur_param 0x01e4b6c0 (VIC: 353)
[ 43.966049] codec: Bit depth: 10-bit, Colour range: limited
[ 43.966057] codec: Master display colours:

But in /sys/class/amhdmitx/amhdmitx0/config it’s still 8-bit:
cur_VIC: 353
VIC: 353 3840x2160p60hz
Colour depth: 8-bit
Colourspace: YUV420
Colour range: limited
EOTF: HDR10
PQ colour range: limited
audio config: on
3D config: off

And I still see banding.

If I echo 444,10bit into attr, and restart mediacenter, I then see 10-bit in /sys/class/amhdmitx/amhdmitx0/config, and playing the video then, the banding is gone.