Skip to content

Commit d8692ae

Browse files
committed
changelog: composite with an opacity, the fixes heading
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BsU2GDnECphmYTjLB5UeZv
1 parent 87ed050 commit d8692ae

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,18 @@
1111
files are 2% larger to 13% smaller than before and 7-46% smaller than unoptimized ones, at 0.1 dB PSNR below
1212
unoptimized ones (before: 0.8-1 dB below); where nearly every pixel changes a little, they're 10x smaller.
1313

14+
### Fixes
15+
1416
- Lossless WebPs, and lossy ones with alpha (most optimized animations), could be undecodable since 3.7.0 (#82): a
1517
prefix group whose code had a single symbol of 256 or more (a length code) took a bit per symbol instead of none.
1618

19+
### Performance
20+
21+
- `composite()` with an opacity in `normal` mode is about 40% faster (a 1100x680 layer, two thirds at alpha 150: 7.6
22+
ms instead of 12.6 ms): it takes the fast path with the source alpha scaled by the opacity, instead of the blend
23+
modes' per channel path. The results are the same, except for exact halves at opacities like 0.5, which now round
24+
like without an opacity (by 1 at most). Without an opacity it's 5-30% faster.
25+
1726
## 3.7.0
1827

1928
### Features

0 commit comments

Comments
 (0)