Dolby Vision - VS10 Engine on Ugoos AM6+

There is something else wrong with your set up, I use CE with TV Headend and a Quad Satip tuner as well as a DVB-T2 quad IP tuner just fine. My request is to allow SDR content to be blacklisted from VS10 if it is 25/50hz but whitelisted if it is 23/24hz.

My TV has 4K modes of 25 fps and 60 fps, but there is no 50 fps mode. every time I play DV video of 25 fps and 50 fps under this version of CE, it will automatically change to Player Led Dolby Vision mode at 60 fps,even if I set “Settings->System->Display->Refresh Rate” to 25Hz, CE will still switch to Player Led Dolby Vision mode at 25 fps when playing these videos. Similarly, when playing HDR10 and HLG 4K videos of 25 fps and 50 fps, the CE will automatically become 60 fps output too, maybe is this a tiny bug ?

ps. When playing videos of 24 fps, this CE is absolutely correct . my CE is set to switch fps automatically and “Settings->System->Display->Refresh Rate” is always 60Hz.

https://wiki.coreelec.org/coreelec:ce_support

I’m amazed by the SDR8/SDR10/HDR10 → DV mapping done by the VS10 engine. I honestly did not think it would be so great. It seems to compensate for inherant drawbacks of projectors (compared to OLED screens)

  1. Configure in player-led HDR mode thanks to the cpm VSVDB build (so it even works on non-DV projectors) → EDID Override - Injecting a Dolby VSVDB Block - #94 by cpm
  2. color is a little bit more saturated than in pure SDR but it still ok, so you need to do a fine HDR calibration to avoid too much saturation.
  3. If min and max lum are well configured through EDID / VSVDB injection (check the VSVDB thread for excel EDID generator), you can then look for the projector max contrast value that still keeps details in brights spots. In my case I have set a fixed number and I don’t have to touch it anymore (set and forget → it was not the case with pure HDR10 signal).
  4. HDR10 challenging material with crushed brightlights are now completely well managed and profit from the VSVDB induced fine tuning (especially on projectors I guess). Though I might be biased by my projector’s HDR10 tone-mapping which I think was pretty bad.
  5. With SDR->DV conversion, perceived contrast is improved on projectors : In other words, there are less cases in low light scenes where blacks seems grey. I don’t know how they did it but it’s near magic :wink: I think it’s mostly due to highlights beeing brighter in SDR->DV conversion.

It might even be superior to embedded DTM in JVC projectors. I would be interested to know the result of such a comparison.

2 Likes

Is your TV LG B6/C6?

Latest test version can be found here:

3 Likes

This build is amazing, thank you @cpm

1 Like

Doing some testing right now. Per suggestions, I created a new CE on a microSD card and went from there. Original CE is dual boot from the eMMC.

Not sure if it’s just me, but PGS subtitles appear dark or dim in TV-led DV content (didn’t test player led). They’re ok on SDR content though, even when set to SDR10.

Edit: Downgraded to 05/15 version, subtitles much brighter on DV content.

Edit 2: Tested 25fps content, 4K HDR → 4K DV using VS10. No issue on my LG G2.

The OSD (On Screen Display) plane is where all the Kodi menus, Player Controls, Subtitles are drawn and shown.

There are a couple of options to change the luminance of this plane.

  • CE Kodi GUI recently had an upstream merge for a new HDR GUI Luminance slider - where Kodi knows the content playing based on the content meta data (not so well in the case of VS10) and then lowers the luminance for items it is generating and being written to the OSD, so you can play with that slider in the settings and see what you like.

  • CE AMLogic Linux also has a max luminance for the OSD as a whole, because of the DV On settings i.e. DV in the menus, I lowered this to 100 cd/m2 (nits) otherwise would need sunglasses for the menu in a dark room :laughing: so may also have an effect here.

If you are having no luck with the first option then can use a command line to adjust the 2nd - was going to add a slider for that also in the UI settings, but most users would probably find that too confusing, I guess for these devices though that one slider for the AMLogic side is probably a better approach and remove the first adjustment (slider) from the Kodi side.

BTW one reason I understood why PGS are graphics are they are actually graded already to the content, so for those probably needs different handling in general - compared with generated subtitle text which is not graded unless Kodi is being super clever.

FYI The AMLogic side also used to adjust the OSD luminance based on content before I fixed it to 100, it knows better the real mode it is in e.g. VS10 so any slider should ideally adjust on top of those content based max values as a percentage, and when in the kodi menu only can fix to 100 maybe.

1 Like

I’m interested in this as I noticed that PGS subs are too dark on the May 29 nightly, even with the Kodi GUI slider set to maximum. So far I’ve tested that on HDR10 mkvs played to an HDR display, using an Ugoos AM6B+.

The Vero V does this much better, with similar brightness to disc playback, both from launch of the device on K20 and now on the K21 test build (they don’t have the GUI slider yet). At present, the Ugoos/CE combo is as bad as the V4K for PGS sub brightness (I understand the V takes advantage of a separate presentation layer in a way that was not possible on the V4K).

Would be great if this could be fixed for the Ugoos via a CE update.

1 Like

