Dolby Vision for Minix U22X-J (Max) and Ugoos AM6+

I reset the player and ran the video tests again.
The problem from my video, with the playback error and throwing in the menu, is on videos made using mkvmerge v78.0 (‘Running’) 64-bit. I checked several times, this is a stable error and checked many other DV videos, the problem is with this version, although a coincidence is possible, of course, but most importantly, the problem is only when switching chapters, if you do time travel, + 30 sec and so on, then there is no bug with throwing out in the menu.
And judging by the naming of the chapters, the problem is due to incorrect encoding, i.e. I have indicated that the chapters are called in English, but in reality, for some reason Russian is there.
Therefore, this is not a Coreelec problem, but either mkvtoolnix or mkvmerge when I distilled from bdav.

Once again, I made a small comparison with Oppo with TV-led output, on several videos from FEL and MEL. there is no difference, more precisely, it is only in different color interpolation algorithms, Oppo uses the nearest neighbor from 420 to 422, so its color transitions are a ladder.
The clarity of the brightness channel and the brightness range are transmitted to the TV the same as in oppo. It remains to compare whether there is a difference in the RPU of the data that is transmitted to the TV, but I think there should be no difference.
And with the output mode turned on, for example 1080p 30 fps, I consistently got 4k 444 8 bit RGB output, no problems with switching, the main thing was that there was a frequency change when the movie was turned on in DV. And another condition is to switch to DV correctly when using TB-LED, so that the screen does not turn green, set for the color 444 or auto, and for the bitness of auto.
The only difference is that Oppo does not add the BT2020 flag, while Am6b with CE adds this flag when outputting video. But this does not affect the image.

4 Likes

Were you trying with the amlogic-ng-dv build or the amlogic-ng build with injected dovi.ko.

iirc every DV capable device I own passes bt.2020, even My Panasonic UHD-820 (playing physical disc). So I’m guessing that being set should be fine?

@Sunset1982 I noticed the other day that I wasn’t able to access the Kodi addon repo with the custom build but the repo was reachable with my Shield running Kodi. So probably a quirk somewhere specific to that build?

cpm’s build is not an official build, it’s a test build.
If you want CM4.0, use his build until we merge his changes and after that they will be in our official nightly builds.

How long will it likely take for cpm’s changes to make it into the official nightly builds for amlogic-ng and amlogic-ne?

Not sure about NE, we’re currently concentrating on NG due to full DV support.
After NG works, NE will get it quickly. I assume it should be done within a week.

4 Likes

You guys have been doing amazing work. I’m super excited for that build when it’s ready.

Am6b+ with 21-omega-rc2 ;), p7 fel, full tv led, cm4.0, patched mel, and Plex. Doesn’t get much better than that.

These samples are Dolby Vision - Profile 4. It’s identical to Profile 7, only it doesn’t have HDR fallback. Similar to how P5 is to P8.
I will fix this for Lossless playback. From some preliminary testing, using libdovi P8.1 conversion results in wrong colors. I’ll ping the author, maybe this can be fixed (for proper playback on NE)
Profile 4 is not supported by libdovi.

Can the TV-LED fixes be applied to the 5.4 kernel?

I think so, this part of the code seems to be pretty similar.

2 Likes

Here are some of the settings I have attempted to determine the meaning:

  • dolby_vision_flags
