Sun Aug 14 20:57:40 2022 UTC ()
libjpeg-turbo: updated to 2.1.4

2.1.4

Significant changes relative to 2.1.3

Fixed a regression introduced in 2.1.3 that caused build failures with Visual Studio 2010.

The tjDecompressHeader3() function in the TurboJPEG C API and the TJDecompressor.setSourceImage() method in the TurboJPEG Java API now accept "abbreviated table specification" (AKA "tables-only") datastreams, which can be used to prime the decompressor with quantization and Huffman tables that can be used when decompressing subsequent "abbreviated image" datastreams.

libjpeg-turbo now performs run-time detection of AltiVec instructions on OS X/PowerPC systems if AltiVec instructions are not enabled at compile time. This allows both AltiVec-equipped (PowerPC G4 and G5) and non-AltiVec-equipped (PowerPC G3) CPUs to be supported using the same build of libjpeg-turbo.

Fixed an error ("Bogus virtual array access") that occurred when attempting to decompress a progressive JPEG image with a height less than or equal to one iMCU (8 * the vertical sampling factor) using buffered-image mode with interblock smoothing enabled. This was a regression introduced by 2.1 beta1[6(b)].

Fixed two issues that prevented partial image decompression from working properly with buffered-image mode:

Attempting to call jpeg_crop_scanline() after jpeg_start_decompress() but before jpeg_start_output() resulted in an error ("Improper call to JPEG library in state 207".)
Attempting to use jpeg_skip_scanlines() resulted in an error ("Bogus virtual array access") under certain circumstances.


(adam)
diff -r1.26 -r1.27 pkgsrc/graphics/libjpeg-turbo/Makefile
diff -r1.22 -r1.23 pkgsrc/graphics/libjpeg-turbo/distinfo
diff -r1.1 -r1.2 pkgsrc/graphics/libjpeg-turbo/patches/patch-simd_arm__aarch32_jsimd.c

cvs diff -r1.26 -r1.27 pkgsrc/graphics/libjpeg-turbo/Makefile (expand / switch to unified diff)

--- pkgsrc/graphics/libjpeg-turbo/Makefile 2022/04/20 21:47:24 1.26
+++ pkgsrc/graphics/libjpeg-turbo/Makefile 2022/08/14 20:57:40 1.27
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.26 2022/04/20 21:47:24 tnn Exp $ 1# $NetBSD: Makefile,v 1.27 2022/08/14 20:57:40 adam Exp $
2 2
3DISTNAME= libjpeg-turbo-2.1.3 3DISTNAME= libjpeg-turbo-2.1.4
4CATEGORIES= graphics 4CATEGORIES= graphics
5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libjpeg-turbo/} 5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=libjpeg-turbo/}
6 6
7MAINTAINER= dsainty@NetBSD.org 7MAINTAINER= dsainty@NetBSD.org
8HOMEPAGE= https://libjpeg-turbo.org/ 8HOMEPAGE= https://libjpeg-turbo.org/
9COMMENT= Accelerated libjpeg with SIMD instructions 9COMMENT= Accelerated libjpeg with SIMD instructions
10LICENSE= gnu-lgpl-v2 AND ijg # OR wxWindows Library Licence, Version 3.1 10LICENSE= gnu-lgpl-v2 AND ijg # OR wxWindows Library Licence, Version 3.1
11 11
12# Note also that libjpeg-turbo's library has a different major version 12# Note also that libjpeg-turbo's library has a different major version
13# number (8) than that installed by the jpeg package (9). 13# number (8) than that installed by the jpeg package (9).
14# https://libjpeg-turbo.org/About/Jpeg-9 14# https://libjpeg-turbo.org/About/Jpeg-9
15CONFLICTS= jpeg-[0-9]* 15CONFLICTS= jpeg-[0-9]*
16 16

