Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libjpeg-turbo
Source: <url://example.com>
#
# Please double check copyright with the licensecheck(1) command.

Files:     BUILDING.md
           CMakeLists.txt
           ChangeLog.md
           README.md
           change.log
           cjpeg.1
           cmakescripts/BuildPackages.cmake
           cmakescripts/cmake_uninstall.cmake.in
           cmakescripts/testclean.cmake
           croptest.in
           djpeg.1
           doc/html/bc_s.png
           doc/html/bdwn.png
           doc/html/closed.png
           doc/html/doc.png
           doc/html/doxygen-extra.css
           doc/html/doxygen.css
           doc/html/folderclosed.png
           doc/html/folderopen.png
           doc/html/nav_f.png
           doc/html/nav_g.png
           doc/html/nav_h.png
           doc/html/open.png
           doc/html/search/all_0.js
           doc/html/search/all_1.js
           doc/html/search/all_2.js
           doc/html/search/all_3.js
           doc/html/search/all_4.js
           doc/html/search/all_5.js
           doc/html/search/all_6.js
           doc/html/search/all_7.js
           doc/html/search/all_8.js
           doc/html/search/all_9.js
           doc/html/search/classes_0.js
           doc/html/search/enums_0.js
           doc/html/search/enumvalues_0.js
           doc/html/search/functions_0.js
           doc/html/search/groups_0.js
           doc/html/search/search.css
           doc/html/search/search_l.png
           doc/html/search/search_m.png
           doc/html/search/search_r.png
           doc/html/search/searchdata.js
           doc/html/search/typedefs_0.js
           doc/html/search/variables_0.js
           doc/html/search/variables_1.js
           doc/html/search/variables_2.js
           doc/html/search/variables_3.js
           doc/html/search/variables_4.js
           doc/html/search/variables_5.js
           doc/html/search/variables_6.js
           doc/html/search/variables_7.js
           doc/html/search/variables_8.js
           doc/html/search/variables_9.js
           doc/html/splitbar.png
           doc/html/sync_off.png
           doc/html/sync_on.png
           doc/html/tab_a.png
           doc/html/tab_b.png
           doc/html/tab_h.png
           doc/html/tab_s.png
           doc/html/tabs.css
           doxygen-extra.css
           doxygen.config
           example.txt
           fuzz/CMakeLists.txt
           fuzz/build.sh
           java/CMakeLists.txt
           java/MANIFEST.MF
           java/README
           java/doc/package-list
           java/doc/resources/background.gif
           java/doc/resources/tab.gif
           java/doc/resources/titlebar.gif
           java/doc/resources/titlebar_end.gif
           java/doc/script.js
           java/doc/stylesheet.css
           java/org_libjpegturbo_turbojpeg_TJ.h
           java/org_libjpegturbo_turbojpeg_TJCompressor.h
           java/org_libjpegturbo_turbojpeg_TJDecompressor.h
           java/org_libjpegturbo_turbojpeg_TJTransformer.h
           jconfig.h.in
           jconfigint.h.in
           jpeg_nbits_table.h
           jpegtran.1
           libjpeg.map.in
           md5/CMakeLists.txt
           rdjpgcom.1
           release/Config.cmake.in
           release/License.rtf
           release/ReadMe.txt
           release/Welcome.rtf.in
           release/deb-control.in
           release/installer.nsi.in
           release/libjpeg.pc.in
           release/libturbojpeg.pc.in
           release/makedpkg.in
           release/makemacpkg.in
           release/makerpm.in
           release/makesrpm.in
           release/maketarball.in
           release/rpm.spec.in
           sharedlib/CMakeLists.txt
           simd/CMakeLists.txt
           simd/nasm/jsimdcfg.inc
           simd/nasm/jsimdcfg.inc.h
           testimages/nightshot_iso_100.bmp
           testimages/nightshot_iso_100.txt
           testimages/test.scan
           testimages/test1.icc
           testimages/test2.icc
           testimages/testimgari.jpg
           testimages/testimgint.jpg
           testimages/testorig.jpg
           testimages/testorig.ppm
           testimages/testorig12.jpg
           testimages/vgl_5674_0098.bmp
           testimages/vgl_6434_0018a.bmp
           testimages/vgl_6548_0026a.bmp
           tjbenchtest.in
           tjbenchtest.java.in
           tjexampletest.in
           tjexampletest.java.in
           turbojpeg-mapfile
           turbojpeg-mapfile.jni
           usage.txt
           win/gcc/projectTargets-release.cmake.in
           win/jconfig.h.in
           win/jpeg62-memsrcdst.def
           win/jpeg62.def
           win/jpeg7-memsrcdst.def
           win/jpeg7.def
           win/jpeg8.def
           win/projectTargets.cmake.in
           win/vc/projectTargets-release.cmake.in
           wizard.txt
           wrjpgcom.1
Copyright: __NO_COPYRIGHT_NOR_LICENSE__
License:   __NO_COPYRIGHT_NOR_LICENSE__

Files:     simd/i386/jccolext-avx2.asm
           simd/i386/jccolext-mmx.asm
           simd/i386/jccolext-sse2.asm
           simd/i386/jccolor-avx2.asm
           simd/i386/jccolor-mmx.asm
           simd/i386/jccolor-sse2.asm
           simd/i386/jcgray-avx2.asm
           simd/i386/jcgray-mmx.asm
           simd/i386/jcgray-sse2.asm
           simd/i386/jcgryext-avx2.asm
           simd/i386/jcgryext-mmx.asm
           simd/i386/jcgryext-sse2.asm
           simd/i386/jchuff-sse2.asm
           simd/i386/jcphuff-sse2.asm
           simd/i386/jcsample-avx2.asm
           simd/i386/jcsample-mmx.asm
           simd/i386/jcsample-sse2.asm
           simd/i386/jdcolext-avx2.asm
           simd/i386/jdcolext-mmx.asm
           simd/i386/jdcolext-sse2.asm
           simd/i386/jdcolor-avx2.asm
           simd/i386/jdcolor-mmx.asm
           simd/i386/jdcolor-sse2.asm
           simd/i386/jdmerge-avx2.asm
           simd/i386/jdmerge-mmx.asm
           simd/i386/jdmerge-sse2.asm
           simd/i386/jdmrgext-avx2.asm
           simd/i386/jdmrgext-mmx.asm
           simd/i386/jdmrgext-sse2.asm
           simd/i386/jdsample-avx2.asm
           simd/i386/jdsample-mmx.asm
           simd/i386/jdsample-sse2.asm
           simd/i386/jfdctflt-3dn.asm
           simd/i386/jfdctflt-sse.asm
           simd/i386/jfdctfst-mmx.asm
           simd/i386/jfdctfst-sse2.asm
           simd/i386/jfdctint-avx2.asm
           simd/i386/jfdctint-mmx.asm
           simd/i386/jfdctint-sse2.asm
           simd/i386/jidctflt-3dn.asm
           simd/i386/jidctflt-sse.asm
           simd/i386/jidctflt-sse2.asm
           simd/i386/jidctfst-mmx.asm
           simd/i386/jidctfst-sse2.asm
           simd/i386/jidctint-avx2.asm
           simd/i386/jidctint-mmx.asm
           simd/i386/jidctint-sse2.asm
           simd/i386/jidctred-mmx.asm
           simd/i386/jidctred-sse2.asm
           simd/i386/jquant-3dn.asm
           simd/i386/jquant-mmx.asm
           simd/i386/jquant-sse.asm
           simd/i386/jquantf-sse2.asm
           simd/i386/jquanti-avx2.asm
           simd/i386/jquanti-sse2.asm
           simd/i386/jsimdcpu.asm
           simd/x86_64/jccolext-avx2.asm
           simd/x86_64/jccolext-sse2.asm
           simd/x86_64/jccolor-avx2.asm
           simd/x86_64/jccolor-sse2.asm
           simd/x86_64/jcgray-avx2.asm
           simd/x86_64/jcgray-sse2.asm
           simd/x86_64/jcgryext-avx2.asm
           simd/x86_64/jcgryext-sse2.asm
           simd/x86_64/jchuff-sse2.asm
           simd/x86_64/jcphuff-sse2.asm
           simd/x86_64/jcsample-avx2.asm
           simd/x86_64/jcsample-sse2.asm
           simd/x86_64/jdcolext-avx2.asm
           simd/x86_64/jdcolext-sse2.asm
           simd/x86_64/jdcolor-avx2.asm
           simd/x86_64/jdcolor-sse2.asm
           simd/x86_64/jdmerge-avx2.asm
           simd/x86_64/jdmerge-sse2.asm
           simd/x86_64/jdmrgext-avx2.asm
           simd/x86_64/jdmrgext-sse2.asm
           simd/x86_64/jdsample-avx2.asm
           simd/x86_64/jdsample-sse2.asm
           simd/x86_64/jfdctflt-sse.asm
           simd/x86_64/jfdctfst-sse2.asm
           simd/x86_64/jfdctint-avx2.asm
           simd/x86_64/jfdctint-sse2.asm
           simd/x86_64/jidctflt-sse2.asm
           simd/x86_64/jidctfst-sse2.asm
           simd/x86_64/jidctint-avx2.asm
           simd/x86_64/jidctint-sse2.asm
           simd/x86_64/jidctred-sse2.asm
           simd/x86_64/jquantf-sse2.asm
           simd/x86_64/jquanti-avx2.asm
           simd/x86_64/jquanti-sse2.asm
