Commit Graph

12544 Commits

Author SHA1 Message Date
Alexander
085b72935b SIMD. version 2022-01-03 12:20:09 +03:00
Alexander
6e22415933 SIMD ColorLUT. finally fix alpha copy 2022-01-03 12:20:09 +03:00
Alexander
c31c78819f SIMD ColorLUT. Fast AVX2 implementation with very wired slowdown 2022-01-03 12:20:09 +03:00
Alexander
8a52520e66 SIMD ColorLUT. AVX2 implementation (near the same speed) 2022-01-03 12:20:09 +03:00
Alexander
b4a77d406c SIMD ColorLUT. remove left_mask and right_mask 2022-01-03 12:20:09 +03:00
Alexander
0520521560 SIMD ColorLUT. remove unused utility 2022-01-03 12:20:09 +03:00
Alexander
91dcda6b43 SIMD ColorLUT. table_channels==4 case, minor optimizations 2022-01-03 12:20:09 +03:00
Alexander
c7e3b0ead9 SIMD ColorLUT. improve performance by preliminary index calculation 2022-01-03 12:20:09 +03:00
Alexander
f50dba4aad SIMD ColorLUT. remove SHIFT_ROUNDING 2022-01-03 12:20:09 +03:00
Alexander
16f69404f1 SIMD ColorLUT. First try 2022-01-03 12:20:09 +03:00
Alexander
23451b8423 SIMD. version 2022-01-03 12:20:09 +03:00
Alexander
1b8030989f SIMD. sse only when needed 2022-01-03 12:20:09 +03:00
Alexander
be70e9eded SIMD Bands. access violation in getband 2022-01-03 12:20:09 +03:00
Alexander
d74ab21ac9 SIMD Reduce. sse4 implementation 2022-01-03 12:20:09 +03:00
Alexander
33b11280b0 SIMD. Fix memory read error on some compilers 2022-01-03 12:20:09 +03:00
Alexander
f9c5589cac SIMD. Gather all SSE and AVX imports in ImPlatform.h 2022-01-03 12:20:09 +03:00
Alexander
e4ca18a9c8 SIMD Bands 2022-01-03 12:20:09 +03:00
Alexander
8c3d6a32d1 SIMD Convert. Fix rounding error on RGB to L conversion 2022-01-03 12:20:09 +03:00
Alexander
52cfbf339a SIMD Convert. Speedup other 2L convertions 2022-01-03 12:20:09 +03:00
Alexander
4fbc9d1f37 SIMD Convert. RGB → L 2.2 times faster 2022-01-03 12:20:09 +03:00
Alexander
7398f9e1c9 SIMD Convert. fix rounding and speedup a bit 2022-01-03 12:20:09 +03:00
Alexander
3322b77c9a SIMD Convert. use 16bit arithmetics 2022-01-03 12:20:09 +03:00
Alexander
03c150d0a6 SIMD Convert. sse4 version (still 1.4x faster than previous avx2 implementation) 2022-01-03 12:20:09 +03:00
Alexander
d82fe3dd74 SIMD Convert. use float div instead of gather 2022-01-03 12:20:09 +03:00
homm
95a68340c9 SIMD Convert. fix RGBa → RGBA conversion on AVX2 2022-01-03 12:20:09 +03:00
homm
f888dbe1cc SIMD Convert. RGBa → RGBA convert using gather 2022-01-03 12:20:09 +03:00
homm
55b71f2edb SIMD Convert. avx2 implementation 2022-01-03 12:20:09 +03:00
homm
6e91b2b41f SIMD Convert. faster implementation 2022-01-03 12:20:09 +03:00
homm
a7de792025 SIMD Convert. sse4 implementation 2022-01-03 12:20:09 +03:00
Alexander
a71b748bde SIMD Resample. Correct max coefficient calculation
Minimal test case:
Image.new('RGB', (341, 60), 'pink').resize((170, 60), Image.LANCZOS).save('_out.png')
2022-01-03 12:20:09 +03:00
Alexander
b3c28911c0 SIMD Resample. fix wrong usage of xmax for division compensation 2022-01-03 12:20:09 +03:00
Alexander
247cba2e30 SIMD Resample. move files 2022-01-03 12:20:09 +03:00
Alexander
7da807b8e4 SIMD Resample. add parentheses around var declarations 2022-01-03 12:20:09 +03:00
Alexander
698e6a1698 SIMD Resample. optimize coefficients loading for horizontal pass
wtf is xmax / 2

optimize coefficients loading for vertical pass
2022-01-03 12:20:09 +03:00
homm
8796b40ef6 SIMD Resample. unrolled SSE4 & AVX2 2022-01-03 12:20:09 +03:00
Alexander
b4a54840ee SIMD Filter. move files 2022-01-03 12:20:09 +03:00
Alexander
416e580a77 SIMD Filter. fix memory access for:
3x3f_u8
3x3i_4u8
5x5i_4u8
2022-01-03 12:20:09 +03:00
Alexander
1bd3fddf44 SIMD Filter. 5x5i_4u8 AVX2 2022-01-03 12:20:09 +03:00
Alexander
62dbbbdde6 SIMD Filter. advanced 5x5i_4u8 SSE4 2022-01-03 12:20:09 +03:00
Alexander
b23fc5a958 SIMD Filter. 5x5i_4u8 SSE4 2022-01-03 12:20:09 +03:00
Alexander
ccfc34a5ed SIMD Filter. finish 3x3i_4u8 2022-01-03 12:20:09 +03:00
Alexander
a1ce80cb29 SIMD Filter. avx2 version 2022-01-03 12:20:09 +03:00
Alexander
49f4de699f SIMD Filter. rearrange operations 2022-01-03 12:20:09 +03:00
Alexander
3b67d8c516 SIMD Filter. reduce number of registers 2022-01-03 12:20:09 +03:00
Alexander
ab50dde9d2 SIMD Filter. Rearrange instruction for speedup 2022-01-03 12:20:09 +03:00
Alexander
74d95f5e9d SIMD Filter. better loading 2022-01-03 12:20:09 +03:00
Alexander
0e17b8313b SIMD Filter. better macros 2022-01-03 12:20:09 +03:00
Alexander
eb57b5eca7 SIMD Filter. 3x3i 2022-01-03 12:20:09 +03:00
Alexander
b561752597 SIMD Filter. move ImagingFilterxxx functions to separate files 2022-01-03 12:20:09 +03:00
Alexander
256eb37439 SIMD Filter. fix offset 2022-01-03 12:20:09 +03:00