Johannesvollmer Exrs Versions Save

100% Safe Rust OpenEXR file library

v1.7.0

9 months ago

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

v1.6.5

9 months ago

see #213 thanks to @michaelciraci for the quick reaction :) see https://github.com/starkat99/half-rs/issues/97

the new package is available on https://crates.io/crates/exr

v1.5.3

1 year ago

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)

v1.5.1

1 year ago

Big thanks to our two new contributors :)

  • @anfedotoff fix multiplication overflow in preview attribute: #166
  • @Shnatsel pass bounds to zip compression: #167

v1.5.0

1 year ago
  • 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

v1.4.0

2 years ago

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.

v1.2.0

2 years ago

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

v1.1.0

3 years ago

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

v1.0.0

3 years ago

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

v0.9.0

3 years ago

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