79 Commits
Author SHA1 Message Date
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 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 20d0578306 Added support of new type of pixels PixelType::U16x2 2022-06-22 21:52:47 +03:00
Kirill Kuzminykh d719e2ab75 - Extracted helping code for testing into separate crate.
- Optimized convolution of U16 images with help of AVX2.
2022-05-31 22:58:10 +03:00
Kirill Kuzminykh 5954725342 Added support of new type of pixels PixelType::U16. 2022-05-22 22:51:05 +03:00
Kirill Kuzminykh 1be895f332 - Added optimisation for processing `U8x2 images by MulDiv with helps of SSE4.1 and AVX2` instructions.
- Added optimisation for convolution of ``U16x2`` images with helps of ``AVX2`` instructions.
2022-05-13 00:03:40 +03:00
Kirill Kuzminykh 0a19acf252 - Added support of new type of pixels `PixelType::U8x2`.
- Added into ``MulDiv`` support of images with pixel type ``U8x2``.
2022-05-01 23:09:25 +03:00
Kirill Kuzminykh 33d51a36bf Excluded "nearest" algorithm for benchmarking of "resizer" crate. 2022-04-22 19:44:38 +03:00
Kirill Kuzminykh f66efe5cfa Prepare to release. 2022-03-23 22:36:24 +03:00
Kirill Kuzminykh bcf86e0cf1 - Added optimisation of convolution U16x3 images with helps of `SSE4.1 and AVX2` instructions.
- Added partial optimisation of convolution U8 images with helps of ``SSE4.1`` instructions.
2022-03-22 00:16:57 +03:00
Kirill Kuzminykh 146777ddbc - Added support of new type of pixels PixelType::U16x3.
- Added variant `U16x3` into the enum `PixelType`.
2022-01-27 20:25:44 +03:00
Kirill Kuzminykh d4ead15856 - Added optimisation of multiplying and dividing image by alpha channel with helps of `SSE4.1` instructions.
- Improved performance of dividing image by alpha channel without forced SIMD instructions.
- Deleted variant `SSE2` from enum ``CpuExtensions``.
2022-01-12 23:38:32 +03:00
Kirill Kuzminykh 044478620d - Added optimisation of convolution U8x3 images with helps of `AVX2` instructions.
- Fixed error in code for convolution U8x4 images with helps of ``SSE4.1`` instructions.
- Fixed error in code for convolution U8 images with helps of ``AVX2`` instructions.
2021-12-14 00:17:45 +03:00
Kirill Kuzminykh 79c8fceeb1 - Added support of new type of pixels PixelType::U8x3 (with auto-vectorization for SSE4.1).
- Exposed module `fast_image_resize::pixels` with types `U8x3`, `U8x4`, `F32`, `I32`, `U8` used as wrappers for represent type of one pixel of image.
- Some optimisations in code of convolution written in Rust (without intrinsics for SIMD).
- Added variant `U8x3` into the enum `PixelType`.
- Changed internal tuple structures inside of variant of `ImageRows` and `ImageRowsMut` enums.
2021-11-18 21:48:32 +03:00
Kirill Kuzminykh d918386dfb Added optimisation of convolution grayscale images (U8) with helps of `AVX2` instructions. 2021-11-13 20:40:25 +03:00
Kirill Kuzminykh 61b94a05fc - Added support of the new type of pixels - U8.
- Added benchmarks for resizing of U8 image.
2021-10-23 12:10:33 +03:00
Kirill Kuzminykh 071d5c3e31 Added support of compilation for architectures other than x86_64. 2021-10-09 14:42:26 +03:00
Kirill Kuzminykh 52acf313c2 Added benchmark for resizing of I32 images. 2021-10-09 13:06:34 +03:00
Kirill Kuzminykh 4cb09ed0ac - Added method SrcImageView.set_crop_box_to_fit_dst_size().
- Fixed out-of-bounds error during resize with cropping.
- Refactored `ImageData`.
2021-08-28 20:45:31 +03:00
Kirill Kuzminykh c5d527704c - Added method SrcImageView.set_crop_box_to_fit_dst_size().
- Fixed out-of-bounds error during resize with cropping.
- Refactored `ImageData`.
2021-08-28 17:12:53 +03:00
Kirill Kuzminykh b0416005c7 Fixed typo in name of CatmullRom filter type. 2021-08-02 21:05:50 +03:00
Kirill Kuzminykh ef12fe1d76 Changed example of code in README.md 2021-08-01 01:28:24 +03:00
Kirill Kuzminykh 69bef66fa1 Added generator of MD table with result of resizing speed comparison. 2021-07-30 01:22:16 +03:00
Kirill Kuzminykh dec46ebb49 Small optimisation of resizing of images with U8x4 pixel format. 2021-07-13 00:13:17 +03:00
Kirill Kuzminykh 83cbef093b criterion replaced by glassbench. 2021-07-04 16:33:11 +03:00
Kirill Kuzminykh 627d396fee - Fixed benchmark for resizing of RGB images.
- Added benchmark for resizing of RGBA images.
2021-07-03 18:53:07 +03:00
Kirill Kuzminykh d098c213ad Added benchmarks result into README.md 2021-07-03 17:02:57 +03:00
Kirill Kuzminykh d8033a005b Initial commit 2021-07-03 14:29:58 +03:00