Commit Graph

633 Commits

Author SHA1 Message Date
Kylian Ronfleux--Corail
13bffef91d Fix quantization table scaling when quality is applied to custom qtables
When both a custom quantization table and a quality value are provided,
the quantization table should be scaled using the JPEG quality scaling factor.
If quality is not explicitly set, the default base quality of 50 is used to preserve the original table.
This ensures consistent behavior when saving JPEGs with custom qtables.

Fixes part of the issue with applying 'quality' to 'qtables'.
2025-04-10 10:01:02 +00:00
Kylian Ronfleux--Corail
e3c0ee6ae2 Fix incorrect quality scaling when using qtables in JPEG encoder
When both `qtables` and `quality` are provided, Pillow previously passed
the raw `quality` value directly to `jpeg_add_quant_table()` as the scale
factor, which caused incorrect quantization.

This commit corrects the behavior by using `jpeg_quality_scaling(quality)`
to compute the proper JPEG quantization scaling factor, consistent with
`jpeg_set_quality()`.

This ensures expected compression behavior when custom qtables are used
alongside a specified quality level.
2025-04-10 07:31:05 +00:00
pre-commit-ci[bot]
a5a8ece5d2 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-04-07 17:17:36 +00:00
wiredfool
5c76e7ec17
Image -> Arrow support (#8330)
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-04-01 09:10:45 +03:00
Andrew Murray
e8a9b56603
Improved connecting discontiguous corners (#8659) 2025-03-29 18:33:51 +02:00
Andrew Murray
93cdfeb488
Prevent TIFFRGBAImageBegin from applying image orientation (#8556)
Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2025-03-29 18:25:57 +02:00
Andrew Murray
295a5e9bd7 Do not convert BC1 LUT to UINT32 2025-03-27 21:36:17 +11:00
Andrew Murray
cd11792c15 Added BC5 saving 2025-03-17 07:55:25 +11:00
Andrew Murray
f1a61a1e76 Added DXT3 saving 2025-03-17 07:55:24 +11:00
Andrew Murray
9f619b814f Added BC3 loading and saving 2025-03-17 07:55:24 +11:00
Andrew Murray
9430bbe5a1 Added DXT5 saving 2025-03-17 07:55:24 +11:00
Andrew Murray
3dbd0e57ba Added DXT1 encoding 2025-03-17 07:55:24 +11:00
Andrew Murray
92cc9bf902 Support reading grayscale images with 4 channels 2025-03-03 08:46:20 +11:00
Andrew Murray
f598c03233 Removed unused file 2025-01-29 17:33:55 +11:00
Aleksandr Karpinskii
849768df7a Remove unused declaration 2025-01-28 20:40:43 +11:00
Hugo van Kemenade
01792cbff0
Merge pull request #8652 from radarhere/tile 2025-01-08 19:03:31 +02:00
Hugo van Kemenade
6bce9aa461
Merge pull request #8645 from radarhere/mozjpeg 2025-01-08 18:44:21 +02:00
Andrew Murray
73a383fa72 Use rawmode instead of splitting and merging 2025-01-05 06:11:54 +11:00
Andrew Murray
ae59b03956 Do not use MozJPEG progressive default 2024-12-31 21:44:57 +11:00
Andrew Murray
f91b111fac Removed pre-C99 definitions 2024-12-31 20:42:49 +11:00
Andrew Murray
ea962bf1d8 Added RGBX;16N to RGB unpacker 2024-12-29 16:59:32 +11:00
Andrew Murray
973cd6481a Merge branch 'main' into jpeg2000_cmyk_save 2024-12-28 22:08:08 +11:00
Andrew Murray
05c981ffd7 Removed buffer_size variable 2024-12-28 15:41:19 +11:00
Andrew Murray
439d5cf2a0
Merge branch 'main' into jpeg2000_cmyk_save 2024-12-28 07:42:56 +11:00
Andrew Murray
fb3d80e390 Fixed connecting discontiguous corners 2024-12-24 00:41:27 +11:00
Andrew Murray
522505b714 Support saving CMYK JPEG2000 images 2024-12-10 18:33:12 +11:00
Andrew Murray
7edf952832 Do not close provided file handles with libtiff 2024-10-11 19:37:56 +11:00
Andrew Murray
7777260b6b
Merge pull request #8438 from radarhere/filter 2024-10-10 21:50:51 +11:00
pre-commit-ci[bot]
a609d65b33 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-10-07 17:56:23 +00:00
Hugo van Kemenade
535bf234c3
Merge pull request #8341 from uploadcare/use-ptr
Use ImagingCore.ptr instead of ImagingCore.id
2024-10-07 13:37:44 +03:00
Alexander Karpinsky
8e332eb3b0 Apply suggestions from code review
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2024-10-07 13:05:13 +04:00
Andrew Murray
418ae7caa2 Support BuiltinFilter for I;16* images 2024-10-05 01:12:51 +10:00
Hugo van Kemenade
c9c8d45898
Merge pull request #8422 from radarhere/resize_i16 2024-10-01 13:55:13 +03:00
Hugo van Kemenade
ea15e0e622
Merge pull request #8413 from radarhere/sgirle_memory 2024-10-01 13:52:22 +03:00
Hugo van Kemenade
747fdf5069
Merge pull request #8402 from radarhere/sgirle 2024-10-01 13:52:08 +03:00
Andrew Murray
42ad42c174
Merge branch 'main' into resize_i16 2024-09-30 19:50:26 +10:00
Andrew Murray
851449edfc Free memory on early return 2024-09-30 19:49:13 +10:00
Andrew Murray
fc65e437cf Prevent division by zero 2024-09-30 19:48:53 +10:00
Andrew Murray
cc0b6b9de9 Cast int before potentially exceeding INT_MAX 2024-09-30 19:47:52 +10:00
Andrew Murray
04a00d273c Support all resampling filters when resizing I;16* images 2024-09-28 14:27:40 +10:00
Andrew Murray
e57da68190 Check image value before use 2024-09-20 19:20:53 +10:00
pre-commit-ci[bot]
9424b1a892 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-09-19 19:59:15 +00:00
PavlNekrasov
46f2fa17be
fix dereference before checking for NULL in the ImagingTransformAffine function
The `imIn` pointer is checked for `NULL`, but it seems to be dereferenced before this check. You must first make sure that the pointer is not `NULL` before using it.
2024-09-19 22:53:45 +03:00
Alexander Karpinsky
af521a1ce1
Merge branch 'main' into use-ptr 2024-09-18 22:24:46 +02:00
Aleksandr Karpinskii
4a284a78c5 Remove weird comments 2024-09-11 20:40:46 +10:00
Andrew Murray
63f398bc12
Merge pull request #8194 from uploadcare/optimize-getbbox
Optimize getbbox() and getextrema() routines
2024-09-09 15:08:11 +10:00
Aleksandr Karpinskii
5428e3568e Deprecate ImageCore.id and ImageCore.unsafe_ptrs 2024-09-08 17:30:23 +04:00
Aleksandr Karpinskii
7f48567002 Use s# in PyArg_ParseTuple 2024-09-08 17:30:23 +04:00
Hugo van Kemenade
a838da7406
Merge pull request #8002 from Yay295/patch-1
Use (void) for empty function parameters
2024-09-07 08:37:50 +03:00
Andrew Murray
a6ca45aea6 Use (void) to indicate no parameters 2024-09-07 00:01:25 -05:00