- Optimize HLG transfer function
- Improve error types (breaking change)
- Improve struct documentation
- Remove unnecessary dependencies
- Fix some clippy lints, including some which may improve performace a bit
- Bump nalgebra dependency version
- More math optimizations
- Increase speed and reduce memory usage by converting in place
- [Breaking] This required that some of the implementations of
From<&T>
be removed. The recommendation is that crates which were using these and require the input to not be moved should usefrom(input.clone())
.
- [Breaking] This required that some of the implementations of
- Add "fastmath" cargo feature, which is on by default, and can be turned off to disable fastmath optimizations
- This is intended primarily for development and should not be disabled in the real world, unless you just like making your crate 5x slower for no good reason.
- More optimizations to linear/gamma conversion functions
- More optimizations to everything basically
- Optimizations to linear/gamma conversion functions
- Add more exports from the crate root
- Add HSL color space, which can be converted to/from Linear RGB
- Speed up cube roots by allowing autovectorization
- Improve performance of conversions between linear RGB and XYB
- Fix conversions to and from XYB. All previous versions should not be used, as this conversion was very wrong prior to this.
- Add intermediate structs for
Rgb
andLinearRgb
to make this crate more versatile
- Improvements to XYB conversion accuracy
- Make things faster
- Unofficially declare that the interface is not going to change much after this
- Fix more conversion bugs
- Bump
v_frame
crate
- Use the
v_frame
crate instead of rolling our own - Add
data_mut
method forXyb
, useful for some metrics and does not violate invariants of frame size - Minor optimizations
- Add tests
- Fix as many bugs as possible so that this crate is usable
- The current state is that this crate is usable but there are slight discrepancies between the expected test values and some of the results. The discrepancies are small enough that this crate should be safe to use for things that do not critically require accuracy (i.e. if you just want some butteraugli metrics), but if you're using this for things that must be color exact, it's better to wait until these discrepancies are resolved.
- Initial release
- There may be bugs, but the API is setup