Release T4a #66
pannal
announced in
Announcements
Replies: 2 comments 1 reply
-
|
When do we get to enjoy all this on AM9 Pro devices? =D |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
Anyone with Homatics have tried this? Last release works but has some issues with Dolby Layers |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
p3i T4a
T4a is a focused follow-up to T4. It is mostly bug-fixes and a batch of new audio and Dolby Vision tuning, on top of everything T4 already shipped. If you are coming from T3b or earlier, read the T4 notes first — this release builds straight on them.
The headline changes:
Tip
Navigatable release notes
Highlights
Roughly ordered by how many people each change affects, and how visible it is.
1. Audio: a batch of new controls and fixes
The biggest cluster of new work in T4a. Most of this came straight out of reporter requests.
Note
Because LAV Full is now on by default and there are several new audio settings, reset Settings/System/Audio after upgrading so the new options appear. If a particular setup doesn't get along with LAV Full, set Passthrough audio sync mode → Off to get stock Kodi behaviour back.
2. Fewer playback glitches: freezes, wedges and the green flash
A run of fixes for things that interrupted playback. These affect everyone, not just a particular content type.
3. Embedded text subtitles: seek-back recall
The new feature here is seek-back recall for embedded text subtitles (ASS/SRT/mov_text/WebVTT), mostly off reports from nissel. Image-based subtitles (PGS/VobSub/DVB) and external subtitle files are unaffected.
coreelec.subtitles.recallfromfile, default off) that reads the active line from the file, carefully budgeted so it can't stall playback.4. Dolby Vision: brightness, conversion and cropping tuning
5. Dolby Vision: multi-track .mp4 files play the right stream
A dual-track dual-layer (DT-DL) Profile-7 Dolby Vision .mp4 carries its base and enhancement layers on two separate tracks. Kodi only knew how to combine them in MKV files, so an .mp4 ended up playing only the enhancement layer (and mislabelling itself "ST-DL"). T4a recognises the enhancement layer by its Dolby Vision config and combines the two correctly, while still leaving genuinely independent DV streams alone. (This complements T4's multi-video-track work, which let you select the extra streams in the first place.)
6. Dolby Vision: stability fixes
A set of fixes for hangs, color corruption and a settings glitch, mostly from on-device reports.
7. The display-synced video clock: a live toggle, stall recovery, tighter sync
T4 introduced the first real display-synced video clock. T4a hardens it on several concrete fronts.
8. Add-ons can survive a skin reload
A skin reload (usually a background skin-addon auto-update that calls
ReloadSkin) tears down and rebuilds every window. An add-on sitting in a modal window at that moment (PM4K, for instance) can be left spinning over a destroyed window with nothing to react to, and the UI freezes until a full Kodi restart. T4a fires GUI announcements around the reload (OnSkinUnloading, thenOnSkinLoaded, orOnSkinLoadFailedon the dead-end paths) that an add-on can subscribe to, so it can close or restart its own windows in time. The add-on has to implement these to benefit; it isn't automatic, and one that ignores them can still freeze. But the hooks are now there. A failed reload of a non-default skin also falls back cleanly to the default instead of leaving nothing loaded. The change is upstreamed to Kodi as xbmc/xbmc#28431.9. 3D MVC subtitle depth
3D MVC (frame-packed Blu-ray) PGS subtitles used to render flat, at zero depth. T4a carries the per-stream 3D subtitle plane through to the decoded picture, so the subtitle now sits at the correct stereoscopic depth.
10. New default skin, refreshed
skin.p3i.estuary(vlix's Estuary variant, the default since T4) moves from 8.8.8 to 8.8.15 with a batch of presentation work:11. The p3i addon repository keeps growing
The pre-installed
repository.p3i(served atp3irepo.pm4k.eu) picked up:inputstream.ffmpegdirectandinputstream.adaptivere-versioned under a666.<upstream>-p3i.1epoch so they cleanly update over the stock add-ons.script.module.jurialmunkey0.2.35, the dependency for ourplugin.video.themoviedb.helperbuild.skin.p3i.estuaryfor faster repo installs.12. The GUI desktop defaults off 2160p50/60
A 2160p50/60 desktop doesn't make the menus any sharper — Kodi renders the GUI at 1080p or below and hardware-scales it — but it does drive the HDMI link to its 594 MHz ceiling (4:2:2/12-bit deep colour). A marginal AVR/repeater chain, or a near-limit cable in a long run, can fail to lock onto that and keep dropping sync while you sit in the menus. So when your display's native mode is 2160p50/60, T4a now points the desktop at the 1080p entry at the same refresh rate by default. This only changes the out-of-the-box default: an explicitly chosen 2160p50/60 screenmode still wins, the mode stays in the list for manual selection, and the whitelist still switches to 2160p50/60 for genuine 50/60fps 4K video. The Resolution / Refresh rate / Whitelist help text was reworded to explain the trade-off.
13. Under the hood
page-cluster) is set to 0 — zram has no seek cost, so read-ahead only added decompression latency. Overridable via/storage/.config/zram.conf. (Closes [BUG] /usr/sbin/sysctl -w vm.page-cluster=0 #63.)dovi_rpu_remove_cmv40_metadataprimitive (source-patch + prebuilt rebuild) behind the new CMv4.0→CMv2.9 down-convert.Known issues
Denon / Marantz AVRs: black screen or "no signal" on HDMI mode switches
This is not new in T4a, and we did not introduce it. It happens on stock (vanilla) CoreELEC too, not just our builds, and goes back well before T4. It is a long-standing AVR-side issue, not a p3i regression.
On some setups with a Denon or Marantz AVR between the box and the TV, the TV can drop to black or "no signal" around an HDMI mode or format change: a title starting, a resolution or refresh switch, or playback entering or leaving Dolby Vision. We have not been able to pin down exactly what sets it off; it may be any mode switch. The only reliable recovery is to power-cycle the AVR (sometimes the TV too).
In every captured failure the box was still putting a valid signal on the wire (correct timing, valid AVR EDID), but the AVR stopped forwarding it to the TV. The same box plays the same content cleanly straight into a TV, and through other AVRs and soundbars. Because the trigger is downstream of the box, no setting in the build fixes it. What does help is on the AVR side:
VS10 SDR can drop video on some live-TV streams
On some live-TV sources (IPTV Simple Client / inputstream.adaptive and Tvheadend), VS10 SDR conversion sometimes fails to put out video when a stream starts. You get a black screen while the GUI still works: you can open the OSD and the menus, there is just no picture. This is not the HDMI/AVR blackout described above.
Disabling VS10 SDR avoids it entirely. It looks like a timing issue at live-TV start; we are still looking into it.
Changelog
The complete per-component commit list since T4. Click any section to expand.
🎬 xbmc / Kodi
Audio
drc_scaleon every seek — the "louder after seek" fix)Playback robustness
Green flash / decode restart
VC_EOFfrom drain when nothing was fed sincecodec_reset(green OSD on FEL replay)right_leftstereo-mode typo inSetVideoRectVideo sync & reference clock
SYNC_DISCONgate under LAV Full + vsync clock synccoreelec.amlogic.usedisplayasclockSubtitles
Dolby Vision — brightness / conversion / cropping
Dolby Vision — multi-track
Dolby Vision — stability
OnStopwhile another playback is active; take the restore decision inside the DV-core lockStability / GUI
OnSkinLoadFailedso add-ons can react toReloadSkininstead of freezing (upstreamed as [application] Announce skin (un)load so add-ons can react to a skin reload xbmc/xbmc#28431)🐧 Kernel (linux-amlogic, amlogic-4.9-20)
auge/hdmitx: optional precise HDMI channel allocation for extra PCM layouts (4.0/5.0), behindextra_pcm_layoutsauge: carry the 4.0/5.0 PCM layouts inside the 6-channel container (canonical slots +SND_CHMAP_NA) so they play in the right speakers (avdvplus's approach)📦 CoreELEC (distro & packages)
vm.page-cluster=0while zram swap is active (overridable via/storage/.config/zram.conf); closes [BUG] /usr/sbin/sysctl -w vm.page-cluster=0 #63dovi_rpu_remove_cmv40_metadataand rebuild the prebuilt (for the CMv4.0 → CMv2.9 down-convert)inputstream.ffmpegdirect/inputstream.adaptiveas666.<upstream>-p3i.1🎨 skin.p3i.estuary (by vlix, 8.8.8 → 8.8.15)
🧩 Addon repository (`repository.p3i`)
inputstream.ffmpegdirect666.22.2.5-p3i.1 andinputstream.adaptive666.21.5.18-p3i.1 (epoch-versioned to update cleanly over stock)script.module.jurialmunkey0.2.35 (TMDBHelper 6.15.6 dependency)skin.p3i.estuary8.8.9 → 8.8.15.2, plus an XBT-packed repo variant + pack tool📜 Full commit history (all repos, T4 → HEAD)
xbmc / Kodi (82 commits)
f3552ec703AEStreamInfo: DTS / DTS-HD / DTS:X dialnorm defeat9ab052126cDV: default CMv4.0 append to Smart7967c1410fDV: make auto-letterbox L5 a standalone setting, independent of L569d5135de0WinSystemAmlogic: default the GUI desktop off 2160p50/60 to fit the HDMI link budget7b2c69831fAESinkALSA: write the extra-PCM-layouts knob for the AML PCM device, not only HDMI71e526799bAMLUtils: block VS10 conversion on software-decoded video (no VD1 layer)57e8cb877eAESinkALSA: GUI toggle to prioritise audio on the system DDR bus66b3c867d3AESinkALSA: GUI toggle for extra HDMI PCM layouts (4.0/5.0)eead872006PackerMAT: rate-correct seamless-branch default padding at 96/192 kHz TrueHDbf7d684bf1DVDDemuxFFmpeg: combine DT-DL MP4 Dolby Vision instead of playing the EL alonedd9ab3819dVideoPlayer: actually drop the re-read duplicate of a reinjected subtitlee38c645060DolbyVision: stop the deferred VSVDB recompute flipping the TV preset after a reset5b2beba576VideoPlayer: don't pin the master clock to 0 on an all-NOPTS post-seek syncc1addb6aeeAudio: normalise EAC3 naming in DRC settings stringsbbb47cad4fVideoPlayer: temp diagnostic for doubled subtitles on seek-back01965a9087VideoPlayer: recover the Amlogic video feed/drain wedge via reseek304aca458fSubtitles: stop pruning libass events - stale post-seek clock deletes upcoming lines9bdfe6111fSubtitles: don't re-arm the libass render cache on an empty trackd19255934fdocs: update embedded-sub seek-back recall spec to as-built53e0b8639fVideoPlayer: log bracketing events when subtitle seek-recall fallback finds nothingbd2e1f1288Settings: update subtitle seek-recall fallback help to match its bounded-read behavior852839f74aVideoPlayer: fix subtitle seek-recall file fallback never running998d450aecAESinkALSA: drive precise HDMI channel allocation for extra PCM layouts (4.0/5.0)3837177203VideoPlayer: clear libass track on flush so subtitles re-render after a backward seek43455e19d1Settings: rewrite Whitelist help text to describe actual behaviorabc78ace2cVideoPlayer: recall embedded text subtitles after seekc550d3e692docs: Add "DV L5 Auto-Letterbox for Cropped Content" and "Embedded text-subtitle seek-back recall" specs6b674d9477AMLCodec: gate the seek-edge settle behind a sub-setting (default off)e2c318d13bAE: raise LFE downmix level cap to 300%1a80f50f9cAMLCodec: close the green seam at the seek edge with a vsync settle62c3d3f02aVideoPlayer: invalidate libass render cache on embedded subtitle flush1968445e4aAMLCodec: simplify the green-flash hold setting to a booleanb4c861c090AE: allow LFE downmix level up to 200% for extra bassbcdbbffa12AMLCodec: mask green-flash on decode restart with a video holdd07d0d1269AE: apply -3 dB (1/sqrt2) to LFE in the "Front L/R" downmix target7354e490e9AE: re-apply AC3/E-AC3 DRC after flush (ffmpeg wipes drc_scale on seek)89386ed30bAE: clarify DRC vs downmix-normalization in setting help texts5962ede573AE: reset the stream limiter on flushab92788a04VideoPlayer: carry 3D MVC subtitle depth into the video picture for PGS subs9c14aae9a6AE: add GUI setting for AC3/E-AC3 decoder dynamic range compressionefe82907f8AMLCodec: fix right_left stereo mode typo in SetVideoRectf94331fff5Merge pull request [BUG] Inconsistent audio issue #27 from SamuriHL/fix/smart-cmv4-use-l1-frame-peak1452f4b962DV: Smart CMv4.0 — add per-frame LOGDEBUG trace; clarify LOGINFO3d59cf17c1DV: Smart CMv4.0 — react to VSVDB_MAX_LUM setting changesb93133bc7cDV: Smart CMv4.0 — use L1 frame peak (source_max_pq was mastering peak)a089cec49fAE: default Passthrough audio sync to LAV Full; relabel setting68c7896c54AE: PackerMAT — avoid nullptr pointer arithmetic in FillDataBuffer padding split574cd12facAE: LAV TrueHD relatch — carry negative MAT padding, fix counter-unwrap off-by-onec5bbdbabd8DV: add Smart CMv4.0 append mode (per-frame nits-aware bypass)5976b8bd26AE: use a slider for the centre boost setting, not a number spinnere37c90b4fbVP: corroborate broken-file detection with source read progressd376368921AE: honor downmix levels and normalization in LFE-redirect matrix17a00af4daAE: allow 0.5 dB steps for centre channel downmix boostc55110b5c7Settings: default VS10 SDR8/SDR10 output back to Bypass8890953081AMLCodec: return VC_EOF from drain when nothing was fed since codec_reset525be7a657DV: defer VSVDB payload writes out of settings callbacks (settings-lock ABBA)15aa22c590DV: fix Back->replay ABBA deadlock between DV-core lock and gfx context lock4d4d897971GUI: announce OnSkinLoadFailed when a skin reload leaves nothing loadedf7f9e7695dVideoPlayerAudio: tighten SYNC_DISCON gate under LAV Full + vsync clock syncb4e5b82fc0RenderManager: re-enable vsync clock sync at matched rates, gated on ref clocked16954824DV: take the GUI-IPT restore decision inside the DV-core lockae4022f851DV: instrument DV-core lock convoys and video-plane blanking writesc9ed3e6a5eVideoSyncAML: re-anchor dead-reckoning ledger on primary→legacy handoff3eca5bfb19VideoSyncAML: auto-recovering stall fallback instead of multi-second blackcf8a1b1448GUI: announce skin (un)load so addons can survive ReloadSkinfdcbef9ae8VideoReferenceClock: gate thread lifetime on video-playback statebcf391928dVideoReferenceClock: live-toggle coreelec.amlogic.usedisplayasclockdd4f81c348DV: expose resolution-independent active-area aspect class to skins89658d2659docs: correct CMv4.0 strip control type to toggle in spec/planaa077595dbDV: fix CMv4.0 strip setting invisible - use control type=togglec1f9abc232docs: record CMv4.0 strip mutual-exclusion moved from enable-dep to C5f336e644cDV: fix CMv4.0 append greying/lock from strip mutual-exclusion2f2680eaa7DV: surface auto-letterbox L5 offsets in player process info9968dbf2dbDV: add auto-letterbox L5 for cropped (non-16:9) native DV content8d54c5cefaDV: fix CMv4.0 strip return-check to match libdovi 0/-1 contractbbab9ad508DV: add CMv4.0->CMv2.9 down-convert setting for old DV TVs922ed540f1docs: implementation plan for CMv4.0->CMv2.9 down-convert setting813abd3d73docs: design spec for dynamic CMv4.0->CMv2.9 down-convert setting736271789fDV: serialize all DV-core sysfs mutations with a recursive mutex123ad70121DV: don't restore GUI IPT on OnStop while another playback is activec6973d39bcDV: add adjustable VS10 SDR-output target luminance (issue [BUG] vs10>sdr picture too dark, UI and SDR fine #59)145ad8bc79DV: add GUI-path HDMI link-state watchdog (aml_hdmi_link_probe)Kernel (linux-amlogic, 3 commits)
b79b0c1a05auge: carry extra HDMI PCM layouts (4.0/5.0) in the 6-channel containerf082ab883cRevert "auge: enable audio DDR arbiter and HBR QoS tuning"72a8d7d515auge/hdmitx: optional precise HDMI channel allocation for extra PCM layouts (4.0/5.0)CoreELEC (distro & packages, 7 commits)
87782a6e66ffmpeg: bump 8.1 -> 8.1.2 (PixelSmash + security/robustness backports)b993e69431Merge remote-tracking branch 'origin/coreelec-21_local'c052731372zram: set vm.page-cluster=0 while zram swap is active0413c97736libdovi: rebuild arm prebuilt with dovi_rpu_remove_cmv40_metadata9890b1d2eflibdovi: rebuild arm prebuilt with dovi_rpu_remove_cmv40_metadatae08be13a1elibdovi: add source-patch for dovi_rpu_remove_cmv40_metadatae9fa1a0875p3i: vendor-version inputstream.{ffmpegdirect,adaptive} as 666.-p3i.1CoreELEC Settings Addon
skin.p3i.estuary (23 commits, up to the published 8.8.15)
ab431aaUpdate changelog and bump to 8.8.154e046d0PPI: scroll long subtitle name68694eePPI: video output new info, Player-Led DV/HDR108fe6434PPI: fix audio channels default layoute7dadd7Update changelog and bump to 8.8.14d51aa7aSettings to hide progress bar on pause and/or on seek9b04cd5Fix codec logos active area handling383c71bUpdate changelog and bump to 8.8.13afb3949Merge pull request Release T2 #6 from pannal/pr-fix-music-video-flags8088c01Add ProRes in video codec variablesb315305Fix overlapping music videos media flags8baea1ePPI: new info for 'Convert CMv4.0 to CMv2.9' feature in DV Metadataaa7a5ccAdd dark codec logos to startup toasta83dfdeUpdate changelog to 8.8.12def16a2Bump to 8.8.12 for active-area codec-logo setting81d50ebCodec logos: slide startup-flash logos into the DV active area by aspect class3ba74ccCodec logos: add 'keep inside active area' setting (default on)5bdd147Bump to 8.8.11 (PPI subtitle section update)7f68898PPI: update subtitle section961eb48Bump to 8.8.10 (include vlix's CE icons for repo distribution)186a451Add CE power button and calibration logo icons030ae77Bump to 8.8.9 for repo distribution of codec-logo settings68fa2dfCodec logos: add layout + position skin settingsAddon repository (p3i_repo, 12 commits)
15c20b5Publish skin.p3i.estuary 8.8.15.2 (re-cut from 8.8.15 source, excludes stray 9b6997c)3ce26f6Track packed media XBT in tree to match the published zip687d191Publish skin.p3i.estuary 8.8.15.1 (TexturePacker XBT + CE overlay)05132fePublish skin.p3i.estuary 8.8.15 (PlayerProcessInfo updates)bcc84c5Publish skin.p3i.estuary 8.8.13.1 (XBT-packed repo variant) + pack tool1ca9c18Publish skin.p3i.estuary 8.8.13fdc5e02Publish skin.p3i.estuary 8.8.12 (codec-logo active-area setting)60e08f4Add script.module.jurialmunkey 0.2.35 (TMDBHelper 6.15.6 dependency)9a108cfinputstream.ffmpegdirect 666.22.2.5-p3i.1, inputstream.adaptive 666.21.5.18-p3i.14e90aa8Publish skin.p3i.estuary 8.8.11 (PPI subtitle section update)90f683aPublish skin.p3i.estuary 8.8.10 (CE power button + calibration logo icons)92eccf3Publish skin.p3i.estuary 8.8.9 (codec-logo layout/position settings)Installation
Note
Coming from T4, a dirty upgrade keeps your skin and settings; the bundled
skin.p3i.estuaryand the p3i addons update with the build. Coming from before T4, the newskin.p3i.estuarydefault only applies on a fresh flash — to use it on an existing install, switch to it under Settings/Interface/Skin.1. Dirty
Drop the update tar into your CoreELEC update folder and reboot - this can be used as a dirty upgrade from CPM A14 or any of the U3k, avdvplus and earlier p3i (T1–T4) builds.
Should hitting reboot result in a black screen (long-standing issue with any build), wait 10 seconds to make sure this wasn't just a fluke, then unplug and re-plug the device's power. The upgrade will commence afterwards.
Reset Settings/System/CoreELEC, reboot.
Caution
Resetting Settings/System/CoreELEC to defaults after doing this is necessary. Not the CoreELEC Settings Addon!
Resetting Settings/System/Audio might be necessary for you to see the new audio settings (and to pick up the LAV Full default).
Resetting Settings/Player/Subtitles might be necessary for you to see the subtitle settings.
2. Dirty (safe)
Drop the update tar into your CoreELEC update folder, shut down the device, pull the power plug for 30 seconds, replug.
Reset Settings/System/CoreELEC, reboot.
Caution
Resetting Settings/System/CoreELEC to defaults after doing this is necessary. Not the CoreELEC Settings Addon!
Resetting Settings/System/Audio might be necessary for you to see the new audio settings (and to pick up the LAV Full default).
Resetting Settings/Player/Subtitles might be necessary for you to see the subtitle settings.
3. Flash
Use the provided Flash img.gz to prepare your SD card as you would with any other CoreELEC build.
Thanks
A massive shoutout to everyone involved in this build! Special thanks to the testers and reporters who chased down the seek-louder audio bug, the post-seek freeze and pause/resume wedge, the vanishing and doubled subtitles, the two-click TV-preset reset, and the audio-mix requests — and to the upstream projects this builds on: avdvplus (DV metadata handling), LAV, libdovi, libass and FFmpeg.
Full Changelog (Kodi core): https://github.com/pannal/xbmc/commits/T4a
Full Changelog (CoreELEC-Settings): https://github.com/pannal/service.coreelec.settings/commits/T4a
Full Changelog (Kernel): https://github.com/pannal/linux-amlogic/commits/T4a
Full Changelog (CoreELEC): https://github.com/pannal/CoreELEC/commits/T4a
Addon repo: https://github.com/pannal/p3i_repo
Contributors
Sources and contributors whose work landed in T4a (not exhaustive!):
skin.p3i.estuaryupdates (codec logos, info), and the LFE / DRC audio reports and requests#CoreELEC p3i internal testing team: mad props to all of you not listed here. You made this possible. Thank you.
This discussion was created from the release Release T4a.
Beta Was this translation helpful? Give feedback.
All reactions