FLAG_FORCE_CVM				0x01	Force CVM (RPU Processing - for LLDV, or TV-LED (Graphic Priority) modes in Dolby (Core1))
FLAG_BYPASS_CVM				0x02	Bypass the CVM (RPU Processing for LLDV, or TV-LED (Graphic Priority) modes in Dolby (Core1))		
FLAG_BYPASS_VPP				0x04	Bypass Video Post Processor
FLAG_USE_SINK_MIN_MAX		0x08	Follow the lum of Dolby VSVDB for not tv-led
FLAG_SINGLE_STEP			0x20	? 
FLAG_CERTIFICAION			0x40	(IDK) Industrial Tool Kit Certification Mode?
FLAG_CHANGE_SEQ_HEAD		0x80	?
FLAG_DISABLE_COMPOSER		0x100	Disable BL and EL composition
FLAG_BYPASS_CSC				0x200	Bypass the Colour Space Converter in Dolby (Core1) */
FLAG_CHECK_ES_PTS			0x400	Check the EL layer Elementary Stream - Presentation Time Stamp 
FLAG_DISABE_CORE_SETTING	0x800	?
FLAG_DISABLE_DMA_UPDATE		0x1000	?
FLAG_DISABLE_DOVI_OUT		0x2000	Foce DoVi Sink (TV) to behave as not support DoVi 
FLAG_FORCE_DOVI_LL			0x4000	Force into LLDV
FLAG_FORCE_RGB_OUTPUT		0x8000	Force RGB Output - LLDV Specific
FLAG_DOVI2HDR10_NOMAPPING	0x100000	For HDR10 don't do any tone mapping? */
FLAG_PRIORITY_GRAPHIC		0x200000	Force Graphic Priority 
FLAG_DISABLE_LOAD_VSVDB		0x400000	Disable loading from Dolby VSVDB 
FLAG_DISABLE_CRC			0x800000	?
FLAG_MUTE					0x4000000	?
FLAG_FORCE_HDMI_PKT			0x8000000	?
FLAG_TOGGLE_FRAME			0x80000000	?
  • dolby_vision_mask

I found the Mask typically needs to be set to all bits (7) and then adjusted once playing to see the effect. (May have also been forcing reset on another parameter for some of them)

Some other parameters are more self explanatory like force_mel

2 Likes

I think I found a fix for the 12-bit RGB TV-led DV issue. I tried several DV movies running in TV-led (several dozen MEL/FEL mkv) and I have yet to be able to trigger anything but 8-bit RGB. What I discovered was that the refresh rate switching logic triggered a second invocation of the HDMI mode setting code, and on the second run–the code wasn’t able to detect whether or not the signal was actually DV, so it treated all signals/formats as the same. So basically it was switching it from 12-bit (which is default at least for being in the UI, not playing anything), to 8-bit, and back to 12-bit on the refresh rate switch. The fix basically triggers a partial HDMI mode setting on the refresh rate switch that doesn’t set color depth or sub-samplling.

The BL_EL.mkv is still triggering FEL, with lossless set. :slightly_smiling_face:

Here’s the build:

This includes the potential DV 8-bit RGB fix, @cpm fix for true TV-led/CMV4.0, DV delay of 16, and running on amlogic-ng-dv 20.4, for now at least. Hopefully the transition to amlogic-ng will be smooth. From what I can tell this fix would carry over to hopefully all amlogic-ng devices.

Some caveats:
Oddly enough this test build is way more consistent with Adjust display refresh rate set to On start/stop. With refreshing rate switching off, I kept getting blue-tinted screens. Also, in order to run player-led DV, I had to set forced 4:2:2, 12-bit. Though this setting should actually be correct for that, and should actually be compatible with any other media type (e.g. HDR10, all SDR content).

Feel free to test it out.

1 Like

Can you post your dispinfo? And try to set GUI resolution to 1080P with a normal build?
I have a soundbar that’s only 450MHz capable, and this was the reason for 12-bit RGB in my case. Changing the res to 1080P fixed it for me, consistently.

I will try that build later today. Hope it fixes the dependecy problems with the pkc addon that I had with cpm’s posted build.

Dependency issues are not related to any particular build.

I always set 1080P, and the box direct conect to my tv, also goes 12bit, about half of my DV REMUX movies

With TV-LED?

yes, official bulid

We reverted a change made yesterday, hopefully it’ll fix it in tomorrow’s build.

1 Like

Hi there. Excited to only just hear about DV P7 + FEL, ordered a Ugoos, but a AM6B+ (vs. just a 6+). I assume this also works with 6B+? Thanks.

Post debug log!
https://wiki.coreelec.org/coreelec:debuglogs