Skip to content

[Piers] bump libde265 to 1.0.16 and libheif to 1.20.2 - #95

Merged
garbear merged 3 commits into
xbmc:Piersfrom
cinema-ONE:piers-libde265-on
Sep 15, 2026
Merged

garbear merged 3 commits into
xbmc:Piersfrom
cinema-ONE:piers-libde265-on

Conversation

@cinema-ONE

@cinema-ONE cinema-ONE commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Port of #79 to Piers. Fixes #94.

On Piers, depends/common/libheif/flags.txt still passes -DWITH_LIBDE265=OFF, which it has since the libheif 1.16.1 update. With that flag libheif compiles no HEVC decoder, so every build that takes libheif from these depends (webOS in #94, Windows and Android in #77) fails on every HEIC with Decode error 'Unsupported feature: Unsupported codec'. Builds against a system libheif are not affected, which is why it does not reproduce on most Linux setups.

#79 fixed this on Omega (bump libde265 to 1.0.16 and libheif to 1.20.2, -DWITH_LIBDE265=ON), confirmed on Windows in #77, but it never reached Piers. On its own it breaks the Windows Store build: libheif 1.20.2 uses lseek and unlink, which that toolchain rejects (C4996, the Win64-UWP failure on the first push here, as on #79 itself). #80 fixed that on Omega a day later, so this PR carries three cherry-picks with their authors kept:

#80's other two commits are left out: Piers already has a newer TinyEXIF (#92), and the tinyxml2 bump is unrelated. With that, depends/common/libde265 and depends/common/libheif match Omega exactly. The Piers source already builds against libheif 1.20.2.

How has this been tested?

Built both through Kodi's cmake/addons on Linux x86_64 (Ubuntu 24.04 container, no system libheif or libde265, so libheif comes from these depends as on webOS), then decoded the two HEIC files attached to #77 with a small libheif program linked against each build's libheif:

build libheif Paint.heic iPhone13Pro.HEIC
Piers before 1.17.6, WITH_LIBDE265=OFF Unsupported feature: Unsupported codec Unsupported feature: Unsupported codec
this PR 1.20.2, WITH_LIBDE265=ON decoded 800x1006 decoded 1553x2111

The "before" error is the same line as in the #94 log. The add-on builds and links on both; with this PR libde265 is linked into imagedecoder.heif.so.

Rebuilt after adding the two #80 commits: all libde265 and libheif patches now apply without offset or fuzz, and both files still decode. The Windows Store fix can only be confirmed by the Win64-UWP job here.

Prepared with Claude Code; opened from my account.

@greptile-apps

greptile-apps Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR appears safe to merge; only non-blocking patch-header normalization remains advisable.

Findings

  1. P2 Version-Specific Patch Headers ▶

Summary

  • Bumps libde265 from 1.0.15 to 1.0.16 and libheif from 1.17.6 to 1.20.2.
  • Enables libheif’s libde265 backend and position-independent code.
  • Refreshes the static Windows linkage patch and removes an obsolete warning patch.
  • Increments the addon version to 22.1.1.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  D[libde265 1.0.16 recipe] --> H[libheif 1.20.2 build]
  F[WITH_LIBDE265=ON] --> H
  P[Static linkage patch] --> H
  H --> A[HEIF decoder addon 22.1.1]
  A --> I[HEVC-backed HEIC decoding]
Loading

Reviews (1) · Last reviewed commit: "bump libde265 to 1.0.16 and libheif to 1..."

Comment on lines +1 to +2
--- libheif-1.20.2/libheif/api/libheif/heif_library.h.orig 2025-08-24 12:06:37.536511749 +0200
+++ libheif-1.20.2/libheif/api/libheif/heif_library.h 2025-08-24 12:06:50.251187896 +0200

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Version-Specific Patch Headers

The refreshed patch embeds the libheif-1.20.2 archive version and generated timestamps instead of using the normalized a/... and b/... format used by sibling patches. This is non-blocking, but it makes future dependency bumps more fragile and requires avoidable manual edits when refreshing the patch.

Knowledge Base Used: Dependency platform patches

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@garbear
garbear merged commit 9f65897 into xbmc:Piers Sep 15, 2026
8 checks passed
@garbear

garbear commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Merged, and I pushed version 22.1.1 to the mirrors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

On LG webOS devices, only a black screen is displayed when running Kodi "Piers" Beta 1 and 2.

4 participants