v0.5.0
This release contains a few API simplifications, fixes, and speedups.
It also significantly improves the visual quality of Modular progressive previews, and adds support for decoding files with out-of-order jxlp boxes.
What's Changed
- Handle output modular channels with grid type None. by @veluca93 in #756
- Fix an unsound API allowing creating slices with incorrect alignment by @Shnatsel in #757
- Minor API fixes from Chrome review. by @veluca93 in #759
- flush_pixels: return whether new pixels were rendered by @tnikkel in #755
- Small fix in maybe_preview_lf_frame. by @veluca93 in #760
- Remove support for uninitialized image buffers. by @veluca93 in #758
- Do not save partial frames before a successful flush. by @veluca93 in #763
- Fix two cases of too-early partial rendering. by @veluca93 in #764
- add support for out-of-order jxlp (ftyp version 1) by @jonsneyers in #752
- Add
JxlPixelFormat::rgb*, and do not ask for extra channels in pixel format helpers by @tirr-c in #767 - Avoid subtract overflow in save_lowmem for 1px-wide save regions by @hjanuschka in #776
- Validate histogram_index in PassInfo against num_histograms by @hjanuschka in #775
- Use fallible allocation for hf_sections in codestream parser by @hjanuschka in #774
- Fix: capture LZ77 distance cluster before context_map padding (resolves #765) by @lilith in #766
- Fix clipped blending with missing references by @hjanuschka in #773
- Fix OOM crash in OooJxlp processing. by @veluca93 in #777
- Make progressive previews of modular images smoother. by @veluca93 in #779
- Fix crash when trying to unsqueeze an empty tile. by @veluca93 in #780
- Remove CmsStage by @sboukortt in #754
- Make the smooth-unsqueeze special path work on non-None grids. by @veluca93 in #781
- feat: simd128 support for wasm32 by @mertalev in #706
- Fix a panic when referencing a non-existent LF frame. by @veluca93 in #784
- perf: use StackVec in render channel plumbing by @hjanuschka in #710
- perf: tighten VarDCT group coefficient hot loop by @hjanuschka in #720
- Fix squeeze smooth preview indexing logic. by @veluca93 in #785
- Revisit modular special cases, and add a single-symbol path. by @veluca93 in #787
- perf: speed up flat tree traversal in modular decode by @hjanuschka in #716
- Fix jxl_cms enabling jxl's default features. by @veluca93 in #790
- Speed up smooth upsampling. by @veluca93 in #788
- Fix DeltaPalette with Weighted predictor. by @veluca93 in #791
- Speed up Weighted predictor. by @veluca93 in #793
- perf: reduce blending allocations in hot paths by @hjanuschka in #709
- More modular fast paths and optimizations by @veluca93 in #797
- Render the full LF preview on its first flush. by @tnikkel in #800
- Remove proc-macro-error2. by @veluca93 in #799
- slightly speedup XYB by doing a TODO by @jonsneyers in #801
- Simplify handling of lf image and remove a copy with progressive images. by @veluca93 in #805
- Clarify the contract between the render pipeline and its input. by @veluca93 in #806
- Update comment on JxlColorProfile::same_color_encoding() by @FooIbar in #809
- Less strict ICC size limit by @sboukortt in #813
- Refactor end-to-end tests to a separate module. by @veluca93 in #814
- Rewrite transform application in Modular decoding by @veluca93 in #812
- Update borders around LF groups in progressive rendering. by @veluca93 in #816
- Disable the single symbol special path with LZ77 and extra bits. by @veluca93 in #817
- Add microbenchmarks for blending by @alexander-shaposhnikov in #819
- Perform blending in-place by @alexander-shaposhnikov in #818
- Simplify API and test code by @veluca93 in #820
- Vectorize blending by @alexander-shaposhnikov in #821
- srgb_to_linear, srgb_to_linear_simd: Multiply by reciprocal instead of dividing by @zsoltiv in #826
- Add flake.nix for Nix dev shell and checks by @tirr-c in #827
- Rewrite box and codestream parsing. by @veluca93 in #828
- Replace >> with shrc when computing sizes in meta_apply.rs. by @veluca93 in #830
- Check spline parameters and initialize draw cache in advance. by @veluca93 in #829
- Use wrapping_abs() in precompute_references. by @veluca93 in #831
- Avoid marking dependendants as final multiple times in modular decoding. by @veluca93 in #832
- Avoid integer overflow in XYB modular conversion by @veluca93 in #833
- Do not return the previous frame's header while parsing the next one. by @veluca93 in #834
- Some fixes for progressive decoding by @veluca93 in #835
- v0.5.0 by @veluca93 in #836
New Contributors
- @Shnatsel made their first contribution in #757
- @tnikkel made their first contribution in #755
- @alexander-shaposhnikov made their first contribution in #819
- @zsoltiv made their first contribution in #826
Full Changelog: v0.4.3...v0.5.0