Skip to content

libwebp-m 1.5.0: libwebp as C++23 modules (mcpplibs.mwrap.libwebp) - #1

Merged
Sunrisepeak merged 3 commits into
mainfrom
libwebp-m-1.5.0
Oct 28, 2026
Merged

Sunrisepeak merged 3 commits into
mainfrom
libwebp-m-1.5.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

libwebp 1.5.0 as C++23 modules for mcpp (import mcpplibs.mwrap.libwebp;), over compat.libwebp 1.5.0.

  • mcpplibs.mwrap.libwebp: webp/types.h, decode.h, encode.h, mux_types.h (23 types, 59 enumerators, 72 functions; 13 static inline functions adapted in mcpplibs::mwrap::libwebp), re-exporting .sharpyuv and .macros.
  • mcpplibs.mwrap.libwebp.demux / .mux: webp/demux.h / webp/mux.h (WebPAnimDecoder / WebPAnimEncoder, the container), behind the demux / mux features that forward to compat.libwebp's.
  • mcpplibs.mwrap.libwebp.macros: the ABI versions, WEBP_MAX_DIMENSION, sharpyuv's version, WEBP_ABI_IS_INCOMPATIBLE, SHARPYUV_MAKE_VERSION.
  • Generated from the pinned headers (tools/gen_exports.py); tools/check_exports.py audits every declaration and macro.
  • Tests: the simple/advanced/incremental API, errors, sharpyuv, header mixing, macros; tests/anim with both features; FNV-1a hashes of encoded files and decoded pixels pinned across every CI target.
  • tools/run_conformance.py: examples/webpcodec is byte-identical to upstream's cwebp/dwebp built by its makefile.unix (76 comparisons).
  • Templates image (default) and animation.

…I as modules, generated from the pinned headers (the static inline API adapted, the macros as constants and constexpr functions; demux and mux behind the features of the same names); API, macro, header-mixing, animation and pinned-hash tests; export audit
… byte for byte with upstream's cwebp and dwebp built by its own makefile.unix
… usage documentation, CI (Linux x86_64 GCC/LLVM, Linux arm64 GCC, macOS, Windows, the Web), release and template workflows
@Sunrisepeak
Sunrisepeak merged commit 0252b65 into main Oct 28, 2026
7 checks passed
@Sunrisepeak
Sunrisepeak deleted the libwebp-m-1.5.0 branch October 28, 2026 23:20
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.

1 participant