Commit Graph
379 Commits
Author SHA1 Message Date
Kirill Kuzminykh 788297ce67 Added support of optimisation with helps of NEON SIMD for convolution of U16x3 images. 2022-11-22 23:50:56 +04:00
Kirill Kuzminykh 781c168ba8 Added support of optimisation with helps of NEON SIMD for convolution of U16x2 images. 2022-11-22 22:35:33 +04:00
Kirill Kuzminykh a1cb32aa69 Improved optimisation of convolution with helps of NEON SIMD for U8 images. 2022-11-19 02:34:57 +04:00
Kirill Kuzminykh cf46a07018 Added support of optimisation with helps of NEON SIMD for convolution of U16 images. 2022-11-19 00:20:30 +04:00
Kirill Kuzminykh bab68ddd1e chore: Release v2.2.0 2022-11-18 21:32:19 +04:00
Kirill Kuzminykh d41c89ee93 Prepare to release. 2022-11-18 21:01:51 +04:00
Kirill Kuzminykh 30abb344d1 Added support of optimisation with helps of NEON SIMD for convolution of U8x3 images. 2022-11-18 00:32:07 +04:00
Kirill Kuzminykh f4a4d2ffd7 Added support of optimisation with helps of NEON SIMD for convolution of U8 images. 2022-11-13 00:35:22 +04:00
Kirill Kuzminykh 9320b4b1c4 Added support of optimisation with helps of NEON SIMD for convolution of U8x2 images. 2022-11-12 22:49:24 +04:00
Kirill Kuzminykh 057c0bcf75 Fixed tests. 2022-11-11 23:15:06 +04:00
Kirill Kuzminykh e1afd34c9c Added optimisation for processing U8x2 images by MulDiv with helps of NEON SIMD instructions. 2022-11-11 23:11:38 +04:00
Kirill Kuzminykh be01946446 chore: Release v2.1.0 2022-11-11 20:37:54 +04:00
Kirill Kuzminykh 9f01a49bb3 Updated benchmark results. 2022-11-11 20:13:51 +04:00
Kirill Kuzminykh a0ef04cf4e Added full optimisation for convolution of U8 images with helps of SSE4.1 instructions. 2022-11-11 00:34:59 +04:00
Kirill Kuzminykh 55ee4f1ec8 Improved optimisation of MulDiv with helps of NEON SIMD for U8x4 pixels. 2022-11-10 00:48:22 +04:00
Kirill Kuzminykh f2ef3d1b04 Fixed error in implementation of MulDiv::divide_alpha() and MulDiv::divide_alpha_inplace() for U16x4 pixels with optimisation with helps of SSE4.1 and AVX2. 2022-11-09 03:22:13 +04:00
Kirill Kuzminykh 4ecb03336c Added optimisation for processing U16x4 images by MulDiv with helps of NEON SIMD instructions. 2022-11-08 00:33:08 +04:00
Kirill Kuzminykh d65ddab704 Added support of optimisation with helps of NEON SIMD for convolution of U16x4 images. 2022-11-02 23:43:22 +04:00
Kirill Kuzminykh 1092c07e0a Fixed GitHub Actions for run check and test the crate. 2022-10-29 02:19:30 +04:00
Kirill Kuzminykh 6c89f4fbae - Internals of PixelComponentMapper changed to use heap to store its data.
- Fixed couple tests.
2022-10-29 02:13:55 +04:00
Kirill Kuzminykh 404536bf99 Fixed GitHub Actions for run check and test the crate. 2022-10-29 01:44:29 +04:00
Kirill Kuzminykh 7a00cdf711 Fixed GitHub Actions for run check and test the crate. 2022-10-29 01:20:24 +04:00
Kirill Kuzminykh d70236668e Fixed GitHub Actions for run check and test the crate. 2022-10-29 01:19:31 +04:00
Kirill Kuzminykh 2f88f9df16 - Added method CpuExtensions::is_supported(&self).
- Refactored tests.
- Fixed GitHub Actions for run check and test the crate.
2022-10-29 01:14:08 +04:00
Kirill Kuzminykh ac064b40b2 Added GitHub Actions for run check and test the crate. 2022-10-28 23:17:12 +04:00
Kirill Kuzminykh 1cb430f28e Fixed CHANGELOG.md 2022-10-28 22:20:28 +04:00
Kirill Kuzminykh e76f20d930 Fixed link to documentation page in README.md file. 2022-10-28 22:12:02 +04:00
Kirill Kuzminykh 97403adf9d (cargo-release) version 2.0.0 v2.0.0 2022-10-28 21:49:01 +04:00
Kirill Kuzminykh 5654716725 Fixed doc-string 2022-10-28 21:48:20 +04:00
Kirill Kuzminykh 9e96264d7f Updated benchmark results. 2022-10-28 21:23:07 +04:00
Kirill Kuzminykh 7b5a1238ca Static variables SRGB_MAPPER and GAMMA22_MAPPER replaced by functions to create these mappers. 2022-10-28 20:59:41 +04:00
Kirill Kuzminykh ff2837d704 - Added support of optimisation with help of NEON SIMD for convolution of U8x4 images.
- Added optimisation for processing `U8x4` images by `MulDiv` with helps of `NEON SIMD` instructions.
2022-10-19 00:25:14 +04:00
Kirill Kuzminykh 29f9f1f508 Added full support of optimisation with help of SSE4.1 for convolution of U8x3 images. 2022-10-09 14:41:39 +04:00
Kirill Kuzminykh e3b64bf7b1 - Trait Pixel renamed into PixelExt and changed.
- All pixel types (`U8`, `U8x2`, ...) replaced by type aliases for new generic structure `Pixel`. Use method `new()` to create instance of one pixel.
- Added module `color` for working with colorspace and gamma.
2022-10-07 20:39:21 +04:00
Kirill Kuzminykh 39f7841030 - Breaking changes:
- Struct `ImageView` replaced by enum `DynamicImageView`.
  - Struct `ImageViewMut` replaced by enum `DynamicImageViewMut`.
  - Trait `Pixel` changed:
    - Associated type `ComponentsCount` renamed into `CountOfComponents`.
    - Associated type `ComponentCountOfValues` renamed into `CountOfComponentValues`.
    - Associated method `components_count` renamed into `count_of_components`.
    - Associated method `component_count_of_values` renamed into `count_of_component_values`.
