Commit Graph

314 Commits

Author SHA1 Message Date
nu774
2be12dec2b Don't use int to handle type
Couldn't accept handle values greater than 0x7FFFFFFF, which wasn't enough even on 32bit system, and completely wrong for 64bit.
2015-10-01 14:54:32 +01:00
Christoph Gohlke
e6733c813a Disable compiler optimizations for topalette and tobilevel functions for all msvc versions 2015-08-28 23:15:56 -07:00
wiredfool
a92d737177 Merge pull request #1278 from wiredfool/winbuild
Windows Build/CI
2015-06-18 09:03:38 -07:00
wiredfool
d2e54d7973 Merge pull request #1255 from radarhere/polygon
Fixed polygon edge drawing
2015-06-17 18:18:36 -07:00
wiredfool
fd55099ffc merge a year of master into winbuild 2015-06-10 12:49:07 -07:00
Andrew Murray
9e24ae023d Fixed various typos 2015-06-08 01:17:49 +10:00
Andrew Murray
16261beeba Fixed polygon edge drawing 2015-06-05 11:16:33 +10:00
Andrew Murray
3cd7f0e6f2 Removed unused variable in Jpeg2KEncode 2015-04-01 15:14:56 +11:00
wiredfool
4566a4dcbe Merge pull request #1128 from hugovk/noise
Fix ImagingEffectNoise
2015-03-08 18:29:44 -07:00
hugovk
f1333617d5 Replace harcoded assumption of RAND_MAX with constant. It caused an infinite loop if RAND_MAX > 32767 2015-03-05 23:14:36 +02:00
hugovk
0b79c6e24a Remove unreachable code (if 0) 2015-03-05 21:07:16 +02:00
wiredfool
b384a7f992 Merge pull request #1088 from bgilbert/opaque-RGBa
Fast path for opaque pixels in RGBa unpacker
2015-02-05 22:32:58 -08:00
immerrr
d41fed6732 Enable basic support for 'RGBa' raw encoding/decoding 2015-02-02 13:06:56 +03:00
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
homm
57cd15f9b1 Use Transpose from geometry. 2014-10-25 04:27:46 +04:00
homm
316ac5ad57 Merge branch 'add-transpose' into fast-box-blur 2014-10-25 04:18:43 +04:00
homm
0c90ce2504 Add new fast ImagingTranspose function 2014-10-25 04:17:59 +04:00
homm
c2d688c4b6 fix bicubic stretch interpolation 2014-10-24 12:57:32 +04:00
homm
c1eb77a4ed faster commit 2014-10-19 18:34:49 +04:00
homm
f55ea4c04c Do not use lineOut buffer if source and destination are different. 2014-10-19 13:54:18 +04:00
homm
516bd90cf7 support for multiple passes with only two transposes 2014-10-19 13:54:13 +04:00
homm
d91d7b9826 significant speed improvement (about 55%) 2014-10-19 00:01:38 +04:00
homm
22668de6db HorizontalBoxBlur unified
LineBoxBlur8 & LineBoxBlur32
2014-10-18 18:37:14 +04:00
homm
7d77db20ad Small optimization: replace division with multiply. 2014-10-18 04:02:10 +04:00
homm
d07c9c2e4e unused 2014-10-16 16:00:29 +04:00
homm
53c8352f39 highlevel api 2014-10-15 04:08:21 +04:00
homm
5861a46a54 check image mode 2014-10-14 23:29:50 +04:00
homm
a27baf90be fix large radius. tests 2014-10-14 03:26:46 +04:00
homm
da84cd7ea6 big radius special case 2014-10-14 02:17:53 +04:00
homm
d3d4ff69eb introduce corners 2014-10-13 23:45:21 +04:00
homm
b1cef839bd fix window calculation 2014-10-13 04:40:44 +04:00
homm
3906ff3c76 fix x bounds 2014-10-13 03:39:35 +04:00
homm
835db5d12f type check 2014-10-12 22:40:36 +04:00
homm
2c723abbca move HorizontalBoxBlur8 down and remove comments 2014-10-12 22:40:36 +04:00
homm
591fc67aae micro optimizations 2014-10-12 22:40:31 +04:00
homm
92635d0624 8bit 2014-10-12 22:26:00 +04:00
homm
e95382eb08 integer implementation for float radius 2014-10-12 20:30:46 +04:00
homm
f3af171dc4 fix round compensation 2014-10-12 20:09:28 +04:00
homm
f711ab3eb6 float radius 2014-10-12 20:01:49 +04:00
homm
23068e49be allow float radius (without implementation) 2014-10-12 19:24:38 +04:00
homm
b7b3c719fa blur in both directions 2014-10-12 17:59:20 +04:00
homm
cc9eff5c68 fast realization with moving window.
linear speed against any radius
2014-10-12 17:47:00 +04:00
homm
a6937d84d8 first Horizontal Blur for 32 2014-10-12 17:11:24 +04:00
homm
d49459f5b2 box blur dummy 2014-10-12 16:30:00 +04:00
homm
e38a64b21b round values with initial .5
this improves performance and readabillity
2014-10-12 15:13:37 +04:00
homm
bc24685344 do sum calculation in same loop as maskData calculation 2014-10-12 14:21:13 +04:00
homm
51984f4aa8 fix radius == 0 2014-10-12 14:16:09 +04:00
homm
84b9f16bfd add effective_scale to all APIs 2014-10-12 03:29:20 +04:00
homm
091b15f9d5 rename vars 2014-10-12 03:19:26 +04:00
homm
5bb0cfa17a remove pseudo vcs 2014-10-12 02:05:13 +04:00
homm
b1b5db16cd padding not using anywhere 2014-10-12 00:50:18 +04:00