Copyright: 2009-2012 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2021 D. R. Commander.
           2015 Intel Corporation.
           2015-2016 Matthieu Darbois.
           2016-2018 Matthieu Darbois
           2018 Matthias Räncker.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file should be assembled with NASM (Netwide Assembler),
 can *not* be assembled with Microsoft's MASM or any compatible
 assembler (including Borland's Turbo Assembler).
 NASM is available from http://nasm.sourceforge.net/ or

Files:     fuzz/compress.cc
           fuzz/compress_yuv.cc
           fuzz/decompress.cc
           fuzz/decompress_yuv.cc
           fuzz/transform.cc
           java/TJBench.java
           java/org/libjpegturbo/turbojpeg/TJ.java
           java/org/libjpegturbo/turbojpeg/TJCompressor.java
           java/org/libjpegturbo/turbojpeg/TJCustomFilter.java
           java/org/libjpegturbo/turbojpeg/TJDecompressor.java
           java/org/libjpegturbo/turbojpeg/TJException.java
           java/org/libjpegturbo/turbojpeg/TJLoader-unix.java.in
           java/org/libjpegturbo/turbojpeg/TJLoader-win.java.in
           java/org/libjpegturbo/turbojpeg/TJScalingFactor.java
           java/org/libjpegturbo/turbojpeg/TJTransform.java
           java/org/libjpegturbo/turbojpeg/TJTransformer.java
           java/org/libjpegturbo/turbojpeg/YUVImage.java
           md5/md5.c
           md5/md5.h
           md5/md5cmp.c
           md5/md5hl.c
           tjbench.c
           tjutil.c
           tjutil.h
           turbojpeg-jni.c
           turbojpeg.h
Copyright: 2009-2021 D. R. Commander.
           2015 Viktor Szathmáry.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.

Files:     simd/arm/aarch32/jsimd_neon.S
           simd/arm/aarch64/jsimd_neon.S
           simd/arm/jccolor-neon.c
           simd/arm/jcgray-neon.c
           simd/arm/jcphuff-neon.c
           simd/arm/jcsample-neon.c
           simd/arm/jdcolor-neon.c
           simd/arm/jdmerge-neon.c
           simd/arm/jdsample-neon.c
           simd/arm/jfdctfst-neon.c
           simd/arm/jfdctint-neon.c
           simd/arm/jidctfst-neon.c
           simd/arm/jidctint-neon.c
           simd/arm/jidctred-neon.c
           simd/arm/jquanti-neon.c
           simd/arm/neon-compat.h.in
           simd/mips/jsimd_dspr2.S
           simd/mips/jsimd_dspr2_asm.h
           simd/mips64/jsimd_mmi.h
           simd/mips64/loongson-mmintrin.h
           simd/powerpc/jsimd_altivec.h
Copyright: 2009-2011 Nokia Corporation and/or its subsidiary(-ies).
           2013-2014 Linaro Limited.
           2013-2014 MIPS Technologies, Inc., California.
           2014-2016 Siarhei Siamashka.
           2014-2020 D. R. Commander.
           2015-2018 Matthieu Darbois.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
           2020-2021 Arm Limited.
License:   Zlib
 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.

Files:     doc/html/jquery.js
           jdcoefct.h
           jdmainct.h
           jdmerge.h
           jdsample.h
           simd/mips64/jcsample.h
           simd/powerpc/jcsample.h
Copyright: 1991-1996 Thomas G. Lane. For conditions of distribution and use, see the accompanying README.ijg file.
           1994-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
           2020 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
           jQuery Foundation and other contributors; Licensed MIT
License:   __NO_LICENSE__

Files:     doc/html/dynsections.js
           doc/html/menu.js
           doc/html/menudata.js
           doc/html/search/search.js
Copyright: 1997-2020 Dimitri van Heesch
License:   Expat
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 and associated documentation files (the "Software"), to deal in the Software without restriction,
 including without limitation the rights to use, copy, modify, merge, publish, distribute,
 sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all copies or
 substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
 BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 .
 @licend  The above is the entire license notice for the JavaScript code in this file

Files:     simd/mips64/jdcolor-mmi.c
           simd/mips64/jdmerge-mmi.c
           simd/powerpc/jdcolor-altivec.c
Copyright: 2011-2015 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 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.
 .
 YCC --> RGB CONVERSION

Files:     simd/arm/aarch32/jccolext-neon.c
           simd/arm/aarch64/jccolext-neon.c
Copyright: 2020 Arm Limited.
           2020 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jccolor-neon.c
 .
 RGB -> YCbCr conversion is defined by the following equations:

Files:     simd/mips64/jcgray-mmi.c
           simd/powerpc/jcgray-altivec.c
Copyright: 2011-2014 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 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.
 .
 RGB --> GRAYSCALE CONVERSION

Files:     simd/mips64/jccolor-mmi.c
           simd/powerpc/jccolor-altivec.c
Copyright: 2011-2014 D. R. Commander.
           2016-2017 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 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.
 .
 RGB --> YCC CONVERSION

Files:     simd/arm/aarch32/jchuff-neon.c
           simd/arm/aarch64/jchuff-neon.c
Copyright: 2020 D. R. Commander.
           2020-2021 Arm Limited.
License:   Zlib
 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.
 .
 NOTE: All referenced figures are from
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994.

Files:     testimages/test1.icc.txt
           testimages/test2.icc.txt
Copyright: 1998-2011 Marti Maria Saguer
License:   Expat
 Permission is hereby granted, free of charge, to any person obtaining a copy of
 this software and associated documentation files (the "Software"), to deal in
 the Software without restriction, including without limitation the rights to
 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 of the Software, and to permit persons to whom the Software is furnished to do
 so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.

Files:     jsimd.h
           jsimddct.h
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2011-2014 D. R. Commander.
           2015-2018 Matthieu Darbois.
           2020 Arm Limited.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc

Files:     jcarith.c
           jdarith.c
Copyright: 2015-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains portable arithmetic entropy encoding routines for JPEG
 (implementing Recommendation ITU-T T.81 | ISO/IEC 10918-1).
 .
 Both sequential and progressive modes are supported in this single module.
 .
 Suspension is not currently supported in this module.
 .
 NOTE: All referenced figures are from
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994.

Files:     jdatasrc-tj.c
           jdatasrc.c
Copyright: 1994-1996 Thomas G. Lane. Modified 2009-2011  Guido Vollbeding. libjpeg-turbo Modifications:
           2011-2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains decompression data source routines for the case of
 reading JPEG data from memory or from a file (or any stdio stream).
 While these routines are sufficient for most applications,
 some will want to use a different source manager.
 IMPORTANT: we assume that fread() will correctly transcribe an array of
 JOCTETs from 8-bit-wide elements on external storage.  If char is wider
 than 8 bits on your machine, you may need to do some tweaking.

Files:     jdatadst-tj.c
           jdatadst.c
Copyright: 1994-1996 Thomas G. Lane. Modified 2009-2012  Guido Vollbeding. libjpeg-turbo Modifications:
           2011-2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains compression data destination routines for the case of
 emitting JPEG data to memory or to a file (or any stdio stream).
 While these routines are sufficient for most applications,
 some will want to use a different destination manager.
 IMPORTANT: we assume that fwrite() will correctly transcribe an array of
 JOCTETs into 8-bit-wide elements on external storage.  If char is wider
 than 8 bits on your machine, you may need to do some tweaking.

Files:     simd/powerpc/jdmerge-altivec.c
Copyright: 2015 D. R. Commander.
License:   Zlib
 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.
 .
 MERGED YCC --> RGB CONVERSION AND UPSAMPLING

Files:     simd/powerpc/jidctint-altivec.c
Copyright: 2014-2020 D. R. Commander.
License:   Zlib
 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.
 .
 ACCURATE INTEGER INVERSE DCT

Files:     simd/mips64/jcsample-mmi.c
Copyright: 2015-2019 D. R. Commander.
           2016-2017 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 CHROMA DOWNSAMPLING

Files:     simd/nasm/jsimdext.inc
Copyright: 1999-2006 MIYASAKA Masaru.
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2010-2019 D. R. Commander.
           2018 Matthias Räncker.
           2018 Matthieu Darbois.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library - version 1.02
 .
 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.

Files:     simd/arm/jdmrgext-neon.c
Copyright: 2020 Arm Limited.
           2020 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jdmerge-neon.c.
 .
 These routines combine simple (non-fancy, i.e. non-smooth) h2v1 or h2v2
 chroma upsampling and YCbCr -> RGB color conversion into a single function.
 .
 As with the standalone functions, YCbCr -> RGB conversion is defined by the
 following equations:

Files:     simd/mips64/jfdctfst-mmi.c
Copyright: 2014-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 FAST INTEGER FORWARD DCT

Files:     simd/mips64/jdsample-mmi.c
Copyright: 2015-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 CHROMA UPSAMPLING

Files:     simd/mips64/jdmrgext-mmi.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2015-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 This file is included by jdmerge-mmi.c

Files:     simd/powerpc/jcsample-altivec.c
Copyright: 2015 D. R. Commander.
License:   Zlib
 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.
 .
 CHROMA DOWNSAMPLING

Files:     simd/powerpc/jquanti-altivec.c
Copyright: 2014-2015 D. R. Commander.
License:   Zlib
 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.
 .
 INTEGER QUANTIZATION AND SAMPLE CONVERSION

Files:     simd/powerpc/jfdctfst-altivec.c
Copyright: 2014 D. R. Commander.
License:   Zlib
 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.
 .
 FAST INTEGER FORWARD DCT
 .
 This is similar to the SSE2 implementation, except that we left-shift the

Files:     simd/arm/align.h
Copyright: 2020 Arm Limited.
License:   Zlib
 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.
 .
 How to obtain memory alignment for structures and variables

Files:     simd/mips64/jfdctint-mmi.c
Copyright: 2014-2020 D. R. Commander.
           2016-2017 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 ACCURATE INTEGER FORWARD DCT

Files:     simd/mips64/jccolext-mmi.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2014-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 This file is included by jccolor-mmi.c

Files:     simd/powerpc/jidctfst-altivec.c
Copyright: 2014-2015 D. R. Commander.
License:   Zlib
 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.
 .
 FAST INTEGER INVERSE DCT
 .
 This is similar to the SSE2 implementation, except that we left-shift the

Files:     simd/mips64/jidctfst-mmi.c
Copyright: 2014-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 FAST INTEGER INVERSE DCT

Files:     simd/arm/jdcolext-neon.c
Copyright: 2020 Arm Limited.
           2020 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jdcolor-neon.c.
 .
 YCbCr -> RGB conversion is defined by the following equations:

Files:     simd/mips64/jcgryext-mmi.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2014-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 This file is included by jcgray-mmi.c

Files:     simd/mips64/jquanti-mmi.c
Copyright: 2016-2017 Loongson Technology Corporation Limited, BeiJing.
           2018-2019 D. R. Commander.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 INTEGER QUANTIZATION AND SAMPLE CONVERSION

Files:     simd/powerpc/jdmrgext-altivec.c
Copyright: 2015 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jdmerge-altivec.c

Files:     simd/powerpc/jcgryext-altivec.c
Copyright: 2014 Jay Foad.
           2014-2015 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jcgray-altivec.c

Files:     simd/powerpc/jfdctint-altivec.c
Copyright: 2014-2020 D. R. Commander.
License:   Zlib
 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.
 .
 ACCURATE INTEGER FORWARD DCT

Files:     simd/mips64/jdcolext-mmi.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2015-2019 D. R. Commander.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 This file is included by jdcolor-mmi.c

Files:     simd/arm/jcgryext-neon.c
Copyright: 2020 Arm Limited.
License:   Zlib
 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.
 .
 This file is included by jcgray-neon.c
 .
 RGB -> Grayscale conversion is defined by the following equation:

Files:     simd/powerpc/jdsample-altivec.c
Copyright: 2015 D. R. Commander.
License:   Zlib
 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.
 .
 CHROMA UPSAMPLING

Files:     simd/powerpc/jccolext-altivec.c
Copyright: 2014 Jay Foad.
           2014-2015 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jccolor-altivec.c

Files:     simd/mips64/jidctint-mmi.c
Copyright: 2014-2020 D. R. Commander.
           2016-2017 Loongson Technology Corporation Limited, BeiJing.
License:   Zlib
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 .
 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.
 .
 ACCUATE INTEGER INVERSE DCT

Files:     simd/powerpc/jdcolext-altivec.c
Copyright: 2015 D. R. Commander.
License:   Zlib
 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.
 .
 This file is included by jdcolor-altivec.c

Files:     jerror.h
Copyright: 1994-1997 Thomas G. Lane. Modified 1997-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2014-2017 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __HEADER___
 This file defines the error and message codes for the JPEG library.
 Edit this file to add new codes, or to translate the message strings to
 some other language.
 A set of error-reporting macros are defined too.  Some applications using
 the JPEG library may wish to include this file to get the error codes
 and/or the macros.
 .
 To define the enum list of message codes, include this file without
 defining macro JMESSAGE.  To create a message string table, include it
 again with a suitable JMESSAGE definition (see jerror.c for an example).

Files:     jidctint.c
Copyright: 1991-1998 Thomas G. Lane. Modification developed 2002-2018  Guido Vollbeding. libjpeg-turbo Modifications:
           2015-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a slower but more accurate integer implementation of the
 inverse DCT (Discrete Cosine Transform).  In the IJG code, this routine
 must also perform dequantization of the input coefficients.
 .
 A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT
 on each row (or vice versa, but it's more convenient to emit a row at
 a time).  Direct algorithms are also available, but they are much more
 complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on an algorithm described in
 C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT
 Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics,
 Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991.
 The primary algorithm described there uses 11 multiplies and 29 adds.
 We use their alternate method with 12 multiplies and 32 adds.
 The advantage of this method is that no data path contains more than one
 multiplication; this allows a very simple and accurate implementation in
 scaled fixed-point arithmetic, with a minimal number of shifts.
 .
 We also provide IDCT routines with various output sample block sizes for
 direct resolution reduction or enlargement without additional resampling:

Files:     simd/mips64/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2018 D. R. Commander.
           2013-2014 MIPS Technologies, Inc., California.
           2015-2018 Matthieu Darbois.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 64-bit MIPS architecture.

Files:     rdjpgcom.c
Copyright: 1994-1997 Thomas G. Lane. Modified 2009  Bill Allombert, Guido Vollbeding. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a very simple stand-alone application that displays
 the text in COM (comment) markers in a JFIF file.
 This may be useful as an example of the minimum logic needed to parse
 JPEG markers.

Files:     jquant1.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains 1-pass color quantization (color mapping) routines.
 These routines provide mapping to a fixed color map using equally spaced
 color values.  Optional Floyd-Steinberg or ordered dithering is available.

Files:     simd/mips/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2020 D. R. Commander.
           2013-2014 MIPS Technologies, Inc., California.
           2015-2018 Matthieu Darbois.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 MIPS architecture.

Files:     rdtarga.c
Copyright: 1991-1996 Thomas G. Lane. Modified 2017  Guido Vollbeding. libjpeg-turbo Modifications:
           2018-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to read input images in Targa format.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume input from
 an ordinary stdio stream.  They further assume that reading begins

Files:     jdmaster.h
Copyright: 1991-1995 Thomas G. Lane. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the master control structure for the JPEG decompressor.
 .
 Private state

Files:     jcinit.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains initialization logic for the JPEG compressor.
 This routine is in charge of selecting the modules to be executed and
 making an initialization call to each one.
 .
 Logically, this code belongs in jcmaster.c.  It's split out because
 linking this routine implies linking the entire compression library.
 For a transcoding-only application, we want to be able to use jcmaster.c
 without linking in the whole library.

Files:     jpegcomp.h
Copyright: 2010-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 JPEG compatibility macros
 These declarations are considered internal to the JPEG library; most
 applications using the library shouldn't need to include this file.

Files:     jcmarker.c
Copyright: 1991-1998 Thomas G. Lane. Modified 2003-2010  Guido Vollbeding. libjpeg-turbo Modifications:
           2010 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to write JPEG datastream markers.

Files:     jdmrgext.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2011-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains code for merged upsampling/color conversion.
 .
 This file is included by jdmerge.c
 .
 Upsample and color convert for the case of 2:1 horizontal and 1:1 vertical.

Files:     jcomapi.c
Copyright: 1994-1997 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains application interface routines that are used for both
 compression and decompression.

Files:     jdmaster.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2002-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2009-2019 D. R. Commander.
           2013 Linaro Limited.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains master control logic for the JPEG decompressor.
 These routines are concerned with selecting the modules to be executed
 and with determining the number of passes and the work to be done in each
 pass.

Files:     jdapistd.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2010-2020 D. R. Commander.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains application interface code for the decompression half
 of the JPEG library.  These are the "standard" API routines that are
 used in the normal full-decompression case.  They are not used by a
 transcoding-only application.  Note that if an application links in

Files:     rdcolmap.c
Copyright: 1994-1996 Thomas G. Lane.
License:   __UNKNOWN__
 This file is part of the Independent JPEG Group's software.
 For conditions of distribution and use, see the accompanying README.ijg
 file.
 .
 This file implements djpeg's "-map file" switch.  It reads a source image
 and constructs a colormap to be supplied to the JPEG decompressor.
 .
 Currently, these file formats are supported for the map file:
 GIF: the contents of the GIF's global colormap are used.
 PPM (either text or raw flavor): the entire file is read and
 each unique pixel value is entered in the map.
 Note that reading a large PPM file will be horrendously slow.
 Typically, a PPM-format map file should contain just one pixel
 of each desired color.  Such a file can be extracted from an
 ordinary image PPM file with ppmtomap(1).
 .
 Rescaling a PPM that has a maxval unequal to MAXJSAMPLE is not
 currently implemented.

Files:     jcphuff.c
Copyright: 1995-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2011-2021 D. R. Commander.
           2016-2018 Matthieu Darbois.
           2020 Arm Limited.
           2021 Alex Richardson. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains Huffman entropy encoding routines for progressive JPEG.
 .
 We do not support output suspension in this module, since the library
 currently does not allow multiple-scan files to be written with output
 suspension.

Files:     simd/arm/aarch64/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2020 D. R. Commander.
           2011 Nokia Corporation and/or its subsidiary(-ies).
           2015-2018 Matthieu Darbois.
           2020 Arm Limited.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 64-bit Arm architecture.

Files:     jcmaster.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2003-2010  Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains master control logic for the JPEG compressor.
 These routines are concerned with parameter validation, initial setup,
 and inter-pass control (determining the number of passes and the work
 to be done in each pass).

Files:     jcsample.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2014 MIPS Technologies, Inc., California.
           2015-2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains downsampling routines.
 .
 Downsampling input data is counted in "row groups".  A row group

Files:     simd/powerpc/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2018 D. R. Commander.
           2015-2018 Matthieu Darbois.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 PowerPC architecture.

Files:     jccolor.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2015 D. R. Commander.
           2014 MIPS Technologies, Inc., California. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains input colorspace conversion routines.

Files:     fuzz/cjpeg.cc
Copyright: 2021 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This fuzz target wraps cjpeg in order to test esoteric compression options
 as well as the GIF and Targa readers.

Files:     jdmerge.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2020 D. R. Commander.
           2013 Linaro Limited. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains code for merged upsampling/color conversion.
 .
 This file combines functions from jdsample.c and jdcolor.c;
 read those files first to understand what's going on.
 .
 When the chroma components are to be upsampled by simple replication
 (ie, box filtering), we can save some work in color conversion by
 calculating all the output pixels corresponding to a pair of chroma
 samples at one time.  In the conversion equations

Files:     jdsample.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2010-2016 D. R. Commander.
           2014 MIPS Technologies, Inc., California.
           2015 Google, Inc.
           2019-2020 Arm Limited. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains upsampling routines.
 .
 Upsampling input data is counted in "row groups".  A row group

Files:     libjpeg.txt
Copyright: 1994-2013 Thomas G. Lane, Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2020 D. R. Commander.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file describes how to use the IJG JPEG library within an application
 program.  Read it if you want to write a program that uses the library.
 .
 The file example.txt provides heavily commented skeleton code for calling the
 JPEG library.  Also see jpeglib.h (the include file to be used by application
 programs) for full details about data structures and function parameter lists.
 The library source code, of course, is the ultimate reference.
 .
 Note that there have been *major* changes from the application interface
 presented by IJG version 4 and earlier versions.  The old design had several
 inherent limitations, and it had accumulated a lot of cruft as we added
 features while trying to minimize application-interface changes.  We have
 sacrificed backward compatibility in the version 5 rewrite, but we think the
 improvements justify this.
 .
 TABLE OF CONTENTS

Files:     jutils.c
Copyright: 1991-1996 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains tables and miscellaneous utility routines needed
 for both compression and decompression.
 Note we prefix all global names with "j" to minimize conflicts with
 a surrounding application.

Files:     coderules.txt
Copyright: 1991-1996 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only information relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 Since numerous people will be contributing code and bug fixes, it's important
 to establish a common coding style.  The goal of using similar coding styles
 is much more important than the details of just what that style is.
 .
 In general we follow the recommendations of "Recommended C Style and Coding
 Standards" revision 6.1 (Cannon et al. as modified by Spencer, Keppel and
 Brader).  This document is available in the IJG FTP archive (see
 jpeg/doc/cstyle.ms.tbl.Z, or cstyle.txt.Z for those without nroff/tbl).
 .
 Block comments should be laid out thusly:
 .
 /*
 *  Block comments in this style.
 */
 .
 We indent statements in K&R style, e.g.,
 if (test) {
 then-part;
 } else {
 else-part;
 }
 with two spaces per indentation level.  (This indentation convention is
 handled automatically by GNU Emacs and many other text editors.)
 .
 Multi-word names should be written in lower case with underscores, e.g.,

