Benjamin Gilbert
77b020b374
Special-case opaque pixels in RGBa unpacker
...
Avoid the expensive multiply and divide when the pixel is opaque.
On my system, this change gives a 5.76x speedup loading an opaque image
with this call:
PIL.Image.frombuffer('RGBA', (1000, 1000), buf, 'raw', 'RGBa', 0, 1)
2015-01-24 01:13:58 -05:00
Christoph Gohlke
9b8202203a
Use Py_ssize_t instead of ssize_t
2014-12-19 01:30:16 -08:00
Christoph Gohlke
b8fafdef69
Use Py_ssize_t instead of ssize_t
2014-12-19 01:28:21 -08:00
Christoph Gohlke
8fb8d2ec3a
Fix msvc compiler error
2014-12-15 14:44:12 -08:00
wiredfool
2d2293ba3b
Merge pull request #1028 from homm/resize-constants
...
Rename Image.ANTIALIAS to Image.LANCZOS
2014-12-03 16:14:29 -08:00
wiredfool
05b578e7f4
Fix for building on OSX/Clang.
2014-12-01 20:40:10 -08:00
homm
43d5d06ce4
rename Image.ANTIALIAS to Image.LANCZOS
2014-11-28 01:41:56 +03:00
wiredfool
e16ee15f2c
Merge pull request #997 from homm/replace-resize
...
Replace resize method
2014-11-27 10:26:48 -08:00
wiredfool
8a3302ba5d
Merge pull request #961 from homm/fast-box-blur
...
Merge Fast Gaussian Blur
2014-11-27 10:20:11 -08:00
homm
107b4a8b07
sharp alpha channel
...
resolve sharp endianness issues
2014-11-22 01:58:31 +03:00
homm
d0c419632e
resolve endianness issues
2014-11-21 21:53:13 +03:00
homm
bc0f896a47
rename Antialias and stretch to resample
2014-11-19 14:36:00 +03:00
homm
1a097d2e02
Merge commit 'e0b94d65bedb4a2124228aa579686a3ba2974d11' into replace-resize
2014-11-19 13:45:04 +03:00
homm
6078e6e1a7
this bug actually was in previous implementation too:
...
type switch default case was never achieved because special
images is in image8 pointers, not in image32
2014-11-19 03:15:24 +03:00
wiredfool
9d1fde0fff
Use __NO_INLINE__ instead of Py_DEBUG
2014-11-13 21:35:06 -08:00
wiredfool
112a4815f0
Fix compilation on debug versions of python
2014-11-13 15:53:51 -08:00
homm
aba798af25
replace resize implementation
2014-11-09 21:52:16 +03:00
homm
90ee223305
Move ImagingTransposeToNew from Antialias.c to Geometry.c
2014-11-09 03:15:54 +03:00
homm
7a64f7be80
Replace UINT32 assignment with per-channel UINT8 assignment
2014-11-09 03:08:25 +03:00
homm
abc5e11371
two bands case
2014-11-09 03:08:25 +03:00
Eric Soroos
af02f2b29e
Fix for endianness issues in stretch
2014-11-09 03:07:19 +03:00
homm
b8a2b5b907
typo. Free mem after ModeError.
2014-11-09 03:05:57 +03:00
homm
1cd6da4a49
fix performance regression on 64 bit GCC 4.8.
2014-11-09 03:05:57 +03:00
homm
42967dd1a6
speedup by unrolling loops
2014-11-09 03:05:57 +03:00
homm
c22af89ef0
optimize memory usage
2014-11-09 03:05:56 +03:00
homm
e9fc720709
faster float to 8bit convertion
2014-11-09 03:05:56 +03:00
homm
a484d28d1f
make x indexes int
2014-11-09 03:05:56 +03:00
homm
e276e6a535
move ww into coefficients
2014-11-09 03:05:56 +03:00
homm
01b947c602
Iterate pixels in native order
2014-11-09 03:05:56 +03:00
homm
b77521bd6c
Precompute coefficients for all x
2014-11-09 03:05:56 +03:00
homm
40f9f48680
two ImagingStretchHorizaontal pass with two transposes
2014-11-09 03:05:56 +03:00
homm
c8471bcbda
Hide stretch implementation detail in Antialias.c
2014-11-09 03:05:56 +03:00
wiredfool
cfbe49f124
Merge pull request #994 from homm/add-transpose
...
Add transpose and cache aware rotation
2014-11-07 13:58:18 -08:00
homm
4cf2f158b6
add test
...
update comment
2014-11-07 11:48:47 +03:00
homm
a51b176644
make ROTATE_CHUNK constant
...
add comment
2014-11-07 04:46:16 +03:00
homm
cfa20f1004
rotate 90 and 270 by chunks
2014-11-07 04:15:18 +03:00
homm
a960d440db
less operations in loop
2014-11-07 03:57:00 +03:00
homm
d41bc4fbfc
convert tabs into spaces
2014-11-07 03:21:38 +03:00
wiredfool
20be641329
Merge pull request #970 from homm/fix-bicubic-stretch
...
Fix bicubic stretch interpolation
2014-11-05 17:45:47 -08:00
homm
4007a78d53
rename temp to imTransposed
...
actualize comments
2014-10-30 14:48:29 +03:00
homm
c99f05cd6e
change arguments order and names in LineBoxBlurXX
and HorizontalBoxBlur
2014-10-30 14:32:41 +03:00
homm
36a35e7e27
update box_blur help
...
fix code style for `!`
fix spelling
2014-10-30 14:19:12 +03:00
homm
4323683a63
move ImagingGaussianBlur to BoxBlur.c
2014-10-25 17:17:53 +04:00
homm
274f0a14ba
change arguments order and names to match other functions
2014-10-25 17:16:14 +04:00
homm
65173f946b
replace gaussian blur with extended box blur implementation
2014-10-25 16:36:41 +04:00
homm
d89c9ab750
Merge branch 'gaussian-refactor' into fast-box-blur
2014-10-25 15:50:57 +04:00
homm
36cbb16bf6
Add tests. Rise for "P" and "1".
2014-10-25 14:23:07 +04:00
homm
acdcdd487f
convert tabs to spaces
2014-10-25 14:19:29 +04:00
homm
12ba034dc8
unlock upscale filters
2014-10-25 12:39:03 +04:00
homm
d7d92275f1
Change arguments order and names
2014-10-25 04:28:05 +04:00