Skip to content

Releases: johannesvollmer/exrs

Performance Improvements (Breaking Changes)

08 Jul 00:36
3e0f6cd
Compare
Choose a tag to compare

Still supports Rust 1.59.0. Thanks to @Shnatsel for the support.

Restrict version of `half` to maintain compiler backwards compatibility

02 Jul 19:50
Compare
Choose a tag to compare

Various Performance Improvements by @Shantsel

05 Feb 21:32
2a27312
Compare
Choose a tag to compare

Various Improvements in encoding and decoding speed, yay!

Huge thanks to @Shnatsel for all of these:

  • Faster Zip1 & Zip16 & PXR24 decoding (encoding unchaged yet) (by using a new dependency)
  • Faster RLE encoding and decoding (by utilizing cpu vectorization where supported)
  • Faster packing and unpacking of RLE & Zip1 & Zip16 images (by utilizing cpu vectorization where supported)

Various Improvements

18 Sep 20:56
dce55d1
Compare
Choose a tag to compare

Big thanks to our two new contributors :)

Zip Compression Speedup & Official (Incomplete) Big Endian Support

19 Aug 14:33
Compare
Choose a tag to compare
  • Replaced inflate & deflate dependency with miniz_oxide, improving decompression performance and compression ratio (Thanks to @Shnatsel for the suggestion) for compression methods ZIP1, ZIP16, PXR24.
  • Officially started supporting big endian architectures. The functionality is almost fully implemented already. Only the PXR24 compression method is not supported yet, it will return an error when compressed or decompressed on such an architecture.
  • lebe dependency license changed to standardized BSD-3-Clause

here it is

Quick Fixes

24 Nov 17:32
5aa723f
Compare
Choose a tag to compare

Fuzzing revealed a panic in IntegerBounds, this was fixed, and the auto-cropping algorithm behaviour and performance was improved, thanks to the help of @saethlin.

B44 Compression Method and Larger Tuples for Channels

30 May 01:06
c5d3cda
Compare
Choose a tag to compare

I'm honoured to announce this new release, which largely consists of two great community contributions.

  • The B44 and B44A compression methods are now supported (the first lossy method), thanks to Dorian Fevrier
  • When using a tuple to store your channels, you can now use 32 channels instead of only 8, thanks to Karel Peeters

Other changes have also been made.

  • low-level interface restructured - was one monolithic function, has become multiple composable objects
  • parallel compression bug resolved (excessive memory usage)
  • updated dependencies
  • documentation improvements

The RGBA API now works with arbitrary channels

07 Feb 15:49
c4a591f
Compare
Choose a tag to compare

This release generalizes the beloved rgba callback, so that it can be used with any combination of channels, yay!
Furthermore, it is now easier to create images with multiple layers where each layer has a different type.

At last, this release also includes a dedicated GUIDE.MD, which is an introduction to the concepts in this library. This should help you to get started more easily than just examples.

  • read and write specific channels, by name, and inferred sample type
  • dedicated introductory guide
  • write multiple layers with different types
  • many other small improvements

Version 1.1.0

`exrs v1.0.0` lays architectural groundwork

21 Dec 21:53
1bba7f7
Compare
Choose a tag to compare

Hi! I'm proud to announce that I declare this libary version 1.0 today.

However, this is not because of full exr support yet. Instead, I came to the conclusion that the remaining missing features should not be added in a hurry. The recent architecture rework is an improvement that enables us to do all the other missing exr features smoothly. That's why this restructuring lifts this crate to version 1.0.

Improvements:

  • support auto crop for all image types and with more control
  • the beloved closure style for reading rgba images now supports multiple layers
  • arbitrary channels now support reading only one layer and skipping the rest
  • even simpler "one liner" rgba read and write functions
  • reduce code duplication within exrs
  • allow you to insert your own modular reader or writer, supporting custom pixel storage types, channels, or even layers
  • documentation improvements and lots of improved names

New Attributes and Auto Cropping

06 Sep 01:33
Compare
Choose a tag to compare
Pre-release

There's some new features in this new exrs release!

  • new attributes: software name, far and near clip, vertical and horizontal field of view
  • a basic auto crop function (but an example is missing)
  • checks meta data before creating file on system
  • some things have been renamed