Skip to content

Commit 6522e6c

Browse files
committed
Do not use MozJPEG progressive default
1 parent 4347569 commit 6522e6c

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Tests/test_file_jpeg.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,10 @@ def test_progressive(self) -> None:
281281
assert not im2.info.get("progressive")
282282
assert im3.info.get("progressive")
283283

284-
assert_image_equal(im1, im3)
284+
if features.check_feature("mozjpeg"):
285+
assert_image_similar(im1, im3, 9.39)
286+
else:
287+
assert_image_equal(im1, im3)
285288
assert im1_bytes >= im3_bytes
286289

287290
def test_progressive_large_buffer(self, tmp_path: Path) -> None:

src/libImaging/JpegEncode.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,16 @@ ImagingJpegEncode(Imaging im, ImagingCodecState state, UINT8 *buf, int bytes) {
134134
return -1;
135135
}
136136

137-
/* Compressor configuration */
137+
/* Compressor configuration */
138+
#ifdef JPEG_C_PARAM_SUPPORTED
139+
/* MozJPEG */
140+
if (!context->progressive) {
141+
/* Do not use MozJPEG progressive default */
142+
jpeg_c_set_int_param(
143+
&context->cinfo, JINT_COMPRESS_PROFILE, JCP_FASTEST
144+
);
145+
}
146+
#endif
138147
jpeg_set_defaults(&context->cinfo);
139148

140149
/* Prevent RGB -> YCbCr conversion */

0 commit comments

Comments
 (0)