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
homm
7bc19c4019
reference gaussian_blur implementation
...
radius meaning match graphicmagick, pixelmator other software
and standard deviation from classic gaussian blur algorithm
2014-10-11 23:51:26 +04:00
homm
bef7e1dce8
cache hasAlpha for ImagingUnsharpMask
2014-10-08 17:40:33 +04:00
homm
e56aed1a95
round pixel values
2014-10-08 15:05:48 +04:00
homm
05c99131e0
fix blur for RGBA & RGBX
2014-10-06 21:55:43 +04:00
homm
626acf705f
convert tabs to spaces
2014-10-06 21:04:54 +04:00
Sandro Mani
7502e6dd45
Remove executable permissions from Jpeg2KEncode.c
2014-10-03 09:57:32 +02:00
Andrew Murray
006229595a
Remove unused variable in libImaging
2014-10-02 07:48:12 +10:00
wiredfool
d64b2376bc
Memory Leak: Freeing malloc'd memory in Jpeg Encode
2014-09-24 15:46:24 -07:00
wiredfool
00addab5e4
Real fix for PR #915 , keep track of the qtables length
2014-09-23 09:23:55 -07:00
Christoph Gohlke
b23c57e12a
Fix segfault in TestFileJpeg.test_quality_keep on win-amd64
2014-09-22 14:39:08 -07:00
Christoph Gohlke
f3e3af6686
Fix msvc build error
2014-09-21 16:48:35 -07:00
Josh Ware
94194ed248
Cleaning up.
...
Reduced memory limit to 1GB
2014-09-12 22:09:27 -07:00
Josh Ware
dd221d9ec0
Don't Py_DECREF context->quality_layers if there is no encoder
2014-09-12 22:09:27 -07:00
Josh Ware
e4e1f5c2d4
More testing...
2014-09-12 22:09:27 -07:00
Josh Ware
9ccc930784
Looking for cleanup segfault
2014-09-12 22:09:27 -07:00
Josh Ware
7407371deb
NULLing pointers on cleanup
2014-09-12 22:09:27 -07:00
Josh Ware
caa95a26b2
Added memory leak fix and testing for Encoder
2014-09-12 22:09:27 -07:00
Josh Ware
b78e5444f4
Prevent multiple calls to ImagingIncrementalCodecDestroy
2014-09-12 22:09:27 -07:00
Kenny Ostrom
d5b4f136c5
added ifd offset to the tiff decoder args, call TIFFSetSubDirectory
2014-09-02 15:20:25 -07:00
hugovk
3a9612af50
Test mandelbrot with bad arguments
2014-09-02 16:39:35 +03:00
hugovk
bcc5305125
Add access functions for ImagingEffectSpread with a test
2014-09-02 15:53:58 +03:00
hugovk
8c96d38ce9
Add access functions for ImagingEffectMandelbrot with a test
2014-09-02 15:14:00 +03:00
hugovk
76ef83263b
Remove unreachable and never completed Perlin turbulence code
2014-09-02 14:47:34 +03:00
hugovk
860e67e1c4
Add access functions for ImagingEffectNoise with a test
2014-09-02 14:11:08 +03:00
wiredfool
9d00686f53
backup implementation of Round for windows platforms
2014-08-24 16:37:54 -07:00
wiredfool
97b5c72630
backup implementation of Round for windows platforms
2014-08-22 16:14:48 -07:00
wiredfool
c7b90f39f4
Merge from master
2014-08-22 14:50:33 -07:00
wiredfool
023ec0a2fc
Incorrect type -- fails on OSX
2014-07-25 10:32:55 -07:00
wiredfool
0bb1cd398f
Conversion between RGB and HSV images
2014-07-22 16:10:02 -07:00
wiredfool
625ff24358
Storage, packing and access for HSV format images
2014-07-22 16:09:22 -07:00
wiredfool
1008d6a993
Windows compatibility
2014-07-05 15:06:17 -07:00
wiredfool
b7f56409eb
Multiplication needs to be 64bit, to handle overflow regardless of the bittedness of the machine, fixes #771#
2014-07-05 14:30:34 -07:00
Alex Clark ☺
b2ed31e8cd
Merge pull request #737 from wiredfool/terseus_imagedraw
...
Merged Imagedraw rewrite
2014-07-01 14:15:11 -04:00
wiredfool
98a4991762
Using local block rather than array literal
2014-07-01 10:20:15 -07:00
wiredfool
a10b91786a
Fix compilation errors with C90 standard
2014-07-01 10:05:38 -07:00
cgohlke
767182a56f
ENH: enable inline functions by default
2014-06-30 15:26:41 -07:00
wiredfool
3bf375c5f7
Merge branch 'master' into terseus_imagedraw
2014-06-30 14:24:59 -07:00
wiredfool
50bbb5e0c5
Removed unused function
2014-06-30 14:12:30 -07:00
David Joy
b147dea535
Add tests and fix a 16bit vs 32bit integer bug
...
Yay unit tests!
2014-06-25 14:06:56 -04:00
David Joy
479693417f
Merge the rest of the patches
...
Now it actually works and passes the test suite
2014-06-25 11:42:06 -04:00
David Joy
433ec1c219
Clean commit of 16-bit monochrome JPEK2000 support
2014-06-25 11:13:33 -04:00
Hugo
9f0b688952
Merge pull request #725 from cgohlke/patch-2
...
Fix msvc warning: 'inline' : macro redefinition
2014-06-25 10:47:47 +03:00
cgohlke
e79f996a45
Fix test_imagedraw failures
2014-06-25 00:07:07 -07:00
cgohlke
b593ff06ad
Fix msvc warning: 'inline' : macro redefinition
2014-06-24 22:23:17 -07:00
wiredfool
a990af1b97
Merge from master
2014-06-24 16:48:38 -07:00
Alex Clark ☺
a126844135
Merge pull request #681 from wiredfool/openjpeg_21
...
OpenJpeg 2.1
2014-06-22 15:39:32 -04:00
wiredfool
05d8cb5b8f
Don't carve out exceptions for py2.4 compilers anymore
2014-06-18 16:08:50 -07:00
wiredfool
a8e02e093a
We don't need unistd.h anymore on unix platforms either
2014-06-18 16:08:16 -07:00
James Anderson
5ceb3ca875
Issue #697 . On MSVC 2012 builds <unistd.h> is not required.
2014-06-18 15:54:21 -07:00
wiredfool
64efea9ed8
Merge branch 'master' into winbuild
2014-06-05 00:15:58 +00:00
Alastair Houghton
72ecb8752e
Changed test for OpenJPEG 2.0
2014-05-27 12:52:50 +01:00
Alastair Houghton
1011e51083
Added support for OpenJPEG 2.1.
2014-05-27 12:43:54 +01:00