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
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
wiredfool
d7c049504d
Merge pull request #643 from CounterPillow/datatype-fix
...
Change unsigned INT16 to UINT16
2014-05-20 16:45:06 +01:00
Nicolas F
052ea606bf
Clean up defines and includes for Windows
...
1) Renamed USE_INLINE to PIL_USE_INLINE to avoid conflicts with
other headers/libraries.
2) Replace __WIN32__ and WIN32 with _WIN32
3) Don't define WIN32 when the compiler is MSVC but not on Windows
Why would you even...
4) Don't define strcasecmp if you're not even going to use it.
5) Don't include Windows.h with undefs for compilers newer than
1998 everywhere.
6) Don't surpress warnings for MSVC++ 4.0. People still using
MSVC++ 4.0 deserve it.
7) Don't include things that are already included in Windows.h
2014-05-09 21:05:30 +02:00
Nicolas F
37bb8eec24
Don't ignore USE_INLINE on Windows
2014-05-09 20:14:46 +02:00
Nicolas F
d2fbc52d6c
Change unsigned INT16 to UINT16
...
Addresses issue #642
2014-04-30 11:30:44 +02:00
Terseus
8eae39e98f
Oops, added missing ';'
...
Now writing in the wall "don't push before compile" 100 times.
2014-04-04 19:20:29 +02:00
Terseus
2f6a4d5f1a
Added missing free when xx fail
2014-04-04 18:57:08 +02:00
Terseus
696924f5ac
Added missing xx pointer check
2014-04-04 14:02:36 +02:00
Terseus
dbe3db6fc5
Oops, fixed typo in comments
2014-04-03 11:15:21 +02:00
Terseus
be09da6507
Rewrite of the ImagingDrawWideLine function
...
The previous version of the function didn't generate correct wide lines
of even width.
The most notable changes are:
* Make variable names far more descriptive about the process.
* Corrected the width calculation; we should deduct one pixel from the
width because the pixels at the center of the line doesn't count for
the triangles.
* Now we calculate *two* ratios, one for left/top displacement (dxmin)
and one for right/bottom (dxmax), this fix the behavior with lines
of even width.
It can probably be optimized.
2014-04-02 21:30:42 +02:00
Terseus
cd332fc38a
Rewrite of the polygon_generic function
...
The (previously refactored) polygon_generic function didn't draw
consistent polygons (equilateral polygons were not equilateral nor
symmetrical).
The most notable changes are:
* The horizontal edges are searched for when finding the polygon
boundaries, drawn and discarded from the edge list used to detect
intersections.
* The intersections are now checked and calculated from the current value
of the scan line (ymin) instead of in the middle (ymin + 0.5).
* Because the change in the scan line behavior, we should duplicate
the intersections in the maximum Y value of an edge or there will be
draw errors with concave and complex polygons.
* The rounds of the X coordinates in the hline function calls are
switched to draw the inner pixels.
* Removed the ugly micro-optimization of qsort at the end.
This implementation of the scan line algorithm may not be technically
correct, it's not optimized and it have problems with some edge cases,
like a wide line from (x0, y) to (x1, y + 1), therefore it should be
reviewed in the future.
2014-04-02 21:05:13 +02:00
Terseus
8739613cfb
Implementation of rounds around zero
...
The rounds used in the library are towards positive/negative infinity.
Since we're in a cartesian plane, rounds around zero are much more
convenient, so we can use positive and negative values with consistent
results.
2014-04-01 13:08:15 +02:00
Terseus
deecd8a137
Refactored polygon functions to unify logic
...
The functions `polygon8`, `polygon32` and `polygon32rgba` all have exactly
the same logic in code, only changes the hline function called inside.
Now all the logic is contained in `polygon_generic` which gets a
function pointer to the hline handler, so there is no duplicated code
anymore.
2014-04-01 13:01:03 +02:00
wiredfool
a2800ba9a1
Additional commits from pr
2014-03-27 20:00:10 -07:00
Alastair Houghton
18d6432036
Fixed some problems with the reduce option, as well as a number of warnings from GCC.
2014-03-27 08:35:38 +00:00
wiredfool
2b81156619
merge to master
2014-03-26 18:46:35 -07:00
Alastair Houghton
831216f609
Fixed a Python 3 specific crash.
2014-03-25 16:58:44 +00:00
Alastair Houghton
fea6811af0
Merged wiredfool's changes.
2014-03-19 14:58:47 +00:00
Alastair Houghton
ac8ebccfa6
Added tests and fixed a few bugs that the tests threw up.
2014-03-19 12:16:14 +00:00
wiredfool
dfe6fff10f
Eliminating warning for possibly uninitialized variable use
2014-03-14 14:23:44 -07:00
wiredfool
ac52886da1
Fixed compilation errors on linux, ref #547
2014-03-14 11:35:23 -07:00
Alastair Houghton
5853d2aed0
Add a couple of unpackers.
2014-03-14 16:38:30 +00:00
Alastair Houghton
168acabcb0
Fixed some warnings.
2014-03-14 16:38:07 +00:00
Alastair Houghton
9a1b6966b5
Added precinct size option. Also added the jp2klib_version symbol on the _imaging module.
2014-03-14 15:40:30 +00:00
Alastair Houghton
5cb73c94e9
Fixed some Windows issues.
2014-03-14 14:35:09 +00:00
Alastair Houghton
cb1f990a92
Added seek support to make writing jp2 files work. Also added support for directly using an fd rather than relying on the Python loop, if we have a real fd.
2014-03-14 11:21:08 +00:00
Alastair Houghton
61fb89ec54
Added a JPEG 2000 encoder.
2014-03-13 18:27:16 +00:00
Alastair Houghton
aea0ec56b2
Fixed a small bug.
2014-03-13 13:48:15 +00:00
Alastair Houghton
9a4bff722f
Decode tile-by-tile; saves memory and means we don't need to buffer the entire image in the OpenJPEG opj_image.
2014-03-13 13:44:26 +00:00
Alastair Houghton
5b22b715ce
Fixed some bugs.
2014-03-13 12:29:03 +00:00
Alastair Houghton
d6b8f0f666
Added a JPEG 2000 decoder based on OpenJPEG.
2014-03-13 11:46:47 +00:00
wiredfool
89cb3c7e85
Use even stride when saving odd sized .pcx files
2014-03-03 23:05:50 -08:00
wiredfool
05cd72f4f0
mixed 4/8 tabs+spaces -> 4 spaces, additional bracing
2014-03-03 20:28:34 -08:00
wiredfool
5ecec7db10
Move image to first xsize*bands bytes, rather than including padding if stride > xsize*bands, fixes #523
2014-02-15 22:41:02 -08:00
wiredfool
e87e0333fb
Merge branch 'i16-pixelaccess' into cffi-pixelaccess
2014-01-06 23:22:35 -08:00
wiredfool
1dd80b2625
reverted int32 changes
2013-12-30 21:00:32 -08:00
Alex Clark ☺
243160ee78
Merge pull request #448 from wiredfool/2gigapix-redux
...
2gigapix redux
2013-12-28 06:06:42 -08:00
Alex Clark ☺
d48f301d57
Merge pull request #423 from wiredfool/trns-png
...
Support for PNG tRNS header when converting from RGB->RGBA
2013-12-28 05:56:03 -08:00
wiredfool
77c36d6edc
Using uint* for pixel access in mode I;16 and I;32, fixes #452
2013-12-19 21:39:18 -08:00
Eric Soroos
ec6fd4d672
mixed 8ch tabs + spaces -> 4 space indent
2013-12-13 15:17:43 -08:00
Eric Soroos
1060a59de9
int->py_ssize_t for potentially large numbers
2013-12-13 15:16:14 -08:00
wiredfool
0356741a29
Now using the rgbT2rgba conversion for L+transparency to RGBA, dropping the palette hack
2013-11-26 13:04:10 -08:00
wiredfool
c546c5a4c0
Added conversion for RGB+Transparency to RGBA that adds an alpha mask corresponding to the transparency value, fixes #421
2013-11-26 12:24:19 -08:00
wiredfool
42c17c5947
Removing unused, redundant compression variable. Actual compression setting is in the imagefiledirectory
2013-11-21 20:37:52 -08:00
wiredfool
cc5e8f0f6d
Comments
...
Fixes #414
2013-11-20 17:03:46 -08:00
wiredfool
e4fe6ae7a3
Read only implementation of 12bit tiffs
2013-11-20 16:56:23 -08:00
Eric Soroos
3128a76495
MM and II 16 bit integer tiffs pack/write properly using libtiff on bigendian platform
2013-10-21 22:37:20 +00:00
Eric Soroos
6f8d968cbb
MM and II 16 bit integer tiffs unpack properly using libtiff on bigendian platform
2013-10-21 22:17:33 +00:00
Alex Clark ☺
55a0792815
Merge pull request #380 from wiredfool/lcms2
...
LCMS1 replaced with LCMS2
2013-10-16 09:09:15 -07:00
wiredfool
1865a5c438
Shifting the midpoint of the ab channels to 128. unshifting back to signed int on pack
2013-10-15 22:06:30 -07:00
Seth VanHeulen
fc474a7b6f
Added more raw decoder 16 bit pixel formats
2013-10-15 11:35:53 -04:00
wiredfool
4458787f5e
Back to RGBx format, 3 bands in 4 bytes. Tests for internal consistency
2013-10-14 22:47:27 -07:00
wiredfool
cb9440a2f5
packing into 24bit
2013-10-11 23:31:26 -07:00
wiredfool
13d62c9f91
Added LAB to Unpack
2013-10-11 22:40:37 -07:00
wiredfool
eca93101de
B->A, spacing
2013-10-11 22:40:14 -07:00
wiredfool
1111fca8c6
Solved Segfault
2013-10-11 22:29:19 -07:00
wiredfool
1c3932e89f
Added LAB mode, core dumped
2013-10-10 23:27:34 -07:00
wiredfool
b9f94b7632
adding RGBa->RGBA conversion
2013-10-04 13:24:47 -07:00
Nikolas Stevenson-Molnar
dcd40ce5b5
Fix for #254
2013-09-30 01:04:58 -07:00
Christoph Gohlke
4983f6da77
BUG: add typedef uint64_t for msvc
2013-09-27 15:03:27 -07:00
Oliver Tonnhofer
147a0204eb
fix FASTOCTREE quantizer for large images (>16MP)
...
the color value counter sums all color values and this overflows
a uint32 at 16M white pixels, 32M gray pixels, etc.
2013-09-26 10:15:42 +02:00
wiredfool
ac1d43bdef
8 character tabs -> spaces
2013-07-10 22:21:49 -07:00
wiredfool
993e075c0d
Add conversions from I;16 to F to retain 16 bit precision
2013-07-08 23:21:41 -07:00
wiredfool
c7264b5d4b
8 char tabs -> whitespace
2013-07-08 22:39:16 -07:00
Alexey Buzanov
df0e214d46
hide tiff warnings
2013-07-01 19:48:21 +04:00
Alex Clark
bb1b3a532c
Cleanup WS, courtesy of @Arfrever
...
find * -type f "-(" -name "*.bdf" -o -name "*.c" -o -name "*.h" -o -name "*.py" -o -name "*.rst" -o -name "*.txt" "-)" -exec sed -e "s/[[:space:]]*$//" -i {} \;
2013-06-30 18:42:19 -04:00
Alex Clark ☺
aea9570a2c
Merge pull request #221 from wiredfool/jpeg_memoryleak
...
Jpeg Decode memory leak fix.
2013-05-16 12:42:45 -07:00
wiredfool
f6381ba00c
Added cleanup method to prevent memory leaks from truncated jpeg decodes
2013-05-15 21:16:37 -07:00
wiredfool
454a914b56
Whitespace, 8 space tabs -> 4 spaces
2013-05-15 19:57:45 -07:00
wiredfool
37359369ce
Code to ensure buffer space for exif write and jpeg_write_scanline calls, tests, corrected buffer length calculation
2013-05-14 22:29:31 -07:00
wiredfool
11ce826121
mixed 8 char tabs & spaces -> spaces
2013-05-14 20:45:07 -07:00
Evert Rol
8e74b50e0f
Fix issue #193 : remove double typedef declaration.
2013-04-17 14:27:07 +02:00
Sandro Mani
e2c62ff1d2
Fix warning: pointer targets differ in signedness
2013-04-12 17:54:10 +02:00
Alex Clark ☺
21562761ac
Merge pull request #179 from manisandro/quantization
...
Make quantization code more portable
2013-04-09 06:14:03 -07:00
Sandro Mani
07f632194d
Make quantization code more portable
2013-04-08 00:52:15 +02:00
homm
ebb9029fbe
add parentheses to avoid warnings
2013-03-27 23:19:04 +04:00
homm
a511ef8b05
move declarations to make ANSI compilers happy
2013-03-27 23:18:10 +04:00
homm
a83ef0f0ed
≈20% faster, 2 times more precisely (0.17% difference against 0.37%)
2013-03-26 01:15:18 +04:00
homm
af96b5d4b2
Precision improvement. No performance affected.
2013-03-25 00:06:02 +04:00
homm
0663e14444
speedup. divisions replaced by shifts.
2013-03-23 16:54:02 +04:00
homm
e88490b4f2
Precision improvement. ≈60% performance lost
2013-03-23 14:26:14 +04:00
homm
c39a51bcf0
Significant performance improvement of alpha_composite
function.
2013-03-23 05:46:39 +04:00
Sandro Mani
b57c2ae0e9
Squash a memory leak
2013-03-18 00:54:54 +01:00
Alex Clark ☺
a6792ff7e4
Merge pull request #134 from cgohlke/patch-4
...
Disable msvc10 compiler optimizations for topalette and tobilevel
2013-03-15 05:08:14 -07:00
Christoph Gohlke
bb61c7633a
Disable msvc10 compiler optimizations for topalette and tobilevel
...
Fixes issue #90
2013-03-14 23:35:02 -07:00
wiredfool
b5335c0cf3
Switching to strncpy, fixing potential buffer overflow in palette as well
2013-03-14 20:46:23 -07:00
wiredfool
66965b6bb4
fix buffer overflow for YCbCr histograms
2013-03-14 20:46:23 -07:00
wiredfool
d98abd877b
merge to master
2013-03-14 14:38:49 -07:00
wiredfool
7d99141405
force seek to beginning of file
2013-03-14 13:25:23 -07:00