Commit Graph

516 Commits

Author SHA1 Message Date
homm
4ff7afbe16 xbounds → bounds
kmax → ksize
2016-12-01 13:48:50 +03:00
homm
c7161af924 set error type when it happens 2016-12-01 04:10:58 +03:00
homm
8d7355e733 do not allocate memory in normalize_coeffs_8bpc 2016-12-01 04:02:22 +03:00
homm
02e1ae3d8f move precompute_coeffs to ImagingResampleInner 2016-12-01 03:26:10 +03:00
homm
2c2bdd80ef split out ImagingResampleInner from ImagingResample 2016-11-30 21:59:21 +03:00
homm
9842505a60 remove fifth argument from ResampleFunction 2016-11-30 20:43:54 +03:00
homm
6def4bfc73 roi → box 2016-11-30 20:01:28 +03:00
homm
4079c7f192 allocate new image outside of ResampleHorizontal/ResampleVertical 2016-11-30 05:27:20 +03:00
homm
44e443fa75 fix int boundaries 2016-11-26 01:38:55 +03:00
homm
ef787bc3f5 use ROI in precompute_coeffs 2016-11-24 06:11:36 +03:00
homm
a1fedc0f8a expose roi to precompute_coeffs (still noop) 2016-11-24 06:05:20 +03:00
wiredfool
76b1eb242e Fix for issue #2206 2016-11-23 06:14:06 -08:00
wiredfool
e43c91cf1c Working 1 bit sun_rle raster file 2016-11-19 19:16:46 -08:00
wiredfool
5df2851f85 Fixed literal expansion, allowed run length > line length 2016-11-19 17:39:30 -08:00
Alexander Karpinsky
5a359fbf28 Fix coefficients calculation (#2162)
Fix coefficients calculation

* test for regression

* detailed comments what is going on
prevent setting the `k[-1]` item

* more readable
2016-10-17 01:31:45 -07:00
homm
a926d2e16f use RGBX raw mode for RGB JPEG images 2016-10-12 23:23:05 +03:00
wiredfool
1a43da7a8b Removed 'Debugging' open_ppm call that didn't check file provided parameters for sanity 2016-10-03 07:27:02 -07:00
wiredfool
c0d2d2a912 whitespace: mixed 8ch tabs + spaces -> spaces 2016-10-03 07:27:02 -07:00
wiredfool
5d8a0be45a Memory error in Storage.c when accepting negative image size arguments 2016-10-03 07:27:02 -07:00
Andrew Murray
4c28926da3 Fixed typos 2016-10-02 21:31:53 +11:00
wiredfool
69ee1e35b8 Merge pull request #2015 from uploadcare/paste-speedup
Speedup paste with masks up to 80%
2016-09-22 10:10:56 +01:00
wiredfool
9c4c16df75 Merge pull request #2068 from Mischanix/dxtc
Move DDS decoders to C, add DXT3, BC7 Decoders
2016-09-22 10:04:23 +01:00
homm
30a5f1a0d0 fix blend macros 2016-09-19 03:12:20 +03:00
homm
003a7523df speedup paste with masks 2016-09-19 03:12:20 +03:00
homm
08edf70321 paste.c formatting 2016-09-19 03:12:20 +03:00
Andrew Murray
572a3d970c Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
Andrew Murray
00cb14afd7 Removed trailing whitespace 2016-09-03 12:19:04 +10:00
Andrew Murray
5c59603fcf Fixed typos 2016-08-31 20:12:07 +10:00
Robert Nix
2be760ca79 Add support for BC7 to DdsImagePlugin 2016-08-26 02:26:03 -05:00
Robert Nix
b46804ea27 Add support for DXT3 to DdsImagePlugin 2016-08-25 20:12:44 -05:00
Robert Nix
18a91cebcf Move DDS decoders to C
- Fixed inaccurate BC1/BC3 texture decoding
2016-08-25 19:27:48 -05:00
wiredfool
39227ff33c Merge pull request #2091 from wiredfool/pr_2008
Resampling lookups, trailing empty coefficients, precision
2016-08-25 12:58:36 +01:00
Andrew Murray
e0612ab14f Fixed typo 2016-08-25 21:43:31 +10:00
wiredfool
35068e35d1 Merge pull request #2057 from arjennienhuis/RGBa
Add (un)packing between RGBA and BGRa
2016-08-25 12:31:23 +01:00
homm
5c0eb2c365 normalize coefficients in normalize_coeffs_8bpc
increase precision of negative filter lobes. Add test
2016-08-25 04:11:02 -07:00
homm
788810f313 ImagingPrecompute → precompute_coeffs 2016-08-25 04:11:02 -07:00
homm
7d3db1f02a truncate zero coefficients 2016-08-25 04:11:02 -07:00
homm
62388199fa use lookups table instead of two conditions for each channel 2016-08-25 04:11:02 -07:00
wiredfool
5d2667efda Merge pull request #2022 from uploadcare/rotation-pixel-center
Respect pixel centers during transform
2016-08-25 11:40:09 +01:00
Andrew Murray
aad079a669 Fixed typos 2016-08-14 16:44:56 +10:00
Arjen Nienhuis
299713313a Fixed whitespace issue 2016-08-08 00:09:55 +02:00
Arjen Nienhuis
916ea94052 Add packing from RGBA to BGRa 2016-08-07 15:34:45 +02:00
homm
993e49c0be Merge branch 'master' into rotation-pixel-center 2016-08-07 13:47:16 +03:00
Arjen Nienhuis
2ecbcce415 add unpacking from BRGa 2016-08-07 13:32:19 +03:00
homm
87b20389d8 fix any errors 2016-07-28 05:30:27 +03:00
homm
978c37d699 add tests for different PCX encoding cases 2016-07-28 05:29:24 +03:00
homm
f8912a73e0 code style 2016-07-27 14:41:04 +03:00
homm
1321713688 repeat all affine tests with PERSPECTIVE 2016-07-11 00:26:12 +03:00
homm
5232361718 fix errors with pixel center coordinates 2016-07-10 14:16:14 +03:00
homm
1ba4e9e5ba remove end of file banner from all files 2016-07-10 14:11:28 +03:00
homm
66715246c1 remove mitchell filter. Has no advantages over bicubic 2016-07-02 01:54:39 +03:00
homm
a67e5453d5 add tests, fix errors ) 2016-07-02 01:54:39 +03:00
homm
c3d702538d add BOX, HAMMING, MITCHELL filters to resample.c 2016-07-02 01:54:39 +03:00
homm
0e9beed76d add constants for filters: BOX, HAMMING, MITCHELL
rearrange filters everywhere
2016-07-02 01:54:39 +03:00
Andrew Murray
ebf2121338 Removed trailing whitespace 2016-07-01 22:05:18 +10:00
Christoph Gohlke
525ba37722 Fix msvc9/10 compile error 2016-06-30 14:04:53 -07:00
Andrew Murray
5e5bda95e0 Removed trailing whitespace 2016-06-30 20:12:50 +01:00
Alexander Karpinsky
92660a1a05 Merge pull request #1986 from didrix/fix-1979-p2la
Fix issue converting P mode to LA
2016-06-30 17:43:53 +04:00
wiredfool
a5dde79068 Merge pull request #1934 from wiredfool/incremental_removal
Rewrite of Jpeg2k data handling
2016-06-30 12:28:10 +01:00
wiredfool
291c00c58a Merge pull request #1954 from uploadcare/skip-resampling-passes
Do not do unnecessary passes on resizing
2016-06-30 12:23:07 +01:00
wiredfool
b152d99d66 refactor to different file 2016-06-27 00:58:06 -07:00
wiredfool
857ee63436 cleanup unused variables 2016-06-27 00:58:06 -07:00
wiredfool
96907b9158 Comments 2016-06-27 00:58:06 -07:00
wiredfool
d3b0413780 Initial take for removing the Incremental decoder due to threading issues. J2k tests pass, other tests fail 2016-06-27 00:58:05 -07:00
Diederik Veeze
ca69de192b Assign to unused layers as well, jtbs 2016-06-26 13:23:53 +02:00
Diederik Veeze
12685ef7c1 Convert P to LA without deforming image 2016-06-25 23:14:21 +02:00
wiredfool
bdd0a6a4e4 Merge pull request #1781 from wiredfool/malloc_check
Integer overflow checks on malloc
2016-06-21 12:09:19 +01:00
wiredfool
95f464f827 removed redundant check 2016-06-16 01:09:38 -07:00
wiredfool
8aedf8b1d8 added comment closer to malloc 2016-06-16 01:07:28 -07:00
wiredfool
ce57e6adfb We're not actually multiplying out the bytes, only the indexes 2016-06-16 01:06:28 -07:00
wiredfool
d0ae5bc75e added check to prevent arcs > 360 degrees 2016-06-16 01:05:41 -07:00
homm
78fad0f819 Do not make unnecessary passes on resizing 2016-06-15 01:04:02 +03:00
wiredfool
92a13d975d Malloc check merge/rebase 2016-06-08 06:25:46 -07:00
wiredfool
76605634e6 MSVC doesn't define UINT32_MAX 2016-06-08 06:25:46 -07:00
wiredfool
5369d8edd7 Replace SIZE_MAX with type specific _MAX 2016-06-08 06:21:38 -07:00
wiredfool
54a979749c Rework block allocator 2016-06-08 06:21:38 -07:00
wiredfool
768936fa33 overflow check for im->linesize 2016-06-08 06:21:38 -07:00
wiredfool
d48e5cd500 Convert xsize/ysize to ints in function declarations to match all other uses of xsize/ysize 2016-06-08 06:21:38 -07:00
wiredfool
49566b287e added cleanup to free dictionary memory in ZipEncode, fixes old comment about leaking memory from prior to when we had the cleanup mechanisim 2016-06-08 06:21:38 -07:00
wiredfool
4b4ef5f1e2 Malloc check, realloc, #1715 2016-06-08 06:21:38 -07:00
wiredfool
52d60cd096 Malloc check, #1715 2016-06-08 06:21:38 -07:00
wiredfool
b1a190ad78 mixed 8c tabs+spaces -> spaces 2016-06-08 06:21:38 -07:00
homm
3d622d60cf make perspecive transform arguments order more common 2016-06-08 16:17:41 +03:00
homm
2b77b1cec7 make affine transform arguments order more common 2016-06-08 16:17:41 +03:00
homm
4cfc791a5b remove unused filter_data 2016-06-08 16:17:41 +03:00
homm
bc51928171 move ImagingCopyInfo after affine_fixed 2016-06-08 16:17:41 +03:00
homm
9902d2e1c5 move transform dispatcher into libImaging 2016-06-08 16:17:41 +03:00
homm
2e914af758 unused 2016-06-08 16:17:41 +03:00
homm
6be3df2a43 remove internal ImagingTransform from headers
rename to ImagingGenericTransform
2016-06-08 16:17:41 +03:00
homm
1f8c2527ba internal rotating functions not used anymore 2016-06-08 16:17:41 +03:00
homm
3fa3b48ae9 ImagingTransposeToNew not used anymore 2016-06-08 16:17:41 +03:00
homm
e5b2cbe4ad undef local defines
add section cookie for affine_fixed
2016-06-08 16:17:41 +03:00
homm
a18325afe1 remove WITH_FILTERS 2016-06-08 16:17:41 +03:00
wiredfool
62551a8b49 Merge pull request #1933 from uploadcare/resample-vertical-pass
Resample horizontal + vertical pass
2016-06-08 14:14:41 +01:00
homm
12c8cf94f2 replace calloc with remaining values emptying 2016-06-08 03:45:08 +03:00
homm
3b7923c09f add calloc explanation 2016-06-03 12:51:58 +03:00
homm
34afabbf18 return malloc where clearing is not required 2016-05-28 10:47:07 +03:00
homm
4ea0c83450 do not rotate image between passes 2016-05-27 07:24:22 +03:00
homm
c051f1d79d ImagingResampleVertical_32bpc implementation 2016-05-27 07:21:34 +03:00
homm
5cd8c35c82 complete ImagingResampleVertical_8bpc implementation 2016-05-27 07:12:01 +03:00
homm
8180b0f4c3 ResampleVertical first implementation 2016-05-27 06:52:19 +03:00
homm
edc9880b61 accept RGBa and La modes for blur 2016-05-27 03:16:48 +03:00
wiredfool
3657bc10a6 Merge pull request #1889 from rr-/libpngquant
Add libimagequant support in quantize()
2016-05-26 21:12:25 +01:00
homm
b56d8f3f1f speedup La -> LA conversion in most cases 2016-05-26 15:22:01 +03:00
homm
d1272b9b8a speedup RGBa -> RGBA conversion in most cases 2016-05-26 15:15:08 +03:00
homm
c4b92d09b7 support for La mode 2016-05-26 15:15:08 +03:00
homm
5ffd9e53bc use calloc and INT_MAX 2016-05-26 02:28:35 +03:00
homm
1c3def1d5a return malloc 2016-05-26 02:07:56 +03:00
homm
eec17c0c7a change xmax meaning to avoid substructions 2016-05-26 02:07:56 +03:00
homm
7722d00daf simpler coefficients calculation in ImagingResampleHorizontal_8bpc 2016-05-26 02:07:56 +03:00
homm
d3749ccc7c possible increase precision and avoid compiler warnings 2016-05-26 02:07:56 +03:00
homm
f44a7f8b11 implement round
fix windows build
2016-05-26 02:07:56 +03:00
homm
babaaf9bbe raise on special cases even if imIn->image8 2016-05-26 02:07:56 +03:00
homm
d48324bd21 unroll 8bpc version 2016-05-26 02:07:56 +03:00
homm
126c3151b5 use ImagingPrecompute in ImagingResampleHorizontal_8bpc 2016-05-26 02:07:56 +03:00
homm
f3f03bcd67 unroll 32bpc version 2016-05-26 02:07:56 +03:00
homm
04552b015d use ImagingPrecompute in ImagingResampleHorizontal_32bpc 2016-05-26 02:07:56 +03:00
homm
023f7adcf6 precompute function 2016-05-26 02:07:56 +03:00
homm
7693da9287 separate 8 and 32 bpc implementations 2016-05-26 02:07:56 +03:00
homm
9618ec98b8 test for consistency 2016-05-26 02:07:56 +03:00
homm
e13297b396 make coefficients ints 2016-05-26 02:07:03 +03:00
homm
342e6f213b extra line 2016-05-26 02:07:03 +03:00
homm
3ee407e859 pass struct filter to ImagingResampleHorizontal 2016-05-26 02:07:03 +03:00
homm
0e2a8e4323 intermediate not normalized buffer for coefficients 2016-05-26 02:07:03 +03:00
homm
a5b99dd302 move checks before mallocs to prevent memory leaks 2016-05-26 02:07:03 +03:00
Stephen Arthur
0bc4423487 Move the declaration to the beginning of scope to make vs happy 2016-05-22 19:13:19 -07:00
Stephen Arthur
67a243d82d Removing the one-line variable declare / assign to make appveyor happy 2016-05-22 18:50:42 -07:00
Stephen Arthur
8b572ade81 Found edge cases with custom qtables
And there was a lingering bug since the previous qtable unsigned char fix
(#1814) since the call to array.array was in another place, the roundtrip was no
longer equivalent.

That was a minor change, but the revised test wouldn't pass because saving an image
with one custom qtable automatically adds a second to it by the call to
jpeg_set_defaults.
With 1 or >2 custom tables, there is extra work we have to do due to that call.
2016-05-22 17:54:31 -07:00
rr-
0430a4a834 Fix libimagequant facade header 2016-05-21 21:11:54 +02:00
rr-
bc0e896b35 Change libimagequant facade signature 2016-05-21 21:01:57 +02:00
rr-
8b7fb44c6b Make libimagequant visibility detectable 2016-05-06 21:06:54 +02:00
rr-
0b4a089321 Fix C99 errors inside libimagequant quantizer 2016-05-06 20:08:35 +02:00
rr-
cb4ded4929 Minor fixes 2016-05-06 19:29:42 +02:00
rr-
eb354be7c4 Add method=Image.LIBIMAGEQUANT for quantize() 2016-05-05 21:39:16 +02:00
wiredfool
faeb269e30 Revert "Fix for DIB/BMP images" 2016-04-19 16:37:29 +01:00
Hugo
a7c678b1af Merge pull request #1813 from wiredfool/DIB_1293
Fix for DIB/BMP images
2016-04-06 19:58:25 +03:00
wiredfool
0e3caec317 Added Transparency mask unpacker for BMP files 2016-04-06 07:40:49 -07:00
wiredfool
14f3b45f46 Merge pull request #1789 from zwhfly/tiff
Add Support for 2/4 bpp Tiff Grayscale Images
2016-04-03 12:07:48 -07:00
wiredfool
a1f244343d Fixed j2k integer overflow error on encode - CVE-2016-3076 2016-04-01 05:11:54 -07:00
zwhfly
4d147c16d3 Add Some Unpackers for 2/4 bpp Grayscale Format
As seen in some tiff image files.
2016-03-29 20:17:39 +08:00
Andrew Murray
a7c7aa171d Updated redirected URLs 2016-02-11 18:51:36 +11:00
Eric Soroos
07a42363c4 change ifd entry to use uint following libtiff interface 2016-02-04 08:13:17 -08:00
Eric Soroos
717720b051 Fix for buffer overflow in TiffDecode.c CVE-2016-0740 2016-02-04 08:13:11 -08:00
wiredfool
893a40850c FLI overflow error fix and testcase CVE-2016-0775 2016-02-04 08:13:02 -08:00
wiredfool
1723dc2d07 Merge pull request #1714 from wiredfool/resample-overflow
Overflow in resample.c, with tests
2016-02-04 07:52:59 -08:00
Ned Williamson
4e0d9b0b97 fix integer overflow in Resample.c 2016-02-04 07:19:54 -08:00
wiredfool
ae453aa18b PCD decoder overruns the shuffle buffer, Fixes #568 2016-02-02 05:46:26 -08:00
Andrew Murray
8f9b3a7372 Changed arcs, chords and pie slices to use floats 2015-12-09 00:28:52 +11:00
Andrew Murray
9a2903bf5b Changed 32 bit to 32-bit and 64 bit to 64-bit 2015-10-15 00:49:03 +11:00
Hugo van Kemenade
00615df3b5 Merge pull request #1487 from radarhere/fix
Removed trailing whitespace
2015-10-12 11:06:11 +03:00