cvs diff -r1.22 -r1.23 pkgsrc/graphics/libjpeg-turbo/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/libjpeg-turbo/distinfo 2022/02/27 08:50:48 1.22
+++ pkgsrc/graphics/libjpeg-turbo/distinfo 2022/08/14 20:57:40 1.23
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1$NetBSD: distinfo,v 1.22 2022/02/27 08:50:48 adam Exp $ 1$NetBSD: distinfo,v 1.23 2022/08/14 20:57:40 adam Exp $
2 2
3BLAKE2s (libjpeg-turbo-2.1.3.tar.gz) = a9880173803f8ac8ac89e2deea7d08ad536b257177b5133f0f6152aa7f808c5c 3BLAKE2s (libjpeg-turbo-2.1.4.tar.gz) = 2c9813bdf0f93af4a797d674f3080017dd8501793d69ef50b64d9fb627646ef9
4SHA512 (libjpeg-turbo-2.1.3.tar.gz) = 975c9835de7d70c6c8c5a1959adfa18f7f956bc9946fde8f1b40c1d853245c38a3118ac06b93841ec3e90be6945c38d687d062b371496c2ee9b5638d7f60418d 4SHA512 (libjpeg-turbo-2.1.4.tar.gz) = 511f065767c022da06b6c36299686fa44f83441646f7e33b766c6cfab03f91b0e6bfa456962184071dadaed4057ba9a29cba685383f3eb86a4370a1a53731a70
5Size (libjpeg-turbo-2.1.3.tar.gz) = 2260756 bytes 5Size (libjpeg-turbo-2.1.4.tar.gz) = 2261822 bytes
6SHA1 (patch-jpeglib.h) = 22f69b5fed1882c33f4a8a6e42b8aca5ed195de3 6SHA1 (patch-jpeglib.h) = 22f69b5fed1882c33f4a8a6e42b8aca5ed195de3
7SHA1 (patch-simd_arm__aarch32_jsimd.c) = 914632a76343b75869d2ca736c4c48f13cb2b54e 7SHA1 (patch-simd_arm__aarch32_jsimd.c) = 1176982b19289e7f664d078a31f7c470e453ed51
8SHA1 (patch-simd_arm__aarch64_jsimd.c) = 0e8fac36a9abc70e8526370237c7cdd28be519ef 8SHA1 (patch-simd_arm__aarch64_jsimd.c) = 0e8fac36a9abc70e8526370237c7cdd28be519ef

cvs diff -r1.1 -r1.2 pkgsrc/graphics/libjpeg-turbo/patches/patch-simd_arm__aarch32_jsimd.c (expand / switch to unified diff)

--- pkgsrc/graphics/libjpeg-turbo/patches/patch-simd_arm__aarch32_jsimd.c 2021/04/26 08:18:48 1.1
+++ pkgsrc/graphics/libjpeg-turbo/patches/patch-simd_arm__aarch32_jsimd.c 2022/08/14 20:57:40 1.2
@@ -1,36 +1,36 @@ @@ -1,36 +1,36 @@
1$NetBSD: patch-simd_arm__aarch32_jsimd.c,v 1.1 2021/04/26 08:18:48 adam Exp $ 1$NetBSD: patch-simd_arm__aarch32_jsimd.c,v 1.2 2022/08/14 20:57:40 adam Exp $
2 2
3--- simd/arm/aarch32/jsimd.c.orig 2021-04-23 16:42:40.000000000 +0000 3--- simd/arm/aarch32/jsimd.c.orig 2022-08-08 21:03:55.000000000 +0000
4+++ simd/arm/aarch32/jsimd.c 4+++ simd/arm/aarch32/jsimd.c
5@@ -29,6 +29,10 @@ 5@@ -27,6 +27,10 @@
6 #include <string.h> 6
7 #include <ctype.h> 7 #include <ctype.h>
8  8
9+#if defined(__NetBSD__) 9+#if defined(__NetBSD__)
10+#include <sys/sysctl.h> 10+#include <sys/sysctl.h>
11+#endif 11+#endif
12+ 12+
13 static unsigned int simd_support = ~0; 13 static unsigned int simd_support = ~0;
14 static unsigned int simd_huffman = 1; 14 static unsigned int simd_huffman = 1;
15  15
16@@ -109,6 +113,9 @@ init_simd(void) 16@@ -107,6 +111,9 @@ init_simd(void)
17 #endif 17 #endif
18 #if !defined(__ARM_NEON__) && (defined(__linux__) || defined(ANDROID) || defined(__ANDROID__)) 18 #if !defined(__ARM_NEON__) && (defined(__linux__) || defined(ANDROID) || defined(__ANDROID__))
19 int bufsize = 1024; /* an initial guess for the line buffer size limit */ 19 int bufsize = 1024; /* an initial guess for the line buffer size limit */
20+#elif defined(__NetBSD__) 20+#elif defined(__NetBSD__)
21+ int neon_present; 21+ int neon_present;
22+ size_t len; 22+ size_t len;
23 #endif 23 #endif
24  24
25 if (simd_support != ~0U) 25 if (simd_support != ~0U)
26@@ -127,6 +134,10 @@ init_simd(void) 26@@ -125,6 +132,10 @@ init_simd(void)
27 if (bufsize > SOMEWHAT_SANE_PROC_CPUINFO_SIZE_LIMIT) 27 if (bufsize > SOMEWHAT_SANE_PROC_CPUINFO_SIZE_LIMIT)
28 break; 28 break;
29 } 29 }
30+#elif defined(__NetBSD__) 30+#elif defined(__NetBSD__)
31+ if (sysctlbyname("machdep.neon_present", &neon_present, &len, NULL, 0) == 0 31+ if (sysctlbyname("machdep.neon_present", &neon_present, &len, NULL, 0) == 0
32+ && neon_present != 0) 32+ && neon_present != 0)
33+ simd_support |= JSIMD_NEON; 33+ simd_support |= JSIMD_NEON;
34 #endif 34 #endif
35  35
36 #ifndef NO_GETENV 36 #ifndef NO_GETENV