Hello community, here is the log from the commit of package libjpeg-turbo for openSUSE:Factory checked in at 2018-11-18 23:21:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libjpeg-turbo (Old) and /work/SRC/openSUSE:Factory/.libjpeg-turbo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libjpeg-turbo" Sun Nov 18 23:21:04 2018 rev:43 rq:648719 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/libjpeg-turbo/libjpeg-turbo.changes 2018-10-01 09:05:31.983886810 +0200 +++ /work/SRC/openSUSE:Factory/.libjpeg-turbo.new/libjpeg-turbo.changes 2018-11-18 23:21:18.526269501 +0100 @@ -1,0 +2,13 @@ +Tue Nov 13 11:14:01 UTC 2018 - Petr Gajdos <[email protected]> + +- update to version 2.0.1: + * jsimd_quantize_float_dspr2() and jsimd_convsamp_float_dspr2() + functions in the MIPS DSPr2 SIMD extensions are now disabled + at compile time if the soft float ABI is enabled + * Fixed a regression in the SIMD feature detection code, + introduced by the AVX2 SIMD extensions + * Fixed out-of-bounds read in cjpeg that occurred when attempting + to compress a specially-crafted malformed color-index + (8-bit-per-sample) Targa file + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/libjpeg-turbo/libjpeg62-turbo.changes 2018-10-01 09:05:32.187886634 +0200 +++ /work/SRC/openSUSE:Factory/.libjpeg-turbo.new/libjpeg62-turbo.changes 2018-11-18 23:21:20.902266915 +0100 @@ -1,0 +2,13 @@ +Tue Nov 13 11:10:50 UTC 2018 - Petr Gajdos <[email protected]> + +- update to version 2.0.1: + * jsimd_quantize_float_dspr2() and jsimd_convsamp_float_dspr2() + functions in the MIPS DSPr2 SIMD extensions are now disabled + at compile time if the soft float ABI is enabled + * Fixed a regression in the SIMD feature detection code, + introduced by the AVX2 SIMD extensions + * Fixed out-of-bounds read in cjpeg that occurred when attempting + to compress a specially-crafted malformed color-index + (8-bit-per-sample) Targa file + +------------------------------------------------------------------- Old: ---- libjpeg-turbo-2.0.0.tar.gz New: ---- libjpeg-turbo-2.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libjpeg-turbo.spec ++++++ --- /var/tmp/diff_new_pack.RoEsiS/_old 2018-11-18 23:21:23.246264363 +0100 +++ /var/tmp/diff_new_pack.RoEsiS/_new 2018-11-18 23:21:23.282264324 +0100 @@ -12,11 +12,11 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # -%define srcver 2.0.0 +%define srcver 2.0.1 %define major 8 %define minor 2 %define micro 2 ++++++ libjpeg62-turbo.spec ++++++ --- /var/tmp/diff_new_pack.RoEsiS/_old 2018-11-18 23:21:23.614263963 +0100 +++ /var/tmp/diff_new_pack.RoEsiS/_new 2018-11-18 23:21:23.642263932 +0100 @@ -12,14 +12,14 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define major 62 %define minor 3 %define micro 0 -%define srcver 2.0.0 +%define srcver 2.0.1 %define libver %{major}.%{minor}.%{micro} Name: libjpeg62-turbo Version: %{srcver} ++++++ libjpeg-turbo-2.0.0.tar.gz -> libjpeg-turbo-2.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/BUILDING.md new/libjpeg-turbo-2.0.1/BUILDING.md --- old/libjpeg-turbo-2.0.0/BUILDING.md 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/BUILDING.md 2018-11-12 20:20:28.000000000 +0100 @@ -48,8 +48,9 @@ install the Java Developer Package, which can be downloaded from <http://developer.apple.com/downloads> (Apple ID required.) For other systems, you can obtain the Oracle Java Development Kit from - <http://www.java.com>. + <http://www.oracle.com/technetwork/java/javase/downloads>. + * If using JDK 11 or later, CMake 3.10.x or later must also be used. ### Windows @@ -83,7 +84,10 @@ appropriate compiler paths automatically set. - If building the TurboJPEG Java wrapper, JDK 1.5 or later is required. This - can be downloaded from <http://www.java.com>. + can be downloaded from + <http://www.oracle.com/technetwork/java/javase/downloads>. + + * If using JDK 11 or later, CMake 3.10.x or later must also be used. Out-of-Tree Builds diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/CMakeLists.txt new/libjpeg-turbo-2.0.1/CMakeLists.txt --- old/libjpeg-turbo-2.0.0/CMakeLists.txt 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/CMakeLists.txt 2018-11-12 20:20:28.000000000 +0100 @@ -5,7 +5,7 @@ endif() project(libjpeg-turbo C) -set(VERSION 2.0.0) +set(VERSION 2.0.1) string(REPLACE "." ";" VERSION_TRIPLET ${VERSION}) list(GET VERSION_TRIPLET 0 VERSION_MAJOR) list(GET VERSION_TRIPLET 1 VERSION_MINOR) @@ -109,7 +109,9 @@ include(cmakescripts/GNUInstallDirs.cmake) -set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) +if(ENABLE_SHARED) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) +endif() macro(report_directory var) if(CMAKE_INSTALL_${var} STREQUAL CMAKE_INSTALL_FULL_${var}) @@ -1373,10 +1375,10 @@ ${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1 ${CMAKE_CURRENT_SOURCE_DIR}/wrjpgcom.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc - ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endif() +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc + ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/ChangeLog.md new/libjpeg-turbo-2.0.1/ChangeLog.md --- old/libjpeg-turbo-2.0.0/ChangeLog.md 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/ChangeLog.md 2018-11-12 20:20:28.000000000 +0100 @@ -1,3 +1,33 @@ +2.0.1 +===== + +### Significant changes relative to 2.0.0: + +1. Fixed a regression introduced with the new CMake-based Un*x build system, +whereby jconfig.h could cause compiler warnings of the form +`"HAVE_*_H" redefined` if it was included by downstream Autotools-based +projects that used `AC_CHECK_HEADERS()` to check for the existence of locale.h, +stddef.h, or stdlib.h. + +2. The `jsimd_quantize_float_dspr2()` and `jsimd_convsamp_float_dspr2()` +functions in the MIPS DSPr2 SIMD extensions are now disabled at compile time +if the soft float ABI is enabled. Those functions use instructions that are +incompatible with the soft float ABI. + +3. Fixed a regression in the SIMD feature detection code, introduced by +the AVX2 SIMD extensions (2.0 beta1[1]), that caused libjpeg-turbo to crash on +Windows 7 if Service Pack 1 was not installed. + +4. Fixed out-of-bounds read in cjpeg that occurred when attempting to compress +a specially-crafted malformed color-index (8-bit-per-sample) Targa file in +which some of the samples (color indices) exceeded the bounds of the Targa +file's color table. + +5. Fixed an issue whereby installing a fully static build of libjpeg-turbo +(a build in which `CFLAGS` contains `-static` and `ENABLE_SHARED` is `0`) would +fail with "No valid ELF RPATH or RUNPATH entry exists in the file." + + 2.0.0 ===== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/java/CMakeLists.txt new/libjpeg-turbo-2.0.1/java/CMakeLists.txt --- old/libjpeg-turbo-2.0.0/java/CMakeLists.txt 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/java/CMakeLists.txt 2018-11-12 20:20:28.000000000 +0100 @@ -58,11 +58,21 @@ add_custom_target(javadoc COMMAND javadoc -notimestamp -d ${CMAKE_CURRENT_SOURCE_DIR}/doc -sourcepath ${CMAKE_CURRENT_SOURCE_DIR} org.libjpegturbo.turbojpeg) set(JAVACLASSPATH ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/turbojpeg-java.dir) -add_custom_target(javah - COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJ - COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJCompressor - COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJDecompressor - COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJTransformer) +if(Java_VERSION_MAJOR GREATER 9) + add_custom_target(javah + COMMAND javac -h ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} + -d ${CMAKE_CURRENT_BINARY_DIR}/__unused + ${CMAKE_CURRENT_SOURCE_DIR}/org/libjpegturbo/turbojpeg/TJ.java + ${CMAKE_CURRENT_SOURCE_DIR}/org/libjpegturbo/turbojpeg/TJCompressor.java + ${CMAKE_CURRENT_SOURCE_DIR}/org/libjpegturbo/turbojpeg/TJDecompressor.java + ${CMAKE_CURRENT_SOURCE_DIR}/org/libjpegturbo/turbojpeg/TJTransformer.java) +else() + add_custom_target(javah + COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJ + COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJCompressor + COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJDecompressor + COMMAND javah -d ${CMAKE_CURRENT_SOURCE_DIR} -classpath ${JAVACLASSPATH} org.libjpegturbo.turbojpeg.TJTransformer) +endif() if(NOT DEFINED CMAKE_INSTALL_DEFAULT_JAVADIR) set(CMAKE_INSTALL_DEFAULT_JAVADIR "<CMAKE_INSTALL_DATAROOTDIR>/java") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/jconfig.h.in new/libjpeg-turbo-2.0.1/jconfig.h.in --- old/libjpeg-turbo-2.0.0/jconfig.h.in 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/jconfig.h.in 2018-11-12 20:20:28.000000000 +0100 @@ -10,16 +10,16 @@ #define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@ /* Support arithmetic encoding */ -#cmakedefine C_ARITH_CODING_SUPPORTED +#cmakedefine C_ARITH_CODING_SUPPORTED 1 /* Support arithmetic decoding */ -#cmakedefine D_ARITH_CODING_SUPPORTED +#cmakedefine D_ARITH_CODING_SUPPORTED 1 /* Support in-memory source/destination managers */ -#cmakedefine MEM_SRCDST_SUPPORTED +#cmakedefine MEM_SRCDST_SUPPORTED 1 /* Use accelerated SIMD routines. */ -#cmakedefine WITH_SIMD +#cmakedefine WITH_SIMD 1 /* * Define BITS_IN_JSAMPLE as either @@ -33,37 +33,37 @@ #define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */ /* Define to 1 if you have the <locale.h> header file. */ -#cmakedefine HAVE_LOCALE_H +#cmakedefine HAVE_LOCALE_H 1 /* Define to 1 if you have the <stddef.h> header file. */ -#cmakedefine HAVE_STDDEF_H +#cmakedefine HAVE_STDDEF_H 1 /* Define to 1 if you have the <stdlib.h> header file. */ -#cmakedefine HAVE_STDLIB_H +#cmakedefine HAVE_STDLIB_H 1 /* Define if you need to include <sys/types.h> to get size_t. */ -#cmakedefine NEED_SYS_TYPES_H +#cmakedefine NEED_SYS_TYPES_H 1 /* Define if you have BSD-like bzero and bcopy in <strings.h> rather than memset/memcpy in <string.h>. */ -#cmakedefine NEED_BSD_STRINGS +#cmakedefine NEED_BSD_STRINGS 1 /* Define to 1 if the system has the type `unsigned char'. */ -#cmakedefine HAVE_UNSIGNED_CHAR +#cmakedefine HAVE_UNSIGNED_CHAR 1 /* Define to 1 if the system has the type `unsigned short'. */ -#cmakedefine HAVE_UNSIGNED_SHORT +#cmakedefine HAVE_UNSIGNED_SHORT 1 /* Compiler does not support pointers to undefined structures. */ -#cmakedefine INCOMPLETE_TYPES_BROKEN +#cmakedefine INCOMPLETE_TYPES_BROKEN 1 /* Define if your (broken) compiler shifts signed values as if they were unsigned. */ -#cmakedefine RIGHT_SHIFT_IS_UNSIGNED +#cmakedefine RIGHT_SHIFT_IS_UNSIGNED 1 /* Define to 1 if type `char' is unsigned and you are not using gcc. */ #ifndef __CHAR_UNSIGNED__ - #cmakedefine __CHAR_UNSIGNED__ + #cmakedefine __CHAR_UNSIGNED__ 1 #endif /* Define to empty if `const' does not conform to ANSI C. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/jdcolor.c new/libjpeg-turbo-2.0.1/jdcolor.c --- old/libjpeg-turbo-2.0.0/jdcolor.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/jdcolor.c 2018-11-12 20:20:28.000000000 +0100 @@ -592,7 +592,7 @@ /* Declarations for ordered dithering * * We use a 4x4 ordered dither array packed into 32 bits. This array is - * sufficent for dithering RGB888 to RGB565. + * sufficient for dithering RGB888 to RGB565. */ #define DITHER_MASK 0x3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/jdmerge.c new/libjpeg-turbo-2.0.1/jdmerge.c --- old/libjpeg-turbo-2.0.0/jdmerge.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/jdmerge.c 2018-11-12 20:20:28.000000000 +0100 @@ -448,7 +448,7 @@ /* Declarations for ordered dithering * * We use a 4x4 ordered dither array packed into 32 bits. This array is - * sufficent for dithering RGB888 to RGB565. + * sufficient for dithering RGB888 to RGB565. */ #define DITHER_MASK 0x3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/jquant1.c new/libjpeg-turbo-2.0.1/jquant1.c --- old/libjpeg-turbo-2.0.0/jquant1.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/jquant1.c 2018-11-12 20:20:28.000000000 +0100 @@ -154,7 +154,7 @@ */ boolean is_padded; /* is the colorindex padded for odither? */ - int Ncolors[MAX_Q_COMPS]; /* # of values alloced to each component */ + int Ncolors[MAX_Q_COMPS]; /* # of values allocated to each component */ /* Variables for ordered dithering */ int row_index; /* cur row's vertical index in dither matrix */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/rdtarga.c new/libjpeg-turbo-2.0.1/rdtarga.c --- old/libjpeg-turbo-2.0.0/rdtarga.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/rdtarga.c 2018-11-12 20:20:28.000000000 +0100 @@ -3,8 +3,9 @@ * * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-1996, Thomas G. Lane. - * It was modified by The libjpeg-turbo Project to include only code relevant - * to libjpeg-turbo. + * Modified 2017 by Guido Vollbeding. + * libjpeg-turbo Modifications: + * Copyright (C) 2018, D. R. Commander. * For conditions of distribution and use, see the accompanying README.ijg * file. * @@ -66,6 +67,7 @@ U_CHAR tga_pixel[4]; int pixel_size; /* Bytes per Targa pixel (1 to 4) */ + int cmap_length; /* colormap length */ /* State info for reading RLE-coded pixels; both counts must be init to 0 */ int block_count; /* # of pixels remaining in RLE block */ @@ -196,11 +198,14 @@ register JSAMPROW ptr; register JDIMENSION col; register JSAMPARRAY colormap = source->colormap; + int cmaplen = source->cmap_length; ptr = source->pub.buffer[0]; for (col = cinfo->image_width; col > 0; col--) { (*source->read_pixel) (source); /* Load next pixel into tga_pixel */ t = UCH(source->tga_pixel[0]); + if (t >= cmaplen) + ERREXIT(cinfo, JERR_TGA_BADPARMS); *ptr++ = colormap[0][t]; *ptr++ = colormap[1][t]; *ptr++ = colormap[2][t]; @@ -452,12 +457,14 @@ /* Allocate space to store the colormap */ source->colormap = (*cinfo->mem->alloc_sarray) ((j_common_ptr)cinfo, JPOOL_IMAGE, (JDIMENSION)maplen, (JDIMENSION)3); + source->cmap_length = (int)maplen; /* and read it from the file */ read_colormap(source, (int)maplen, UCH(targaheader[7])); } else { if (cmaptype) /* but you promised a cmap! */ ERREXIT(cinfo, JERR_TGA_BADPARMS); source->colormap = NULL; + source->cmap_length = 0; } cinfo->input_components = components; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/release/installer.nsi.in new/libjpeg-turbo-2.0.1/release/installer.nsi.in --- old/libjpeg-turbo-2.0.0/release/installer.nsi.in 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/release/installer.nsi.in 2018-11-12 20:20:28.000000000 +0100 @@ -62,15 +62,15 @@ File "@CMAKE_CURRENT_BINARY_DIR@\libturbojpeg.a" File "@CMAKE_CURRENT_BINARY_DIR@\libjpeg.dll.a" File "@CMAKE_CURRENT_BINARY_DIR@\libjpeg.a" - SetOutPath $INSTDIR\lib\pkgconfig - File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libjpeg.pc" - File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libturbojpeg.pc" !else File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg.lib" File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}turbojpeg-static.lib" File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpeg.lib" File "@CMAKE_CURRENT_BINARY_DIR@\${BUILDDIR}jpeg-static.lib" !endif + SetOutPath $INSTDIR\lib\pkgconfig + File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libjpeg.pc" + File "@CMAKE_CURRENT_BINARY_DIR@\pkgscripts\libturbojpeg.pc" !ifdef JAVA SetOutPath $INSTDIR\classes File "@CMAKE_CURRENT_BINARY_DIR@\java\turbojpeg.jar" @@ -130,8 +130,6 @@ Delete $INSTDIR\lib\libturbojpeg.a Delete $INSTDIR\lib\libjpeg.dll.a Delete $INSTDIR\lib\libjpeg.a - Delete $INSTDIR\lib\pkgconfig\libjpeg.pc - Delete $INSTDIR\lib\pkgconfig\libturbojpeg.pc !else Delete $INSTDIR\bin\jpeg@[email protected] Delete $INSTDIR\bin\turbojpeg.dll @@ -141,6 +139,8 @@ Delete $INSTDIR\lib\turbojpeg.lib Delete $INSTDIR\lib\turbojpeg-static.lib !endif + Delete $INSTDIR\lib\pkgconfig\libjpeg.pc + Delete $INSTDIR\lib\pkgconfig\libturbojpeg.pc !ifdef JAVA Delete $INSTDIR\classes\turbojpeg.jar !endif @@ -175,9 +175,7 @@ !endif RMDir "$INSTDIR\include" -!ifdef GCC RMDir "$INSTDIR\lib\pkgconfig" -!endif RMDir "$INSTDIR\lib" RMDir "$INSTDIR\doc" !ifdef GCC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/CMakeLists.txt new/libjpeg-turbo-2.0.1/simd/CMakeLists.txt --- old/libjpeg-turbo-2.0.0/simd/CMakeLists.txt 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/CMakeLists.txt 2018-11-12 20:20:28.000000000 +0100 @@ -262,7 +262,7 @@ # MIPS (GAS) ############################################################################### -elseif(CPU_TYPE STREQUAL "mips") +elseif(CPU_TYPE STREQUAL "mips" OR CPU_TYPE STREQUAL "mipsel") enable_language(ASM) @@ -293,7 +293,7 @@ return() endif() -add_library(simd OBJECT ${CPU_TYPE}/jsimd_dspr2.S ${CPU_TYPE}/jsimd.c) +add_library(simd OBJECT mips/jsimd_dspr2.S mips/jsimd.c) if(CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED) set_target_properties(simd PROPERTIES POSITION_INDEPENDENT_CODE 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/arm64/jsimd_neon.S new/libjpeg-turbo-2.0.1/simd/arm64/jsimd_neon.S --- old/libjpeg-turbo-2.0.0/simd/arm64/jsimd_neon.S 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/arm64/jsimd_neon.S 2018-11-12 20:20:28.000000000 +0100 @@ -63,7 +63,7 @@ trn2 \x1\literal, \xi\literal, \x1\literal .endm -/* Transpose elements of 2 differnet registers */ +/* Transpose elements of 2 different registers */ .macro transpose x0, x1, xi, xilen, literal mov \xi\xilen, \x0\xilen trn1 \x0\literal, \x0\literal, \x1\literal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/i386/jsimdcpu.asm new/libjpeg-turbo-2.0.1/simd/i386/jsimdcpu.asm --- old/libjpeg-turbo-2.0.0/simd/i386/jsimdcpu.asm 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/i386/jsimdcpu.asm 2018-11-12 20:20:28.000000000 +0100 @@ -94,9 +94,10 @@ xor ecx, ecx xgetbv - test eax, 6 ; O/S does not manage XMM/YMM state + and eax, 6 + cmp eax, 6 ; O/S does not manage XMM/YMM state ; using XSAVE - jz short .no_avx2 + jnz short .no_avx2 or edi, JSIMD_AVX2 .no_avx2: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/mips/jsimd.c new/libjpeg-turbo-2.0.1/simd/mips/jsimd.c --- old/libjpeg-turbo-2.0.0/simd/mips/jsimd.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/mips/jsimd.c 2018-11-12 20:20:28.000000000 +0100 @@ -692,8 +692,10 @@ if (sizeof(ISLOW_MULT_TYPE) != 2) return 0; +#ifndef __mips_soft_float if (simd_support & JSIMD_DSPR2) return 1; +#endif return 0; } @@ -709,7 +711,9 @@ jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace) { +#ifndef __mips_soft_float jsimd_convsamp_float_dspr2(sample_data, start_col, workspace); +#endif } GLOBAL(int) @@ -805,8 +809,10 @@ if (sizeof(ISLOW_MULT_TYPE) != 2) return 0; +#ifndef __mips_soft_float if (simd_support & JSIMD_DSPR2) return 1; +#endif return 0; } @@ -821,7 +827,9 @@ jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace) { +#ifndef __mips_soft_float jsimd_quantize_float_dspr2(coef_block, divisors, workspace); +#endif } GLOBAL(int) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/mips/jsimd_dspr2.S new/libjpeg-turbo-2.0.1/simd/mips/jsimd_dspr2.S --- old/libjpeg-turbo-2.0.0/simd/mips/jsimd_dspr2.S 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/mips/jsimd_dspr2.S 2018-11-12 20:20:28.000000000 +0100 @@ -2810,6 +2810,8 @@ END(jsimd_quantize_dspr2) +#ifndef __mips_soft_float + /*****************************************************************************/ LEAF_DSPR2(jsimd_quantize_float_dspr2) /* @@ -2890,6 +2892,8 @@ END(jsimd_quantize_float_dspr2) +#endif + /*****************************************************************************/ LEAF_DSPR2(jsimd_idct_2x2_dspr2) @@ -4110,6 +4114,8 @@ END(jsimd_convsamp_dspr2) +#ifndef __mips_soft_float + /*****************************************************************************/ LEAF_DSPR2(jsimd_convsamp_float_dspr2) /* @@ -4468,4 +4474,6 @@ END(jsimd_convsamp_float_dspr2) +#endif + /*****************************************************************************/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/simd/x86_64/jsimdcpu.asm new/libjpeg-turbo-2.0.1/simd/x86_64/jsimdcpu.asm --- old/libjpeg-turbo-2.0.0/simd/x86_64/jsimdcpu.asm 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/simd/x86_64/jsimdcpu.asm 2018-11-12 20:20:28.000000000 +0100 @@ -60,9 +60,10 @@ xor rcx, rcx xgetbv - test rax, 6 ; O/S does not manage XMM/YMM state + and rax, 6 + cmp rax, 6 ; O/S does not manage XMM/YMM state ; using XSAVE - jz short .return + jnz short .return or rdi, JSIMD_AVX2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/tjbench.c new/libjpeg-turbo-2.0.1/tjbench.c --- old/libjpeg-turbo-2.0.0/tjbench.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/tjbench.c 2018-11-12 20:20:28.000000000 +0100 @@ -60,8 +60,8 @@ if (strncmp(tjErrorStr, _tjErrorStr, JMSG_LENGTH_MAX) || \ strncmp(tjErrorMsg, m, JMSG_LENGTH_MAX) || \ tjErrorCode != _tjErrorCode || tjErrorLine != __LINE__) { \ - strncpy(tjErrorStr, _tjErrorStr, JMSG_LENGTH_MAX); \ - strncpy(tjErrorMsg, m, JMSG_LENGTH_MAX); \ + strncpy(tjErrorStr, _tjErrorStr, JMSG_LENGTH_MAX - 1); \ + strncpy(tjErrorMsg, m, JMSG_LENGTH_MAX - 1); \ tjErrorCode = _tjErrorCode; \ tjErrorLine = __LINE__; \ printf("WARNING in line %d while %s:\n%s\n", __LINE__, m, _tjErrorStr); \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/turbojpeg-jni.c new/libjpeg-turbo-2.0.1/turbojpeg-jni.c --- old/libjpeg-turbo-2.0.0/turbojpeg-jni.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/turbojpeg-jni.c 2018-11-12 20:20:28.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (C)2011-2017 D. R. Commander. All Rights Reserved. + * Copyright (C)2011-2018 D. R. Commander. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -235,11 +235,11 @@ if ((*env)->GetArrayLength(env, dst) < (jsize)jpegSize) _throwarg("Destination buffer is not large enough"); + if (ProcessSystemProperties(env) < 0) goto bailout; + bailif0(srcBuf = (*env)->GetPrimitiveArrayCritical(env, src, 0)); bailif0(jpegBuf = (*env)->GetPrimitiveArrayCritical(env, dst, 0)); - if (ProcessSystemProperties(env) < 0) goto bailout; - if (tjCompress2(handle, &srcBuf[y * actualPitch + x * tjPixelSize[pf]], width, pitch, height, pf, &jpegBuf, &jpegSize, jpegSubsamp, jpegQual, flags | TJFLAG_NOREALLOC) == -1) @@ -341,6 +341,8 @@ if ((*env)->GetArrayLength(env, dst) < (jsize)jpegSize) _throwarg("Destination buffer is not large enough"); + if (ProcessSystemProperties(env) < 0) goto bailout; + bailif0(srcOffsets = (*env)->GetPrimitiveArrayCritical(env, jSrcOffsets, 0)); bailif0(srcStrides = (*env)->GetPrimitiveArrayCritical(env, jSrcStrides, 0)); for (i = 0; i < nc; i++) { @@ -365,8 +367,6 @@ } bailif0(jpegBuf = (*env)->GetPrimitiveArrayCritical(env, dst, 0)); - if (ProcessSystemProperties(env) < 0) goto bailout; - if (tjCompressFromYUVPlanes(handle, srcPlanes, width, srcStrides, height, subsamp, &jpegBuf, &jpegSize, jpegQual, flags | TJFLAG_NOREALLOC) == -1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libjpeg-turbo-2.0.0/wrjpgcom.c new/libjpeg-turbo-2.0.1/wrjpgcom.c --- old/libjpeg-turbo-2.0.0/wrjpgcom.c 2018-07-27 18:47:48.000000000 +0200 +++ new/libjpeg-turbo-2.0.1/wrjpgcom.c 2018-11-12 20:20:28.000000000 +0100 @@ -580,7 +580,7 @@ } } /* Duplicate the remainder of the source file. - * Note that any COM markers occuring after SOF will not be touched. + * Note that any COM markers occurring after SOF will not be touched. */ write_marker(marker); copy_rest_of_file();