Files:     jdtrans.c
Copyright: 1995-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains library routines for transcoding decompression,
 that is, reading raw DCT coefficient arrays from an input JPEG file.
 The routines in jdapimin.c will also be needed by a transcoder.

Files:     rdppm.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2009  Bill Allombert, Guido Vollbeding. libjpeg-turbo Modifications:
           2015-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to read input images in PPM/PGM format.
 The extended 2-byte-per-sample raw PPM/PGM formats are supported.
 The PBMPLUS library is NOT required to compile this software
 (but it is highly useful as a set of PPM image manipulation programs).
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume input from
 an ordinary stdio stream.  They further assume that reading begins

Files:     jdhuff.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2019 D. R. Commander.
           2018 Matthias Räncker. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains Huffman entropy decoding routines.
 .
 Much of the complexity here has to do with supporting input suspension.
 If the data source module demands suspension, we want to be able to back
 up to the start of the current MCU.  To do this, we copy state variables
 into local working storage, and update them back to the permanent
 storage only upon successful completion of an MCU.
 .
 NOTE: All referenced figures are from
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994.

Files:     jccoefct.c
Copyright: 1994-1997 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code and information relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the coefficient buffer controller for compression.
 This controller is the top level of the JPEG compressor proper.
 The coefficient buffer lies between forward-DCT and entropy encoding steps.