- Added generic structs `ImageView` and `ImageViewMut`.
- Added module `color` for working with colorspace and gamma.
- Added functions `change_type_of_pixel_components` and
  `change_type_of_pixel_components_dyn` to change type of pixel's
  components in whole image.
- Added generic trait `IntoPixelComponent<Out: PixelComponent>`.

### Example application

- Added option `--high_precision` to use `u16` as pixel components
  for intermediate image representation.
- Added converting of source image into linear colorspace before it will be resized.
  Destination image will be returned into original colorspace before it will be saved.
2022-09-14 00:07:03 +03:00
Kirill Kuzminykh c454c3b990 Added functions for converting image colorspace. 2022-08-31 22:38:27 +03:00
Kirill Kuzminykh 9b8bba2149 (cargo-release) version 1.0.0 v1.0.0 2022-07-24 21:30:19 +03:00
Kirill Kuzminykh 3c0ad5dd32 Added example of command line application "resizer". 2022-07-24 21:28:53 +03:00
Kirill Kuzminykh 02f429fef7 (cargo-release) version 0.9.7 v0.9.7 2022-07-14 23:35:59 +03:00
Kirill Kuzminykh 6483439ab3 Fixed resizing when the destination image has the same dimensions as the source image (#9). 2022-07-14 23:29:45 +03:00
Kirill Kuzminykh 8a159fc3e6 - Renamed NormalizerGuard into Normalizer.
- Removed unsafe blocks from implementation of Normalizer.
2022-07-07 21:52:47 +03:00
Kirill Kuzminykh c6ce200d96 (cargo-release) version 0.9.6 v0.9.6 2022-06-28 23:53:19 +03:00
Kirill Kuzminykh 5b89090d11 - Fixed benchmarks for resizing images with alpha channel using the resizer crate.
- Removed `image` crate from benchmarks for resizing images with alpha.
- Added method `Image::copy(&self) -> Image<'static>`.
2022-06-28 23:50:14 +03:00
Kirill Kuzminykh 891312a4bb Added support of new type of pixels PixelType::U16x4. 2022-06-26 19:16:22 +03:00
Kirill Kuzminykh 091f78fac9 (cargo-release) version 0.9.5 v0.9.5 2022-06-22 21:57:08 +03:00
Kirill Kuzminykh 70a3fe68ab Fixed README.md 2022-06-22 21:56:19 +03:00
Kirill Kuzminykh 81439540cd (cargo-release) version 0.9.4 v0.9.4 2022-06-22 21:53:45 +03:00
Kirill Kuzminykh 20d0578306 Added support of new type of pixels PixelType::U16x2 2022-06-22 21:52:47 +03:00
Kirill Kuzminykh 748ecb50b5 Fixed results of benchmark of resizing U16 images. 2022-06-01 11:16:24 +03:00
Kirill Kuzminykh 9f576fceb7 (cargo-release) version 0.9.3 v0.9.3 2022-05-31 23:10:54 +03:00