Commit Graph
7 Commits
Author SHA1 Message Date
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
boykopovar d616c4c3ce fix(pngenc): validate input buffers and filter capacity 2026-10-21 21:52:28 +03:00
boykopovar 13fa4033a4 fix(pngenc): restore creation memory contract 2026-10-21 21:52:28 +03:00
boykopovar 0a8ee1520d fix(pngenc): allow unfiltered rows with partial filter masks 2026-10-21 21:52:27 +03:00
Anthony 8e1cf6d3fb test(pngenc): cover output capacity boundaries 2026-10-13 15:44:20 -03:00
DotDebianandClaude Opus 5.5 bfe9bf9af4 fix(pngenc): restrict adaptive filtering to the requested filter subset
A filter_type naming a subset of the PNG filters used only the first
filter of the mask, because stb's writer is either fully adaptive or
forced to one filter. Decoder::Png::Encode now takes the set of allowed
filter types, filters the rows and writes the chunks itself, and keeps
stb for deflate only. Output for the all-filters and single-filter
cases is unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 02:08:31 +02:00
Adrià FranchandClaude 58f90eea9d feat(libScePngEnc): implement PNG encoding
scePngEncQueryMemorySize, scePngEncCreate, scePngEncEncode and
scePngEncDelete encode R8G8B8A8 and B8G8R8A8 images with a pitch into
RGB or RGBA PNGs using the shared encoder in core/Decoder/Png.
Decoder::Png::Encode takes optional compression level and filter
options so the encode parameters are honoured.

Co-Authored-By: Claude <[email protected]>
2026-10-02 10:00:32 +02:00