Files:     jpegint.h
Copyright: 1991-1997 Thomas G. Lane. Modified 1997-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2015 Google, Inc.
           2015-2021 D. R. Commander.
           2021 Alex Richardson. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file provides common declarations for the various JPEG modules.
 These declarations are considered internal to the JPEG library; most
 applications using the library shouldn't need to include this file.
 .
 Declarations for both compression & decompression

Files:     jconfig.txt
Copyright: 1991-1994 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file documents the configuration options that are required to
 customize the JPEG software for a particular system.
 .
 The actual configuration options for a particular installation are stored
 in jconfig.h.  On many machines, jconfig.h can be generated automatically
 or copied from one of the "canned" jconfig files that we supply.  But if
 you need to generate a jconfig.h file by hand, this file tells you how.
 .
 DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING.
 EDIT A COPY NAMED JCONFIG.H.
 .
 These symbols indicate the properties of your machine or compiler.
 #define the symbol if yes, #undef it if no.

Files:     cmakescripts/GNUInstallDirs.cmake
Copyright: 2011 Alex Neundorf
           2011 Eric NOULARD
           2011 Nikita Krupen'ko
           2011-2015 Kitware, Inc.
           2013 Dimitri John Ledkov
           2014 Daniele E. Domenichelli
           2014 Rolf Eike Beer
           2015 Alex Turbov
           2016 Dmitry Marakasov
           2016 Roger Leigh
           2016-2019 D. R. Commander
           2018 Matthias Räncker
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 .
 * Redistributions of source code must retain the above copyright
 notice, this list of conditions and the following disclaimer.
 .
 * Redistributions in binary form must reproduce the above copyright
 notice, this list of conditions and the following disclaimer in the
 documentation and/or other materials provided with the distribution.
 .
 * Neither the names of Kitware, Inc., the Insight Software Consortium,
 nor the names of their contributors may be used to endorse or promote
 products derived from this software without specific prior written
 permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Files:     jfdctfst.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a fast, not so accurate integer implementation of the
 forward DCT (Discrete Cosine Transform).
 .
 A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT
 on each column.  Direct algorithms are also available, but they are
 much more complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on Arai, Agui, and Nakajima's algorithm for
 scaled DCT.  Their original paper (Trans. IEICE E-71(11):1095) is in
 Japanese, but the algorithm is described in the Pennebaker & Mitchell
 JPEG textbook (see REFERENCES section in file README.ijg).  The following
 code is based directly on figure 4-8 in P&M.
 While an 8-point DCT cannot be done in less than 11 multiplies, it is
 possible to arrange the computation so that many of the multiplies are
 simple scalings of the final outputs.  These multiplies can then be
 folded into the multiplications or divisions by the JPEG quantization
 table entries.  The AA&N method leaves only 5 multiplies and 29 adds
 to be done in the DCT itself.
 The primary disadvantage of this method is that with fixed-point math,
 accuracy is lost due to imprecise representation of the scaled
 quantization values.  The smaller the quantization table entry, the less
 precise the scaled value, so this implementation does worse with high-
 quality-setting files than with low-quality ones.

Files:     jcapistd.c
Copyright: 1994-1996 Thomas G. Lane.
License:   __UNKNOWN__
 This file is part of the Independent JPEG Group's software.
 For conditions of distribution and use, see the accompanying README.ijg
 file.
 .
 This file contains application interface code for the compression half
 of the JPEG library.  These are the "standard" API routines that are
 used in the normal full-compression case.  They are not used by a
 transcoding-only application.  Note that if an application links in

Files:     jaricom.c
Copyright: 2015-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains probability estimation tables for common use in
 arithmetic entropy encoding and decoding routines.
 .
 This data represents Table D.2 in
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994 and Table 24 in
 Recommendation ITU-T T.82 (1993) | ISO/IEC 11544:1993.

Files:     simd/nasm/jdct.inc
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2018 D. R. Commander.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 Each IDCT routine is responsible for range-limiting its results and
 converting them to unsigned form (0..MAXJSAMPLE).  The raw outputs could
 be quite far out of range if the input data is corrupt, so a bulletproof
 range-limiting step is required.  We use a mask-and-table-lookup method
 to do the combined operations quickly.

Files:     jfdctflt.c
Copyright: 1994-1996 Thomas G. Lane.
License:   __UNKNOWN__
 This file is part of the Independent JPEG Group's software.
 For conditions of distribution and use, see the accompanying README.ijg
 file.
 .
 This file contains a floating-point implementation of the
 forward DCT (Discrete Cosine Transform).
 .
 This implementation should be more accurate than either of the integer
 DCT implementations.  However, it may not give the same results on all
 machines because of differences in roundoff behavior.  Speed will depend
 on the hardware's floating point capacity.
 .
 A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT
 on each column.  Direct algorithms are also available, but they are
 much more complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on Arai, Agui, and Nakajima's algorithm for
 scaled DCT.  Their original paper (Trans. IEICE E-71(11):1095) is in
 Japanese, but the algorithm is described in the Pennebaker & Mitchell
 JPEG textbook (see REFERENCES section in file README.ijg).  The following
 code is based directly on figure 4-8 in P&M.
 While an 8-point DCT cannot be done in less than 11 multiplies, it is
 possible to arrange the computation so that many of the multiplies are
 simple scalings of the final outputs.  These multiplies can then be
 folded into the multiplications or divisions by the JPEG quantization
 table entries.  The AA&N method leaves only 5 multiplies and 29 adds
 to be done in the DCT itself.
 The primary disadvantage of this method is that with a fixed-point
 implementation, accuracy is lost due to imprecise representation of the
 scaled quantization values.  However, that problem does not arise if
 we use floating point arithmetic.

Files:     jdmrg565.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2013 Linaro Limited.
           2014-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains code for merged upsampling/color conversion.

Files:     jccolext.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains input colorspace conversion routines.
 .
 This file is included by jccolor.c
 .
 Convert some rows of samples to the JPEG colorspace.
 .
 Note that we change from the application's interleaved-pixel format
 to our internal noninterleaved, one-plane-per-component format.
 The input buffer is therefore three times as wide as the output buffer.
 .
 A starting row offset is provided only for the output buffer.  The caller

Files:     wrgif.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2015-2019  Guido Vollbeding. libjpeg-turbo Modifications:
           2015-2017 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to write output images in GIF format.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume output to
 an ordinary stdio stream.
 .
 This code is loosely based on ppmtogif from the PBMPLUS distribution
 of Feb. 1991.  That file contains the following copyright notice:
 Based on GIFENCODE by David Rowley <mgardi@watdscu.waterloo.edu>.
 Lempel-Ziv compression based on "compress" by Spencer W. Thomas et al.
 Copyright (C) 1989 by Jef Poskanzer.
 Permission to use, copy, modify, and distribute this software and its
 documentation for any purpose and without fee is hereby granted, provided
 that the above copyright notice appear in all copies and that both that
 copyright notice and this permission notice appear in supporting
 documentation.  This software is provided "as is" without express or
 implied warranty.

Files:     jdcoefct.c
Copyright: 1994-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2010-2020 D. R. Commander.
           2015-2020 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the coefficient buffer controller for decompression.
 This controller is the top level of the JPEG decompressor proper.
 The coefficient buffer lies between entropy decoding and inverse-DCT steps.
 .
 In buffered-image mode, this controller is the interface between
 input-oriented processing and output-oriented processing.
 Also, the input side (only) is used when reading a file for transcoding.

