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

Fingers crossed you’ll be good to go with 21 when your box arrives thanks to Portisch (and CE Devs), let’s us know how testing goes.

So I know he said parity within the builds if all went well tomorrow. My box came and I tried installing 21 b3 and then restoring my backup from ne 21 b3. It worked, but after that was having weird issues, rather then try to troubleshoot I am going to just bite the bullet and do a clean install of 20.4 and reconfigure. The only reason I was on 21 in the first place is that I also have a 905x4 box and there were features that only worked in 21 when I installed it. I would rather be on the stable build and just start fresh on this box.

so this means in theory, all CE versions should be the same in terms of dv handling from now on?

Been checking the code here:

And setup debug logging to check out a couple of my problematic MEL:

  • Dune

  • Witness

Looking at the code - it looks to identify MEL vs FEL from the first n number of frames, in all cases I saw this set to 2 frames:

2024-02-24 08:09:45.525 T:11222 debug <general>: CAMLCodec::OpenDecoder DoVi P7 MEL detection frame delay got set to 2 frames

For the MEL that play ok the code is finding an MEL flag set by the AMLogic decoder and restarts the decoder in the correct configuration to play the file. i.e. from the log we see:

2024-02-24 08:09:45.823 T:11222 debug <general>: CAMLCodec::GetPicture: DoVi P7 MEL content detected, request to reopen decoder

For the MEL that do not play correctly (e.g. the two above among others) the flag is not set within the first 2 frames and subsequently the file plays in the wrong configuration, and results in the stop/start issues.

For me, the above is consistent and repeatable behaviour.

FYI, whilst checking the logs and trying a couple of things I also think changing the Lossless config to Convert to MEL and then back to Lossless - it looks like it is not reverting back correctly until I rebooted - did not dive into that but maybe an issue, just a one off observation so far.

4 Likes

T y to increase frame switch delay?

Yeah thinking along those lines, to see if at any point the is_mel parameter gets set.

Also been looking at the demuxed MEL layers, all green screen in VLC etc. - so consistent there at least, and not getting much from checking with a hex editor - working vs problematic look to have same overall structure etc.

Will try to get the code compiling and onto my box and try a few more things I have been thinking about - will be a while as not got too much time and all new to me :smile:.

It’s a sysfs parameter, no compile is need

Just set it to like 4? before start playback.

I stumbled upon a whole tvshow season in DV profile 8.1 which also completely hangs the device → suddenly no hdmi output. And then when pressing stop on remote hdmi output returns and kodi interface is displayed.
both in player-led and tv-led
Looking to reproduce it with logs …
(Not sure if my ugoos am6+ is really fine cos’ it has a lot of issues when using power off or suspend modes (it basically doesn’t work as intended). It has always been acting like of weird regarding CEC interaction and sometimes I have to restart a play session so that colors are not green/purple, anyone with same experience ? maybe am6b+ is better in this regard)
Same files are played fine with kodi maven nexus on shield.

Do you have any additional HDMI devices/connections between the ugoos and your TV? Such as receivers, splitters, devices like HD Fury? Might I ask what show it is?

I thought the primary difference with the b variant had to do with WiFi being refreshed to WiFi 6…

thanks @Portisch was not aware could simply write those.

TLDR: I changed the dolby_vision_wait_delay to 16 to get all my MEL titles to trigger MEL detection and play consistently (within the bounds of my testing / setup).


I could get all working at some points with a delay of 9 or lower - depending on the title, but it was not consistent - leading to thinking some other timing factors are coming into play - 16 is consistent for me and provides some room above 9 for other factors.

Below is a list of titles I had the most issues with using the default delay of 2, ordered from most problematic to least:

Dune
Witness
The Fifth Element
Donnie Darko
Get Carter
The Flash
The Great Escape
The Last Emperor
The Matrix Reloaded
Police Story 3 Super Cop
Spider-Man Across the Spider-Verse

I also noticed other titles “may” not trigger MEL detection with a delay of 2 - as a one off - in these cases stopping and playing again would always trigger the MEL detection. Could find no clear pattern to this.

Below are all the titles I tested:

