Skip to content

Commit 5ee1e8c

Browse files
committed
Refactors
1 parent fd3da07 commit 5ee1e8c

33 files changed

+997
-736
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ workspace = { members = ["app"] }
22

33
[package]
44
name = "pic-scale-safe"
5-
version = "0.1.4"
5+
version = "0.1.5"
66
edition = "2021"
77
description = "Fast and safe performance image scaling"
88
readme = "README.md"

app/benches/resize_rgba/main.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use fast_image_resize::FilterType::{Bilinear, Lanczos3};
3333
use fast_image_resize::{CpuExtensions, PixelType, ResizeAlg, ResizeOptions, Resizer};
3434
use image::imageops::FilterType;
3535
use image::{DynamicImage, EncodableLayout, GenericImageView, ImageReader};
36-
use pic_scale_safe::{resize_fixed_point, resize_rgba8, ImageSize, ResamplingFunction};
36+
use pic_scale_safe::{resize_rgba8, ImageSize, ResamplingFunction};
3737

3838
pub fn criterion_benchmark(c: &mut Criterion) {
3939
let img = ImageReader::open("../assets/nasa-4928x3279.png")
@@ -93,11 +93,10 @@ pub fn criterion_benchmark(c: &mut Criterion) {
9393

9494
c.bench_function("Pic scale RGBA: Bilinear", |b| {
9595
b.iter(|| {
96-
_ = resize_fixed_point::<u8, i32, 4>(
96+
_ = resize_rgba8(
9797
&src_bytes,
9898
ImageSize::new(dimensions.0 as usize, dimensions.1 as usize),
9999
ImageSize::new(dimensions.0 as usize / 4, dimensions.1 as usize / 4),
100-
8,
101100
ResamplingFunction::Bilinear,
102101
)
103102
.unwrap();

app/benches/resize_rgba_u16/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use fast_image_resize::FilterType::{Bilinear, Lanczos3};
3333
use fast_image_resize::{CpuExtensions, PixelType, ResizeAlg, ResizeOptions, Resizer};
3434
use image::imageops::FilterType;
3535
use image::{DynamicImage, EncodableLayout, GenericImageView, ImageReader};
36-
use pic_scale_safe::{resize_fixed_point, resize_rgba16, ImageSize, ResamplingFunction};
36+
use pic_scale_safe::{resize_rgba16, ImageSize, ResamplingFunction};
3737

3838
pub fn criterion_benchmark(c: &mut Criterion) {
3939
let img = ImageReader::open("../assets/nasa-4928x3279.png")
@@ -71,7 +71,7 @@ pub fn criterion_benchmark(c: &mut Criterion) {
7171
.map(|&x| (x as u16) << 2)
7272
.collect::<Vec<_>>();
7373
b.iter(|| {
74-
_ = resize_fixed_point::<u16, i32, 4>(
74+
_ = resize_rgba16(
7575
&image_10_bit,
7676
ImageSize::new(dimensions.0 as usize, dimensions.1 as usize),
7777
ImageSize::new(dimensions.0 as usize / 4, dimensions.1 as usize / 4),

app/src/main.rs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,46 +28,47 @@
2828
*/
2929
mod image_wrapper;
3030

31-
use fast_image_resize::images::Image;
32-
use fast_image_resize::{CpuExtensions, FilterType, PixelType, ResizeAlg, ResizeOptions, Resizer};
3331
use image::{
34-
imageops, DynamicImage, EncodableLayout, GenericImageView, ImageBuffer, ImageFormat,
35-
ImageReader, Rgb, RgbImage,
32+
imageops, EncodableLayout, GenericImageView,
33+
ImageReader,
3634
};
3735
use pic_scale_safe::{
38-
premultiply_rgba8, resize_fixed_point, resize_floating_point, resize_rgb16, resize_rgb8,
39-
resize_rgb_f32, resize_rgba16, resize_rgba8, unpremultiply_rgba8, ImageSize,
36+
resize_rgb8
37+
, ImageSize,
4038
ResamplingFunction,
4139
};
4240
use std::ops::{BitXor, Shr};
4341
use std::time::Instant;
4442

4543
fn main() {
46-
let img = ImageReader::open("./assets/nasa-4928x3279.png")
44+
let img = ImageReader::open("./assets/test.jpg")
4745
.unwrap()
4846
.decode()
4947
.unwrap();
5048
let dimensions = img.dimensions();
51-
let transient = img.to_rgba8();
49+
let transient = img.to_rgb8();
5250

5351
let mut working_store = transient.to_vec();
5452

5553
let src_size = ImageSize::new(dimensions.0 as usize, dimensions.1 as usize);
56-
let dst_size = ImageSize::new(dimensions.0 as usize + 1, dimensions.1 as usize + 1);
54+
// let dst_size = ImageSize::new(dimensions.0 as usize / 4, dimensions.1 as usize / 4);
55+
let dst_size = ImageSize::new(300 * 2, 225 * 2);
56+
57+
img.resize_exact(dst_size.width as u32, dst_size.height as u32, imageops::FilterType::Lanczos3).save("img.png").unwrap();
5758

58-
let start_mul = Instant::now();
59-
60-
premultiply_rgba8(&mut working_store);
61-
62-
println!("Alpha mul time {:?}", start_mul.elapsed());
59+
// let start_mul = Instant::now();
60+
//
61+
// // premultiply_rgba8(&mut working_store);
62+
//
63+
// println!("Alpha mul time {:?}", start_mul.elapsed());
6364

6465
let start = Instant::now();
6566

66-
let mut resized = resize_rgba8(
67+
let resized = resize_rgb8(
6768
&working_store,
6869
src_size,
6970
dst_size,
70-
ResamplingFunction::Bilinear,
71+
ResamplingFunction::Lanczos3,
7172
)
7273
.unwrap();
7374

@@ -88,7 +89,7 @@ fn main() {
8889
&resized,
8990
dst_size.width as u32,
9091
dst_size.height as u32,
91-
image::ColorType::Rgba8,
92+
image::ColorType::Rgb8,
9293
)
9394
.unwrap();
9495

0 commit comments

Comments
 (0)