As PGS subs should be graded to the content already, probably best those are not touched for luminance (or at least on a separate config to the UI and self generated subs).

I.e. Kodi cannot just set a general max luminance across the whole OSD, it needs to treat PGS differently (or possibly boost PGS up first to be then be reduced as a whole on the OSD - but that is more a hack and likely have some corner cases.)

One way or another need all the elements balanced on the OSD.

Doing on the Kodi side means though it also needs a better way than looking at the content type to determine what to do, it needs to be informed the mode (SDR, HDR [HLG, DV, 10, 10+]) from the display.

  • Kodi to correctly balance all elements on the OSD.
  • Kodi to use knowledge on the displays mode, to apply the max luminance, not the content type.

interesting, appreciate you’ll have much more tech knowledge on this than me!

I have tried several Kodi platforms with PGS subs from HDR mkv files, and the only one that gets the brightness correct is the Vero V. Infuse on the ATV also does pretty well.

Don’t be fooled by apparent tech knowledge, I am a relative newcomer :slight_smile:

Last November I was happily going through life with very little knowledge on all this.
I decided I wanted to convert my UHD BluRay and have them on a NAS mainly to save physical space.

I was absolutely amazed in 2023 that there was no device that appeared could play the resulting mkv correctly, but went with infuse on ATV and was going to call it a day at that (nice interface - but lacking audio height channels and p7 FEL)

But the lack of those things was stuck in the back of my mind, so went off to see if could do something about it - initially found the Monsoon Kodi build - and the craziness of the dev not sharing the source - started reverse engineering that (probably a fruitless task but a challenge) then CE came out with a p7 FEL semi working build so started following the progress of that.

By Feb that looked to have traction and so I got to grips with Ubuntu and GitHub, dusted off my C and C++ knowledge, and got the source compiling.

CE has some strong structures and not too complex to grapple with if you have a dev background.

The whole tv-led thing felt like a big mistake to me - no way Dolby would sign off on the SoC DV implementation if it just did it wrong and even stranger that actually a blank RPU was being sent to the display, so seemed likely a software problem - as it turned out to be.

Since then being thinking about things I would like and implementing and sharing - I hope some more can make it into the official builds.

Overall don’t underestimate what you can do if you put your mind to it, read up and learn if you have an interest, everyone is learning all the time :slight_smile:

10 Likes

From various sites, it seems that PGS can have a DoVi metadata. I would guess that Kodi does not pass that information to the DoVi engine. There was one user on the OS MC forum who reported that Godfather had gold subtitles on an Oppo, but silver on the OS MC device.

https://discourse.os mc.tv/t/pgs-subtitles-appearing-dark-grey-in-hdr/92829/26

2 Likes

Tried this build for the first time, big thumbs up and thanks for the work done on this. Getting excellent SDR conversion into my ancient Panny plasma. My DV mkv’s seem to be especially good, or is that my imagination? HDR10 sources also very good, occasionally found one (e.g. Thor) that is a touch dark, but overall the level of colour, contrast and sensitive handling of highlights within a very limited available brightness range of the display is really outstanding.

1 Like

Interesting! do you have a github ?

I’ve been trying out the SDR-to-DV conversion, and for much of my library the results are excellent, and I would not want to live without this now that I’ve seen it in action. With good HD sources the results can be outstanding. Fortunately, my Panny OLED has been happy with DV at all refresh rates that have been thrown at it. Sometimes, noise can be more obvious (e.g. opening shots of BBC Pride and Prejudice episode 1 - blu-ray source - the noise in the sky is much more obvious in DV), but overall this gives me another reason for the Ugoos to be indispensable, hope this makes it to the main build at some point.

I briefly tried HDR10 to DV but found this to be less successful, with noticeable loss of brightness without any obvious benefit, but others’ mileage may vary.

SDR to DV is definitely fun to watch; but I have a little different preference. I think HDR → DV is very good, but less so SDR → DV. VS10 is essentially a chroma upscaling engine. It can either upscale both gamut and bit depth, or just bit depth on SDR content.

On the SDR to DV conversion (both gamut and bit depth upscaling), the way it handles light reflections is a bit distracting (imo). Things like glints/gleams in eyes looks a bit too harsh; reflections look internally illuminated and over white rather than the softer source.

In this case, I think the conversion from rec709 to DV gamut is a bit too drastic and raw. On SDR content, I prefer only bit depth upscaling, but no chroma upscaling, setting VS10 to output into SDR10 instead. You get increased richness of color, but still keep the original rec709 gamut without transforming into the DV gamut.

On HDR to DV, the conversion of bt2020 gamut into DV is much less drastic, and I think handled more elegantly. Bt2020 is a much newer gamut, and the transition to DV is a smaller step. The DV output (both gamut and bit depth upscale) is very nice without the white saturation.

Of course there is no right answer here and the above is preference, but I find SDR10 output is the sweet spot for SDR content. Still fun to watch, but less saturated vs outputting to DV.

interesting feedback, will experiment further. I’ve certainly found some SDR content where conversion to DV gives a false-looking image with harsh highlights, but it tends to be SDR content that is not so good quality. I’ll check out SDR10 to see how it compares.