Dolby Vision - VS10 Engine on Ugoos AM6+

This fix is working great! I haven’t had any wrong colours at all after testing for a while :slight_smile:

One minor thing I have noticed is that the DTDL FEL support added by the CE guys a couple of days ago isn’t working with the VS10 build - the files play in HDR10, or VS10 if I turn on “Dolby Vision” for HDR10 in the settings, but the FEL definitely doesn’t work (whereas it does work on the latest nightly). It’s not a showstopper for me at all, but just thought I would mention it!

That DS9 MPEG-2 remux file playing perfectly now.

Also no problem getting right colors when stopping VS10. Looks to be very stable.

Will test some other formats later today, AVI, VC-1.

No problems anymore with colors here to ( llldv) great work as always cpm .

@DMDreview

I’ve always been interested in how well VS10 PQ compares to native DV.

Basically find content with native DV and SDR version. Use VS10 to output DV from the SDR version, and compare to native DV version. Also would be interested in HDR → DV picture quality. How close does VS10 get to native DV using the HDR source.

Not sure if you had any comparisons like this, or if you have interest in making some content to compare. The only thing I know of is this thread with some screencaps from nature content:

https://forum.zidoo.tv/index.php?threads/review-zidoo-z9x.82545/

But it is comparing VS10 to HDR and native HDR. I think more relevant would be VS10 to DV.

1 Like

On the subject of testing was looking at the parameters for amvideo for the scaling.

Really not sure what these do but @DMDreview if you want to check, can try the following:

move to the parameters dir:
cd /sys/module/amvideo/parameters

list out all the current parameters:
grep "" *

things to try - again very unsure about these:

echo 8 > vert_scaler_filter
echo 8 > horz_scaler_filter

echo 8 > vert_chroma_scaler_filter
echo Y > vert_chroma_filter_force_en

echo 5 > horz_scaler_filter_8tap

/* vpp filter coefficients */
#define COEF_BICUBIC 0
#define COEF_3POINT_TRIANGLE 1
#define COEF_4POINT_TRIANGLE 2
#define COEF_BILINEAR 3
#define COEF_2POINT_BILINEAR 4
#define COEF_BICUBIC_SHARP 5
#define COEF_3POINT_TRIANGLE_SHARP 6
#define COEF_3POINT_BSPLINE 7
#define COEF_4POINT_BSPLINE 8
#define COEF_3D_FILTER 9
#define COEF_NULL 0xff

#define COEF_BICUBIC_8TAP 0
#define COEF_LANCZOS_8TAP_A2 1
#define COEF_LANCZOS_8TAP_A3 2
#define COEF_LANCZOS_8TAP_A4 3
#define COEF_MITCHELL_NETRAVALI_8TAP 4
#define COEF_BSPLINE_8TAP 5

reboot to reset to baseline
Looks like need to stop and start video to take effect. - some setting combo will send the video red so doing something!

In some versions of Kodi the scaling algorithm is user-selectable. It is an option in the menu while video playback is occurring. In CE I always assumed it was set to “auto”. Can see the menu here in this screenshot with the different scaling methods:

https://kodi.wiki/view/Video_playback#Video_Settings

I have no idea if this is the right place in the code, but there are some methods here:

Maybe this could be restored back into CE? Default as Auto still.

I think these are software scaling algorithms.

I’m also very interested in this, particularly the HDR10 to DV situation.

@cpm

Do you think there is any hope for bt2020 sdr bug?

Setting VS10 to sdr10 makes it play in SDR, but bt709. Wonder which is more closer to original look.

I’ll make that comparison most likely. Although I’m not really interested in this function. But I think many people will be interested to see the difference VS10 vs DV.

1 Like

Thank. I will try it

I found little bug.
There is a TV with only HDR support. If Vs10 for DV is set as DV output, then any video containing DV (P8, P7, P5) will be played incorrectly, trying to output as tv-led rgb 8bit, instead of using HDR layer, settings for switching DV variant are absent in the menu, because EDID does not know DV.
At the same time if I switch vs10 dv to HDR. DV P5 starts to display correctly, i.e. it is converted and output as normal HDR10, this is fine. DV P8 also works correctly, but here P7 DL ST MKV will be output incorrectly, with ITP colors (green-purple), although the signal goes as HDR10 bt2020.
Connecting to a TV with DV and switching DV to LLDV mode and again connecting to an HDR TV does not change the situation.
I would like vs10 for HDR TV to work adequately.
Still the ability to watch DV 5 profiles, and other formats right, it’s versatility. Let for DV we can not do tonemapping through Vs10, but let at least output HDR layer for P7 in mkv (m2ts with dt-dl outputs correctly as HDR).
P.S. On TV with DV support, even if we enable vs10 DV to HDR, everything works correctly.

