Add a CoreELEC label registry and live DV/HDR info labels - #68
Open
matthane wants to merge 7 commits into
Open
Conversation
CE features register label names and info providers from CE owned files instead of adding rows to the upstream tables. Labels resolve by name, so CE is no longer bounded by the free id slots in Kodi's info label blocks. Providers append at the back of the provider list so upstream answers first.
Contributor
|
For the battery item: I will than drop the old commit completely afterwards. |
This reverts commit 84b93f4.
Readd the Linux version row on a CE id now that the battery id matches upstream again.
The existing CE labels move into the CE provider unchanged in name and value, and their documentation moves to a CE owned dox page.
Header only helper with the metadata struct, the snapshot store, the pts sequencer, the libdovi backed parsers and the label answers.
Read the RPU from the input packets before the bitstream converter can strip or rewrite it, and publish each frame's values when the renderer schedules that frame for display.
The 27 video.dovi and video.hdr labels register through the CE label registry, with the brightness values as pq and nits pairs whose integer forms match the label.
matthane
force-pushed
the
ce-label-registry
branch
from
August 10, 2026 13:34
a11d541 to
5169d46
Compare
Author
|
Done. The old patch is now fully reverted in its own commit and the Linux version comes back separately on a CE id. The revert also restores the kernel suffix on the OS version line and drops the AMLogic title text since those came from the same patch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This adds a small label registry so that CoreELEC info labels can live in CE owned files instead of rows in the Kodi label tables. The existing CoreELEC labels are moved onto it (System.PathExist stays where it is since it is a parameterised boolean rather than a name lookup), and live Dolby Vision and HDR playback metadata is added through it as Player.Process labels.
Motivation and context
The goal here is to lower the maintenance cost of CE labels, not add to it. After this series the shared Kodi files would only carry two small hooks that rarely see upstream changes, and everything else would live in CE owned files that upstream merges don't touch, so future label work wouldn't need to touch the shared tables at all.
Since labels resolve by name, CE would no longer be bounded by the free id slots in Kodi's info label blocks, and the reserved Player.Process block would stop filling up. Upstream can grow its own tables without colliding with CE, and a rebase check script will catch any encroachment on the CE id ranges instead of relying on inspection.
The existing CE labels are moved off the shared tables in this same series, so the conflict area will shrink right away rather than only for new work. I moved System.BatteryLevel back to its upstream id with linuxver served from a CE id instead, which removes a permanent divergence. But, that commit can be dropped and I can easily adjust around it if CE team doesn't want to change that. Anything that comes later, HDR10+ or otherwise, would just be CE files plus a registration call.
How has this been tested?
On a Ugoos AM9 Pro (S905X5-J) running a CoreELEC 22 test build. Dolby Vision and HDR10 mkv, mp4 and m2ts playback with the labels polled over JSON-RPC and displayed by a diagnostic overlay add-on (available here: https://github.com/matthane/script.dvhdr.labels.diagnostic/releases/tag/v2.1.0), label values checked against dovi_tool output, the migrated amlogic labels and the System Info screen verified unchanged, and label timing verified against scene cuts, paused and playing.
What is the effect on users?
Skins and add-ons will be able to show live Dolby Vision and HDR metadata during playback. There should be no visible change otherwise.
Screenshots (if appropriate):
Types of change
Checklist: