Learning about Dolby Vision and CoreELEC development

Thanks for sharing this! The audio sync does seem to be better here (stays locked after seeking better), however I wonder if the changes to fractional frame-rates has broken DV playback with 24.00 Hz movies (not 23.98Hz). I have some international films that are 24.00 instead of 23.98 and they get black screens when playing, with audio still working.

I haven’t tested that, did the 24.00 Hz file work on the previous builds? Have a short sample you can share?

It’s a P7 FEL 24.00 movie, let me see if I can cut a sample for you. Haven’t tried before, but I believe MKVToolnix has a way to generate samples, so I will check.

Edit: The movie works on the latest official nightly, just FYI

With Dolby vision playing?

Tested both the latest (20241129) nightly and your build using the 05. Audio-delay-test-v5_23.976.mkv.

While both were not synced at +0, they seemed to remain in sync after seeking around the file multiple times. This is amazing!

With no latency advanced settings used, the nightly seemed to be synced at +2 while your build seemed to be synced at -2 which might have something to do with those 4 frames you removed.

Finally, not related to the audio issues, I switched back to the nightly due to your build only taking up a quarter of the screen.

CoreELEC → Q990B → LG CX

Thanks, I’ll give it a look - likely something to do with changes in gui resolution to allow 4k.

Yes, the file works with Dolby Vision on latest nightly, but didn’t work on this build. I also had the quarter screen issue on my LG C4.

Here is the sample as requested: 111.46 MB file on MEGA

The build also includes all my other changes to get DV working on all SoC’s - why I put it into this thread. Likely conflicting with the ‘official’ DV approach you must have. Disable the DV toggle in the CE settings and will probably start playing - with the limitations of my approach for DV - so no EL layer or p5. So not something you should really stick with, but you should be able to test the additional changes to audio sync

1 Like

Ah, ok, I didn’t check the previous parts of the thread haha. No worries then!

Do you have a repo? I’d like to make the same sync related changes in my build. If not can you pls point me to the relevant locations in the code (code snippets with the fixes would be even better))? Thanks!

Haven’t added those changes to my repo yet.


Done by deleting the highlighted line


In

did a bodge by changing

if (diff && diff < 0.0005)

to

if (diff && diff < 0.0005 && false)

Seems to work, but could definitely be cleaned up.

edit:
tbh not really understanding this one entirely - haven’t been able to understand what the original code was actually trying to do as that condition only happens when diff = 0 (which will numerically never happen - with the except of bit identical floating point numbers) and diff < 0.0005 and can’t see any the reason that this makes sense.

That said, the result now matches what happens for the non-fractional framerates, older versions of CE that had less audio sync problems, and seems to reduce the remaining variability in audio sync when I tested it.

1 Like

Hm, as I understood, that condition happens when diff > 0 (true) and diff < 0.0005, so it kinda makes sense for detecting fractionals. But I haven’t taken a look at what it’s supposed to do (adjust sync for fractionals and disable it for non-fr?).

@doppingkoala is this fixed in your latest build?

Nope - haven’t looked at it.

The fact the it works without flickering when subtitles are showing does seem to show that gui updates themselves aren’t the problem - as long as the top pixels aren’t touched

With all the work going on elsewhere to modify skins - that may be an alternative approach. I think modifying the kodi gui to never touch the top 4 lines when video is playing with 4K output (8 lines for 1080p) could be a work-around to that issue.

Not something I’ve looked at though - just throwing the idea out there if anyone wants to try.

this approach with skin works (with the skin i use)
I tried a quick dirty test with arctic horizon 2 skin
By deleting these 2 files
shadowspot.png
floor.png

It eliminates black screen when OSD is invoked.

1 Like

Anyone know how to build changes to the default skin into an image?

I’ve made a patch for kodi, can see that it is applied and has modified /build.CoreELEC-Amlogic-ng.arm-21/build/kodi-.../addons/skin.estuary/xml/Custom_1109_TopBarOverlay.xml, but after updating CE with the produced .tar, the skin isn’t being modified.

After flashing, the file usr\share\kodi\addons\skin.estuary\xml\Custom_1109_TopBarOverlay.xml isn’t being changed. Anyone know what’s going on? I’ve tried cleaning kodi before building and that didn’t help.

Try cleaning packages kodi and kodi-theme-Estuary.

1 Like

Thanks, that worked.

Update:

Solves the black screen issues by modifying the default skin.

If another skin is used, issues will return unless skin doesn’t touch the top 8 lines while a video is playing.

1 Like

Why is there the “LibreELEC CHANGELOG” ?