I did successfully isolate HLG HDR away from SDR10 bt2020, but later in other code it just assumes that SDR should be bt709 and by then had kind of lost it’s origins so would not be sure if actually it should be bt709 or bt2020 - it was getting too much to change everything and correct the whole flow - maybe when someone “finds” a dovi.ko that works with the newer 5.15 kernel can check again - maybe they have improved things since 4.9.

On the subject of the dovi.ko was thinking to just email the AMLogic maintainers - as to if they cannot just make available dovi.ko built for all their kernel versions somewhere, not like they need to expose the source and people cannot use them unless using the rest of their stack.

I guess it comes down to Dolby Labs and if they certify at the SoC level or insist on certifying at the OEM level (e.g. Ugoos/Minix etc).

1 Like

Thanks.

I did try to display the VS10 options in the UI when the sink/display is not DV capable but the device is DV capable. Note: would need to do a fresh reboot of the device in such a setup, flipping between EDID on the fly would cause issues. But sounds like not working - maybe will find some time to hook up to a HDR monitor I have to dig deeper.

For the options of → DV when connected to an HDR monitor etc. that is technically possible to suppress with dynamic UI options (and only allow up to say HDR10) but not something I have looked further into - want to wait for the CE team to see what options they want to provide, at present just need to ignore the → DV options and pick something else when hooked up to an HDR monitor.

Note: not related to your comments but something people may not appreciate - the development cycle is quite involved for CE any simple/trivial change just to try something is a 15/20 minute compile / copy files / upgrade CE task so for “unknowns” where just trying things out it soaks up large amounts of time.

how fast! unbelievable! many thanks again!!

how are you already testing it? I have the latest ce update from yesterday for my am6b+ but no vs10 setting to activate

I would help with testing

Still waiting on the CE team how they want to integrate, don’t think anything for VS10 is in the mainline builds yet (i.e.nightly) - would guess taking a well deserved break after the marathon efforts around DTDL.

If you want to test the recommended way is to use another sd-card, follow the usual steps to load that with the latest CE nightly or stable version and then upgrade that with the file I uploaded to mega (check previous posts).

1 Like

and I can boot from a 2nd SD and customize and test - and if I put in the first one I have my kodi back?

This is how it has worked for me, (not yet bothered with the internal storage as just running a minimal setup for my critical DV/Atmos/DTS-X watching and now some VS10 - rest of the time the family is just using Apple TV for streaming and use Infuse for other content) - if you want more assurance then I am sure one of the “regulars” will opine on the install options open to you in more detail :slight_smile:

As for converting DV to HDR10 with tonemapping, most likely you need to connect EDID from DV and have HDR10 flag on the output. As it is done in HDfury vertex. Fake lldv device with EDID necessary and then after tonemapping, when the output is actually DV, it is set the flag HDR. As a result, the TV sees the signal as HDR10, but with tonemapping for a certain brightness.
At the same time, you have to take into account the capabilities of the TV to do color compression correctly, the idea itself is interesting, but the complexity of matching the edid used and the edid of the TV itself is not so easy. So maybe it’s not the most necessary feature.
But yesterday I checked the work of HDR-VS10-DV conversion with my eyes. And the results at first glance on my TV are excellent. The movie Oceans twelve. PQ4000, the original has only HDR version. And when watching on LG CX (max 630-680 nit) bright details, which are a lot in the movie (800-900 nit), just turned into a white spot, but enabled HDR to DV conversion and details were restored, and I did not notice any distortion of brightness at the bottom of the range. I’ll investigate later, but the fact is that the HDR-VS10-DV option is definitely useful for watching PQ4000 movies on TVs with less than 700-800 nit brightness.

On my second TV 77s90c (HDR/HDR+) this movie looked good and details were not lost when High mode was set for peak brightness. But I do not like such a high brightness, it is unpleasant to watch in a darkened room, but if we put the mode of medium peak brightness on the S90c, the details are lost and they can not be restored. At the same time when watching with DV conversion on LG CX, I could calmly reduce the peak brightness of TV to low and the visibility of bright details was preserved.

1 Like

@cpm you havn’t found any ssh command to force display to lldv 1080@50 without video playback running?