Releases: libjxl/jxl-rs
v0.1.5
Implement RGBA output for images without alpha, as well as a rewind() function.
Also add a fuzzer, and fix a few of fuzzer-found crashes / infinite loops / unexpected slowness, and fix a case of UB-under-stacked-borrows due to using .as_ptr() instead .as_mut_ptr().
What's Changed
- Add jxl-perfhistory benchmark CI stage by @hjanuschka in #540
- Added extra workflow for benchmark comments by @zond in #542
- Fix (or silence) clippy warnings/errors in
jxl_transformsby @tirr-c in #545 - Added efb.jxl from #512 by @zond in #534
- Split out the AUTHORS check so we can make it optional. by @veluca93 in #554
- Edit existing benchmark comments to reduce noise by @FooIbar in #551
slice_from_cachelines_mut: fix invalid *const T to *mut T cast by @Mrmaxmeier in #557- Add simple fuzzers via cargo-fuzz (decode, decode_header) by @Mrmaxmeier in #527
- Fix various bugs discovered by fuzzing. by @veluca93 in #559
- Fix more fuzzer-found issues. by @veluca93 in #560
- Fix issues with parsing of permuted TOCs by @veluca93 in #561
- Another batch of fuzzer fixes. by @veluca93 in #562
- Make section handling non-quadratic. by @veluca93 in #564
- Fix computation of output rectangle in case of non0 origin. by @veluca93 in #563
- Add FFI-friendly API and convenience methods for Chromium integration by @hjanuschka in #556
- Update to v0.1.5 by @veluca93 in #565
New Contributors
- @FooIbar made their first contribution in #551
- @Mrmaxmeier made their first contribution in #557
Full Changelog: v0.1.4...v0.1.5
v0.1.4
This release brings significant binary size reductions.
What's Changed
- Do not build the simple pipeline outside of tests. by @veluca93 in #522
- Skipping zero size buffers by @zond in #523
- Improve weighted predictor cache locality by @hjanuschka in #526
- Precompute cosines in spline rendering by @hjanuschka in #524
- Made pipeline stages use flat buffers by @zond in #515
- Reduce code size with a generic transform impl for large transforms. by @veluca93 in #528
- Bump version to 0.1.4. by @veluca93 in #541
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
- bt709 based on sRGB by @zond in #501
- Exclude test images on publish by @tirr-c in #502
- Symlink LICENSE files. by @veluca93 in #505
- Fewer allocations by @zond in #511
- Improve code size. by @veluca93 in #517
- Address comments from safety review. by @veluca93 in #518
- Bump version to 0.1.3. by @veluca93 in #519
Full Changelog: v0.1.2...v0.1.3
v0.1.2
This release fixes a few decoding corner cases, removes unneeded dependencies, significantly speeds up decoding of many common images, and splits the jxl crate into a few supporting crates.
What's Changed
- Fix Cargo.toml for crates.io by @veluca93 in #377
- Use JxlOutputBuffer in SaveStage by @veluca93 in #378
- Improved render stage tests by @zond in #371
- Replaced cases of {x}.rs and {x}/ with a {x}/mod.rs file. by @zond in #379
- Removed a redundant TODO (the task is already done). by @zond in #382
- Made the API produce x/y size post transposing. by @zond in #381
- Split parts of frame/mod.rs into decode.rs and render.rs. by @zond in #380
- Updated jxlinspect to use the API. by @zond in #384
- Prepared for user-provided CMS integration. by @zond in #385
- make nearest_neighbor #[cfg(test)] by @mo271 in #386
- Expose intensity target in JxlBasicInfo by @sboukortt in #388
- Skip computing the output of the weighted predictor if unused by @sboukortt in #389
- Fix check by @sboukortt in #390
- Removed spurious debug output. by @zond in #392
- Added a test of the coeff order function. by @zond in #391
- Backport int_to_float fix from libjxl/libjxl#4461 by @sboukortt in #393
- Allow casting from a avx512 descriptor to a avx descriptor. by @veluca93 in #395
- Prepare for SIMD DCT by @sboukortt in #394
- Add a few inline annotations by @sboukortt in #397
- Less copying around in DCT by @sboukortt in #399
- DCT: fewer allocations by @sboukortt in #400
- To/FromLinear: for gamma, copy sign for negative values by @sboukortt in #401
- Add call method to SimdDescriptor trait for feature context pattern by @zond in #403
- Use padded frame size in PatchesDictionary::read by @mo271 in #405
- test image for patches out of bound by @mo271 in #406
- Cleaned up changes optimizing dct simd performance by @zond in #407
- Implement the low-memory render pipeline by @veluca93 in #408
- Unify the JxlOutputBuffer type with the Image type. by @veluca93 in #409
- Speed up Gaborish. by @veluca93 in #412
- Type-erased low_memory_pipeline and start SIMD save. by @veluca93 in #411
- SIMDfy dequant_lanes by @sboukortt in #398
- Make the encoders write to writers, instead of buffering bytes themselves by @sboukortt in #414
- Fix build with exr disabled by @sboukortt in #416
- Move SIMD to a new crate and set up better bench for dct. by @veluca93 in #413
- Fix modular buffer grid kind of unsqueeze output. by @szabadka in #415
- Simplify scalar SIMD implementation by @tirr-c in #417
- test image for alpha with squeeze by @mo271 in #410
- Fix assertions on group size for chroma subsampling. by @veluca93 in #419
- update readme by @mo271 in #420
- Correct Orientation enum naming and logic for 90-degree rotations by @mo271 in #427
- SIMDfy the gamma tf in From/ToLinear by @sboukortt in #418
- jxlinspect: milliseconds instead of seconds by @mo271 in #435
- Avoid .round() in PPM/PNG output by @sboukortt in #432
- SIMDfy sRGB by @sboukortt in #433
- add animation delay to apng encoder by @mo271 in #434
- Fix local MA tree node limit by @tirr-c in #439
- Add some #[inline] annotations. by @veluca93 in #440
- Fix max property for references by @LouisDISPA in #438
- Fix color channel count when calculating global MA tree limit by @tirr-c in #442
- Use benchmark groups to group by DCT sizes and compare implementations by @tirr-c in #443
- Fix panic when PassGroup comes before HfGlobal by @tirr-c in #444
- Added --num-reps to jxl_cli speedtest. by @zond in #446
- Fix padding rectangle calculation in extend stage. by @szabadka in #448
- add jxl art test image by @mo271 in #426
- Made frame indices seed the rng by @zond in #450
- Don't use the simple pipeline. by @veluca93 in #454
- Change IDCT impl and add a Sse4 SIMD descriptor. by @veluca93 in #453
- Prepare for generated reinterpreting_dct: change tests and bench. by @veluca93 in #455
- Generated reinterpreting_dct. by @veluca93 in #456
- Correct channel index for 420 squeeze by @zond in #457
- Fix odd-size images with upsampling and add a test. by @veluca93 in #458
- Get rid of SIGMA_PADDING. by @veluca93 in #459
- Fix images with empty squeeze residual channels. by @szabadka in #460
- Fix downsampling_bracket function. by @szabadka in #461
- Improve loading of sigma in epf. by @veluca93 in #462
- Tweak vardct decoding to improve speed. by @veluca93 in #463
- Add SIMD implementation for NEON by @tirr-c in #441
- Feature gate SIMD implementations by @tirr-c in #465
- Perform static dispatch when target feature is enabled at compile time by @tirr-c in #466
- Fix benchmarks not running except for the topmost instruction set by @tirr-c in #467
- SIMDify horizontal unsqueeze by @tirr-c in #468
- Let
Images have a "default rect". by @veluca93 in #464 - Render groups eagerly (remove explicit
do_rendercalls). by @veluca93 in #470 - Avoiding br.peek when unnecessary by @zond in #471
- Fix border handling for inner groups in the low memory pipeline. by @szabadka in #472
- SIMDify vertical unsqueeze by @tirr-c in #469
- Cleaned up speedtest by @zond in #474
- Made AnsHistogram::read branchless by @zond in #473
- Actually free buffers that will not be used again. by @veluca93 in #475
- Made bit reader refill conditional by @zond in #476
- Incremental TOC reader by @tirr-c in #477
- Speedup modular decoding. by @veluca93 in #478
- Add infrastructure for decoder special paths for Modular mode. by @veluca93 in #479
- Update and clean up dependencies by @sboukortt in #480
- Add
RleSymbolReaderby @tirr-c in #481 - Implement fast-lossless path by @tirr-c in #482
- Make
SymbolReaderoptimistic by @tirr-c in #483 - Tighten the size of some buffers. by @veluca93 in #485
- SIMDify RCT by @tirr-c in #484
- Added criterion bench for decoding by @zond in #487
- Made the codestream parser retry when necessary by @zond in #488
- Reader instead of slice by @zond in #489
- Remove zerocopy from production dependencies by @hjanuschka in #492
- Add preview frame API support by @hjanuschka in #495
- Fix spline DISTANCE_EXP to match libjxl default by @hjanuschka in #494
- feat: Implement HDR tone mapping for ICC profile generation by @hjanuschka in #491
- Relax accuracy requirements for FMA tests. by @veluca93 in #498
- Fix rect bounds check for padded images + add alpha boundary test by @hjan...
v0.1.1
What's Changed
Remove some unnecessary dependencies and clarify use of std::fs is for tests only.
Full Changelog: v0.1.0...v0.1.1