Update bundled libjpeg-turbo to version 2.0.3
[ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.3 Squashed cherry pick of: e14e8427faae670c662efede723edc2db4c875cb 97e78b0e1f0396cdee0319bafaf8ce1d6eb74f64 f3dbe98dca58731ff98dff3cc9111a8252f8e1e6 Change-Id: I9f9b8b3a913fd5843759c0610f43b22c5bee67dc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
parent
c6d07c5418
commit
7bbbfc38ce
29
src/3rdparty/libjpeg/LICENSE
vendored
29
src/3rdparty/libjpeg/LICENSE
vendored
@ -14,7 +14,7 @@ libjpeg-turbo is covered by three compatible BSD-style open source licenses:
|
|||||||
This license covers the TurboJPEG API library and associated programs, as
|
This license covers the TurboJPEG API library and associated programs, as
|
||||||
well as the build system.
|
well as the build system.
|
||||||
|
|
||||||
- The zlib License, which is listed below
|
- The [zlib License](https://opensource.org/licenses/Zlib)
|
||||||
|
|
||||||
This license is a subset of the other two, and it covers the libjpeg-turbo
|
This license is a subset of the other two, and it covers the libjpeg-turbo
|
||||||
SIMD extensions.
|
SIMD extensions.
|
||||||
@ -66,7 +66,7 @@ best of our understanding.
|
|||||||
|
|
||||||
2. If your binary distribution includes or uses the TurboJPEG API, then
|
2. If your binary distribution includes or uses the TurboJPEG API, then
|
||||||
your product documentation must include the text of the Modified BSD
|
your product documentation must include the text of the Modified BSD
|
||||||
License.
|
License (see below.)
|
||||||
|
|
||||||
**Origin**
|
**Origin**
|
||||||
- Clause 2 of the Modified BSD License
|
- Clause 2 of the Modified BSD License
|
||||||
@ -91,7 +91,8 @@ best of our understanding.
|
|||||||
The Modified (3-clause) BSD License
|
The Modified (3-clause) BSD License
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
Copyright (C)\<YEAR\> \<AUTHOR\>. All Rights Reserved.
|
Copyright (C)2009-2019 D. R. Commander. All Rights Reserved.
|
||||||
|
Copyright (C)2015 Viktor Szathmáry. All Rights Reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions are met:
|
modification, are permitted provided that the following conditions are met:
|
||||||
@ -118,28 +119,6 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|||||||
POSSIBILITY OF SUCH DAMAGE.
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
The zlib License
|
|
||||||
================
|
|
||||||
|
|
||||||
Copyright (C) \<YEAR\>, \<AUTHOR\>.
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
|
|
||||||
|
|
||||||
Why Three Licenses?
|
Why Three Licenses?
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
18
src/3rdparty/libjpeg/jconfig.h
vendored
18
src/3rdparty/libjpeg/jconfig.h
vendored
@ -2,22 +2,22 @@
|
|||||||
|
|
||||||
#define JPEG_LIB_VERSION 80
|
#define JPEG_LIB_VERSION 80
|
||||||
|
|
||||||
#define LIBJPEG_TURBO_VERSION 2.0.0
|
#define LIBJPEG_TURBO_VERSION 2.0.3
|
||||||
|
|
||||||
#define LIBJPEG_TURBO_VERSION_NUMBER 2000000
|
#define LIBJPEG_TURBO_VERSION_NUMBER 2000002
|
||||||
|
|
||||||
#define C_ARITH_CODING_SUPPORTED
|
#define C_ARITH_CODING_SUPPORTED 1
|
||||||
|
|
||||||
#define D_ARITH_CODING_SUPPORTED
|
#define D_ARITH_CODING_SUPPORTED 1
|
||||||
|
|
||||||
#define MEM_SRCDST_SUPPORTED
|
#define MEM_SRCDST_SUPPORTED 1
|
||||||
|
|
||||||
#define BITS_IN_JSAMPLE 8
|
#define BITS_IN_JSAMPLE 8
|
||||||
|
|
||||||
#define HAVE_STDDEF_H
|
#define HAVE_STDDEF_H 1
|
||||||
|
|
||||||
#define HAVE_STDLIB_H
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
#define HAVE_UNSIGNED_CHAR
|
#define HAVE_UNSIGNED_CHAR 1
|
||||||
|
|
||||||
#define HAVE_UNSIGNED_SHORT
|
#define HAVE_UNSIGNED_SHORT 1
|
||||||
|
2
src/3rdparty/libjpeg/jconfigint.h
vendored
2
src/3rdparty/libjpeg/jconfigint.h
vendored
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#define PACKAGE_NAME "libjpeg-turbo"
|
#define PACKAGE_NAME "libjpeg-turbo"
|
||||||
|
|
||||||
#define VERSION "2.0.0"
|
#define VERSION "2.0.3"
|
||||||
|
|
||||||
#if SIZE_MAX == 0xffffffff
|
#if SIZE_MAX == 0xffffffff
|
||||||
#define SIZEOF_SIZE_T 4
|
#define SIZEOF_SIZE_T 4
|
||||||
|
4
src/3rdparty/libjpeg/qt_attribution.json
vendored
4
src/3rdparty/libjpeg/qt_attribution.json
vendored
@ -6,11 +6,11 @@
|
|||||||
|
|
||||||
"Description": "The Independent JPEG Group's JPEG software",
|
"Description": "The Independent JPEG Group's JPEG software",
|
||||||
"Homepage": "http://libjpeg-turbo.virtualgl.org/",
|
"Homepage": "http://libjpeg-turbo.virtualgl.org/",
|
||||||
"Version": "2.0.0",
|
"Version": "2.0.3",
|
||||||
"License": "Independent JPEG Group License",
|
"License": "Independent JPEG Group License",
|
||||||
"LicenseId": "IJG",
|
"LicenseId": "IJG",
|
||||||
"LicenseFile": "LICENSE",
|
"LicenseFile": "LICENSE",
|
||||||
"Copyright": "Copyright (C) 2009-2018 D. R. Commander
|
"Copyright": "Copyright (C) 2009-2019 D. R. Commander
|
||||||
Copyright (C) 2011-2016 Siarhei Siamashka
|
Copyright (C) 2011-2016 Siarhei Siamashka
|
||||||
Copyright (C) 2015-2016, 2018 Matthieu Darbois
|
Copyright (C) 2015-2016, 2018 Matthieu Darbois
|
||||||
Copyright (C) 2015 Intel Corporation
|
Copyright (C) 2015 Intel Corporation
|
||||||
|
108
src/3rdparty/libjpeg/src/ChangeLog.md
vendored
108
src/3rdparty/libjpeg/src/ChangeLog.md
vendored
@ -1,3 +1,111 @@
|
|||||||
|
2.0.3
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 2.0.2:
|
||||||
|
|
||||||
|
1. Fixed "using JNI after critical get" errors that occurred on Android
|
||||||
|
platforms when passing invalid arguments to certain methods in the TurboJPEG
|
||||||
|
Java API.
|
||||||
|
|
||||||
|
2. Fixed a regression in the SIMD feature detection code, introduced by
|
||||||
|
the AVX2 SIMD extensions (2.0 beta1[1]), that was known to cause an illegal
|
||||||
|
instruction exception, in rare cases, on CPUs that lack support for CPUID leaf
|
||||||
|
07H (or on which the maximum CPUID leaf has been limited by way of a BIOS
|
||||||
|
setting.)
|
||||||
|
|
||||||
|
3. The 4:4:0 (h1v2) fancy (smooth) chroma upsampling algorithm in the
|
||||||
|
decompressor now uses a similar bias pattern to that of the 4:2:2 (h2v1) fancy
|
||||||
|
chroma upsampling algorithm, rounding up or down the upsampled result for
|
||||||
|
alternate pixels rather than always rounding down. This ensures that,
|
||||||
|
regardless of whether a 4:2:2 JPEG image is rotated or transposed prior to
|
||||||
|
decompression (in the frequency domain) or after decompression (in the spatial
|
||||||
|
domain), the final image will be similar.
|
||||||
|
|
||||||
|
4. Fixed an integer overflow and subsequent segfault that occurred when
|
||||||
|
attempting to compress or decompress images with more than 1 billion pixels
|
||||||
|
using the TurboJPEG API.
|
||||||
|
|
||||||
|
5. Fixed a regression introduced by 2.0 beta1[15] whereby attempting to
|
||||||
|
generate a progressive JPEG image on an SSE2-capable CPU using a scan script
|
||||||
|
containing one or more scans with lengths divisible by 16 would result in an
|
||||||
|
error ("Missing Huffman code table entry") and an invalid JPEG image.
|
||||||
|
|
||||||
|
6. Fixed an issue whereby `tjDecodeYUV()` and `tjDecodeYUVPlanes()` would throw
|
||||||
|
an error ("Invalid progressive parameters") or a warning ("Inconsistent
|
||||||
|
progression sequence") if passed a TurboJPEG instance that was previously used
|
||||||
|
to decompress a progressive JPEG image.
|
||||||
|
|
||||||
|
|
||||||
|
2.0.2
|
||||||
|
=====
|
||||||
|
|
||||||
|
### Significant changes relative to 2.0.1:
|
||||||
|
|
||||||
|
1. Fixed a regression introduced by 2.0.1[5] that prevented a runtime search
|
||||||
|
path (rpath) from being embedded in the libjpeg-turbo shared libraries and
|
||||||
|
executables for macOS and iOS. This caused a fatal error of the form
|
||||||
|
"dyld: Library not loaded" when attempting to use one of the executables,
|
||||||
|
unless `DYLD_LIBRARY_PATH` was explicitly set to the location of the
|
||||||
|
libjpeg-turbo shared libraries.
|
||||||
|
|
||||||
|
2. Fixed an integer overflow and subsequent segfault (CVE-2018-20330) that
|
||||||
|
occurred when attempting to load a BMP file with more than 1 billion pixels
|
||||||
|
using the `tjLoadImage()` function.
|
||||||
|
|
||||||
|
3. Fixed a buffer overrun (CVE-2018-19664) that occurred when attempting to
|
||||||
|
decompress a specially-crafted malformed JPEG image to a 256-color BMP using
|
||||||
|
djpeg.
|
||||||
|
|
||||||
|
4. Fixed a floating point exception that occurred when attempting to
|
||||||
|
decompress a specially-crafted malformed JPEG image with a specified image
|
||||||
|
width or height of 0 using the C version of TJBench.
|
||||||
|
|
||||||
|
5. The TurboJPEG API will now decompress 4:4:4 JPEG images with 2x1, 1x2, 3x1,
|
||||||
|
or 1x3 luminance and chrominance sampling factors. This is a non-standard way
|
||||||
|
of specifying 1x subsampling (normally 4:4:4 JPEGs have 1x1 luminance and
|
||||||
|
chrominance sampling factors), but the JPEG format and the libjpeg API both
|
||||||
|
allow it.
|
||||||
|
|
||||||
|
6. Fixed a regression introduced by 2.0 beta1[7] that caused djpeg to generate
|
||||||
|
incorrect PPM images when used with the `-colors` option.
|
||||||
|
|
||||||
|
7. Fixed an issue whereby a static build of libjpeg-turbo (a build in which
|
||||||
|
`ENABLE_SHARED` is `0`) could not be installed using the Visual Studio IDE.
|
||||||
|
|
||||||
|
8. Fixed a severe performance issue in the Loongson MMI SIMD extensions that
|
||||||
|
occurred when compressing RGB images whose image rows were not 64-bit-aligned.
|
||||||
|
|
||||||
|
|
||||||
|
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
|
2.0.0
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
28
src/3rdparty/libjpeg/src/README.md
vendored
28
src/3rdparty/libjpeg/src/README.md
vendored
@ -135,12 +135,11 @@ without recompiling. libjpeg-turbo does not claim to support all of the
|
|||||||
libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all
|
libjpeg v7+ features, nor to produce identical output to libjpeg v7+ in all
|
||||||
cases (see below.)
|
cases (see below.)
|
||||||
|
|
||||||
By passing an argument of `--with-jpeg7` or `--with-jpeg8` to `configure`, or
|
By passing an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you
|
||||||
an argument of `-DWITH_JPEG7=1` or `-DWITH_JPEG8=1` to `cmake`, you can build a
|
can build a version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so
|
||||||
version of libjpeg-turbo that emulates the libjpeg v7 or v8 ABI, so that
|
that programs that are built against libjpeg v7 or v8 can be run with
|
||||||
programs that are built against libjpeg v7 or v8 can be run with libjpeg-turbo.
|
libjpeg-turbo. The following section describes which libjpeg v7+ features are
|
||||||
The following section describes which libjpeg v7+ features are supported and
|
supported and which aren't.
|
||||||
which aren't.
|
|
||||||
|
|
||||||
### Support for libjpeg v7 and v8 Features
|
### Support for libjpeg v7 and v8 Features
|
||||||
|
|
||||||
@ -247,9 +246,8 @@ don't, and it allows those functions to be provided in the "official"
|
|||||||
libjpeg-turbo binaries.
|
libjpeg-turbo binaries.
|
||||||
|
|
||||||
Those who are concerned about maintaining strict conformance with the libjpeg
|
Those who are concerned about maintaining strict conformance with the libjpeg
|
||||||
v6b or v7 API can pass an argument of `--without-mem-srcdst` to `configure` or
|
v6b or v7 API can pass an argument of `-DWITH_MEM_SRCDST=0` to `cmake` prior to
|
||||||
an argument of `-DWITH_MEM_SRCDST=0` to `cmake` prior to building
|
building libjpeg-turbo. This will restore the pre-1.3 behavior, in which
|
||||||
libjpeg-turbo. This will restore the pre-1.3 behavior, in which
|
|
||||||
`jpeg_mem_src()` and `jpeg_mem_dest()` are only included when emulating the
|
`jpeg_mem_src()` and `jpeg_mem_dest()` are only included when emulating the
|
||||||
libjpeg v8 API/ABI.
|
libjpeg v8 API/ABI.
|
||||||
|
|
||||||
@ -344,3 +342,15 @@ quality of 98-100. Thus, libjpeg-turbo must use the non-SIMD quantization
|
|||||||
function in those cases. This causes performance to drop by as much as 40%.
|
function in those cases. This causes performance to drop by as much as 40%.
|
||||||
It is therefore strongly advised that you use the slow integer forward DCT
|
It is therefore strongly advised that you use the slow integer forward DCT
|
||||||
whenever encoding images with a JPEG quality of 98 or higher.
|
whenever encoding images with a JPEG quality of 98 or higher.
|
||||||
|
|
||||||
|
|
||||||
|
Memory Debugger Pitfalls
|
||||||
|
========================
|
||||||
|
|
||||||
|
Valgrind and Memory Sanitizer (MSan) can generate false positives
|
||||||
|
(specifically, incorrect reports of uninitialized memory accesses) when used
|
||||||
|
with libjpeg-turbo's SIMD extensions. It is generally recommended that the
|
||||||
|
SIMD extensions be disabled, either by passing an argument of `-DWITH_SIMD=0`
|
||||||
|
to `cmake` when configuring the build or by setting the environment variable
|
||||||
|
`JSIMD_FORCENONE` to `1` at run time, when testing libjpeg-turbo with Valgrind,
|
||||||
|
MSan, or other memory debuggers.
|
||||||
|
6
src/3rdparty/libjpeg/src/jchuff.c
vendored
6
src/3rdparty/libjpeg/src/jchuff.c
vendored
@ -4,7 +4,7 @@
|
|||||||
* This file was part of the Independent JPEG Group's software:
|
* This file was part of the Independent JPEG Group's software:
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2009-2011, 2014-2016, 2018, D. R. Commander.
|
* Copyright (C) 2009-2011, 2014-2016, 2018-2019, D. R. Commander.
|
||||||
* Copyright (C) 2015, Matthieu Darbois.
|
* Copyright (C) 2015, Matthieu Darbois.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
@ -356,6 +356,8 @@ dump_buffer(working_state *state)
|
|||||||
put_buffer = (put_buffer << size) | code; \
|
put_buffer = (put_buffer << size) | code; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if SIZEOF_SIZE_T != 8 && !defined(_WIN64)
|
||||||
|
|
||||||
#define CHECKBUF15() { \
|
#define CHECKBUF15() { \
|
||||||
if (put_bits > 15) { \
|
if (put_bits > 15) { \
|
||||||
EMIT_BYTE() \
|
EMIT_BYTE() \
|
||||||
@ -363,6 +365,8 @@ dump_buffer(working_state *state)
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CHECKBUF31() { \
|
#define CHECKBUF31() { \
|
||||||
if (put_bits > 31) { \
|
if (put_bits > 31) { \
|
||||||
EMIT_BYTE() \
|
EMIT_BYTE() \
|
||||||
|
2
src/3rdparty/libjpeg/src/jcmaster.c
vendored
2
src/3rdparty/libjpeg/src/jcmaster.c
vendored
@ -492,8 +492,8 @@ prepare_for_pass(j_compress_ptr cinfo)
|
|||||||
*/
|
*/
|
||||||
master->pass_type = output_pass;
|
master->pass_type = output_pass;
|
||||||
master->pass_number++;
|
master->pass_number++;
|
||||||
/*FALLTHROUGH*/
|
|
||||||
#endif
|
#endif
|
||||||
|
/*FALLTHROUGH*/
|
||||||
case output_pass:
|
case output_pass:
|
||||||
/* Do a data-output pass. */
|
/* Do a data-output pass. */
|
||||||
/* We need not repeat per-scan setup if prior optimization pass did it. */
|
/* We need not repeat per-scan setup if prior optimization pass did it. */
|
||||||
|
28
src/3rdparty/libjpeg/src/jconfig.h.in
vendored
28
src/3rdparty/libjpeg/src/jconfig.h.in
vendored
@ -10,16 +10,16 @@
|
|||||||
#define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@
|
#define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@
|
||||||
|
|
||||||
/* Support arithmetic encoding */
|
/* Support arithmetic encoding */
|
||||||
#cmakedefine C_ARITH_CODING_SUPPORTED
|
#cmakedefine C_ARITH_CODING_SUPPORTED 1
|
||||||
|
|
||||||
/* Support arithmetic decoding */
|
/* Support arithmetic decoding */
|
||||||
#cmakedefine D_ARITH_CODING_SUPPORTED
|
#cmakedefine D_ARITH_CODING_SUPPORTED 1
|
||||||
|
|
||||||
/* Support in-memory source/destination managers */
|
/* Support in-memory source/destination managers */
|
||||||
#cmakedefine MEM_SRCDST_SUPPORTED
|
#cmakedefine MEM_SRCDST_SUPPORTED 1
|
||||||
|
|
||||||
/* Use accelerated SIMD routines. */
|
/* Use accelerated SIMD routines. */
|
||||||
#cmakedefine WITH_SIMD
|
#cmakedefine WITH_SIMD 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define BITS_IN_JSAMPLE as either
|
* Define BITS_IN_JSAMPLE as either
|
||||||
@ -33,37 +33,37 @@
|
|||||||
#define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */
|
#define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */
|
||||||
|
|
||||||
/* Define to 1 if you have the <locale.h> header file. */
|
/* 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. */
|
/* 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. */
|
/* 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. */
|
/* 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
|
/* Define if you have BSD-like bzero and bcopy in <strings.h> rather than
|
||||||
memset/memcpy in <string.h>. */
|
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'. */
|
/* 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'. */
|
/* 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. */
|
/* 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
|
/* Define if your (broken) compiler shifts signed values as if they were
|
||||||
unsigned. */
|
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. */
|
/* Define to 1 if type `char' is unsigned and you are not using gcc. */
|
||||||
#ifndef __CHAR_UNSIGNED__
|
#ifndef __CHAR_UNSIGNED__
|
||||||
#cmakedefine __CHAR_UNSIGNED__
|
#cmakedefine __CHAR_UNSIGNED__ 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define to empty if `const' does not conform to ANSI C. */
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
2
src/3rdparty/libjpeg/src/jdcolor.c
vendored
2
src/3rdparty/libjpeg/src/jdcolor.c
vendored
@ -592,7 +592,7 @@ ycck_cmyk_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
|
|||||||
/* Declarations for ordered dithering
|
/* Declarations for ordered dithering
|
||||||
*
|
*
|
||||||
* We use a 4x4 ordered dither array packed into 32 bits. This array is
|
* 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
|
#define DITHER_MASK 0x3
|
||||||
|
10
src/3rdparty/libjpeg/src/jdhuff.c
vendored
10
src/3rdparty/libjpeg/src/jdhuff.c
vendored
@ -4,7 +4,7 @@
|
|||||||
* This file was part of the Independent JPEG Group's software:
|
* This file was part of the Independent JPEG Group's software:
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2009-2011, 2016, 2018, D. R. Commander.
|
* Copyright (C) 2009-2011, 2016, 2018-2019, D. R. Commander.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
*
|
*
|
||||||
@ -589,7 +589,11 @@ decode_mcu_slow(j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
if (entropy->dc_needed[blkn]) {
|
if (entropy->dc_needed[blkn]) {
|
||||||
/* Convert DC difference to actual value, update last_dc_val */
|
/* Convert DC difference to actual value, update last_dc_val */
|
||||||
int ci = cinfo->MCU_membership[blkn];
|
int ci = cinfo->MCU_membership[blkn];
|
||||||
s += state.last_dc_val[ci];
|
/* This is really just
|
||||||
|
* s += state.last_dc_val[ci];
|
||||||
|
* It is written this way in order to shut up UBSan.
|
||||||
|
*/
|
||||||
|
s = (int)((unsigned int)s + (unsigned int)state.last_dc_val[ci]);
|
||||||
state.last_dc_val[ci] = s;
|
state.last_dc_val[ci] = s;
|
||||||
if (block) {
|
if (block) {
|
||||||
/* Output the DC coefficient (assumes jpeg_natural_order[0] = 0) */
|
/* Output the DC coefficient (assumes jpeg_natural_order[0] = 0) */
|
||||||
@ -684,7 +688,7 @@ decode_mcu_fast(j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
|
|
||||||
if (entropy->dc_needed[blkn]) {
|
if (entropy->dc_needed[blkn]) {
|
||||||
int ci = cinfo->MCU_membership[blkn];
|
int ci = cinfo->MCU_membership[blkn];
|
||||||
s += state.last_dc_val[ci];
|
s = (int)((unsigned int)s + (unsigned int)state.last_dc_val[ci]);
|
||||||
state.last_dc_val[ci] = s;
|
state.last_dc_val[ci] = s;
|
||||||
if (block)
|
if (block)
|
||||||
(*block)[0] = (JCOEF)s;
|
(*block)[0] = (JCOEF)s;
|
||||||
|
4
src/3rdparty/libjpeg/src/jdmerge.c
vendored
4
src/3rdparty/libjpeg/src/jdmerge.c
vendored
@ -429,8 +429,6 @@ h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
|
|||||||
#define PACK_TWO_PIXELS_LE(l, r) ((r << 16) | l)
|
#define PACK_TWO_PIXELS_LE(l, r) ((r << 16) | l)
|
||||||
#define PACK_TWO_PIXELS_BE(l, r) ((l << 16) | r)
|
#define PACK_TWO_PIXELS_BE(l, r) ((l << 16) | r)
|
||||||
|
|
||||||
#define PACK_NEED_ALIGNMENT(ptr) (((size_t)(ptr)) & 3)
|
|
||||||
|
|
||||||
#define WRITE_TWO_PIXELS_LE(addr, pixels) { \
|
#define WRITE_TWO_PIXELS_LE(addr, pixels) { \
|
||||||
((INT16 *)(addr))[0] = (INT16)(pixels); \
|
((INT16 *)(addr))[0] = (INT16)(pixels); \
|
||||||
((INT16 *)(addr))[1] = (INT16)((pixels) >> 16); \
|
((INT16 *)(addr))[1] = (INT16)((pixels) >> 16); \
|
||||||
@ -448,7 +446,7 @@ h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
|
|||||||
/* Declarations for ordered dithering
|
/* Declarations for ordered dithering
|
||||||
*
|
*
|
||||||
* We use a 4x4 ordered dither array packed into 32 bits. This array is
|
* 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
|
#define DITHER_MASK 0x3
|
||||||
|
14
src/3rdparty/libjpeg/src/jdsample.c
vendored
14
src/3rdparty/libjpeg/src/jdsample.c
vendored
@ -8,6 +8,7 @@
|
|||||||
* Copyright (C) 2010, 2015-2016, D. R. Commander.
|
* Copyright (C) 2010, 2015-2016, D. R. Commander.
|
||||||
* Copyright (C) 2014, MIPS Technologies, Inc., California.
|
* Copyright (C) 2014, MIPS Technologies, Inc., California.
|
||||||
* Copyright (C) 2015, Google, Inc.
|
* Copyright (C) 2015, Google, Inc.
|
||||||
|
* Copyright (C) 2019, Arm Limited.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
*
|
*
|
||||||
@ -315,9 +316,9 @@ h1v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
|
|||||||
JSAMPARRAY output_data = *output_data_ptr;
|
JSAMPARRAY output_data = *output_data_ptr;
|
||||||
JSAMPROW inptr0, inptr1, outptr;
|
JSAMPROW inptr0, inptr1, outptr;
|
||||||
#if BITS_IN_JSAMPLE == 8
|
#if BITS_IN_JSAMPLE == 8
|
||||||
int thiscolsum;
|
int thiscolsum, bias;
|
||||||
#else
|
#else
|
||||||
JLONG thiscolsum;
|
JLONG thiscolsum, bias;
|
||||||
#endif
|
#endif
|
||||||
JDIMENSION colctr;
|
JDIMENSION colctr;
|
||||||
int inrow, outrow, v;
|
int inrow, outrow, v;
|
||||||
@ -327,15 +328,18 @@ h1v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
|
|||||||
for (v = 0; v < 2; v++) {
|
for (v = 0; v < 2; v++) {
|
||||||
/* inptr0 points to nearest input row, inptr1 points to next nearest */
|
/* inptr0 points to nearest input row, inptr1 points to next nearest */
|
||||||
inptr0 = input_data[inrow];
|
inptr0 = input_data[inrow];
|
||||||
if (v == 0) /* next nearest is row above */
|
if (v == 0) { /* next nearest is row above */
|
||||||
inptr1 = input_data[inrow - 1];
|
inptr1 = input_data[inrow - 1];
|
||||||
else /* next nearest is row below */
|
bias = 1;
|
||||||
|
} else { /* next nearest is row below */
|
||||||
inptr1 = input_data[inrow + 1];
|
inptr1 = input_data[inrow + 1];
|
||||||
|
bias = 2;
|
||||||
|
}
|
||||||
outptr = output_data[outrow++];
|
outptr = output_data[outrow++];
|
||||||
|
|
||||||
for (colctr = 0; colctr < compptr->downsampled_width; colctr++) {
|
for (colctr = 0; colctr < compptr->downsampled_width; colctr++) {
|
||||||
thiscolsum = GETJSAMPLE(*inptr0++) * 3 + GETJSAMPLE(*inptr1++);
|
thiscolsum = GETJSAMPLE(*inptr0++) * 3 + GETJSAMPLE(*inptr1++);
|
||||||
*outptr++ = (JSAMPLE)((thiscolsum + 1) >> 2);
|
*outptr++ = (JSAMPLE)((thiscolsum + bias) >> 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
inrow++;
|
inrow++;
|
||||||
|
2
src/3rdparty/libjpeg/src/jquant1.c
vendored
2
src/3rdparty/libjpeg/src/jquant1.c
vendored
@ -154,7 +154,7 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
boolean is_padded; /* is the colorindex padded for odither? */
|
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 */
|
/* Variables for ordered dithering */
|
||||||
int row_index; /* cur row's vertical index in dither matrix */
|
int row_index; /* cur row's vertical index in dither matrix */
|
||||||
|
6
src/3rdparty/libjpeg/src/jversion.h
vendored
6
src/3rdparty/libjpeg/src/jversion.h
vendored
@ -4,7 +4,7 @@
|
|||||||
* This file was part of the Independent JPEG Group's software:
|
* This file was part of the Independent JPEG Group's software:
|
||||||
* Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
|
* Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
|
||||||
* libjpeg-turbo Modifications:
|
* libjpeg-turbo Modifications:
|
||||||
* Copyright (C) 2010, 2012-2018, D. R. Commander.
|
* Copyright (C) 2010, 2012-2019, D. R. Commander.
|
||||||
* For conditions of distribution and use, see the accompanying README.ijg
|
* For conditions of distribution and use, see the accompanying README.ijg
|
||||||
* file.
|
* file.
|
||||||
*
|
*
|
||||||
@ -36,7 +36,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define JCOPYRIGHT \
|
#define JCOPYRIGHT \
|
||||||
"Copyright (C) 2009-2018 D. R. Commander\n" \
|
"Copyright (C) 2009-2019 D. R. Commander\n" \
|
||||||
"Copyright (C) 2011-2016 Siarhei Siamashka\n" \
|
"Copyright (C) 2011-2016 Siarhei Siamashka\n" \
|
||||||
"Copyright (C) 2015-2016, 2018 Matthieu Darbois\n" \
|
"Copyright (C) 2015-2016, 2018 Matthieu Darbois\n" \
|
||||||
"Copyright (C) 2015 Intel Corporation\n" \
|
"Copyright (C) 2015 Intel Corporation\n" \
|
||||||
@ -49,4 +49,4 @@
|
|||||||
"Copyright (C) 1991-2016 Thomas G. Lane, Guido Vollbeding"
|
"Copyright (C) 1991-2016 Thomas G. Lane, Guido Vollbeding"
|
||||||
|
|
||||||
#define JCOPYRIGHT_SHORT \
|
#define JCOPYRIGHT_SHORT \
|
||||||
"Copyright (C) 1991-2018 The libjpeg-turbo Project and many others"
|
"Copyright (C) 1991-2019 The libjpeg-turbo Project and many others"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user