65
12 Monkeys
2001 A Space Odyssey
Alita Battle Angel
Barbarella
Black Hawk Down
Blue Beetle
Bullet Train
Crouching Tiger Hidden Dragon
Donnie Darko
Dragons Forever
Dune
Get Carter
Ghostbusters
Gregorys Girl
Groundhog Day
Guess Whos Coming to Dinner
His Girl Friday
Kramer vs Kramer
Labyrinth
Lawrence of Arabia
Oldboy
Police Story
Police Story 2
Police Story 3 Super Cop
RoboCop
Rudy
Spider-Man Across the Spider-Verse
Spider-Man No Way Home
Star Wars Episode VIII The Last Jedi
Starship Troopers
The Batman
The Bridge on the River Kwai
The Equalizer 3
The Fifth Element
The Flash
The Great Escape
The Hobbit An Unexpected Journey Ex.
The Hobbit The Battle of the Five Armies Ex.
The Hobbit The Desolation of Smaug Ex.
The Last Emperor
The Last Starfighter
The Lord of the Rings The Fellowship of the Ring Ex.
The Lord of the Rings The Return of the King Ex.
The Lord of the Rings The Two Towers Ex.
The Matrix
The Matrix Reloaded
The Matrix Resurrections
The Matrix Revolutions
The Ten Commandments
Weird Science
Witness


All testing was done on a AM6B+, through a Sony HT-A9 to an LG E8.
Running 20.4, default settings - with these changes:

  • Add Bluetooth Remote
  • Enabled - Disable Noise Reduction
  • Enabled - Pass Through Audio (all codec enabled)
  • Enabled - SSH Access
  • Turned on Debug logging.

All mkv files played from File Manger - directly from an SMB Share on a NAS using 1GbE network.


For those wanting to check the same and need some pointers I did the following.

Had two terminal SSH sessions to the box.

First session for changing the delay, (change the value and overwrite file per the test):

CoreELEC:~ # nano /sys/module/amdolby_vision/parameters/dolby_vision_wait_delay

Second for trailing the log for the relevant lines:

CoreELEC:~ # tail -f /storage/.kodi/temp/kodi.log | grep "DoVi"

When playing the film / title you will see the relevant log lines displayed e.g.:

2024-02-24 08:09:45.525 T:11222 debug <general>: CAMLCodec::OpenDecoder DoVi P7 MEL detection frame delay got set to 2 frames

2024-02-24 08:09:45.823 T:11222 debug <general>: CAMLCodec::GetPicture: DoVi P7 MEL content detected, request to reopen decoder

Issue will be observed when you play an MEL title and you do not see the 2nd log line i.e. the decoder was not re-opened to play the MEL title correctly.

6 Likes

it’s Cristóbal Balenciaga season 1

Title 4K HEVC HDR
Codec HEVC
Profile Main 10
Level 150
Resolution 3840x2160
Aspect ratio 16:9
Interlaced No
Framerate 25
Bitrate 10213 kbps
Bit depth 10 bit
Video range HDR
Video range type HDR10
DV title DV Profile 8.1 (HDR10)
DV version major 1
DV version minor 0
DV profile 8
DV level 7
DV rpu preset flag 1
DV el preset flag 0
DV bl preset flag 1
DV bl signal compatibility id 1
Color space bt2020nc
Color transfer smpte2084
Color primaries bt2020
Pixel format yuv420p10le
Ref frames 1

I tried through hdfury and without and result is the same

Try to disable dolby vision in CE settings and see if it works in HDR.

yes it works in HDR when DV is disabled in system → CE. I’ll try to provide you the log ASAP

Will this MEL update be making it’s way into a nightly version soon, or should we edit this file moving forward?

EDIT: Works like a charm, all of the films discussed earlier in the thread play flawlessly now.

Can you give a bit more context here, what does this mean?

For example, FEL playback is still limited to these 2x devices right?

How long did it take for picture to show up when it was set to 16? That seems to be the only downside, you miss the first scene of Dune for example.

Yep I saw that as well, you can though skip back to the beginning and it will play fully from the start ok.

1 Like

Yep, not a big deal at all. I’ll add this to a startup script until it’s merged.

Few seconds, but I still catch the “Dreams are messages from the deep” introduction

1 Like

After reading this post, I assume getting a few seconds of audio drop after seeking or pausing isn’t normal. Maybe something isn’t configured right, I am using passthrough to my samsung q800a via earc. Any one can suggest, what can I try, cause it’s a bit frustrating, I tried keeping audio devices on at always and sending low volume noise, it helped with delay on start of the movie, but not seeking and pause.