- Fixed resizing when the destination image has the same dimensions as the source image (#9).
- Added support of new type of pixels
PixelType::U16x4
. - 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>
.
- Fixed README.md
- Added support of new type of pixels
PixelType::U16x2
(e.g. luma with alpha channel).
- Added support of new type of pixels
PixelType::U16
.
- Added optimisation for convolution of
U8x2
images with helps ofSSE4.1
.
- Added optimisation for processing
U8x2
images byMulDiv
with helps ofSSE4.1
andAVX2
instructions. - Added optimisation for convolution of
U16x2
images with helps ofAVX2
instructions.
- Added support of new type of pixels
PixelType::U8x2
. - Added into
MulDiv
support of images with pixel typeU8x2
. - Added method
Image::into_vec(self) -> Vec<u8>
(#7).
- Added optimisation for convolution of U16x3 images with helps of
SSE4.1
andAVX2
instructions. - Added partial optimisation for convolution of U8 images with helps of
SSE4.1
instructions. - Allowed to create an instance of
Image
,ImageVew
andImageViewMut
from a buffer larger than necessary (#5). - Breaking changes:
- Removed methods:
Image::from_vec_u32()
,Image::from_slice_u32()
. - Removed error
InvalidBufferSizeError
.
- Removed methods:
- Added support of new type of pixels
PixelType::U16x3
. - Breaking changes:
- Added variant
U16x3
into the enumPixelType
.
- Added variant
- 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.
- Breaking changes:
- Deleted variant
SSE2
from enumCpuExtensions
.
- Deleted variant
- 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.
- Fixed compile errors on non-x86 architectures.
- Fixed compile errors on non-x86 architectures.
- Added support of new type of pixels
PixelType::U8x3
(with auto-vectorization for SSE4.1). - Exposed module
fast_image_resize::pixels
with typesU8x3
,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).
- Breaking changes:
- Added variant
U8x3
into the enumPixelType
. - Changed internal tuple structures inside of variant of
ImageRows
andImageRowsMut
enums.
- Added variant
- Added optimisation of convolution grayscale images (U8) with helps of
AVX2
instructions.
- Added support of new type of pixels
PixelType::U8
(without forced SIMD). - Breaking changes:
ImageData
renamed intoImage
.SrcImageView
andDstImageView
replaced byImageView
andImageViewMut
.- Method
Resizer.resize()
now returnsResult<(), DifferentTypesOfPixelsError>
.
- Added support of compilation for architectures other than x86_64.
- Added method
SrcImageView.set_crop_box_to_fit_dst_size()
. - Fixed out-of-bounds error during resize with cropping.
- Refactored
ImageData
.- Added methods:
from_vec_u32()
,from_vec_u8()
,from_slice_u32()
,from_slice_u8()
. - Removed methods:
from_buffer()
,from_pixels()
.
- Added methods:
- Fixed typo in name of CatmullRom filter type.