Files:     structure.txt
Copyright: 1991-2012 Thomas G. Lane, Guido Vollbeding. It was modified  The libjpeg-turbo Project to include only information relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file provides an overview of the architecture of the IJG JPEG software;
 that is, the functions of the various modules in the system and the interfaces
 between modules.  For more precise details about any data structure or calling
 convention, see the include files and comments in the source code.
 .
 We assume that the reader is already somewhat familiar with the JPEG standard.
 The README.ijg file includes references for learning about JPEG.  The file
 libjpeg.txt describes the library from the viewpoint of an application
 programmer using the library; it's best to read that file before this one.
 Also, the file coderules.txt describes the coding style conventions we use.
 .
 In this document, JPEG-specific terminology follows the JPEG standard:
 A "component" means a color channel, e.g., Red or Luminance.
 A "sample" is a single component value (i.e., one number in the image data).
 A "coefficient" is a frequency coefficient (a DCT transform output number).
 A "block" is an 8x8 group of samples or coefficients.
 An "MCU" (minimum coded unit) is an interleaved set of blocks of size
 determined by the sampling factors, or a single block in a
 noninterleaved scan.
 We do not use the terms "pixel" and "sample" interchangeably.  When we say
 pixel, we mean an element of the full-size image, while a sample is an element
 of the downsampled image.  Thus the number of samples may vary across
 components while the number of pixels does not.  (This terminology is not used
 rigorously throughout the code, but it is used in places where confusion would
 otherwise result.)
 .
 *** System features ***
 .
 The IJG distribution contains two parts:
 * A subroutine library for JPEG compression and decompression.
 * cjpeg/djpeg, two sample applications that use the library to transform
 JFIF JPEG files to and from several other image formats.
 cjpeg/djpeg are of no great intellectual complexity: they merely add a simple
 command-line user interface and I/O routines for several uncompressed image
 formats.  This document concentrates on the library itself.
 .
 We desire the library to be capable of supporting all JPEG baseline, extended
 sequential, and progressive DCT processes.  Hierarchical processes are not
 supported.
 .
 The library does not support the lossless (spatial) JPEG process.  Lossless
 JPEG shares little or no code with lossy JPEG, and would normally be used
 without the extensive pre- and post-processing provided by this library.
 We feel that lossless JPEG is better handled by a separate library.
 .
 Within these limits, any set of compression parameters allowed by the JPEG
 spec should be readable for decompression.  (We can be more restrictive about
 what formats we can generate.)  Although the system design allows for all
 parameter values, some uncommon settings are not yet implemented and may
 never be; nonintegral sampling ratios are the prime example.  Furthermore,
 we treat 8-bit vs. 12-bit data precision as a compile-time switch, not a
 run-time option, because most machines can store 8-bit pixels much more
 compactly than 12-bit.
 .
 By itself, the library handles only interchange JPEG datastreams --- in
 particular the widely used JFIF file format.  The library can be used by
 surrounding code to process interchange or abbreviated JPEG datastreams that
 are embedded in more complex file formats.  (For example, libtiff uses this
 library to implement JPEG compression within the TIFF file format.)
 .
 The library includes a substantial amount of code that is not covered by the
 JPEG standard but is necessary for typical applications of JPEG.  These
 functions preprocess the image before JPEG compression or postprocess it after
 decompression.  They include colorspace conversion, downsampling/upsampling,
 and color quantization.  This code can be omitted if not needed.
 .
 A wide range of quality vs. speed tradeoffs are possible in JPEG processing,
 and even more so in decompression postprocessing.  The decompression library
 provides multiple implementations that cover most of the useful tradeoffs,
 ranging from very-high-quality down to fast-preview operation.  On the
 compression side we have generally not provided low-quality choices, since
 compression is normally less time-critical.  It should be understood that the
 low-quality modes may not meet the JPEG standard's accuracy requirements;
 nonetheless, they are useful for viewers.
 .
 *** System overview ***
 .
 The compressor and decompressor are each divided into two main sections:
 the JPEG compressor or decompressor proper, and the preprocessing or
 postprocessing functions.  The interface between these two sections is the
 image data that Rec. ITU-T T.81 | ISO/IEC 10918-1 regards as its input or
 output: this data is in the colorspace to be used for compression, and it is
 downsampled to the sampling factors to be used.  The preprocessing and
 postprocessing steps are responsible for converting a normal image
 representation to or from this form.  (Those few applications that want to deal
 with YCbCr downsampled data can skip the preprocessing or postprocessing step.)
 .
 Looking more closely, the compressor library contains the following main
 elements:
 .
 Preprocessing:
 * Color space conversion (e.g., RGB to YCbCr).
 * Edge expansion and downsampling.  Optionally, this step can do simple
 smoothing --- this is often helpful for low-quality source data.
 JPEG proper:
 * MCU assembly, DCT, quantization.
 * Entropy coding (sequential or progressive, Huffman or arithmetic).
 .
 In addition to these modules we need overall control, marker generation,
 and support code (memory management & error handling).  There is also a
 module responsible for physically writing the output data --- typically
 this is just an interface to fwrite(), but some applications may need to
 do something else with the data.
 .
 The decompressor library contains the following main elements:
 .
 JPEG proper:
 * Entropy decoding (sequential or progressive, Huffman or arithmetic).
 * Dequantization, inverse DCT, MCU disassembly.
 Postprocessing:
 * Upsampling.  Optionally, this step may be able to do more general
 rescaling of the image.
 * Color space conversion (e.g., YCbCr to RGB).  This step may also
 provide gamma adjustment [ currently it does not ].
 * Optional color quantization (e.g., reduction to 256 colors).
 * Optional color precision reduction (e.g., 24-bit to 15-bit color).
 [This feature is not currently implemented.]
 .
 We also need overall control, marker parsing, and a data source module.
 The support code (memory management & error handling) can be shared with
 the compression half of the library.
 .
 There may be several implementations of each of these elements, particularly
 in the decompressor, where a wide range of speed/quality tradeoffs is very
 useful.  It must be understood that some of the best speedups involve
 merging adjacent steps in the pipeline.  For example, upsampling, color space
 conversion, and color quantization might all be done at once when using a
 low-quality ordered-dither technique.  The system architecture is designed to
 allow such merging where appropriate.
 .
 Note: it is convenient to regard edge expansion (padding to block boundaries)
 as a preprocessing/postprocessing function, even though
 Rec. ITU-T T.81 | ISO/IEC 10918-1 includes it in compression/decompression.  We
 do this because downsampling/upsampling can be simplified a little if they work
 on padded data: it's not necessary to have special cases at the right and
 bottom edges.  Therefore the interface buffer is always an integral number of
 blocks wide and high, and we expect compression preprocessing to pad the source
 data properly.  Padding will occur only to the next block (8-sample) boundary.
 In an interleaved-scan situation, additional dummy blocks may be used to fill
 out MCUs, but the MCU assembly and disassembly logic will create or discard
 these blocks internally.  (This is advantageous for speed reasons, since we
 avoid DCTing the dummy blocks.  It also permits a small reduction in file size,
 because the compressor can choose dummy block contents so as to minimize their
 size in compressed form.  Finally, it makes the interface buffer specification
 independent of whether the file is actually interleaved or not.)  Applications
 that wish to deal directly with the downsampled data must provide similar
 buffering and padding for odd-sized images.
 .
 *** Poor man's object-oriented programming ***
 .
 It should be clear by now that we have a lot of quasi-independent processing
 steps, many of which have several possible behaviors.  To avoid cluttering the
 code with lots of switch statements, we use a simple form of object-style
 programming to separate out the different possibilities.
 .
 For example, two different color quantization algorithms could be implemented
 as two separate modules that present the same external interface; at runtime,
 the calling code will access the proper module indirectly through an "object".
 .
 We can get the limited features we need while staying within portable C.
 The basic tool is a function pointer.  An "object" is just a struct
 containing one or more function pointer fields, each of which corresponds to
 a method name in real object-oriented languages.  During initialization we
 fill in the function pointers with references to whichever module we have
 determined we need to use in this run.  Then invocation of the module is done
 by indirecting through a function pointer; on most machines this is no more
 expensive than a switch statement, which would be the only other way of
 making the required run-time choice.  The really significant benefit, of
 course, is keeping the source code clean and well structured.
 .
 We can also arrange to have private storage that varies between different
 implementations of the same kind of object.  We do this by making all the
 module-specific object structs be separately allocated entities, which will
 be accessed via pointers in the master compression or decompression struct.
 The "public" fields or methods for a given kind of object are specified by
 a commonly known struct.  But a module's initialization code can allocate
 a larger struct that contains the common struct as its first member, plus
 additional private fields.  With appropriate pointer casting, the module's
 internal functions can access these private fields.  (For a simple example,
 see jdatadst.c, which implements the external interface specified by struct

Files:     tjexample.c
Copyright: 2011-2021 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This program demonstrates how to compress, decompress, and transform JPEG
 images using the TurboJPEG C API

Files:     jfdctint.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2015-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a slower but more accurate integer implementation of the
 forward DCT (Discrete Cosine Transform).
 .
 A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT
 on each column.  Direct algorithms are also available, but they are
 much more complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on an algorithm described in
 C. Loeffler, A. Ligtenberg and G. Moschytz, "Practical Fast 1-D DCT
 Algorithms with 11 Multiplications", Proc. Int'l. Conf. on Acoustics,
 Speech, and Signal Processing 1989 (ICASSP '89), pp. 988-991.
 The primary algorithm described there uses 11 multiplies and 29 adds.
 We use their alternate method with 12 multiplies and 32 adds.
 The advantage of this method is that no data path contains more than one
 multiplication; this allows a very simple and accurate implementation in
 scaled fixed-point arithmetic, with a minimal number of shifts.

Files:     djpeg.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2013-2019  Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2020 D. R. Commander.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a command-line user interface for the JPEG decompressor.
 It should work on any system with Unix- or MS-DOS-style command lines.
 .
 Two different command line styles are permitted, depending on the

Files:     cderror.h
Copyright: 1994-1997 Thomas G. Lane. Modified 2009-2017  Guido Vollbeding. libjpeg-turbo Modifications:
           2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file defines the error and message codes for the cjpeg/djpeg
 applications.  These strings are not needed as part of the JPEG library
 proper.
 Edit this file to add new codes, or to translate the message strings to
 some other language.
 .
 To define the enum list of message codes, include this file without
 defining macro JMESSAGE.  To create a message string table, include it
 again with a suitable JMESSAGE definition (see jerror.c for an example).

Files:     jctrans.c
Copyright: 1995-1998 Thomas G. Lane. Modified 2000-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains library routines for transcoding compression,
 that is, writing raw DCT coefficient arrays to an output JPEG file.
 The routines in jcapimin.c will also be needed by a transcoder.

Files:     jdpostct.c
Copyright: 1994-1996 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the decompression postprocessing controller.
 This controller manages the upsampling, color conversion, and color
 quantization/reduction steps; specifically, it controls the buffering
 between upsample/color conversion and color quantization/reduction.
 .
 If no color quantization/reduction is required, then this module has no
 work to do, and it just hands off to the upsample/color conversion code.
 An integrated upsample/convert/quantize process would replace this module
 entirely.

Files:     jsimd_none.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2014 D. R. Commander.
           2015-2018 Matthieu Darbois.
           2020 Arm Limited.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains stubs for when there is no SIMD support available.

Files:     jinclude.h
Copyright: 1991-1994 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file exists to provide a single place to fix any problems with
 including the wrong system include files.  (Common problems are taken
 care of by the standard jconfig symbols, but on really weird systems
 you may have to edit this file.)
 .
 NOTE: this file is NOT intended to be included by applications using the
 JPEG library.  Most applications need only include jpeglib.h.
 .
 Include auto-config file to find out which system include files we need.

Files:     rdgif.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2019  Guido Vollbeding. libjpeg-turbo Modifications:
           2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to read input images in GIF format.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume input from
 an ordinary stdio stream.  They further assume that reading begins

Files:     jpegtran.c
Copyright: 1995-2019 Thomas G. Lane, Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a command-line user interface for JPEG transcoding.
 It is very similar to cjpeg.c, and partly to djpeg.c, but provides
 lossless transcoding between different JPEG file formats.  It also
 provides some lossless and sort-of-lossless transformations of JPEG data.

Files:     jdcol565.c
Copyright: 1991-1997 Thomas G. Lane. Modifications:
           2013 Linaro Limited.
           2014-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains output colorspace conversion routines.
 .
 This file is included by jdcolor.c

Files:     jversion.h
Copyright: 1991-2020 Thomas G. Lane, Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains software version identification.

Files:     jchuff.h
Copyright: 1991-1997 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains declarations for Huffman entropy encoding routines
 that are shared between the sequential encoder (jchuff.c) and the
 progressive encoder (jcphuff.c).  No other modules need to see these.
 .
 The legal range of a DCT coefficient is
 -1024 .. +1023  for 8-bit data;
 -16384 .. +16383 for 12-bit data.
 Hence the magnitude should always fit in 10 or 14 bits respectively.

Files:     jquant2.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains 2-pass color quantization (color mapping) routines.
 These routines provide selection of a custom color map for an image,
 followed by mapping of the image to that color map, with optional
 Floyd-Steinberg dithering.
 It is also possible to use just the second pass to map to an arbitrary
 externally-given color map.
 .
 Note: ordered dithering is not supported, since there isn't any fast
 way to compute intercolor distances; it's unclear that ordered dither's
 fundamental assumptions even hold with an irregularly spaced color map.

Files:     jcparam.c
Copyright: 1991-1998 Thomas G. Lane. Modified 2003-2008  Guido Vollbeding. libjpeg-turbo Modifications:
           2009-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains optional default-setting code for the JPEG compressor.
 Applications do not have to use this file, but those that don't use it
 must know a lot more about the innards of the JPEG code.

Files:     jpeglib.h
Copyright: 1991-1998 Thomas G. Lane. Modified 2002-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2009-2020 D. R. Commander.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file defines the application interface for the JPEG library.
 Most applications using the library need only include this file,
 and perhaps jerror.h if they want to know the exact error codes.

Files:     cdjpeg.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains common support routines used by the IJG application
 programs (cjpeg, djpeg, jpegtran).

Files:     java/TJExample.java
Copyright: 2011-2018 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This program demonstrates how to compress, decompress, and transform JPEG
 images using the TurboJPEG Java API

Files:     jcicc.c
Copyright: 1997-1998 Thomas G. Lane, Todd Newman.
           2017 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file provides code to write International Color Consortium (ICC) device
 profiles embedded in JFIF JPEG image files.  The ICC has defined a standard
 for including such data in JPEG "APP2" markers.  The code given here does
 not know anything about the internal structure of the ICC profile data; it
 just knows how to embed the profile data in a JPEG file while writing it.

Files:     jchuff.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2021 D. R. Commander.
           2015 Matthieu Darbois.
           2018 Matthias Räncker.
           2020 Arm Limited. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains Huffman entropy encoding routines.
 .
 Much of the complexity here has to do with supporting output suspension.
 If the data destination module demands suspension, we want to be able to
 back up to the start of the current MCU.  To do this, we copy state
 variables into local working storage, and update them back to the
 permanent JPEG objects only upon successful completion of an MCU.
 .
 NOTE: All referenced figures are from
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994.

Files:     jstdhuff.c
Copyright: 1991-1998 Thomas G. Lane. libjpeg-turbo Modifications:
           2013 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to set the default Huffman tables, if they are
 not already set.
 .
 Huffman table setup routines

Files:     jdapimin.c
Copyright: 1994-1998 Thomas G. Lane. libjpeg-turbo Modifications:
           2016 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains application interface code for the decompression half
 of the JPEG library.  These are the "minimum" API routines that may be
 needed in either the normal full-decompression case or the
 transcoding-only case.
 .
 Most of the routines intended to be called directly by an application
 are in this file or in jdapistd.c.  But also see jcomapi.c for routines
 shared by compression and decompression, and jdtrans.c for the transcoding
 case.

Files:     jerror.c
Copyright: 1991-1998 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains simple error-reporting and trace-message routines.
 These are suitable for Unix-like systems and others where writing to
 stderr is the right thing to do.  Many applications will want to replace
 some or all of these routines.

Files:     simd/i386/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2018 D. R. Commander.
           2015-2018 Matthieu Darbois.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 32-bit x86 architecture.

Files:     wrbmp.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2013 Linaro Limited.
           2014-2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to write output images in Microsoft "BMP"
 format (MS Windows 3.x and OS/2 1.x flavors).
 Either 8-bit colormapped or 24-bit full-color format can be written.
 No compression is supported.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume output to
 an ordinary stdio stream.
 .
 This code contributed by James Arthur Boucher.

Files:     simd/nasm/jcolsamp.inc
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2015 Intel Corporation.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc

Files:     jddctmgr.c
Copyright: 1994-1996 Thomas G. Lane. Modified 2002-2010  Guido Vollbeding. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2010-2015 D. R. Commander.
           2013 MIPS Technologies, Inc., California. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the inverse-DCT management logic.
 This code selects a particular IDCT implementation to be used,
 and it performs related housekeeping chores.  No code in this file
 is executed per IDCT step, only during output pass setup.
 .
 Note that the IDCT routines are responsible for performing coefficient
 dequantization as well as the IDCT proper.  This module sets up the
 dequantization multiplier table needed by the IDCT routine.

Files:     jdct.h
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This include file contains common declarations for the forward and
 inverse DCT modules.  These declarations are private to the DCT managers
 (jcdctmgr.c, jddctmgr.c) and the individual DCT algorithms.
 The individual DCT algorithms are kept in separate files to ease
 machine-dependent tuning (e.g., assembly coding).
 .
 A forward DCT routine is given a pointer to a work area of type DCTELEM[];
 the DCT is to be performed in-place in that buffer.  Type DCTELEM is int
 for 8-bit samples, JLONG for 12-bit samples.  (NOTE: Floating-point DCT

Files:     jcmainct.c
Copyright: 1994-1996 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the main buffer controller for compression.
 The main buffer lies between the pre-processor and the JPEG
 compressor proper; it holds downsampled data in the JPEG colorspace.

Files:     jidctfst.c
Copyright: 1994-1998 Thomas G. Lane. libjpeg-turbo Modifications:
           2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a fast, not so accurate integer implementation of the
 inverse DCT (Discrete Cosine Transform).  In the IJG code, this routine
 must also perform dequantization of the input coefficients.
 .
 A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT
 on each row (or vice versa, but it's more convenient to emit a row at
 a time).  Direct algorithms are also available, but they are much more
 complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on Arai, Agui, and Nakajima's algorithm for
 scaled DCT.  Their original paper (Trans. IEICE E-71(11):1095) is in
 Japanese, but the algorithm is described in the Pennebaker & Mitchell
 JPEG textbook (see REFERENCES section in file README.ijg).  The following
 code is based directly on figure 4-8 in P&M.
 While an 8-point DCT cannot be done in less than 11 multiplies, it is
 possible to arrange the computation so that many of the multiplies are
 simple scalings of the final outputs.  These multiplies can then be
 folded into the multiplications or divisions by the JPEG quantization
 table entries.  The AA&N method leaves only 5 multiplies and 29 adds
 to be done in the DCT itself.
 The primary disadvantage of this method is that with fixed-point math,
 accuracy is lost due to imprecise representation of the scaled
 quantization values.  The smaller the quantization table entry, the less
 precise the scaled value, so this implementation does worse with high-
 quality-setting files than with low-quality ones.

Files:     tjunittest.c
Copyright: 2009-2019 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This program tests the various code paths in the TurboJPEG C Wrapper

Files:     jcdctmgr.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           1999-2006 MIYASAKA Masaru.
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2011-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the forward-DCT management logic.
 This code selects a particular DCT implementation to be used,
 and it performs related housekeeping chores including coefficient
 quantization.

Files:     jdicc.c
Copyright: 1997-1998 Thomas G. Lane, Todd Newman.
           2017 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file provides code to read International Color Consortium (ICC) device
 profiles embedded in JFIF JPEG image files.  The ICC has defined a standard
 for including such data in JPEG "APP2" markers.  The code given here does
 not know anything about the internal structure of the ICC profile data; it
 just knows how to get the profile data from a JPEG file while reading it.

Files:     release/uninstall.in
Copyright: 2009-2020 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 !/bin/sh

Files:     cjpeg.c
Copyright: 1991-1998 Thomas G. Lane. Modified 2003-2011  Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a command-line user interface for the JPEG compressor.
 It should work on any system with Unix- or MS-DOS-style command lines.
 .
 Two different command line styles are permitted, depending on the

Files:     cdjpeg.h
Copyright: 1994-1997 Thomas G. Lane. Modified 2019  Guido Vollbeding. libjpeg-turbo Modifications:
           2017-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains common declarations for the sample applications
 cjpeg and djpeg.  It is NOT used by the core JPEG library.

Files:     jmemmgr.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2016-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the JPEG system-independent memory management
 routines.  This code is usable across a wide variety of machines; most
 of the system dependencies have been isolated in a separate file.
 The major functions provided here are:
 * pool-based allocation and freeing of memory;
 * policy decisions about how to divide available memory among the
 virtual arrays;
 * control logic for swapping virtual arrays between main memory and
 backing storage.
 The separate system-dependent file provides the actual backing-storage
 access code, and it contains the policy decision about how much total
 main memory to use.
 This file is system-dependent in the sense that some of its functions
 are unnecessary in some systems.  For example, if there is enough virtual
 memory so that backing storage will never be used, much of the virtual
 array control logic could be removed.  (Of course, if you have that much
 memory then you shouldn't care about a little bit of unused code...)

Files:     simd/x86_64/jsimdcpu.asm
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2016 D. R. Commander.
License:   __UNKNOWN__
 Based on
 x86 SIMD extension for IJG JPEG library
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file should be assembled with NASM (Netwide Assembler),
 can *not* be assembled with Microsoft's MASM or any compatible
 assembler (including Borland's Turbo Assembler).
 NASM is available from http://nasm.sourceforge.net/ or

Files:     rdswitch.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2010-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to process some of cjpeg's more complicated
 command-line switches.  Switches processed here are:
 -qtables file           Read quantization tables from text file
 -scans file             Read scan script from text file
 -quality N[,N,...]      Set quality ratings
 -qslots N[,N,...]       Set component quantization table selectors
 -sample HxV[,HxV,...]   Set component sampling factors

Files:     jmorecfg.h
Copyright: 1991-1997 Thomas G. Lane. Modified 1997-2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2009-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains additional configuration options that customize the
 JPEG software for special applications or support machine-dependent
 optimizations.  Most users will not need to touch this file.
 .
 Maximum number of components (color channels) allowed in JPEG image.
 To meet the letter of Rec. ITU-T T.81 | ISO/IEC 10918-1, set this to 255.
 However, darn few applications need more than 4 channels (maybe 5 for CMYK +
 alpha mask).  We recommend 10 as a reasonable compromise; use 4 if you are
 really short on memory.  (Each allowed component costs a hundred or so
 bytes of storage, whether actually used in an image or not.)

Files:     wrppm.c
Copyright: 1991-1996 Thomas G. Lane. Modified 2009  Guido Vollbeding. libjpeg-turbo Modifications:
           2017-2020 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to write output images in PPM/PGM format.
 The extended 2-byte-per-sample raw PPM/PGM formats are supported.
 The PBMPLUS library is NOT required to compile this software
 (but it is highly useful as a set of PPM image manipulation programs).
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume output to
 an ordinary stdio stream.

Files:     simd/arm/aarch32/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2018 D. R. Commander.
           2011 Nokia Corporation and/or its subsidiary(-ies).
           2015-2018 Matthieu Darbois.
           2019 Google LLC.
           2020 Arm Limited.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 32-bit Arm architecture.

Files:     turbojpeg.c
Copyright: 2009-2021 D. R. Commander.
           2021 Alex Richardson.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 TurboJPEG/LJT:  this implements the TurboJPEG API using libjpeg or
 libjpeg-turbo

Files:     simd/jsimd.h
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2011-2020 D. R. Commander.
           2013-2014 MIPS Technologies, Inc., California.
           2014 Linaro Limited.
           2015-2018 Matthieu Darbois.
           2016-2018 Loongson Technology Corporation Limited, BeiJing.
           2020 Arm Limited.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 Bitmask for supported acceleration methods

Files:     wrtarga.c
Copyright: 1991-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2017-2019 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to write output images in Targa format.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume output to
 an ordinary stdio stream.
 .
 Based on code contributed by Lee Daniel Crocker.

Files:     jcprepct.c
Copyright: 1994-1996 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the compression preprocessing controller.
 This controller manages the color conversion, downsampling,
 and edge expansion steps.
 .
 Most of the complexity here is associated with buffering input rows
 as required by the downsampler.  See the comments at the head of
 jcsample.c for the downsampler's needs.

Files:     jmemsys.h
Copyright: 1992-1997 Thomas G. Lane. It was modified  The libjpeg-turbo Project to include only code and information relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This include file defines the interface between the system-independent
 and system-dependent portions of the JPEG memory manager.  No other
 modules need include it.  (The system-independent portion is jmemmgr.c;
 there are several different versions of the system-dependent portion.)
 .
 This file works as-is for the system-dependent memory managers supplied
 in the IJG distribution.  You may need to modify it if you write a
 custom memory manager.  If system-dependent changes are needed in
 this file, the best method is to #ifdef them based on a configuration
 symbol supplied in jconfig.h.
 .
 These two functions are used to allocate and release small chunks of

Files:     transupp.c
Copyright: 1997-2019 Thomas G. Lane, Guido Vollbeding. libjpeg-turbo Modifications:
           2010-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains image transformation routines and other utility code
 used by the jpegtran sample application.  These are NOT part of the core
 JPEG library.  But we keep these routines separate from jpegtran.c to
 ease the task of maintaining jpegtran-like programs that have other user
 interfaces.
 .
 Although this file really shouldn't have access to the library internals,

Files:     cmyk.h
Copyright: 2017-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains convenience functions for performing quick & dirty
 CMYK<->RGB conversion.  This algorithm is suitable for testing purposes
 only.  Properly converting between CMYK and RGB requires a color management
 system.

Files:     LICENSE.md
Copyright: or license text in that file.
License:   __UNKNOWN__
 **Origin**
 - Clause 1 of the IJG License
 .
 2.  If you are distributing only libjpeg-turbo binaries without the source, or
 if you are distributing an application that statically links with
 libjpeg-turbo, then:
 .
 1.  Your product documentation must include a message stating:
 .
 This software is based in part on the work of the Independent JPEG
 Group.
 .
 **Origin**
 - Clause 2 of the IJG license
 .
 2.  If your binary distribution includes or uses the TurboJPEG API, then
 your product documentation must include the text of the Modified BSD
 License (see below.)
 .
 **Origin**
 - Clause 2 of the Modified BSD License
 .
 3.  You cannot use the name of the IJG or The libjpeg-turbo Project or the
 contributors thereof in advertising, publicity, etc.
 .
 **Origin**
 - IJG License
 - Clause 3 of the Modified BSD License
 .
 4.  The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
 free of defects, nor do we accept any liability for undesirable
 consequences resulting from your use of the software.
 .
 **Origin**
 - IJG License
 - Modified BSD License
 - zlib License
 .
 The Modified (3-clause) BSD License

Files:     jcapimin.c
Copyright: 1994-1998 Thomas G. Lane. Modified 2003-2010  Guido Vollbeding. It was modified  The libjpeg-turbo Project to include only code relevant to libjpeg-turbo. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains application interface code for the compression half
 of the JPEG library.  These are the "minimum" API routines that may be
 needed in either the normal full-compression case or the transcoding-only
 case.
 .
 Most of the routines intended to be called directly by an application
 are in this file or in jcapistd.c.  But also see jcparam.c for
 parameter-setup helper routines, jcomapi.c for routines shared by
 compression and decompression, and jctrans.c for the transcoding case.

Files:     jidctflt.c
Copyright: 1994-1998 Thomas G. Lane. Modified 2010  Guido Vollbeding. libjpeg-turbo Modifications:
           2014 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a floating-point implementation of the
 inverse DCT (Discrete Cosine Transform).  In the IJG code, this routine
 must also perform dequantization of the input coefficients.
 .
 This implementation should be more accurate than either of the integer
 IDCT implementations.  However, it may not give the same results on all
 machines because of differences in roundoff behavior.  Speed will depend
 on the hardware's floating point capacity.
 .
 A 2-D IDCT can be done by 1-D IDCT on each column followed by 1-D IDCT
 on each row (or vice versa, but it's more convenient to emit a row at
 a time).  Direct algorithms are also available, but they are much more
 complex and seem not to be any faster when reduced to code.
 .
 This implementation is based on Arai, Agui, and Nakajima's algorithm for
 scaled DCT.  Their original paper (Trans. IEICE E-71(11):1095) is in
 Japanese, but the algorithm is described in the Pennebaker & Mitchell
 JPEG textbook (see REFERENCES section in file README.ijg).  The following
 code is based directly on figure 4-8 in P&M.
 While an 8-point DCT cannot be done in less than 11 multiplies, it is
 possible to arrange the computation so that many of the multiplies are
 simple scalings of the final outputs.  These multiplies can then be
 folded into the multiplications or divisions by the JPEG quantization
 table entries.  The AA&N method leaves only 5 multiplies and 29 adds
 to be done in the DCT itself.
 The primary disadvantage of this method is that with a fixed-point
 implementation, accuracy is lost due to imprecise representation of the
 scaled quantization values.  However, that problem does not arise if
 we use floating point arithmetic.

Files:     simd/arm/jchuff.h
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2021 D. R. Commander.
           2018 Matthias Räncker.
           2020-2021 Arm Limited. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 Expanded entropy encoder object for Huffman encoding.

Files:     wrjpgcom.c
Copyright: 1994-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2014 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains a very simple stand-alone application that inserts
 user-supplied text as a COM (comment) marker in a JFIF file.
 This may be useful as an example of the minimum logic needed to parse
 JPEG markers.

Files:     jcstest.c
Copyright: 2011 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This program demonstrates how to check for the colorspace extension
 capabilities of libjpeg-turbo at both compile time and run time.

Files:     jdmainct.c
Copyright: 1994-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2010-2016 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains the main buffer controller for decompression.
 The main buffer lies between the JPEG decompressor proper and the
 post-processor; it holds downsampled data in the JPEG colorspace.
 .
 Note that this code is bypassed in raw-data mode, since the application
 supplies the equivalent of the main buffer in that case.

Files:     jdhuff.h
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2010-2021 D. R. Commander.
           2018 Matthias Räncker. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains declarations for Huffman entropy decoding routines
 that are shared between the sequential decoder (jdhuff.c) and the
 progressive decoder (jdphuff.c).  No other modules need to see these.

Files:     java/TJUnitTest.java
Copyright: 2011-2018 D. R. Commander.
License:   __UNKNOWN__
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
 this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
 this list of conditions and the following disclaimer in the documentation
 and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
 contributors may be used to endorse or promote products derived from this
 software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 This program tests the various code paths in the TurboJPEG JNI Wrapper

Files:     jdmarker.c
Copyright: 1991-1998 Thomas G. Lane. libjpeg-turbo Modifications:
           2012-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to decode JPEG datastream markers.
 Most of the complexity arises from our desire to support input
 suspension: if not all of the data for a marker is available,
 we must exit back to the application.  On resumption, we reprocess
 the marker.

Files:     jdphuff.c
Copyright: 1995-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2015-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains Huffman entropy decoding routines for progressive JPEG.
 .
 Much of the complexity here has to do with supporting input suspension.
 If the data source module demands suspension, we want to be able to back
 up to the start of the current MCU.  To do this, we copy state variables
 into local working storage, and update them back to the permanent
 storage only upon successful completion of an MCU.
 .
 NOTE: All referenced figures are from
 Recommendation ITU-T T.81 (1992) | ISO/IEC 10918-1:1994.

Files:     simd/x86_64/jsimd.c
Copyright: 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2018 D. R. Commander.
           2015-2018 Matthieu Darbois.
License:   __UNKNOWN__
 Based on the x86 SIMD extension for IJG JPEG library,
 Copyright (C) 1999-2006, MIYASAKA Masaru.
 For conditions of distribution and use, see copyright notice in jsimdext.inc
 .
 This file contains the interface between the "normal" portions
 of the library and the SIMD implementations when running on a
 64-bit x86 architecture.

Files:     jmemnobs.c
Copyright: 1992-1996 Thomas G. Lane. libjpeg-turbo Modifications:
           2017-2018 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file provides a really simple implementation of the system-
 dependent portion of the JPEG memory manager.  This implementation
 assumes that no backing-store files are needed: all required space
 can be obtained from malloc().
 This is very portable in the sense that it'll compile on almost anything,
 but you'd better have lots of main memory (or virtual memory) if you want
 to process big images.

Files:     README.ijg
Copyright: __NO_COPYRIGHT__ in: README.ijg
License:   __UNKNOWN__
 Permission is hereby granted to use, copy, modify, and distribute this
 software (or portions thereof) for any purpose, without fee, subject to these
 conditions:
 (1) If any part of the source code for this software is distributed, then this
 README file must be included, with this copyright and no-warranty notice
 unaltered; and any additions, deletions, or changes to the original files
 must be clearly indicated in accompanying documentation.
 (2) If only executable code is distributed, then the accompanying
 documentation must state that "this software is based in part on the work of
 the Independent JPEG Group".
 (3) Permission for use of this software is granted only if the user accepts
 full responsibility for any undesirable consequences; the authors accept
 NO LIABILITY for damages of any kind.
 .
 These conditions apply to any software derived from or based on the IJG code,
 not just to the unmodified library.  If you use our work, you ought to
 acknowledge us.
 .
 Permission is NOT granted for the use of any IJG author's name or company name
 in advertising or publicity relating to this software or products derived from
 it.  This software may be referred to only as "the Independent JPEG Group's
 software".
 .
 We specifically permit and encourage the use of this software as the basis of
 commercial products, provided that all warranty or liability claims are
 assumed by the product vendor.
 .
 REFERENCES

Files:     jdinput.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2010-2018 D. R. Commander.
           2015 Google, Inc. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains input control logic for the JPEG decompressor.
 These routines are concerned with controlling the decompressor's input
 processing (marker reading and coefficient decoding).  The actual input
 reading is done in jdmarker.c, jdhuff.c, and jdphuff.c.

Files:     transupp.h
Copyright: 1997-2019 Thomas G. Lane, Guido Vollbeding. libjpeg-turbo Modifications:
           2017-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains declarations for image transformation routines and
 other utility code used by the jpegtran sample application.  These are
 NOT part of the core JPEG library.  But we keep these routines separate
 from jpegtran.c to ease the task of maintaining jpegtran-like programs
 that have other user interfaces.
 .
 NOTE: all the routines declared here have very specific requirements
 about when they are to be executed during the reading and writing of the
 source and destination files.  See the comments in transupp.c, or see
 jpegtran.c for an example of correct usage.
 .
 If you happen not to want the image transform support, disable it here

Files:     jdcolext.c
Copyright: 1991-1997 Thomas G. Lane. libjpeg-turbo Modifications:
           2009-2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains output colorspace conversion routines.
 .
 This file is included by jdcolor.c
 .
 Convert some rows of samples to the output colorspace.
 .
 Note that we change from noninterleaved, one-plane-per-component format
 to interleaved-pixel format.  The output buffer is therefore three times
 as wide as the input buffer.
 A starting row offset is provided only for the input buffer.  The caller

Files:     rdbmp.c
Copyright: 1994-1996 Thomas G. Lane. Modified 2009-2017  Guido Vollbeding. libjpeg-turbo Modifications: Modified 2011  Siarhei Siamashka.
           2015-2021 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains routines to read input images in Microsoft "BMP"
 format (MS Windows 3.x, OS/2 1.x, and OS/2 2.x flavors).
 Currently, only 8-, 24-, and 32-bit images are supported, not 1-bit or
 4-bit (feeding such low-depth images into JPEG would be silly anyway).
 Also, we don't support RLE-compressed files.
 .
 These routines may need modification for non-Unix environments or
 specialized applications.  As they stand, they assume input from
 an ordinary stdio stream.  They further assume that reading begins

Files:     jidctred.c
Copyright: 1994-1998 Thomas G. Lane. libjpeg-turbo Modifications:
           2015 D. R. Commander. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains inverse-DCT routines that produce reduced-size output:
 either 4x4, 2x2, or 1x1 pixels from an 8x8 DCT block.
 .
 The implementation is based on the Loeffler, Ligtenberg and Moschytz (LL&M)
 algorithm used in jidctint.c.  We simply replace each 8-to-8 1-D IDCT step
 with an 8-to-4 step that produces the four averages of two adjacent outputs
 (or an 8-to-2 step producing two averages of four outputs, for 2x2 output).
 These steps were derived by computing the corresponding values at the end
 of the normal LL&M code, then simplifying as much as possible.
 .
 1x1 is trivial: just take the DC coefficient divided by 8.
 .
 See jidctint.c for additional comments.

Files:     jdcolor.c
Copyright: 1991-1997 Thomas G. Lane. Modified 2011  Guido Vollbeding. libjpeg-turbo Modifications:
           2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
           2009-2015 D. R. Commander.
           2013 Linaro Limited. For conditions of distribution and use, see the accompanying README.ijg file.
License:   __UNKNOWN__
 This file contains output colorspace conversion routines.

#----------------------------------------------------------------------------
# xml and html files (skipped):
#         release/Distribution.xml.in
#         java/doc/deprecated-list.html
#         java/doc/index-all.html
#         java/doc/help-doc.html
#         java/doc/index.html
#         java/doc/allclasses-noframe.html
#         java/doc/serialized-form.html
#         java/doc/allclasses-frame.html
#         java/doc/constant-values.html
#         java/doc/overview-tree.html
#         java/doc/org/libjpegturbo/turbojpeg/TJ.html
#         java/doc/org/libjpegturbo/turbojpeg/TJScalingFactor.html
#         java/doc/org/libjpegturbo/turbojpeg/TJTransform.html
#         java/doc/org/libjpegturbo/turbojpeg/TJCompressor.html
#         java/doc/org/libjpegturbo/turbojpeg/package-summary.html
#         java/doc/org/libjpegturbo/turbojpeg/TJDecompressor.html
#         java/doc/org/libjpegturbo/turbojpeg/YUVImage.html
#         java/doc/org/libjpegturbo/turbojpeg/package-tree.html
#         java/doc/org/libjpegturbo/turbojpeg/TJCustomFilter.html
#         java/doc/org/libjpegturbo/turbojpeg/package-frame.html
#         java/doc/org/libjpegturbo/turbojpeg/TJTransformer.html
#         java/doc/org/libjpegturbo/turbojpeg/TJException.html
#         doc/html/doxygen.svg
#         doc/html/structtjtransform.html
#         doc/html/classes.html
#         doc/html/functions.html
#         doc/html/index.html
#         doc/html/annotated.html
#         doc/html/modules.html
#         doc/html/functions_vars.html
#         doc/html/structtjregion.html
#         doc/html/group___turbo_j_p_e_g.html
#         doc/html/structtjscalingfactor.html
#         doc/html/search/variables_7.html
#         doc/html/search/all_0.html
#         doc/html/search/variables_2.html
#         doc/html/search/variables_3.html
#         doc/html/search/all_6.html
#         doc/html/search/close.svg
#         doc/html/search/enums_0.html
#         doc/html/search/variables_8.html
#         doc/html/search/variables_6.html
#         doc/html/search/all_7.html
#         doc/html/search/classes_0.html
#         doc/html/search/typedefs_0.html
#         doc/html/search/variables_1.html
#         doc/html/search/functions_0.html
#         doc/html/search/all_3.html
#         doc/html/search/nomatches.html
#         doc/html/search/all_4.html
#         doc/html/search/mag_sel.svg
#         doc/html/search/all_2.html
#         doc/html/search/groups_0.html
#         doc/html/search/all_5.html
#         doc/html/search/variables_5.html
#         doc/html/search/all_8.html
#         doc/html/search/variables_0.html
#         doc/html/search/all_1.html
#         doc/html/search/variables_9.html
#         doc/html/search/variables_4.html
#         doc/html/search/all_9.html
#         doc/html/search/enumvalues_0.html

#----------------------------------------------------------------------------
# Files marked as NO_LICENSE_TEXT_FOUND may be covered by the following
# license/copyright files.

#----------------------------------------------------------------------------
# License file: LICENSE.md
 libjpeg-turbo Licenses
 ======================
 .
 libjpeg-turbo is covered by three compatible BSD-style open source licenses:
 .
 - The IJG (Independent JPEG Group) License, which is listed in
   [README.ijg](README.ijg)
 .
   This license applies to the libjpeg API library and associated programs
   (any code inherited from libjpeg, and any modifications to that code.)
 .
 - The Modified (3-clause) BSD License, which is listed below
 .
   This license covers the TurboJPEG API library and associated programs, as
   well as the build system.
 .
 - The [zlib License](https://opensource.org/licenses/Zlib)
 .
   This license is a subset of the other two, and it covers the libjpeg-turbo
   SIMD extensions.
 .
 .
 Complying with the libjpeg-turbo Licenses
 =========================================
 .
 This section provides a roll-up of the libjpeg-turbo licensing terms, to the
 best of our understanding.
 .
 1.  If you are distributing a modified version of the libjpeg-turbo source,
     then:
 .
     1.  You cannot alter or remove any existing copyright or license notices
         from the source.
 .
         **Origin**
         - Clause 1 of the IJG License
         - Clause 1 of the Modified BSD License
         - Clauses 1 and 3 of the zlib License
 .
     2.  You must add your own copyright notice to the header of each source
         file you modified, so others can tell that you modified that file (if
         there is not an existing copyright header in that file, then you can
         simply add a notice stating that you modified the file.)
 .
         **Origin**
         - Clause 1 of the IJG License
         - Clause 2 of the zlib License
 .
     3.  You must include the IJG README file, and you must not alter any of the
         copyright or license text in that file.
 .
         **Origin**
         - Clause 1 of the IJG License
 .
 2.  If you are distributing only libjpeg-turbo binaries without the source, or
     if you are distributing an application that statically links with
     libjpeg-turbo, then:
 .
     1.  Your product documentation must include a message stating:
 .
         This software is based in part on the work of the Independent JPEG
         Group.
 .
         **Origin**
         - Clause 2 of the IJG license
 .
     2.  If your binary distribution includes or uses the TurboJPEG API, then
         your product documentation must include the text of the Modified BSD
         License (see below.)
 .
         **Origin**
         - Clause 2 of the Modified BSD License
 .
 3.  You cannot use the name of the IJG or The libjpeg-turbo Project or the
     contributors thereof in advertising, publicity, etc.
 .
     **Origin**
     - IJG License
     - Clause 3 of the Modified BSD License
 .
 4.  The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be
     free of defects, nor do we accept any liability for undesirable
     consequences resulting from your use of the software.
 .
     **Origin**
     - IJG License
     - Modified BSD License
     - zlib License
 .
 .
 The Modified (3-clause) BSD License
 ===================================
 .
 Copyright (C)2009-2021 D. R. Commander.  All Rights Reserved.<br>
 Copyright (C)2015 Viktor Szathmáry.  All Rights Reserved.
 .
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 - Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
 - Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 - Neither the name of the libjpeg-turbo Project nor the names of its
   contributors may be used to endorse or promote products derived from this
   software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 .
 .
 Why Three Licenses?
 ===================
 .
 The zlib License could have been used instead of the Modified (3-clause) BSD
 License, and since the IJG License effectively subsumes the distribution
 conditions of the zlib License, this would have effectively placed
 libjpeg-turbo binary distributions under the IJG License.  However, the IJG
 License specifically refers to the Independent JPEG Group and does not extend
 attribution and endorsement protections to other entities.  Thus, it was
 desirable to choose a license that granted us the same protections for new code
 that were granted to the IJG for code derived from their software.
