Andrew Murray
1270043682
Return early if either width or height is zero
2024-09-05 15:46:54 +10:00
Andrew Murray
55f49393af
Treat unknown colorspace as unspecified
2024-09-03 09:55:06 +10:00
Yay295
0c335d239b
use (void) for empty function parameters
2024-08-28 08:08:08 -05:00
Andrew Murray
e4e2cd6564
Updated comments
2024-08-14 15:28:34 +04:00
Andrew Murray
2b6c5a27a1
Added braces
2024-08-14 15:28:34 +04:00
Aleksandr Karpinskii
8256b9bb7f
Correct left boundary on the second stage
2024-08-14 15:28:34 +04:00
Aleksandr Karpinskii
5fb44ab694
This check is useless, since moved after the first stage
2024-08-14 15:28:34 +04:00
Aleksandr Karpinskii
6a87df2c1f
clang-format
2024-08-14 15:28:34 +04:00
Aleksandr Karpinskii
4cf5688cfd
Optimize getbbox() and getextrema()
2024-08-14 15:28:34 +04:00
Andrew Murray
70298d3be9
Fix undefined variable
2024-08-07 06:38:46 +10:00
Andrew Murray
5e8dbbbf9e
Removed unused variable
2024-08-06 13:32:46 +10:00
Alexander Karpinsky
d8447de24d
Merge pull request #8211 from uploadcare/remove-c-flags
...
Remove all WITH_* flags from _imaging.c and other flags
2024-08-02 16:10:10 +04:00
Aleksandr Karpinskii
d00fb87fa3
Rename Not NO_OUTPUT to DEBUG, remove TEST_MERGESORT and TEST_SPLIT* flags
2024-07-28 16:46:28 +04:00
Aleksandr Karpinskii
dc53356c1a
Not needed since memcpy is used here
2024-07-28 16:24:51 +04:00
pre-commit-ci[bot]
aa8d87696b
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2024-07-19 12:14:54 +00:00
Lysandros Nikolaou
8a54f58ac6
Merge branch 'main' into arena-thread-safe
2024-07-19 14:14:23 +02:00
Lysandros Nikolaou
06767fc325
Address feedback; do not lock in a loop
2024-07-16 17:00:14 +02:00
Lysandros Nikolaou
5999b9b0cc
Initialize PyMutex only under the free-threaded build
2024-07-16 16:56:15 +02:00
pre-commit-ci[bot]
9f110aa702
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2024-07-16 14:47:15 +00:00
Lysandros Nikolaou
ea7b5c5b66
Lock around usages of imaging memory arenas
2024-07-16 16:43:49 +02:00
pre-commit-ci[bot]
2973b041c7
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2024-07-16 12:58:04 +00:00
Andrew Murray
6ee41897e2
Added dedicated unpacker for inverted alpha
2024-06-25 17:29:06 -05:00
Hugo van Kemenade
a596a4063d
Merge pull request #8112 from radarhere/i16_mask
2024-06-25 06:50:47 -06:00
Hugo van Kemenade
bbf879641d
Merge pull request #7997 from radarhere/rgbx
2024-06-25 05:28:50 -06:00
Andrew Murray
08b5a2e9a7
Corrected using a 1 mode mask with I;16* images
2024-06-08 14:35:10 +10:00
Andrew Murray
82910a5e4f
Lint fixes
2024-05-19 22:00:45 +10:00
Andrew Murray
22b64ffcf2
Merge pull request #8015 from hugovk/pre-commit-clang
...
Add ClangFormat to pre-commit
2024-05-19 16:27:30 +10:00
Andrew Murray
3062ec4dd2
Fix type errors
2024-05-16 22:55:03 +10:00
Andrew Murray
7d62c306cc
Merge branch 'main' into pre-commit-clang
2024-04-30 21:34:41 +10:00
Andrew Murray
996c053d89
Change comment style
2024-04-28 22:49:56 +10:00
Hugo van Kemenade
5597f618a3
Change comment style
...
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2024-04-28 02:49:42 -06:00
Andrew Murray
fd8c6a6295
Do not indent goto labels
2024-04-28 13:51:32 +10:00
Hugo van Kemenade
1138ea5370
Merge pull request #7921 from Yay295/testing
...
Fix ImagingAccess for I;16N on big-endian
2024-04-25 21:36:38 +03:00
pre-commit-ci[bot]
617e7295a8
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2024-04-25 12:51:24 +00:00
Hugo van Kemenade
1fc1179ed5
Merge pull request #8008 from radarhere/convert
...
Simplified RGB to I;16, I;16L and I;16B conversion
2024-04-25 00:00:15 +03:00
Andrew Murray
46b85e6ab4
Simplified code
2024-04-24 11:02:56 +10:00
Yay295
eee53ba664
extract band count check
2024-04-23 13:06:22 -05:00
Andrew Murray
bb2411dd01
Support reading P mode TIFF images with padding
2024-04-22 08:11:45 +10:00
Andrew Murray
98a0515494
Read images as RGB, rather than RGBX
2024-04-22 08:05:59 +10:00
Yay295
da7198c987
fix ImagingAccess for I;16N on big-endian
2024-04-20 09:01:38 -05:00
Andrew Murray
22705d3da5
Merge pull request #7956 from Cirras/obscure-bitmap-headers
...
Add support for reading `BITMAPV2INFOHEADER` and `BITMAPV3INFOHEADER`
2024-04-13 16:25:26 +10:00
Yay295
82b7b8a9ee
Fix some comments
2024-04-11 00:29:31 -05:00
Andrew Murray
98ae91a65d
Added BGXR and BGAR unpackers
2024-04-09 00:45:48 +10:00
Andrew Murray
c61a481028
Support reading CMYK JPEG2000 images
2024-04-06 13:40:39 +11:00
Hugo van Kemenade
7b2320b50f
Fix typos
2024-03-31 15:57:20 +03:00
Andrew Murray
838bb6c493
Added RGB to I;16N conversion
2024-03-30 20:22:50 +11:00
Andrew Murray
fb6b860172
Added RGB to I;16, I;16L and I;16B conversion
2024-03-30 11:33:55 +11:00
Hugo van Kemenade
d734c8b702
Merge pull request #7888 from radarhere/convert_rgb
2024-03-28 18:11:12 +02:00
Andrew Murray
e79d1746f2
Support conversion from RGB to La
2024-03-26 19:57:17 +11:00
Andrew Murray
ab8f465f1a
Use transparency info when converting from RGB to LA
2024-03-26 19:55:22 +11:00
Andrew Murray
171e497e05
Raise ValueError if kmeans is negative
2024-03-22 17:36:04 +11:00
Andrew Murray
8b6a182815
Support conversion from RGB to RGBa
2024-03-21 16:25:40 +11:00
Andrew Murray
f128d47e15
Added reading of JPEG2000 palettes
2024-03-12 19:30:23 +11:00
Richard Barnes
38cec87c93
Fix shift-sign issue in Convert.c ( #7838 )
...
* Fix shift-sign issue in Convert.c
Fixes
```
libImaging/Convert.c:513:25: error: signed shift result (0xFF000000) sets the sign bit of the shift expression's type ('int') and becomes negative [-Werror,-Wshift-sign-overflow]
UINT32 trns = (0xff << 24) | ((b & 0xff) << 16) | ((g & 0xff) << 8) | (r & 0xff);
~~~~ ^ ~~
```
---------
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2024-03-09 17:52:00 +11:00
Andrew Murray
d6a3f89e27
Open 16-bit grayscale PNGs as I;16
2024-03-02 15:39:43 +11:00
Andrew Murray
2d6ad5868d
Use "non-zero" consistently
2024-01-06 12:07:55 +11:00
Benjamin Gilbert
a5fab5fc0b
Fail if chroma subsampling selected when writing RGB JPEG
...
The user presumably doesn't intend to subsample the green and blue
channels.
2023-12-26 12:37:35 -06:00
Benjamin Gilbert
4b422db243
Add keep_rgb option to prevent RGB -> YCbCr conversion during JPEG write
...
libjpeg automatically converts RGB to YCbCr by default. Add a keep_rgb
option to disable libjpeg's automatic conversion of RGB images during
write.
2023-12-13 18:26:35 -06:00
Andrew Murray
4b308dc2bf
Merge pull request #7488 from bgilbert/jpeg-restart
...
Allow configuring JPEG restart marker interval on save
2023-11-14 23:42:50 +11:00
Hugo van Kemenade
556dd1e15c
Merge pull request #7535 from hugovk/add-3.13
2023-11-12 00:34:12 +02:00
Hugo van Kemenade
9b88cf5ad9
#ifdef _UNISTD_H -> HAVE_UNISTD_H
2023-11-08 18:48:40 +02:00
Hugo van Kemenade
95eef25aca
Fix for Python 3.13: explicitly include unistd.h
2023-11-08 17:52:43 +02:00
Benjamin Gilbert
e572722479
Allow configuring JPEG restart marker interval on save
...
libjpeg allows specifying the marker interval either in MCU blocks or in
MCU rows. Support both, via separate parameters, rather than requiring
callers to do the math.
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-10-31 17:47:25 -05:00
Benjamin Gilbert
4d7372bfd0
Implement streamtype=1 option for tables-only JPEG encoding
...
We already support streamtype=2 to skip producing JPEG tables, but
streamtype=1, which skips everything but the tables, was never implemented.
The streamtype=1 stub code dates to Git pre-history, so it's not
immediately clear why. Implement the missing support.
jpeg_write_tables() can't resume after a full output buffer (it fails with
JERR_CANT_SUSPEND), so it might seem that Pillow needs to pre-compute the
necessary buffer size. However, in the normal case of producing an
interchange stream, the tables are written via the same libjpeg codepath
during the first jpeg_write_scanlines() call, and table writes aren't
resumable there either. Thus, any buffer large enough for the normal case
will also be large enough for a tables-only file.
The streamtype option isn't documented and this commit doesn't change that.
It does add a test though.
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2023-10-24 20:30:45 -05:00
Andrew Murray
d682c18ded
Use "gray" more consistently
2023-10-19 19:12:01 +11:00
Andrew Murray
4e7f61f459
Merge branch 'main' into bgr
2023-10-06 18:50:25 +11:00
Andrew Murray
b8c30655cc
Include CMYK to RGB convert as unpacker
2023-10-06 16:05:03 +11:00
Andrew Murray
787daa9f19
Merge branch 'main' into cmyk2rgb
2023-10-06 15:52:32 +11:00
Hugo van Kemenade
6f73691564
Merge pull request #7257 from radarhere/i16_point
2023-10-05 12:54:25 -06:00
Hugo van Kemenade
09605ff48e
Merge pull request #7413 from radarhere/bc5s
2023-10-05 09:48:12 -06:00
Hugo van Kemenade
5f04b3d278
Merge pull request #7289 from radarhere/undefined_palette
2023-10-05 09:31:02 -06:00
Hugo van Kemenade
f76b63d016
Add end-of-file-fixer to pre-commit
2023-09-25 16:45:38 +03:00
Andrew Murray
352bcaac74
Set blue channel to 128 for BC5S
2023-09-21 16:38:45 +10:00
Andrew Murray
e57b08affd
Move strcmp outside of while loops
2023-09-21 16:38:19 +10:00
Andrew Murray
96e3534034
Corrected converting signed values to unsigned in BC5S
2023-09-16 13:53:10 +10:00
Andrew Murray
9f54a11a9c
Improve efficiency when a radius is zero
2023-08-12 18:17:07 +10:00
Andrew Murray
c167d7a269
Allow GaussianBlur and BoxBlur to accept a sequence of x and y radii
2023-08-12 12:09:20 +10:00
Hugo van Kemenade
95257dff87
Merge pull request #7299 from radarhere/pdf
2023-08-04 11:43:09 +03:00
Andrew Murray
00cec60c35
Added CMYK to RGB unpacker
2023-07-29 21:05:33 +10:00
Andrew Murray
5fa05623ff
Added BGR;15, BGR;16 and BGR;24 unpacking
2023-07-26 20:09:40 +10:00
Andrew Murray
3230270aa7
Added BGR;15, BGR;16 and BGR;24 access
2023-07-26 20:09:40 +10:00
Andrew Murray
c108d9ddb0
Set alpha channel when saving LA in OpenJPEG
2023-07-22 20:05:31 +10:00
Andrew Murray
577a4d8bf8
Change get_pixel to be specific to images with 2 bands
2023-07-21 21:08:20 +10:00
Andrew Murray
7ffad80294
Removed put_pixel
2023-07-21 20:59:28 +10:00
Andrew Murray
32eec53c43
Removed comment
2023-07-17 23:50:59 +10:00
Andrew Murray
fd310512b9
Set C palette to be empty by default
2023-07-17 23:04:43 +10:00
Andrew Murray
ba9c830b03
Corrected writing I;16 text
2023-07-08 11:30:48 +10:00
Andrew Murray
5e2332a200
Corrected drawing I;16 points
2023-07-05 08:49:56 +10:00
Hugo van Kemenade
0ac3677b56
Merge pull request #7199 from radarhere/tiff_close
2023-06-30 09:27:26 +03:00
Hugo van Kemenade
be4bfaac9e
Merge pull request #7123 from radarhere/apng
2023-06-30 09:24:20 +03:00
Andrew Murray
45c9dcf123
Restored 32-bit support
2023-06-27 14:43:58 +10:00
Hugo van Kemenade
190c53a1b1
Merge pull request #7228 from radarhere/32bit
...
Removed support for 32-bit
2023-06-24 19:02:00 +03:00
Andrew Murray
d6f19625e8
Removed support for 32-bit
2023-06-23 21:52:00 +10:00
Andrew Murray
17b19b5668
Merge branch 'main' into apng
2023-06-14 11:26:42 +10:00
Andrew Murray
68edbbca94
Merge branch 'main' into int_def
2023-06-14 09:11:41 +10:00
Hugo van Kemenade
c62c514299
Merge pull request #7187 from radarhere/putpalette
2023-06-13 20:10:33 +03:00
Hugo van Kemenade
9d08c8247d
Merge pull request #7180 from radarhere/int64
2023-06-13 20:08:26 +03:00
Andrew Murray
aeb6e9909e
Removed unused argument
2023-06-10 15:57:05 +10:00
Andrew Murray
748a4d0fcd
Removed unused variable
2023-06-10 14:26:28 +10:00
Andrew Murray
15edb6d625
Fixed signedness comparison warning
2023-06-07 22:33:55 +10:00