Skip to content

v0.5.0

Choose a tag to compare

@veluca93 veluca93 released this 28 Jul 08:51
4dd71a8

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

Full Changelog: v0.4.3...v0.5.0