gofr
4dc195333e
fixup! De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
2020-10-17 20:45:54 +02:00
gofr
9980981c2e
De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables
...
Re-order the JPEG quantization tables to normal order when
loading. This wastes a few CPU cycles if you don't need them.
But it has the advantage of hiding the zigzag order JPEG
implementation detail of these tables completely from Pillow
users.
This difference has led to cases where:
* arrays in zigzag order were taken from a dict and passed
directly as a qtables parameter, causing them to be "zigzagged"
again by libjpeg.
* dicts with lists in normal order being passed to
JpegImagePlugin.convert_dict_qtables, causing them to be
unnecessarily "de-zigzagged".
2020-10-17 20:20:59 +02:00
Hugo van Kemenade
1cb3e2f742
Merge pull request #4918 from gofr/4825-jpeg-16-bit-qt
2020-10-14 17:58:12 +03:00
gofr
0a235314b8
Remove outdated comment about 8-bit DQT support
2020-10-10 15:26:44 +02:00
gofr
6db0843af4
Add support for 16-bit precision JPEG quantization values
...
Don't force JPEG quantization to be baseline-compatible
Quantization values will not be limited to values 1..255 and may
be 16 bits if needed. This may cause compatibility issues.
2020-10-10 14:35:09 +02:00
Andrew Murray
88f9ef2f6b
Removed unused function
2020-10-09 01:16:23 +11:00
Hugo van Kemenade
e0eec1eb56
Merge branch 'master' into rm-3.5
2020-09-01 20:16:46 +03:00
Hugo van Kemenade
10615a7da7
Upgrade Python syntax for 3.6+
...
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Hugo van Kemenade
109c637ddb
'plugin', formatting and typos
2020-07-03 09:38:30 +03:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
...
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
Andrew Murray
9b6fdd719f
Call _accept instead of duplicating code
2020-06-23 17:41:13 +10:00
Andrew Murray
96d1a8b418
Updated _open check to match _accept
2020-06-23 00:25:59 +10:00
Ram Rachum
2f0d430807
Fix exception causes all over the codebase
2020-06-21 13:21:25 +03:00
Kirill Kuzminykh
f99e0b824b
Replaced primitive "magic number" inside of JpegImagePlugin._accept() function by more correct version.
2020-06-18 16:18:18 +03:00
Andrew Murray
fdc5993ace
Improved grammar [ci skip]
2020-05-16 21:37:33 +10:00
Alexander
f15e4a8e06
truncate icclist instead of changing to None
2020-05-08 19:48:20 +03:00
Andrew Murray
e41cfade29
Add JPEG comment to info dictionary
2020-03-07 06:57:29 +11:00
Hugo van Kemenade
0f7ed2d35f
Merge pull request #4435 from radarhere/close_images
...
Close exclusively opened images
2020-03-06 00:27:46 +02:00
Andrew Murray
a8c0794107
Allow saving of zero quality JPEG images
2020-02-21 22:05:44 +11:00
Andrew Murray
dd8b0de666
Close excusively opened images
2020-02-18 20:49:05 +11:00
Alexander
54f3dc6006
Math functions return int in Python 3
2020-02-08 00:34:53 +03:00
Alexander Karpinsky
5965437402
Merge pull request #4370 from uploadcare/jpeg-multiple-app13
...
Handle multiple and malformed JPEG APP13 markers
2020-01-27 15:46:36 +03:00
Alexander Karpinsky
fd03a68c1a
Update comment
...
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-01-27 15:18:02 +03:00
Jon Dufresne
63729766c4
Remove unnecessary coerce to float
...
In Python 3, the division operator is floating point division. No longer
need to coerce integers to floating point numbers before division.
2020-01-26 06:33:18 -08:00
Alexander
dcd0cd9129
update dict instead of ignoring
2020-01-19 14:53:46 +03:00
Alexander
f55eb73934
handle Photoshop chunks which can't be processed
2020-01-19 03:37:43 +03:00
Alexander
3841c96ec6
Cleanup code a bit
2020-01-19 03:15:37 +03:00
Alexander Karpinsky
b5d06baa5f
Merge pull request #4231 from uploadcare/box-in-thumbnail
...
Fix thumbnail geometry when DCT scaling is used
2019-12-25 15:41:40 +03:00
Andrew Murray
ee30fe1b39
Merge pull request #4147 from beipang2/issue_4146
...
Use default DPI when exif provides invalid x_resolution
2019-12-25 20:26:27 +11:00
Alexander
a027897f74
Merge branch 'master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-12-17 00:42:29 +03:00
Andrew Murray
e51be50549
Handle broken Photoshop data
2019-11-30 10:08:32 +11:00
Alexander
e234445682
linter fixes
2019-11-24 15:32:45 +03:00
Alexander
fd21de7dc4
Merge branch 'refs/heads/master' into box-in-thumbnail
...
# Conflicts:
# Tests/test_image_thumbnail.py
2019-11-24 05:27:13 +03:00
Alexander
4126f6cdf7
return chosen image mode and the box of the image
2019-11-24 04:55:49 +03:00
Alexander
2d1482b400
minor fixes related to draft
2019-11-24 04:33:34 +03:00
Hugo
e5486b40f8
Merge remote-tracking branch 'upstream/master' into rm-2.7
2019-11-18 13:56:42 +02:00
Hugo
0c5895470c
Remove deprecated __version__ from plugins
2019-11-05 17:01:03 +02:00
Bei Pang
f53b86b673
Removed TypeError exception check in JpegImagePlugin; Updated comments in test
2019-10-28 09:48:37 -07:00
Bei Pang
a2b0269167
Added comment to ValueError
2019-10-27 07:50:30 +11:00
Bei Pang
bcc766e02d
Use default DPI when exif provides invalid x_resolution
2019-10-27 07:50:30 +11:00
Hugo
3e24c5fea4
Replace isStringType(t) with isinstance(t, str)
...
Co-Authored-By: Jon Dufresne <jon.dufresne@gmail.com>
2019-10-08 17:26:52 +03:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7
2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0
Move several imports to the top-level of the file
...
This better follows PEP 8 style guide:
https://www.python.org/dev/peps/pep-0008/#imports
> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.
This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
538d9e2e5d
Upgrade Python syntax with pyupgrade --py3-plus
2019-10-07 14:30:59 +03:00
Andrew Murray
f3ed44a566
Changed the Image getexif method to return a shared Exif instance
2019-08-23 06:13:20 +10:00
Andrew Murray
0b405c86be
Lazily use ImageFileDirectory_v1 values from Exif
2019-08-18 23:03:43 +10:00
Jon Dufresne
d50445ff30
Introduce isort to automate import ordering and formatting
...
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.
Uses the configuration recommended by the Black to avoid conflicts of
style.
Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Hugo
53a7e35004
Format with Black
2019-06-10 18:22:46 +03:00
Andrew Murray
2274c2afc7
Fixed reading APP13 marker without Photoshop data
2019-04-05 20:02:45 +11:00
Andrew Murray
40bc46ff49
Moved ImageFile.Exif to Image.Exif
2019-04-01 20:03:02 +11:00