The Independent JPEG Group's JPEG software v9c
Import libjpeg 9c from https://www.ijg.org/files/jpegsrc.v9c.tar.gz
This commit is contained in:
parent
a560e4b423
commit
10fdbde7bf
24
Makefile.am
24
Makefile.am
@ -35,15 +35,15 @@ DOCS= README install.txt usage.txt wizard.txt example.c libjpeg.txt \
|
|||||||
# Makefiles for various systems
|
# Makefiles for various systems
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
|
|
||||||
# Configuration files
|
# Configuration files
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
@ -55,7 +55,7 @@ CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
|||||||
missing ar-lib
|
missing ar-lib
|
||||||
|
|
||||||
# Miscellaneous support files
|
# Miscellaneous support files
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
|
|
||||||
# Test support files
|
# Test support files
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
@ -103,6 +103,10 @@ noinst_HEADERS = $(OTHERINCLUDES)
|
|||||||
EXTRA_DIST = $(DOCS) $(DISTMANS) $(MKFILES) $(CONFIGFILES) $(SYSDEPSOURCES) \
|
EXTRA_DIST = $(DOCS) $(DISTMANS) $(MKFILES) $(CONFIGFILES) $(SYSDEPSOURCES) \
|
||||||
$(OTHERFILES) $(TESTFILES)
|
$(OTHERFILES) $(TESTFILES)
|
||||||
|
|
||||||
|
# pkg-config file
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
nodist_pkgconfig_DATA = libjpeg.pc
|
||||||
|
|
||||||
# Files to be cleaned
|
# Files to be cleaned
|
||||||
CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \
|
CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \
|
||||||
testoutt.jpg
|
testoutt.jpg
|
||||||
|
85
Makefile.in
85
Makefile.in
@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__is_gnu_make = { \
|
am__is_gnu_make = { \
|
||||||
if test -z '$(MAKELEVEL)'; then \
|
if test -z '$(MAKELEVEL)'; then \
|
||||||
@ -111,7 +112,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|||||||
configure.lineno config.status.lineno
|
configure.lineno config.status.lineno
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
CONFIG_HEADER = jconfig.h
|
CONFIG_HEADER = jconfig.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES = libjpeg.pc
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
am__vpath_adj = case $$p in \
|
am__vpath_adj = case $$p in \
|
||||||
@ -141,7 +142,8 @@ am__uninstall_files_from_dir = { \
|
|||||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||||
}
|
}
|
||||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
|
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
|
||||||
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)"
|
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" \
|
||||||
|
"$(DESTDIR)$(includedir)"
|
||||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
libjpeg_la_LIBADD =
|
libjpeg_la_LIBADD =
|
||||||
am__objects_1 = jaricom.lo jcapimin.lo jcapistd.lo jcarith.lo \
|
am__objects_1 = jaricom.lo jcapimin.lo jcapistd.lo jcarith.lo \
|
||||||
@ -228,6 +230,7 @@ am__can_run_installinfo = \
|
|||||||
man1dir = $(mandir)/man1
|
man1dir = $(mandir)/man1
|
||||||
NROFF = nroff
|
NROFF = nroff
|
||||||
MANS = $(man_MANS)
|
MANS = $(man_MANS)
|
||||||
|
DATA = $(nodist_pkgconfig_DATA)
|
||||||
HEADERS = $(include_HEADERS) $(noinst_HEADERS)
|
HEADERS = $(include_HEADERS) $(noinst_HEADERS)
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||||
$(LISP)jconfig.cfg
|
$(LISP)jconfig.cfg
|
||||||
@ -408,15 +411,15 @@ DOCS = README install.txt usage.txt wizard.txt example.c libjpeg.txt \
|
|||||||
# Makefiles for various systems
|
# Makefiles for various systems
|
||||||
MKFILES = configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES = configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
|
|
||||||
|
|
||||||
# Configuration files
|
# Configuration files
|
||||||
@ -431,7 +434,7 @@ CONFIGUREFILES = config.guess config.sub install-sh ltmain.sh depcomp \
|
|||||||
|
|
||||||
|
|
||||||
# Miscellaneous support files
|
# Miscellaneous support files
|
||||||
OTHERFILES = jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES = jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
|
|
||||||
# Test support files
|
# Test support files
|
||||||
TESTFILES = testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES = testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
@ -476,6 +479,10 @@ EXTRA_DIST = $(DOCS) $(DISTMANS) $(MKFILES) $(CONFIGFILES) $(SYSDEPSOURCES) \
|
|||||||
$(OTHERFILES) $(TESTFILES)
|
$(OTHERFILES) $(TESTFILES)
|
||||||
|
|
||||||
|
|
||||||
|
# pkg-config file
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
nodist_pkgconfig_DATA = libjpeg.pc
|
||||||
|
|
||||||
# Files to be cleaned
|
# Files to be cleaned
|
||||||
CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \
|
CLEANFILES = testout.ppm testout.bmp testout.jpg testoutp.ppm testoutp.jpg \
|
||||||
testoutt.jpg
|
testoutt.jpg
|
||||||
@ -533,6 +540,8 @@ $(srcdir)/jconfig.cfg: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|||||||
|
|
||||||
distclean-hdr:
|
distclean-hdr:
|
||||||
-rm -f jconfig.h stamp-h1
|
-rm -f jconfig.h stamp-h1
|
||||||
|
libjpeg.pc: $(top_builddir)/config.status $(srcdir)/libjpeg.pc.in
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||||
|
|
||||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
@ -785,6 +794,27 @@ uninstall-man1:
|
|||||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
|
||||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||||
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
|
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
|
||||||
|
install-nodist_pkgconfigDATA: $(nodist_pkgconfig_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(nodist_pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
if test -n "$$list"; then \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||||
|
fi; \
|
||||||
|
for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
echo "$$d$$p"; \
|
||||||
|
done | $(am__base_list) | \
|
||||||
|
while read files; do \
|
||||||
|
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||||
|
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-nodist_pkgconfigDATA:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(nodist_pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||||
|
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||||
|
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||||
install-includeHEADERS: $(include_HEADERS)
|
install-includeHEADERS: $(include_HEADERS)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
|
||||||
@ -868,12 +898,12 @@ distclean-tags:
|
|||||||
check-am: all-am
|
check-am: all-am
|
||||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||||
check: check-am
|
check: check-am
|
||||||
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(MANS) $(HEADERS) \
|
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(MANS) $(DATA) $(HEADERS) \
|
||||||
jconfig.h
|
jconfig.h
|
||||||
install-binPROGRAMS: install-libLTLIBRARIES
|
install-binPROGRAMS: install-libLTLIBRARIES
|
||||||
|
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)"; do \
|
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
|
||||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
done
|
done
|
||||||
install: install-am
|
install: install-am
|
||||||
@ -931,7 +961,8 @@ info: info-am
|
|||||||
|
|
||||||
info-am:
|
info-am:
|
||||||
|
|
||||||
install-data-am: install-data-local install-includeHEADERS install-man
|
install-data-am: install-data-local install-includeHEADERS install-man \
|
||||||
|
install-nodist_pkgconfigDATA
|
||||||
|
|
||||||
install-dvi: install-dvi-am
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
@ -980,7 +1011,8 @@ ps: ps-am
|
|||||||
ps-am:
|
ps-am:
|
||||||
|
|
||||||
uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
|
uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
|
||||||
uninstall-libLTLIBRARIES uninstall-local uninstall-man
|
uninstall-libLTLIBRARIES uninstall-local uninstall-man \
|
||||||
|
uninstall-nodist_pkgconfigDATA
|
||||||
|
|
||||||
uninstall-man: uninstall-man1
|
uninstall-man: uninstall-man1
|
||||||
|
|
||||||
@ -996,14 +1028,15 @@ uninstall-man: uninstall-man1
|
|||||||
install-dvi-am install-exec install-exec-am install-html \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-html-am install-includeHEADERS install-info \
|
install-html-am install-includeHEADERS install-info \
|
||||||
install-info-am install-libLTLIBRARIES install-man \
|
install-info-am install-libLTLIBRARIES install-man \
|
||||||
install-man1 install-pdf install-pdf-am install-ps \
|
install-man1 install-nodist_pkgconfigDATA install-pdf \
|
||||||
install-ps-am install-strip installcheck installcheck-am \
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
installdirs maintainer-clean maintainer-clean-generic \
|
installcheck installcheck-am installdirs maintainer-clean \
|
||||||
mostlyclean mostlyclean-compile mostlyclean-generic \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
uninstall-am uninstall-binPROGRAMS uninstall-includeHEADERS \
|
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
|
||||||
uninstall-libLTLIBRARIES uninstall-local uninstall-man \
|
uninstall-includeHEADERS uninstall-libLTLIBRARIES \
|
||||||
uninstall-man1
|
uninstall-local uninstall-man uninstall-man1 \
|
||||||
|
uninstall-nodist_pkgconfigDATA
|
||||||
|
|
||||||
.PRECIOUS: Makefile
|
.PRECIOUS: Makefile
|
||||||
|
|
||||||
|
15
README
15
README
@ -1,7 +1,7 @@
|
|||||||
The Independent JPEG Group's JPEG software
|
The Independent JPEG Group's JPEG software
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
README for release 9b of 17-Jan-2016
|
README for release 9c of 14-Jan-2018
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
This distribution contains the ninth public release of the Independent JPEG
|
This distribution contains the ninth public release of the Independent JPEG
|
||||||
@ -115,7 +115,7 @@ with respect to this software, its quality, accuracy, merchantability, or
|
|||||||
fitness for a particular purpose. This software is provided "AS IS", and you,
|
fitness for a particular purpose. This software is provided "AS IS", and you,
|
||||||
its user, assume the entire risk as to its quality and accuracy.
|
its user, assume the entire risk as to its quality and accuracy.
|
||||||
|
|
||||||
This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding.
|
This software is copyright (C) 1991-2018, Thomas G. Lane, Guido Vollbeding.
|
||||||
All Rights Reserved except as specified below.
|
All Rights Reserved except as specified below.
|
||||||
|
|
||||||
Permission is hereby granted to use, copy, modify, and distribute this
|
Permission is hereby granted to use, copy, modify, and distribute this
|
||||||
@ -246,8 +246,8 @@ ARCHIVE LOCATIONS
|
|||||||
The "official" archive site for this software is www.ijg.org.
|
The "official" archive site for this software is www.ijg.org.
|
||||||
The most recent released version can always be found there in
|
The most recent released version can always be found there in
|
||||||
directory "files". This particular version will be archived as
|
directory "files". This particular version will be archived as
|
||||||
http://www.ijg.org/files/jpegsrc.v9b.tar.gz, and in Windows-compatible
|
http://www.ijg.org/files/jpegsrc.v9c.tar.gz, and in Windows-compatible
|
||||||
"zip" archive format as http://www.ijg.org/files/jpegsr9b.zip.
|
"zip" archive format as http://www.ijg.org/files/jpegsr9c.zip.
|
||||||
|
|
||||||
The JPEG FAQ (Frequently Asked Questions) article is a source of some
|
The JPEG FAQ (Frequently Asked Questions) article is a source of some
|
||||||
general information about JPEG.
|
general information about JPEG.
|
||||||
@ -293,8 +293,11 @@ communication about JPEG configuration in Sigma Photo Pro software.
|
|||||||
|
|
||||||
Thank to Andrew Finkenstadt for hosting the ijg.org site.
|
Thank to Andrew Finkenstadt for hosting the ijg.org site.
|
||||||
|
|
||||||
Last but not least special thank to Thomas G. Lane for the original
|
Thank to Thomas G. Lane for the original design and development of
|
||||||
design and development of this singular software package.
|
this singular software package.
|
||||||
|
|
||||||
|
Thank to Lars Goehler, Andreas Heinecke, Sebastian Fuss, Yvonne Roebert,
|
||||||
|
Andrej Werner, and Ulf-Dietrich Braumann for support and public relations.
|
||||||
|
|
||||||
|
|
||||||
FILE FORMAT WARS
|
FILE FORMAT WARS
|
||||||
|
48
aclocal.m4
vendored
48
aclocal.m4
vendored
@ -1,6 +1,6 @@
|
|||||||
# generated automatically by aclocal 1.15 -*- Autoconf -*-
|
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9049,7 +9049,7 @@ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
|||||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
||||||
|
|
||||||
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9064,7 +9064,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
|||||||
[am__api_version='1.15'
|
[am__api_version='1.15'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
dnl require some minimum version. Point them to the right macro.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.15], [],
|
m4_if([$1], [1.15.1], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -9080,12 +9080,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.15])dnl
|
[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9147,7 +9147,7 @@ AC_SUBST([AR])dnl
|
|||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9199,7 +9199,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
|||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9230,7 +9230,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9421,7 +9421,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
|||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9497,7 +9497,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9694,7 +9694,7 @@ for _am_header in $config_headers :; do
|
|||||||
done
|
done
|
||||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9715,7 +9715,7 @@ if test x"${install_sh+set}" != xset; then
|
|||||||
fi
|
fi
|
||||||
AC_SUBST([install_sh])])
|
AC_SUBST([install_sh])])
|
||||||
|
|
||||||
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9737,7 +9737,7 @@ AC_SUBST([am__leading_dot])])
|
|||||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||||
# From Jim Meyering
|
# From Jim Meyering
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9772,7 +9772,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
|||||||
|
|
||||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9822,7 +9822,7 @@ rm -f confinc confmf
|
|||||||
|
|
||||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9861,7 +9861,7 @@ fi
|
|||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9890,7 +9890,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
|||||||
AC_DEFUN([_AM_IF_OPTION],
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9937,7 +9937,7 @@ AC_LANG_POP([C])])
|
|||||||
# For backward compatibility.
|
# For backward compatibility.
|
||||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -9956,7 +9956,7 @@ AC_DEFUN([AM_RUN_LOG],
|
|||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -10037,7 +10037,7 @@ AC_CONFIG_COMMANDS_PRE(
|
|||||||
rm -f conftest.file
|
rm -f conftest.file
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -10097,7 +10097,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
|||||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -10125,7 +10125,7 @@ fi
|
|||||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@ -10144,7 +10144,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
|||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
2
ar-lib
2
ar-lib
@ -4,7 +4,7 @@
|
|||||||
me=ar-lib
|
me=ar-lib
|
||||||
scriptversion=2012-03-01.08; # UTC
|
scriptversion=2012-03-01.08; # UTC
|
||||||
|
|
||||||
# Copyright (C) 2010-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||||
# Written by Peter Rosin <peda@lysator.liu.se>.
|
# Written by Peter Rosin <peda@lysator.liu.se>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
11
cderror.h
11
cderror.h
@ -2,7 +2,7 @@
|
|||||||
* cderror.h
|
* cderror.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1997, Thomas G. Lane.
|
* Copyright (C) 1994-1997, Thomas G. Lane.
|
||||||
* Modified 2009 by Guido Vollbeding.
|
* Modified 2009-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -41,16 +41,16 @@ JMESSAGE(JMSG_FIRSTADDONCODE=1000, NULL) /* Must be first entry! */
|
|||||||
|
|
||||||
#ifdef BMP_SUPPORTED
|
#ifdef BMP_SUPPORTED
|
||||||
JMESSAGE(JERR_BMP_BADCMAP, "Unsupported BMP colormap format")
|
JMESSAGE(JERR_BMP_BADCMAP, "Unsupported BMP colormap format")
|
||||||
JMESSAGE(JERR_BMP_BADDEPTH, "Only 8- and 24-bit BMP files are supported")
|
JMESSAGE(JERR_BMP_BADDEPTH, "Only 8-, 24-, and 32-bit BMP files are supported")
|
||||||
JMESSAGE(JERR_BMP_BADHEADER, "Invalid BMP file: bad header length")
|
JMESSAGE(JERR_BMP_BADHEADER, "Invalid BMP file: bad header length")
|
||||||
JMESSAGE(JERR_BMP_BADPLANES, "Invalid BMP file: biPlanes not equal to 1")
|
JMESSAGE(JERR_BMP_BADPLANES, "Invalid BMP file: biPlanes not equal to 1")
|
||||||
JMESSAGE(JERR_BMP_COLORSPACE, "BMP output must be grayscale or RGB")
|
JMESSAGE(JERR_BMP_COLORSPACE, "BMP output must be grayscale or RGB")
|
||||||
JMESSAGE(JERR_BMP_COMPRESSED, "Sorry, compressed BMPs not yet supported")
|
JMESSAGE(JERR_BMP_COMPRESSED, "Sorry, compressed BMPs not yet supported")
|
||||||
JMESSAGE(JERR_BMP_EMPTY, "Empty BMP image")
|
|
||||||
JMESSAGE(JERR_BMP_NOT, "Not a BMP file - does not start with BM")
|
JMESSAGE(JERR_BMP_NOT, "Not a BMP file - does not start with BM")
|
||||||
JMESSAGE(JTRC_BMP, "%ux%u 24-bit BMP image")
|
JMESSAGE(JERR_BMP_OUTOFRANGE, "Numeric value out of range in BMP file")
|
||||||
|
JMESSAGE(JTRC_BMP, "%ux%u %d-bit BMP image")
|
||||||
JMESSAGE(JTRC_BMP_MAPPED, "%ux%u 8-bit colormapped BMP image")
|
JMESSAGE(JTRC_BMP_MAPPED, "%ux%u 8-bit colormapped BMP image")
|
||||||
JMESSAGE(JTRC_BMP_OS2, "%ux%u 24-bit OS2 BMP image")
|
JMESSAGE(JTRC_BMP_OS2, "%ux%u %d-bit OS2 BMP image")
|
||||||
JMESSAGE(JTRC_BMP_OS2_MAPPED, "%ux%u 8-bit colormapped OS2 BMP image")
|
JMESSAGE(JTRC_BMP_OS2_MAPPED, "%ux%u 8-bit colormapped OS2 BMP image")
|
||||||
#endif /* BMP_SUPPORTED */
|
#endif /* BMP_SUPPORTED */
|
||||||
|
|
||||||
@ -75,6 +75,7 @@ JMESSAGE(JWRN_GIF_NOMOREDATA, "Ran out of GIF bits")
|
|||||||
JMESSAGE(JERR_PPM_COLORSPACE, "PPM output must be grayscale or RGB")
|
JMESSAGE(JERR_PPM_COLORSPACE, "PPM output must be grayscale or RGB")
|
||||||
JMESSAGE(JERR_PPM_NONNUMERIC, "Nonnumeric data in PPM file")
|
JMESSAGE(JERR_PPM_NONNUMERIC, "Nonnumeric data in PPM file")
|
||||||
JMESSAGE(JERR_PPM_NOT, "Not a PPM/PGM file")
|
JMESSAGE(JERR_PPM_NOT, "Not a PPM/PGM file")
|
||||||
|
JMESSAGE(JERR_PPM_OUTOFRANGE, "Numeric value out of range in PPM file")
|
||||||
JMESSAGE(JTRC_PGM, "%ux%u PGM image")
|
JMESSAGE(JTRC_PGM, "%ux%u PGM image")
|
||||||
JMESSAGE(JTRC_PGM_TEXT, "%ux%u text PGM image")
|
JMESSAGE(JTRC_PGM_TEXT, "%ux%u text PGM image")
|
||||||
JMESSAGE(JTRC_PPM, "%ux%u PPM image")
|
JMESSAGE(JTRC_PPM, "%ux%u PPM image")
|
||||||
|
21
change.log
21
change.log
@ -1,6 +1,27 @@
|
|||||||
CHANGE LOG for Independent JPEG Group's JPEG software
|
CHANGE LOG for Independent JPEG Group's JPEG software
|
||||||
|
|
||||||
|
|
||||||
|
Version 9c 14-Jan-2018
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
jpegtran: add an option to the -wipe switch to fill the region
|
||||||
|
with the average of adjacent blocks, instead of gray out.
|
||||||
|
Thank to Caitlyn Feddock and Maddie Ziegler for inspiration.
|
||||||
|
|
||||||
|
Make range extension bits adjustable (in jpegint.h).
|
||||||
|
Thank to Robin Watts for suggestion.
|
||||||
|
|
||||||
|
Provide macros for fflush() and ferror() in jinclude.h in order
|
||||||
|
to facilitate adaption by applications using an own FILE class.
|
||||||
|
Thank to Gerhard Huber for suggestion.
|
||||||
|
|
||||||
|
Add libjpeg pkg-config file. Thank to Mark Lavi, Vincent Torri,
|
||||||
|
Patrick McMunn, and Huw Davies for suggestion.
|
||||||
|
|
||||||
|
Add sanity checks in cjpeg image reader modules.
|
||||||
|
Thank to Bingchang, Liu for reports.
|
||||||
|
|
||||||
|
|
||||||
Version 9b 17-Jan-2016
|
Version 9b 17-Jan-2016
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
9
compile
9
compile
@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Wrapper for compilers which do not understand '-c -o'.
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
scriptversion=2012-10-14.11; # UTC
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -255,7 +255,8 @@ EOF
|
|||||||
echo "compile $scriptversion"
|
echo "compile $scriptversion"
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||||
|
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||||
func_cl_wrapper "$@" # Doesn't return...
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -342,6 +343,6 @@ exit $ret
|
|||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
188
config.guess
vendored
188
config.guess
vendored
@ -1,8 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
# Copyright 1992-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2014-11-04'
|
timestamp='2017-05-27'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@ -27,7 +27,7 @@ timestamp='2014-11-04'
|
|||||||
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
||||||
#
|
#
|
||||||
# You can get the latest version of this script from:
|
# You can get the latest version of this script from:
|
||||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||||
#
|
#
|
||||||
# Please send patches to <config-patches@gnu.org>.
|
# Please send patches to <config-patches@gnu.org>.
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ version="\
|
|||||||
GNU config.guess ($timestamp)
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
Originally written by Per Bothner.
|
Originally written by Per Bothner.
|
||||||
Copyright 1992-2014 Free Software Foundation, Inc.
|
Copyright 1992-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
# Note: NetBSD doesn't particularly care about the vendor
|
# Note: NetBSD doesn't particularly care about the vendor
|
||||||
# portion of the name. We always set it to "unknown".
|
# portion of the name. We always set it to "unknown".
|
||||||
sysctl="sysctl -n hw.machine_arch"
|
sysctl="sysctl -n hw.machine_arch"
|
||||||
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
|
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
|
||||||
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
|
/sbin/$sysctl 2>/dev/null || \
|
||||||
|
/usr/sbin/$sysctl 2>/dev/null || \
|
||||||
|
echo unknown)`
|
||||||
case "${UNAME_MACHINE_ARCH}" in
|
case "${UNAME_MACHINE_ARCH}" in
|
||||||
armeb) machine=armeb-unknown ;;
|
armeb) machine=armeb-unknown ;;
|
||||||
arm*) machine=arm-unknown ;;
|
arm*) machine=arm-unknown ;;
|
||||||
sh3el) machine=shl-unknown ;;
|
sh3el) machine=shl-unknown ;;
|
||||||
sh3eb) machine=sh-unknown ;;
|
sh3eb) machine=sh-unknown ;;
|
||||||
sh5el) machine=sh5le-unknown ;;
|
sh5el) machine=sh5le-unknown ;;
|
||||||
|
earmv*)
|
||||||
|
arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
|
||||||
|
endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
|
||||||
|
machine=${arch}${endian}-unknown
|
||||||
|
;;
|
||||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||||
esac
|
esac
|
||||||
# The Operating System including object format, if it has switched
|
# The Operating System including object format, if it has switched
|
||||||
# to ELF recently, or will in the future.
|
# to ELF recently (or will in the future) and ABI.
|
||||||
case "${UNAME_MACHINE_ARCH}" in
|
case "${UNAME_MACHINE_ARCH}" in
|
||||||
|
earm*)
|
||||||
|
os=netbsdelf
|
||||||
|
;;
|
||||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
os=netbsd
|
os=netbsd
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
# Determine ABI tags.
|
||||||
|
case "${UNAME_MACHINE_ARCH}" in
|
||||||
|
earm*)
|
||||||
|
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
|
||||||
|
abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# The OS release
|
# The OS release
|
||||||
# Debian GNU/NetBSD machines have a different userland, and
|
# Debian GNU/NetBSD machines have a different userland, and
|
||||||
# thus, need a distinct triplet. However, they do not need
|
# thus, need a distinct triplet. However, they do not need
|
||||||
@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
release='-gnu'
|
release='-gnu'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
||||||
# contains redundant information, the shorter form:
|
# contains redundant information, the shorter form:
|
||||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
||||||
echo "${machine}-${os}${release}"
|
echo "${machine}-${os}${release}${abi}"
|
||||||
exit ;;
|
exit ;;
|
||||||
*:Bitrig:*:*)
|
*:Bitrig:*:*)
|
||||||
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
||||||
@ -223,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
||||||
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
*:LibertyBSD:*:*)
|
||||||
|
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
|
||||||
|
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
*:ekkoBSD:*:*)
|
*:ekkoBSD:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -235,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
*:MirBSD:*:*)
|
*:MirBSD:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
*:Sortix:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-sortix
|
||||||
|
exit ;;
|
||||||
alpha:OSF1:*:*)
|
alpha:OSF1:*:*)
|
||||||
case $UNAME_RELEASE in
|
case $UNAME_RELEASE in
|
||||||
*4.0)
|
*4.0)
|
||||||
@ -251,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
|
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
|
||||||
case "$ALPHA_CPU_TYPE" in
|
case "$ALPHA_CPU_TYPE" in
|
||||||
"EV4 (21064)")
|
"EV4 (21064)")
|
||||||
UNAME_MACHINE="alpha" ;;
|
UNAME_MACHINE=alpha ;;
|
||||||
"EV4.5 (21064)")
|
"EV4.5 (21064)")
|
||||||
UNAME_MACHINE="alpha" ;;
|
UNAME_MACHINE=alpha ;;
|
||||||
"LCA4 (21066/21068)")
|
"LCA4 (21066/21068)")
|
||||||
UNAME_MACHINE="alpha" ;;
|
UNAME_MACHINE=alpha ;;
|
||||||
"EV5 (21164)")
|
"EV5 (21164)")
|
||||||
UNAME_MACHINE="alphaev5" ;;
|
UNAME_MACHINE=alphaev5 ;;
|
||||||
"EV5.6 (21164A)")
|
"EV5.6 (21164A)")
|
||||||
UNAME_MACHINE="alphaev56" ;;
|
UNAME_MACHINE=alphaev56 ;;
|
||||||
"EV5.6 (21164PC)")
|
"EV5.6 (21164PC)")
|
||||||
UNAME_MACHINE="alphapca56" ;;
|
UNAME_MACHINE=alphapca56 ;;
|
||||||
"EV5.7 (21164PC)")
|
"EV5.7 (21164PC)")
|
||||||
UNAME_MACHINE="alphapca57" ;;
|
UNAME_MACHINE=alphapca57 ;;
|
||||||
"EV6 (21264)")
|
"EV6 (21264)")
|
||||||
UNAME_MACHINE="alphaev6" ;;
|
UNAME_MACHINE=alphaev6 ;;
|
||||||
"EV6.7 (21264A)")
|
"EV6.7 (21264A)")
|
||||||
UNAME_MACHINE="alphaev67" ;;
|
UNAME_MACHINE=alphaev67 ;;
|
||||||
"EV6.8CB (21264C)")
|
"EV6.8CB (21264C)")
|
||||||
UNAME_MACHINE="alphaev68" ;;
|
UNAME_MACHINE=alphaev68 ;;
|
||||||
"EV6.8AL (21264B)")
|
"EV6.8AL (21264B)")
|
||||||
UNAME_MACHINE="alphaev68" ;;
|
UNAME_MACHINE=alphaev68 ;;
|
||||||
"EV6.8CX (21264D)")
|
"EV6.8CX (21264D)")
|
||||||
UNAME_MACHINE="alphaev68" ;;
|
UNAME_MACHINE=alphaev68 ;;
|
||||||
"EV6.9A (21264/EV69A)")
|
"EV6.9A (21264/EV69A)")
|
||||||
UNAME_MACHINE="alphaev69" ;;
|
UNAME_MACHINE=alphaev69 ;;
|
||||||
"EV7 (21364)")
|
"EV7 (21364)")
|
||||||
UNAME_MACHINE="alphaev7" ;;
|
UNAME_MACHINE=alphaev7 ;;
|
||||||
"EV7.9 (21364A)")
|
"EV7.9 (21364A)")
|
||||||
UNAME_MACHINE="alphaev79" ;;
|
UNAME_MACHINE=alphaev79 ;;
|
||||||
esac
|
esac
|
||||||
# A Pn.n version is a patched version.
|
# A Pn.n version is a patched version.
|
||||||
# A Vn.n version is a released version.
|
# A Vn.n version is a released version.
|
||||||
# A Tn.n version is a released field test version.
|
# A Tn.n version is a released field test version.
|
||||||
# A Xn.n version is an unreleased experimental baselevel.
|
# A Xn.n version is an unreleased experimental baselevel.
|
||||||
# 1.2 uses "1.2" for uname -r.
|
# 1.2 uses "1.2" for uname -r.
|
||||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
||||||
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
||||||
exitcode=$?
|
exitcode=$?
|
||||||
trap '' 0
|
trap '' 0
|
||||||
@ -359,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
exit ;;
|
exit ;;
|
||||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
SUN_ARCH="i386"
|
SUN_ARCH=i386
|
||||||
# If there is a compiler, see if it is configured for 64-bit objects.
|
# If there is a compiler, see if it is configured for 64-bit objects.
|
||||||
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
||||||
# This test works for both compilers.
|
# This test works for both compilers.
|
||||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
||||||
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
grep IS_64BIT_ARCH >/dev/null
|
grep IS_64BIT_ARCH >/dev/null
|
||||||
then
|
then
|
||||||
SUN_ARCH="x86_64"
|
SUN_ARCH=x86_64
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
@ -393,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
exit ;;
|
exit ;;
|
||||||
sun*:*:4.2BSD:*)
|
sun*:*:4.2BSD:*)
|
||||||
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
|
||||||
case "`/bin/arch`" in
|
case "`/bin/arch`" in
|
||||||
sun3)
|
sun3)
|
||||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||||
@ -618,13 +642,13 @@ EOF
|
|||||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||||
case "${sc_cpu_version}" in
|
case "${sc_cpu_version}" in
|
||||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
|
||||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
|
||||||
532) # CPU_PA_RISC2_0
|
532) # CPU_PA_RISC2_0
|
||||||
case "${sc_kernel_bits}" in
|
case "${sc_kernel_bits}" in
|
||||||
32) HP_ARCH="hppa2.0n" ;;
|
32) HP_ARCH=hppa2.0n ;;
|
||||||
64) HP_ARCH="hppa2.0w" ;;
|
64) HP_ARCH=hppa2.0w ;;
|
||||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
|
||||||
esac ;;
|
esac ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@ -663,11 +687,11 @@ EOF
|
|||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
(CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||||
fi ;;
|
fi ;;
|
||||||
esac
|
esac
|
||||||
if [ ${HP_ARCH} = "hppa2.0w" ]
|
if [ ${HP_ARCH} = hppa2.0w ]
|
||||||
then
|
then
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
|
|
||||||
@ -680,12 +704,12 @@ EOF
|
|||||||
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
|
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
|
||||||
# => hppa64-hp-hpux11.23
|
# => hppa64-hp-hpux11.23
|
||||||
|
|
||||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||||
grep -q __LP64__
|
grep -q __LP64__
|
||||||
then
|
then
|
||||||
HP_ARCH="hppa2.0w"
|
HP_ARCH=hppa2.0w
|
||||||
else
|
else
|
||||||
HP_ARCH="hppa64"
|
HP_ARCH=hppa64
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||||
@ -790,14 +814,14 @@ EOF
|
|||||||
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit ;;
|
exit ;;
|
||||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
5000:UNIX_System_V:4.*:*)
|
5000:UNIX_System_V:4.*:*)
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
|
||||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||||
@ -813,10 +837,11 @@ EOF
|
|||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||||
case ${UNAME_PROCESSOR} in
|
case ${UNAME_PROCESSOR} in
|
||||||
amd64)
|
amd64)
|
||||||
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
UNAME_PROCESSOR=x86_64 ;;
|
||||||
*)
|
i386)
|
||||||
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
UNAME_PROCESSOR=i586 ;;
|
||||||
esac
|
esac
|
||||||
|
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:CYGWIN*:*)
|
i*:CYGWIN*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-cygwin
|
echo ${UNAME_MACHINE}-pc-cygwin
|
||||||
@ -879,7 +904,7 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
*:GNU/*:*:*)
|
*:GNU/*:*:*)
|
||||||
# other systems with GNU libc and userland
|
# other systems with GNU libc and userland
|
||||||
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:Minix:*:*)
|
i*86:Minix:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
echo ${UNAME_MACHINE}-pc-minix
|
||||||
@ -902,7 +927,7 @@ EOF
|
|||||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||||
esac
|
esac
|
||||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||||
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
|
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
arc:Linux:*:* | arceb:Linux:*:*)
|
arc:Linux:*:* | arceb:Linux:*:*)
|
||||||
@ -933,6 +958,9 @@ EOF
|
|||||||
crisv32:Linux:*:*)
|
crisv32:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
e2k:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
frv:Linux:*:*)
|
frv:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -945,6 +973,9 @@ EOF
|
|||||||
ia64:Linux:*:*)
|
ia64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
k1om:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
m32r*:Linux:*:*)
|
m32r*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -970,6 +1001,9 @@ EOF
|
|||||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||||
;;
|
;;
|
||||||
|
mips64el:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
openrisc*:Linux:*:*)
|
openrisc*:Linux:*:*)
|
||||||
echo or1k-unknown-linux-${LIBC}
|
echo or1k-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1002,6 +1036,9 @@ EOF
|
|||||||
ppcle:Linux:*:*)
|
ppcle:Linux:*:*)
|
||||||
echo powerpcle-unknown-linux-${LIBC}
|
echo powerpcle-unknown-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
riscv32:Linux:*:* | riscv64:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
|
exit ;;
|
||||||
s390:Linux:*:* | s390x:Linux:*:*)
|
s390:Linux:*:* | s390x:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1021,7 +1058,7 @@ EOF
|
|||||||
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
x86_64:Linux:*:*)
|
x86_64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||||
exit ;;
|
exit ;;
|
||||||
xtensa*:Linux:*:*)
|
xtensa*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||||
@ -1100,7 +1137,7 @@ EOF
|
|||||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||||
# the processor, so we play safe by assuming i586.
|
# the processor, so we play safe by assuming i586.
|
||||||
# Note: whatever this is, it MUST be the same as what config.sub
|
# Note: whatever this is, it MUST be the same as what config.sub
|
||||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
# prints for the "djgpp" host, or else GDB configure will decide that
|
||||||
# this is a cross-build.
|
# this is a cross-build.
|
||||||
echo i586-pc-msdosdjgpp
|
echo i586-pc-msdosdjgpp
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1249,6 +1286,9 @@ EOF
|
|||||||
SX-8R:SUPER-UX:*:*)
|
SX-8R:SUPER-UX:*:*)
|
||||||
echo sx8r-nec-superux${UNAME_RELEASE}
|
echo sx8r-nec-superux${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
SX-ACE:SUPER-UX:*:*)
|
||||||
|
echo sxace-nec-superux${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
Power*:Rhapsody:*:*)
|
Power*:Rhapsody:*:*)
|
||||||
echo powerpc-apple-rhapsody${UNAME_RELEASE}
|
echo powerpc-apple-rhapsody${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1262,16 +1302,23 @@ EOF
|
|||||||
UNAME_PROCESSOR=powerpc
|
UNAME_PROCESSOR=powerpc
|
||||||
fi
|
fi
|
||||||
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
|
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
|
||||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
||||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
grep IS_64BIT_ARCH >/dev/null
|
grep IS_64BIT_ARCH >/dev/null
|
||||||
then
|
then
|
||||||
case $UNAME_PROCESSOR in
|
case $UNAME_PROCESSOR in
|
||||||
i386) UNAME_PROCESSOR=x86_64 ;;
|
i386) UNAME_PROCESSOR=x86_64 ;;
|
||||||
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
|
||||||
|
if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
|
||||||
|
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
|
grep IS_PPC >/dev/null
|
||||||
|
then
|
||||||
|
UNAME_PROCESSOR=powerpc
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
elif test "$UNAME_PROCESSOR" = i386 ; then
|
elif test "$UNAME_PROCESSOR" = i386 ; then
|
||||||
# Avoid executing cc on OS X 10.9, as it ships with a stub
|
# Avoid executing cc on OS X 10.9, as it ships with a stub
|
||||||
@ -1286,7 +1333,7 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||||
UNAME_PROCESSOR=`uname -p`
|
UNAME_PROCESSOR=`uname -p`
|
||||||
if test "$UNAME_PROCESSOR" = "x86"; then
|
if test "$UNAME_PROCESSOR" = x86; then
|
||||||
UNAME_PROCESSOR=i386
|
UNAME_PROCESSOR=i386
|
||||||
UNAME_MACHINE=pc
|
UNAME_MACHINE=pc
|
||||||
fi
|
fi
|
||||||
@ -1295,15 +1342,18 @@ EOF
|
|||||||
*:QNX:*:4*)
|
*:QNX:*:4*)
|
||||||
echo i386-pc-qnx
|
echo i386-pc-qnx
|
||||||
exit ;;
|
exit ;;
|
||||||
NEO-?:NONSTOP_KERNEL:*:*)
|
NEO-*:NONSTOP_KERNEL:*:*)
|
||||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
NSE-*:NONSTOP_KERNEL:*:*)
|
NSE-*:NONSTOP_KERNEL:*:*)
|
||||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
NSR-?:NONSTOP_KERNEL:*:*)
|
NSR-*:NONSTOP_KERNEL:*:*)
|
||||||
echo nsr-tandem-nsk${UNAME_RELEASE}
|
echo nsr-tandem-nsk${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
NSX-*:NONSTOP_KERNEL:*:*)
|
||||||
|
echo nsx-tandem-nsk${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
*:NonStop-UX:*:*)
|
*:NonStop-UX:*:*)
|
||||||
echo mips-compaq-nonstopux
|
echo mips-compaq-nonstopux
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1317,7 +1367,7 @@ EOF
|
|||||||
# "uname -m" is not consistent, so use $cputype instead. 386
|
# "uname -m" is not consistent, so use $cputype instead. 386
|
||||||
# is converted to i386 for consistency with other x86
|
# is converted to i386 for consistency with other x86
|
||||||
# operating systems.
|
# operating systems.
|
||||||
if test "$cputype" = "386"; then
|
if test "$cputype" = 386; then
|
||||||
UNAME_MACHINE=i386
|
UNAME_MACHINE=i386
|
||||||
else
|
else
|
||||||
UNAME_MACHINE="$cputype"
|
UNAME_MACHINE="$cputype"
|
||||||
@ -1359,7 +1409,7 @@ EOF
|
|||||||
echo i386-pc-xenix
|
echo i386-pc-xenix
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:skyos:*:*)
|
i*86:skyos:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
|
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:rdos:*:*)
|
i*86:rdos:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-rdos
|
echo ${UNAME_MACHINE}-pc-rdos
|
||||||
@ -1370,23 +1420,25 @@ EOF
|
|||||||
x86_64:VMkernel:*:*)
|
x86_64:VMkernel:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-esx
|
echo ${UNAME_MACHINE}-unknown-esx
|
||||||
exit ;;
|
exit ;;
|
||||||
|
amd64:Isilon\ OneFS:*:*)
|
||||||
|
echo x86_64-unknown-onefs
|
||||||
|
exit ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
cat >&2 <<EOF
|
cat >&2 <<EOF
|
||||||
$0: unable to guess system type
|
$0: unable to guess system type
|
||||||
|
|
||||||
This script, last modified $timestamp, has failed to recognize
|
This script (version $timestamp), has failed to recognize the
|
||||||
the operating system you are using. It is advised that you
|
operating system you are using. If your script is old, overwrite
|
||||||
download the most up to date version of the config scripts from
|
config.guess and config.sub with the latest versions from:
|
||||||
|
|
||||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||||
and
|
and
|
||||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||||
|
|
||||||
If the version you run ($0) is already up to date, please
|
If $0 has already been updated, send the following data and any
|
||||||
send the following data and any information you think might be
|
information you think might be pertinent to config-patches@gnu.org to
|
||||||
pertinent to <config-patches@gnu.org> in order to provide the needed
|
provide the necessary information to handle your system.
|
||||||
information to handle your system.
|
|
||||||
|
|
||||||
config.guess timestamp = $timestamp
|
config.guess timestamp = $timestamp
|
||||||
|
|
||||||
|
73
config.sub
vendored
73
config.sub
vendored
@ -1,8 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
# Copyright 1992-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2014-12-03'
|
timestamp='2017-04-02'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@ -33,7 +33,7 @@ timestamp='2014-12-03'
|
|||||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||||
|
|
||||||
# You can get the latest version of this script from:
|
# You can get the latest version of this script from:
|
||||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||||
|
|
||||||
# This file is supposed to be the same for all GNU packages
|
# This file is supposed to be the same for all GNU packages
|
||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
@ -53,8 +53,7 @@ timestamp='2014-12-03'
|
|||||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||||
|
|
||||||
usage="\
|
usage="\
|
||||||
Usage: $0 [OPTION] CPU-MFR-OPSYS
|
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
||||||
$0 [OPTION] ALIAS
|
|
||||||
|
|
||||||
Canonicalize a configuration name.
|
Canonicalize a configuration name.
|
||||||
|
|
||||||
@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright 1992-2014 Free Software Foundation, Inc.
|
Copyright 1992-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
|||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||||
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
|
||||||
kopensolaris*-gnu* | \
|
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
||||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
@ -255,15 +254,16 @@ case $basic_machine in
|
|||||||
| arc | arceb \
|
| arc | arceb \
|
||||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
||||||
| avr | avr32 \
|
| avr | avr32 \
|
||||||
|
| ba \
|
||||||
| be32 | be64 \
|
| be32 | be64 \
|
||||||
| bfin \
|
| bfin \
|
||||||
| c4x | c8051 | clipper \
|
| c4x | c8051 | clipper \
|
||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
| epiphany \
|
| e2k | epiphany \
|
||||||
| fido | fr30 | frv \
|
| fido | fr30 | frv | ft32 \
|
||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| hexagon \
|
| hexagon \
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia16 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| k1om \
|
| k1om \
|
||||||
| le32 | le64 \
|
| le32 | le64 \
|
||||||
@ -301,11 +301,12 @@ case $basic_machine in
|
|||||||
| open8 | or1k | or1knd | or32 \
|
| open8 | or1k | or1knd | or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||||
|
| pru \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
| riscv32 | riscv64 \
|
| riscv32 | riscv64 \
|
||||||
| rl78 | rx \
|
| rl78 | rx \
|
||||||
| score \
|
| score \
|
||||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||||
| sh64 | sh64le \
|
| sh64 | sh64le \
|
||||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||||
@ -314,6 +315,7 @@ case $basic_machine in
|
|||||||
| ubicom32 \
|
| ubicom32 \
|
||||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||||
| visium \
|
| visium \
|
||||||
|
| wasm32 \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xc16x | xstormy16 | xtensa \
|
| x86 | xc16x | xstormy16 | xtensa \
|
||||||
| z8k | z80)
|
| z8k | z80)
|
||||||
@ -376,17 +378,18 @@ case $basic_machine in
|
|||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* | avr32-* \
|
| avr-* | avr32-* \
|
||||||
|
| ba-* \
|
||||||
| be32-* | be64-* \
|
| be32-* | be64-* \
|
||||||
| bfin-* | bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||||
| c8051-* | clipper-* | craynv-* | cydra-* \
|
| c8051-* | clipper-* | craynv-* | cydra-* \
|
||||||
| d10v-* | d30v-* | dlx-* \
|
| d10v-* | d30v-* | dlx-* \
|
||||||
| elxsi-* \
|
| e2k-* | elxsi-* \
|
||||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||||
| h8300-* | h8500-* \
|
| h8300-* | h8500-* \
|
||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| hexagon-* \
|
| hexagon-* \
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
| k1om-* \
|
| k1om-* \
|
||||||
| le32-* | le64-* \
|
| le32-* | le64-* \
|
||||||
@ -427,13 +430,15 @@ case $basic_machine in
|
|||||||
| orion-* \
|
| orion-* \
|
||||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||||
|
| pru-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
|
| riscv32-* | riscv64-* \
|
||||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
| rl78-* | romp-* | rs6000-* | rx-* \
|
||||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||||
| sparclite-* \
|
| sparclite-* \
|
||||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
|
||||||
| tahoe-* \
|
| tahoe-* \
|
||||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||||
| tile*-* \
|
| tile*-* \
|
||||||
@ -442,6 +447,7 @@ case $basic_machine in
|
|||||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||||
| vax-* \
|
| vax-* \
|
||||||
| visium-* \
|
| visium-* \
|
||||||
|
| wasm32-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||||
| xstormy16-* | xtensa*-* \
|
| xstormy16-* | xtensa*-* \
|
||||||
@ -518,6 +524,9 @@ case $basic_machine in
|
|||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-aros
|
os=-aros
|
||||||
;;
|
;;
|
||||||
|
asmjs)
|
||||||
|
basic_machine=asmjs-unknown
|
||||||
|
;;
|
||||||
aux)
|
aux)
|
||||||
basic_machine=m68k-apple
|
basic_machine=m68k-apple
|
||||||
os=-aux
|
os=-aux
|
||||||
@ -638,6 +647,14 @@ case $basic_machine in
|
|||||||
basic_machine=m68k-bull
|
basic_machine=m68k-bull
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
|
e500v[12])
|
||||||
|
basic_machine=powerpc-unknown
|
||||||
|
os=$os"spe"
|
||||||
|
;;
|
||||||
|
e500v[12]-*)
|
||||||
|
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
os=$os"spe"
|
||||||
|
;;
|
||||||
ebmon29k)
|
ebmon29k)
|
||||||
basic_machine=a29k-amd
|
basic_machine=a29k-amd
|
||||||
os=-ebmon
|
os=-ebmon
|
||||||
@ -933,6 +950,9 @@ case $basic_machine in
|
|||||||
nsr-tandem)
|
nsr-tandem)
|
||||||
basic_machine=nsr-tandem
|
basic_machine=nsr-tandem
|
||||||
;;
|
;;
|
||||||
|
nsx-tandem)
|
||||||
|
basic_machine=nsx-tandem
|
||||||
|
;;
|
||||||
op50n-* | op60c-*)
|
op50n-* | op60c-*)
|
||||||
basic_machine=hppa1.1-oki
|
basic_machine=hppa1.1-oki
|
||||||
os=-proelf
|
os=-proelf
|
||||||
@ -1017,7 +1037,7 @@ case $basic_machine in
|
|||||||
ppc-* | ppcbe-*)
|
ppc-* | ppcbe-*)
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
ppcle | powerpclittle)
|
||||||
basic_machine=powerpcle-unknown
|
basic_machine=powerpcle-unknown
|
||||||
;;
|
;;
|
||||||
ppcle-* | powerpclittle-*)
|
ppcle-* | powerpclittle-*)
|
||||||
@ -1027,7 +1047,7 @@ case $basic_machine in
|
|||||||
;;
|
;;
|
||||||
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
|
ppc64le | powerpc64little)
|
||||||
basic_machine=powerpc64le-unknown
|
basic_machine=powerpc64le-unknown
|
||||||
;;
|
;;
|
||||||
ppc64le-* | powerpc64little-*)
|
ppc64le-* | powerpc64little-*)
|
||||||
@ -1228,6 +1248,9 @@ case $basic_machine in
|
|||||||
basic_machine=a29k-wrs
|
basic_machine=a29k-wrs
|
||||||
os=-vxworks
|
os=-vxworks
|
||||||
;;
|
;;
|
||||||
|
wasm32)
|
||||||
|
basic_machine=wasm32-unknown
|
||||||
|
;;
|
||||||
w65*)
|
w65*)
|
||||||
basic_machine=w65-wdc
|
basic_machine=w65-wdc
|
||||||
os=-none
|
os=-none
|
||||||
@ -1373,18 +1396,18 @@ case $os in
|
|||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||||
| -sym* | -kopensolaris* | -plan9* \
|
| -sym* | -kopensolaris* | -plan9* \
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* | -aros* \
|
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
| -bitrig* | -openbsd* | -solidbsd* \
|
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
||||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
||||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||||
@ -1393,7 +1416,8 @@ case $os in
|
|||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
|
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
||||||
|
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
@ -1525,6 +1549,8 @@ case $os in
|
|||||||
;;
|
;;
|
||||||
-nacl*)
|
-nacl*)
|
||||||
;;
|
;;
|
||||||
|
-ios)
|
||||||
|
;;
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -1620,6 +1646,9 @@ case $basic_machine in
|
|||||||
sparc-* | *-sun)
|
sparc-* | *-sun)
|
||||||
os=-sunos4.1.1
|
os=-sunos4.1.1
|
||||||
;;
|
;;
|
||||||
|
pru-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
*-be)
|
*-be)
|
||||||
os=-beos
|
os=-beos
|
||||||
;;
|
;;
|
||||||
|
23
configure
vendored
23
configure
vendored
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for libjpeg 9.2.0.
|
# Generated by GNU Autoconf 2.69 for libjpeg 9.3.0.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||||
@ -587,8 +587,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libjpeg'
|
PACKAGE_NAME='libjpeg'
|
||||||
PACKAGE_TARNAME='libjpeg'
|
PACKAGE_TARNAME='libjpeg'
|
||||||
PACKAGE_VERSION='9.2.0'
|
PACKAGE_VERSION='9.3.0'
|
||||||
PACKAGE_STRING='libjpeg 9.2.0'
|
PACKAGE_STRING='libjpeg 9.3.0'
|
||||||
PACKAGE_BUGREPORT=''
|
PACKAGE_BUGREPORT=''
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@ -1324,7 +1324,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libjpeg 9.2.0 to adapt to many kinds of systems.
|
\`configure' configures libjpeg 9.3.0 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@ -1395,7 +1395,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libjpeg 9.2.0:";;
|
short | recursive ) echo "Configuration of libjpeg 9.3.0:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@ -1512,7 +1512,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libjpeg configure 9.2.0
|
libjpeg configure 9.3.0
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
@ -1877,7 +1877,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libjpeg $as_me 9.2.0, which was
|
It was created by libjpeg $as_me 9.3.0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@ -2864,7 +2864,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libjpeg'
|
PACKAGE='libjpeg'
|
||||||
VERSION='9.2.0'
|
VERSION='9.3.0'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@ -13579,7 +13579,7 @@ JPEG_LIB_VERSION=`expr $major + $minor`:0:$minor
|
|||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JPEG_LIB_VERSION" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JPEG_LIB_VERSION" >&5
|
||||||
$as_echo "$JPEG_LIB_VERSION" >&6; }
|
$as_echo "$JPEG_LIB_VERSION" >&6; }
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile"
|
ac_config_files="$ac_config_files Makefile libjpeg.pc"
|
||||||
|
|
||||||
cat >confcache <<\_ACEOF
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# This file is a shell script that caches the results of configure
|
||||||
@ -14119,7 +14119,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libjpeg $as_me 9.2.0, which was
|
This file was extended by libjpeg $as_me 9.3.0, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@ -14185,7 +14185,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libjpeg config.status 9.2.0
|
libjpeg config.status 9.3.0
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
@ -14603,6 +14603,7 @@ do
|
|||||||
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||||
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
|
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
|
||||||
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||||
|
"libjpeg.pc") CONFIG_FILES="$CONFIG_FILES libjpeg.pc" ;;
|
||||||
|
|
||||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# Configure script for IJG libjpeg
|
# Configure script for IJG libjpeg
|
||||||
#
|
#
|
||||||
|
|
||||||
AC_INIT([libjpeg], [9.2.0])
|
AC_INIT([libjpeg], [9.3.0])
|
||||||
|
|
||||||
# Directory where autotools helper scripts lives.
|
# Directory where autotools helper scripts lives.
|
||||||
AC_CONFIG_AUX_DIR([.])
|
AC_CONFIG_AUX_DIR([.])
|
||||||
@ -361,5 +361,5 @@ AC_SUBST([JPEG_LIB_VERSION],
|
|||||||
[`expr $major + $minor`:0:$minor])
|
[`expr $major + $minor`:0:$minor])
|
||||||
AC_MSG_RESULT([$JPEG_LIB_VERSION])
|
AC_MSG_RESULT([$JPEG_LIB_VERSION])
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile])
|
AC_CONFIG_FILES([Makefile libjpeg.pc])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
6
depcomp
6
depcomp
@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2013-05-30.07; # UTC
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -786,6 +786,6 @@ exit 0
|
|||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
IJG JPEG LIBRARY: FILE LIST
|
IJG JPEG LIBRARY: FILE LIST
|
||||||
|
|
||||||
Copyright (C) 1994-2013, Thomas G. Lane, Guido Vollbeding.
|
Copyright (C) 1994-2017, Thomas G. Lane, Guido Vollbeding.
|
||||||
This file is part of the Independent JPEG Group's software.
|
This file is part of the Independent JPEG Group's software.
|
||||||
For conditions of distribution and use, see the accompanying README file.
|
For conditions of distribution and use, see the accompanying README file.
|
||||||
|
|
||||||
@ -207,6 +207,7 @@ jconfig.txt Template for making jconfig.h by hand.
|
|||||||
mak*.* Sample makefiles for particular systems.
|
mak*.* Sample makefiles for particular systems.
|
||||||
jconfig.* Sample jconfig.h for particular systems.
|
jconfig.* Sample jconfig.h for particular systems.
|
||||||
libjpeg.map Script to generate shared library with versioned symbols.
|
libjpeg.map Script to generate shared library with versioned symbols.
|
||||||
|
libjpeg.pc.in libjpeg.pc pkg-config file input for configure.
|
||||||
aclocal.m4 M4 macro definitions for use with Autoconf.
|
aclocal.m4 M4 macro definitions for use with Autoconf.
|
||||||
|
|
||||||
Test files (see install.txt for test procedure):
|
Test files (see install.txt for test procedure):
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2013-12-25.23; # UTC
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
@ -496,6 +496,6 @@ done
|
|||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
86
install.txt
86
install.txt
@ -1,6 +1,6 @@
|
|||||||
INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software
|
INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software
|
||||||
|
|
||||||
Copyright (C) 1991-2015, Thomas G. Lane, Guido Vollbeding.
|
Copyright (C) 1991-2017, Thomas G. Lane, Guido Vollbeding.
|
||||||
This file is part of the Independent JPEG Group's software.
|
This file is part of the Independent JPEG Group's software.
|
||||||
For conditions of distribution and use, see the accompanying README file.
|
For conditions of distribution and use, see the accompanying README file.
|
||||||
|
|
||||||
@ -147,10 +147,12 @@ makefile.bcc jconfig.bcc MS-DOS or OS/2, Borland C
|
|||||||
makefile.dj jconfig.dj MS-DOS, DJGPP (Delorie's port of GNU C)
|
makefile.dj jconfig.dj MS-DOS, DJGPP (Delorie's port of GNU C)
|
||||||
makefile.mc6 jconfig.mc6 MS-DOS, Microsoft C (16-bit only)
|
makefile.mc6 jconfig.mc6 MS-DOS, Microsoft C (16-bit only)
|
||||||
makefile.wat jconfig.wat MS-DOS, OS/2, or Windows NT, Watcom C
|
makefile.wat jconfig.wat MS-DOS, OS/2, or Windows NT, Watcom C
|
||||||
makefile.vc jconfig.vc Windows NT/9x, MS Visual C++
|
makefile.vc jconfig.vc Windows, MS Visual C++
|
||||||
make*.vc6 jconfig.vc Windows NT/9x, MS Visual C++ 6
|
makefile.vs jconfig.vc Windows, MS Visual C++ 6 Developer Studio
|
||||||
make*.v10 jconfig.vc Windows NT/9x, MS Visual C++ 2010 (v10)
|
make*.vc6
|
||||||
makefile.b32 jconfig.vc Windows NT/9x, Borland C++ 32-bit (bcc32)
|
makefile.vs jconfig.vc Windows, Visual Studio 2017 (v15)
|
||||||
|
make*.v15
|
||||||
|
makefile.b32 jconfig.vc Windows, Borland C++ 32-bit (bcc32)
|
||||||
makefile.mms jconfig.vms Digital VMS, with MMS software
|
makefile.mms jconfig.vms Digital VMS, with MMS software
|
||||||
makefile.vms jconfig.vms Digital VMS, without MMS software
|
makefile.vms jconfig.vms Digital VMS, without MMS software
|
||||||
|
|
||||||
@ -1019,33 +1021,9 @@ the configuration to prevent jpeglib.h from using extern "C".
|
|||||||
|
|
||||||
Microsoft Windows, Microsoft Visual C++ 6 Developer Studio:
|
Microsoft Windows, Microsoft Visual C++ 6 Developer Studio:
|
||||||
|
|
||||||
We include makefiles that should work as project files in DevStudio 6.0 or
|
We include makefiles that should work as project files in Developer Studio
|
||||||
later. There is a library makefile that builds the IJG library as a static
|
6.0 or later. There is a library makefile that builds the IJG library as
|
||||||
Win32 library, and application makefiles that build the sample applications
|
a static Win32 library, and application makefiles that build the sample
|
||||||
as Win32 console applications. (Even if you only want the library, we
|
|
||||||
recommend building the applications so that you can run the self-test.)
|
|
||||||
|
|
||||||
To use:
|
|
||||||
1. Open the command prompt, change to the main directory and execute the
|
|
||||||
command line
|
|
||||||
NMAKE /f makefile.vc setup-vc6
|
|
||||||
This will move jconfig.vc to jconfig.h and makefiles to project files.
|
|
||||||
(Note that the renaming is critical!)
|
|
||||||
2. Open the workspace file jpeg.dsw, build the library project.
|
|
||||||
(If you are using DevStudio more recent than 6.0, you'll probably
|
|
||||||
get a message saying that the project files are being updated.)
|
|
||||||
3. Open the workspace file apps.dsw, build the application projects.
|
|
||||||
4. To perform the self-test, execute the command line
|
|
||||||
NMAKE /f makefile.vc test-build
|
|
||||||
5. Move the application .exe files from `app`\Release to an
|
|
||||||
appropriate location on your path.
|
|
||||||
|
|
||||||
|
|
||||||
Microsoft Windows, Microsoft Visual C++ 2010 Developer Studio (v10):
|
|
||||||
|
|
||||||
We include makefiles that should work as project files in Visual Studio
|
|
||||||
2010 or later. There is a library makefile that builds the IJG library
|
|
||||||
as a static Win32 library, and application makefiles that build the sample
|
|
||||||
applications as Win32 console applications. (Even if you only want the
|
applications as Win32 console applications. (Even if you only want the
|
||||||
library, we recommend building the applications so that you can run the
|
library, we recommend building the applications so that you can run the
|
||||||
self-test.)
|
self-test.)
|
||||||
@ -1053,23 +1031,47 @@ self-test.)
|
|||||||
To use:
|
To use:
|
||||||
1. Open the command prompt, change to the main directory and execute the
|
1. Open the command prompt, change to the main directory and execute the
|
||||||
command line
|
command line
|
||||||
NMAKE /f makefile.vc setup-v10
|
NMAKE /f makefile.vs setup-vc6
|
||||||
This will move jconfig.vc to jconfig.h and makefiles to project files.
|
This will move jconfig.vc to jconfig.h and makefiles to project files.
|
||||||
(Note that the renaming is critical!)
|
(Note that the renaming is critical!)
|
||||||
2. Open the solution file jpeg.sln, build the library project.
|
2. Open the workspace file jpeg.dsw, build the library project.
|
||||||
(If you are using Visual Studio more recent than 2010 (v10), you'll
|
(If you are using Developer Studio more recent than 6.0, you'll
|
||||||
probably get a message saying that the project files are being updated.)
|
probably get a message saying that the project files are being updated.)
|
||||||
3. Open the solution file apps.sln, build the application projects.
|
3. Open the workspace file apps.dsw, build the application projects.
|
||||||
4. To perform the self-test, execute the command line
|
4. To perform the self-test, execute the command line
|
||||||
NMAKE /f makefile.vc test-build
|
NMAKE /f makefile.vs test-build
|
||||||
5. Move the application .exe files from `app`\Release to an
|
5. Move the application .exe files from `app`\Release to an
|
||||||
appropriate location on your path.
|
appropriate location on your path.
|
||||||
|
|
||||||
Note:
|
|
||||||
There seems to be an optimization bug in the compiler which causes the
|
Microsoft Windows, Visual Studio 2017 (v15):
|
||||||
self-test to fail with the color quantization option.
|
|
||||||
We have disabled optimization for the file jquant2.c in the library
|
We include makefiles that should work as project files in Visual Studio
|
||||||
project file which causes the self-test to pass properly.
|
2017 (v15) or later. There is a library makefile that builds the IJG
|
||||||
|
library as a static Win32 library, and application makefiles that build
|
||||||
|
the sample applications as Win32 console applications. (Even if you only
|
||||||
|
want the library, we recommend building the applications so that you can
|
||||||
|
run the self-test.)
|
||||||
|
|
||||||
|
To use:
|
||||||
|
1. Open the Developer Command Prompt, change to the main directory and
|
||||||
|
execute the command line
|
||||||
|
NMAKE /f makefile.vs setup-v15
|
||||||
|
This will move jconfig.vc to jconfig.h and makefiles to project files.
|
||||||
|
(Note that the renaming is critical!)
|
||||||
|
2. Open the solution file jpeg.sln, build the library project.
|
||||||
|
a) If you are using Visual Studio more recent than
|
||||||
|
2017 (v15), you'll probably get a message saying
|
||||||
|
that the project files are being updated.
|
||||||
|
b) If necessary, open the project properties and
|
||||||
|
adapt the Windows Target Platform Version in
|
||||||
|
the Configuration Properties, General section;
|
||||||
|
we support the latest version at the time of release.
|
||||||
|
3. Open the solution file apps.sln, build the application projects.
|
||||||
|
4. To perform the self-test, execute the command line
|
||||||
|
NMAKE /f makefile.vs test-build
|
||||||
|
5. Move the application .exe files from `app`\Release to an
|
||||||
|
appropriate location on your path.
|
||||||
|
|
||||||
|
|
||||||
OS/2, Borland C++:
|
OS/2, Borland C++:
|
||||||
|
169
jcinit.c
169
jcinit.c
@ -2,7 +2,7 @@
|
|||||||
* jcinit.c
|
* jcinit.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2003-2013 by Guido Vollbeding.
|
* Modified 2003-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -21,6 +21,168 @@
|
|||||||
#include "jpeglib.h"
|
#include "jpeglib.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compute JPEG image dimensions and related values.
|
||||||
|
* NOTE: this is exported for possible use by application.
|
||||||
|
* Hence it mustn't do anything that can't be done twice.
|
||||||
|
*/
|
||||||
|
|
||||||
|
GLOBAL(void)
|
||||||
|
jpeg_calc_jpeg_dimensions (j_compress_ptr cinfo)
|
||||||
|
/* Do computations that are needed before master selection phase */
|
||||||
|
{
|
||||||
|
/* Sanity check on input image dimensions to prevent overflow in
|
||||||
|
* following calculations.
|
||||||
|
* We do check jpeg_width and jpeg_height in initial_setup in jcmaster.c,
|
||||||
|
* but image_width and image_height can come from arbitrary data,
|
||||||
|
* and we need some space for multiplication by block_size.
|
||||||
|
*/
|
||||||
|
if (((long) cinfo->image_width >> 24) || ((long) cinfo->image_height >> 24))
|
||||||
|
ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION);
|
||||||
|
|
||||||
|
#ifdef DCT_SCALING_SUPPORTED
|
||||||
|
|
||||||
|
/* Compute actual JPEG image dimensions and DCT scaling choices. */
|
||||||
|
if (cinfo->scale_num >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/1 scaling */
|
||||||
|
cinfo->jpeg_width = cinfo->image_width * cinfo->block_size;
|
||||||
|
cinfo->jpeg_height = cinfo->image_height * cinfo->block_size;
|
||||||
|
cinfo->min_DCT_h_scaled_size = 1;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 1;
|
||||||
|
} else if (cinfo->scale_num * 2 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/2 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 2L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 2L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 2;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 2;
|
||||||
|
} else if (cinfo->scale_num * 3 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/3 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 3L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 3L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 3;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 3;
|
||||||
|
} else if (cinfo->scale_num * 4 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/4 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 4L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 4L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 4;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 4;
|
||||||
|
} else if (cinfo->scale_num * 5 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/5 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 5L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 5L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 5;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 5;
|
||||||
|
} else if (cinfo->scale_num * 6 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/6 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 6L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 6L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 6;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 6;
|
||||||
|
} else if (cinfo->scale_num * 7 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/7 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 7L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 7L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 7;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 7;
|
||||||
|
} else if (cinfo->scale_num * 8 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/8 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 8L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 8L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 8;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 8;
|
||||||
|
} else if (cinfo->scale_num * 9 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/9 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 9L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 9L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 9;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 9;
|
||||||
|
} else if (cinfo->scale_num * 10 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/10 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 10L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 10L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 10;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 10;
|
||||||
|
} else if (cinfo->scale_num * 11 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/11 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 11L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 11L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 11;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 11;
|
||||||
|
} else if (cinfo->scale_num * 12 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/12 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 12L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 12L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 12;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 12;
|
||||||
|
} else if (cinfo->scale_num * 13 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/13 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 13L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 13L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 13;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 13;
|
||||||
|
} else if (cinfo->scale_num * 14 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/14 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 14L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 14L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 14;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 14;
|
||||||
|
} else if (cinfo->scale_num * 15 >= cinfo->scale_denom * cinfo->block_size) {
|
||||||
|
/* Provide block_size/15 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 15L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 15L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 15;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 15;
|
||||||
|
} else {
|
||||||
|
/* Provide block_size/16 scaling */
|
||||||
|
cinfo->jpeg_width = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 16L);
|
||||||
|
cinfo->jpeg_height = (JDIMENSION)
|
||||||
|
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 16L);
|
||||||
|
cinfo->min_DCT_h_scaled_size = 16;
|
||||||
|
cinfo->min_DCT_v_scaled_size = 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* !DCT_SCALING_SUPPORTED */
|
||||||
|
|
||||||
|
/* Hardwire it to "no scaling" */
|
||||||
|
cinfo->jpeg_width = cinfo->image_width;
|
||||||
|
cinfo->jpeg_height = cinfo->image_height;
|
||||||
|
cinfo->min_DCT_h_scaled_size = DCTSIZE;
|
||||||
|
cinfo->min_DCT_v_scaled_size = DCTSIZE;
|
||||||
|
|
||||||
|
#endif /* DCT_SCALING_SUPPORTED */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Master selection of compression modules.
|
* Master selection of compression modules.
|
||||||
* This is done once at the start of processing an image. We determine
|
* This is done once at the start of processing an image. We determine
|
||||||
@ -37,7 +199,7 @@ jinit_compress_master (j_compress_ptr cinfo)
|
|||||||
if (cinfo->data_precision != BITS_IN_JSAMPLE)
|
if (cinfo->data_precision != BITS_IN_JSAMPLE)
|
||||||
ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision);
|
ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision);
|
||||||
|
|
||||||
/* Sanity check on image dimensions */
|
/* Sanity check on input image dimensions */
|
||||||
if (cinfo->image_height <= 0 || cinfo->image_width <= 0 ||
|
if (cinfo->image_height <= 0 || cinfo->image_width <= 0 ||
|
||||||
cinfo->input_components <= 0)
|
cinfo->input_components <= 0)
|
||||||
ERREXIT(cinfo, JERR_EMPTY_IMAGE);
|
ERREXIT(cinfo, JERR_EMPTY_IMAGE);
|
||||||
@ -48,6 +210,9 @@ jinit_compress_master (j_compress_ptr cinfo)
|
|||||||
if ((long) jd_samplesperrow != samplesperrow)
|
if ((long) jd_samplesperrow != samplesperrow)
|
||||||
ERREXIT(cinfo, JERR_WIDTH_OVERFLOW);
|
ERREXIT(cinfo, JERR_WIDTH_OVERFLOW);
|
||||||
|
|
||||||
|
/* Compute JPEG image dimensions and related values. */
|
||||||
|
jpeg_calc_jpeg_dimensions(cinfo);
|
||||||
|
|
||||||
/* Initialize master control (includes parameter checking/processing) */
|
/* Initialize master control (includes parameter checking/processing) */
|
||||||
jinit_c_master_control(cinfo, FALSE /* full compression */);
|
jinit_c_master_control(cinfo, FALSE /* full compression */);
|
||||||
|
|
||||||
|
192
jcmaster.c
192
jcmaster.c
@ -2,7 +2,7 @@
|
|||||||
* jcmaster.c
|
* jcmaster.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2003-2013 by Guido Vollbeding.
|
* Modified 2003-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -43,191 +43,13 @@ typedef my_comp_master * my_master_ptr;
|
|||||||
* Support routines that do various essential calculations.
|
* Support routines that do various essential calculations.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Compute JPEG image dimensions and related values.
|
|
||||||
* NOTE: this is exported for possible use by application.
|
|
||||||
* Hence it mustn't do anything that can't be done twice.
|
|
||||||
*/
|
|
||||||
|
|
||||||
GLOBAL(void)
|
|
||||||
jpeg_calc_jpeg_dimensions (j_compress_ptr cinfo)
|
|
||||||
/* Do computations that are needed before master selection phase */
|
|
||||||
{
|
|
||||||
#ifdef DCT_SCALING_SUPPORTED
|
|
||||||
|
|
||||||
/* Sanity check on input image dimensions to prevent overflow in
|
|
||||||
* following calculation.
|
|
||||||
* We do check jpeg_width and jpeg_height in initial_setup below,
|
|
||||||
* but image_width and image_height can come from arbitrary data,
|
|
||||||
* and we need some space for multiplication by block_size.
|
|
||||||
*/
|
|
||||||
if (((long) cinfo->image_width >> 24) || ((long) cinfo->image_height >> 24))
|
|
||||||
ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION);
|
|
||||||
|
|
||||||
/* Compute actual JPEG image dimensions and DCT scaling choices. */
|
|
||||||
if (cinfo->scale_num >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/1 scaling */
|
|
||||||
cinfo->jpeg_width = cinfo->image_width * cinfo->block_size;
|
|
||||||
cinfo->jpeg_height = cinfo->image_height * cinfo->block_size;
|
|
||||||
cinfo->min_DCT_h_scaled_size = 1;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 1;
|
|
||||||
} else if (cinfo->scale_num * 2 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/2 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 2L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 2L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 2;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 2;
|
|
||||||
} else if (cinfo->scale_num * 3 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/3 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 3L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 3L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 3;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 3;
|
|
||||||
} else if (cinfo->scale_num * 4 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/4 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 4L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 4L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 4;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 4;
|
|
||||||
} else if (cinfo->scale_num * 5 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/5 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 5L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 5L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 5;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 5;
|
|
||||||
} else if (cinfo->scale_num * 6 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/6 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 6L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 6L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 6;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 6;
|
|
||||||
} else if (cinfo->scale_num * 7 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/7 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 7L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 7L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 7;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 7;
|
|
||||||
} else if (cinfo->scale_num * 8 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/8 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 8L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 8L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 8;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 8;
|
|
||||||
} else if (cinfo->scale_num * 9 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/9 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 9L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 9L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 9;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 9;
|
|
||||||
} else if (cinfo->scale_num * 10 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/10 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 10L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 10L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 10;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 10;
|
|
||||||
} else if (cinfo->scale_num * 11 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/11 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 11L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 11L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 11;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 11;
|
|
||||||
} else if (cinfo->scale_num * 12 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/12 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 12L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 12L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 12;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 12;
|
|
||||||
} else if (cinfo->scale_num * 13 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/13 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 13L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 13L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 13;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 13;
|
|
||||||
} else if (cinfo->scale_num * 14 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/14 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 14L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 14L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 14;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 14;
|
|
||||||
} else if (cinfo->scale_num * 15 >= cinfo->scale_denom * cinfo->block_size) {
|
|
||||||
/* Provide block_size/15 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 15L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 15L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 15;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 15;
|
|
||||||
} else {
|
|
||||||
/* Provide block_size/16 scaling */
|
|
||||||
cinfo->jpeg_width = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_width * cinfo->block_size, 16L);
|
|
||||||
cinfo->jpeg_height = (JDIMENSION)
|
|
||||||
jdiv_round_up((long) cinfo->image_height * cinfo->block_size, 16L);
|
|
||||||
cinfo->min_DCT_h_scaled_size = 16;
|
|
||||||
cinfo->min_DCT_v_scaled_size = 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* !DCT_SCALING_SUPPORTED */
|
|
||||||
|
|
||||||
/* Hardwire it to "no scaling" */
|
|
||||||
cinfo->jpeg_width = cinfo->image_width;
|
|
||||||
cinfo->jpeg_height = cinfo->image_height;
|
|
||||||
cinfo->min_DCT_h_scaled_size = DCTSIZE;
|
|
||||||
cinfo->min_DCT_v_scaled_size = DCTSIZE;
|
|
||||||
|
|
||||||
#endif /* DCT_SCALING_SUPPORTED */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
LOCAL(void)
|
LOCAL(void)
|
||||||
jpeg_calc_trans_dimensions (j_compress_ptr cinfo)
|
initial_setup (j_compress_ptr cinfo)
|
||||||
{
|
|
||||||
if (cinfo->min_DCT_h_scaled_size != cinfo->min_DCT_v_scaled_size)
|
|
||||||
ERREXIT2(cinfo, JERR_BAD_DCTSIZE,
|
|
||||||
cinfo->min_DCT_h_scaled_size, cinfo->min_DCT_v_scaled_size);
|
|
||||||
|
|
||||||
cinfo->block_size = cinfo->min_DCT_h_scaled_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
LOCAL(void)
|
|
||||||
initial_setup (j_compress_ptr cinfo, boolean transcode_only)
|
|
||||||
/* Do computations that are needed before master selection phase */
|
/* Do computations that are needed before master selection phase */
|
||||||
{
|
{
|
||||||
int ci, ssize;
|
int ci, ssize;
|
||||||
jpeg_component_info *compptr;
|
jpeg_component_info *compptr;
|
||||||
|
|
||||||
if (transcode_only)
|
|
||||||
jpeg_calc_trans_dimensions(cinfo);
|
|
||||||
else
|
|
||||||
jpeg_calc_jpeg_dimensions(cinfo);
|
|
||||||
|
|
||||||
/* Sanity check on block_size */
|
/* Sanity check on block_size */
|
||||||
if (cinfo->block_size < 1 || cinfo->block_size > 16)
|
if (cinfo->block_size < 1 || cinfo->block_size > 16)
|
||||||
ERREXIT2(cinfo, JERR_BAD_DCTSIZE, cinfo->block_size, cinfo->block_size);
|
ERREXIT2(cinfo, JERR_BAD_DCTSIZE, cinfo->block_size, cinfo->block_size);
|
||||||
@ -414,13 +236,9 @@ validate_script (j_compress_ptr cinfo)
|
|||||||
* out-of-range reconstructed DC values during the first DC scan,
|
* out-of-range reconstructed DC values during the first DC scan,
|
||||||
* which might cause problems for some decoders.
|
* which might cause problems for some decoders.
|
||||||
*/
|
*/
|
||||||
#if BITS_IN_JSAMPLE == 8
|
|
||||||
#define MAX_AH_AL 10
|
|
||||||
#else
|
|
||||||
#define MAX_AH_AL 13
|
|
||||||
#endif
|
|
||||||
if (Ss < 0 || Ss >= DCTSIZE2 || Se < Ss || Se >= DCTSIZE2 ||
|
if (Ss < 0 || Ss >= DCTSIZE2 || Se < Ss || Se >= DCTSIZE2 ||
|
||||||
Ah < 0 || Ah > MAX_AH_AL || Al < 0 || Al > MAX_AH_AL)
|
Ah < 0 || Ah > (cinfo->data_precision > 8 ? 13 : 10) ||
|
||||||
|
Al < 0 || Al > (cinfo->data_precision > 8 ? 13 : 10))
|
||||||
ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno);
|
ERREXIT1(cinfo, JERR_BAD_PROG_SCRIPT, scanno);
|
||||||
if (Ss == 0) {
|
if (Ss == 0) {
|
||||||
if (Se != 0) /* DC and AC together not OK */
|
if (Se != 0) /* DC and AC together not OK */
|
||||||
@ -812,7 +630,7 @@ jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only)
|
|||||||
master->pub.is_last_pass = FALSE;
|
master->pub.is_last_pass = FALSE;
|
||||||
|
|
||||||
/* Validate parameters, determine derived values */
|
/* Validate parameters, determine derived values */
|
||||||
initial_setup(cinfo, transcode_only);
|
initial_setup(cinfo);
|
||||||
|
|
||||||
if (cinfo->scan_info != NULL) {
|
if (cinfo->scan_info != NULL) {
|
||||||
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
#ifdef C_MULTISCAN_FILES_SUPPORTED
|
||||||
|
24
jctrans.c
24
jctrans.c
@ -2,7 +2,7 @@
|
|||||||
* jctrans.c
|
* jctrans.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1995-1998, Thomas G. Lane.
|
* Copyright (C) 1995-1998, Thomas G. Lane.
|
||||||
* Modified 2000-2013 by Guido Vollbeding.
|
* Modified 2000-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -85,12 +85,15 @@ jpeg_copy_critical_parameters (j_decompress_ptr srcinfo,
|
|||||||
jpeg_set_defaults(dstinfo);
|
jpeg_set_defaults(dstinfo);
|
||||||
/* jpeg_set_defaults may choose wrong colorspace, eg YCbCr if input is RGB.
|
/* jpeg_set_defaults may choose wrong colorspace, eg YCbCr if input is RGB.
|
||||||
* Fix it to get the right header markers for the image colorspace.
|
* Fix it to get the right header markers for the image colorspace.
|
||||||
* Note: Entropy table assignment in jpeg_set_colorspace depends
|
* Note: Entropy table assignment in jpeg_set_colorspace
|
||||||
* on color_transform.
|
* depends on color_transform.
|
||||||
|
* Adaption is also required for setting the appropriate
|
||||||
|
* entropy coding mode dependent on image data precision.
|
||||||
*/
|
*/
|
||||||
dstinfo->color_transform = srcinfo->color_transform;
|
dstinfo->color_transform = srcinfo->color_transform;
|
||||||
jpeg_set_colorspace(dstinfo, srcinfo->jpeg_color_space);
|
jpeg_set_colorspace(dstinfo, srcinfo->jpeg_color_space);
|
||||||
dstinfo->data_precision = srcinfo->data_precision;
|
dstinfo->data_precision = srcinfo->data_precision;
|
||||||
|
dstinfo->arith_code = srcinfo->data_precision > 8 ? TRUE : FALSE;
|
||||||
dstinfo->CCIR601_sampling = srcinfo->CCIR601_sampling;
|
dstinfo->CCIR601_sampling = srcinfo->CCIR601_sampling;
|
||||||
/* Copy the source's quantization tables. */
|
/* Copy the source's quantization tables. */
|
||||||
for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) {
|
for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) {
|
||||||
@ -157,6 +160,18 @@ jpeg_copy_critical_parameters (j_decompress_ptr srcinfo,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL(void)
|
||||||
|
jpeg_calc_trans_dimensions (j_compress_ptr cinfo)
|
||||||
|
/* Do computations that are needed before master selection phase */
|
||||||
|
{
|
||||||
|
if (cinfo->min_DCT_h_scaled_size != cinfo->min_DCT_v_scaled_size)
|
||||||
|
ERREXIT2(cinfo, JERR_BAD_DCTSIZE,
|
||||||
|
cinfo->min_DCT_h_scaled_size, cinfo->min_DCT_v_scaled_size);
|
||||||
|
|
||||||
|
cinfo->block_size = cinfo->min_DCT_h_scaled_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Master selection of compression modules for transcoding.
|
* Master selection of compression modules for transcoding.
|
||||||
* This substitutes for jcinit.c's initialization of the full compressor.
|
* This substitutes for jcinit.c's initialization of the full compressor.
|
||||||
@ -166,6 +181,9 @@ LOCAL(void)
|
|||||||
transencode_master_selection (j_compress_ptr cinfo,
|
transencode_master_selection (j_compress_ptr cinfo,
|
||||||
jvirt_barray_ptr * coef_arrays)
|
jvirt_barray_ptr * coef_arrays)
|
||||||
{
|
{
|
||||||
|
/* Do computations that are needed before master selection phase */
|
||||||
|
jpeg_calc_trans_dimensions(cinfo);
|
||||||
|
|
||||||
/* Initialize master control (includes parameter checking/processing) */
|
/* Initialize master control (includes parameter checking/processing) */
|
||||||
jinit_c_master_control(cinfo, TRUE /* transcode only */);
|
jinit_c_master_control(cinfo, TRUE /* transcode only */);
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jdatadst.c
|
* jdatadst.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2009-2012 by Guido Vollbeding.
|
* Modified 2009-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -170,9 +170,9 @@ term_destination (j_compress_ptr cinfo)
|
|||||||
if (JFWRITE(dest->outfile, dest->buffer, datacount) != datacount)
|
if (JFWRITE(dest->outfile, dest->buffer, datacount) != datacount)
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
fflush(dest->outfile);
|
JFFLUSH(dest->outfile);
|
||||||
/* Make sure we wrote the output file OK */
|
/* Make sure we wrote the output file OK */
|
||||||
if (ferror(dest->outfile))
|
if (JFERROR(dest->outfile))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jdcolor.c
|
* jdcolor.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2011-2015 by Guido Vollbeding.
|
* Modified 2011-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -14,6 +14,12 @@
|
|||||||
#include "jpeglib.h"
|
#include "jpeglib.h"
|
||||||
|
|
||||||
|
|
||||||
|
#if RANGE_BITS < 2
|
||||||
|
/* Deliberate syntax err */
|
||||||
|
Sorry, this code requires 2 or more range extension bits.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Private subobject */
|
/* Private subobject */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
11
jdct.h
11
jdct.h
@ -2,7 +2,7 @@
|
|||||||
* jdct.h
|
* jdct.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2002-2015 by Guido Vollbeding.
|
* Modified 2002-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -79,13 +79,12 @@ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */
|
|||||||
* converting them to unsigned form (0..MAXJSAMPLE). The raw outputs could
|
* 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
|
* 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
|
* range-limiting step is required. We use a mask-and-table-lookup method
|
||||||
* to do the combined operations quickly, assuming that MAXJSAMPLE+1
|
* to do the combined operations quickly, assuming that RANGE_CENTER
|
||||||
* is a power of 2. See the comments with prepare_range_limit_table
|
* (defined in jpegint.h) is a power of 2. See the comments with
|
||||||
* (in jdmaster.c) for more info.
|
* prepare_range_limit_table (in jdmaster.c) for more info.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define RANGE_MASK (MAXJSAMPLE * 4 + 3) /* 2 bits wider than legal samples */
|
#define RANGE_MASK (RANGE_CENTER * 2 - 1)
|
||||||
#define RANGE_CENTER (MAXJSAMPLE * 2 + 2)
|
|
||||||
#define RANGE_SUBSET (RANGE_CENTER - CENTERJSAMPLE)
|
#define RANGE_SUBSET (RANGE_CENTER - CENTERJSAMPLE)
|
||||||
|
|
||||||
#define IDCT_range_limit(cinfo) ((cinfo)->sample_range_limit - RANGE_SUBSET)
|
#define IDCT_range_limit(cinfo) ((cinfo)->sample_range_limit - RANGE_SUBSET)
|
||||||
|
9
jdhuff.c
9
jdhuff.c
@ -2,7 +2,7 @@
|
|||||||
* jdhuff.c
|
* jdhuff.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2006-2013 by Guido Vollbeding.
|
* Modified 2006-2016 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -799,10 +799,6 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
*/
|
*/
|
||||||
if (! entropy->insufficient_data) {
|
if (! entropy->insufficient_data) {
|
||||||
|
|
||||||
Se = cinfo->Se;
|
|
||||||
Al = cinfo->Al;
|
|
||||||
natural_order = cinfo->natural_order;
|
|
||||||
|
|
||||||
/* Load up working state.
|
/* Load up working state.
|
||||||
* We can avoid loading/saving bitread state if in an EOB run.
|
* We can avoid loading/saving bitread state if in an EOB run.
|
||||||
*/
|
*/
|
||||||
@ -814,6 +810,9 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
EOBRUN--; /* ...process it now (we do nothing) */
|
EOBRUN--; /* ...process it now (we do nothing) */
|
||||||
else {
|
else {
|
||||||
BITREAD_LOAD_STATE(cinfo,entropy->bitstate);
|
BITREAD_LOAD_STATE(cinfo,entropy->bitstate);
|
||||||
|
Se = cinfo->Se;
|
||||||
|
Al = cinfo->Al;
|
||||||
|
natural_order = cinfo->natural_order;
|
||||||
block = MCU_data[0];
|
block = MCU_data[0];
|
||||||
tbl = entropy->ac_derived_tbl;
|
tbl = entropy->ac_derived_tbl;
|
||||||
|
|
||||||
|
46
jdmainct.c
46
jdmainct.c
@ -2,7 +2,7 @@
|
|||||||
* jdmainct.c
|
* jdmainct.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2002-2012 by Guido Vollbeding.
|
* Modified 2002-2016 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -26,8 +26,8 @@
|
|||||||
* trivial. Its responsibility is to provide context rows for upsampling/
|
* trivial. Its responsibility is to provide context rows for upsampling/
|
||||||
* rescaling, and doing this in an efficient fashion is a bit tricky.
|
* rescaling, and doing this in an efficient fashion is a bit tricky.
|
||||||
*
|
*
|
||||||
* Postprocessor input data is counted in "row groups". A row group
|
* Postprocessor input data is counted in "row groups". A row group is
|
||||||
* is defined to be (v_samp_factor * DCT_scaled_size / min_DCT_scaled_size)
|
* defined to be (v_samp_factor * DCT_v_scaled_size / min_DCT_v_scaled_size)
|
||||||
* sample rows of each component. (We require DCT_scaled_size values to be
|
* sample rows of each component. (We require DCT_scaled_size values to be
|
||||||
* chosen such that these numbers are integers. In practice DCT_scaled_size
|
* chosen such that these numbers are integers. In practice DCT_scaled_size
|
||||||
* values will likely be powers of two, so we actually have the stronger
|
* values will likely be powers of two, so we actually have the stronger
|
||||||
@ -37,8 +37,8 @@
|
|||||||
* applying).
|
* applying).
|
||||||
*
|
*
|
||||||
* The coefficient controller will deliver data to us one iMCU row at a time;
|
* The coefficient controller will deliver data to us one iMCU row at a time;
|
||||||
* each iMCU row contains v_samp_factor * DCT_scaled_size sample rows, or
|
* each iMCU row contains v_samp_factor * DCT_v_scaled_size sample rows, or
|
||||||
* exactly min_DCT_scaled_size row groups. (This amount of data corresponds
|
* exactly min_DCT_v_scaled_size row groups. (This amount of data corresponds
|
||||||
* to one row of MCUs when the image is fully interleaved.) Note that the
|
* to one row of MCUs when the image is fully interleaved.) Note that the
|
||||||
* number of sample rows varies across components, but the number of row
|
* number of sample rows varies across components, but the number of row
|
||||||
* groups does not. Some garbage sample rows may be included in the last iMCU
|
* groups does not. Some garbage sample rows may be included in the last iMCU
|
||||||
@ -75,7 +75,7 @@
|
|||||||
* We could do this most simply by copying data around in our buffer, but
|
* We could do this most simply by copying data around in our buffer, but
|
||||||
* that'd be very slow. We can avoid copying any data by creating a rather
|
* that'd be very slow. We can avoid copying any data by creating a rather
|
||||||
* strange pointer structure. Here's how it works. We allocate a workspace
|
* strange pointer structure. Here's how it works. We allocate a workspace
|
||||||
* consisting of M+2 row groups (where M = min_DCT_scaled_size is the number
|
* consisting of M+2 row groups (where M = min_DCT_v_scaled_size is the number
|
||||||
* of row groups per iMCU row). We create two sets of redundant pointers to
|
* of row groups per iMCU row). We create two sets of redundant pointers to
|
||||||
* the workspace. Labeling the physical row groups 0 to M+1, the synthesized
|
* the workspace. Labeling the physical row groups 0 to M+1, the synthesized
|
||||||
* pointer lists look like this:
|
* pointer lists look like this:
|
||||||
@ -100,11 +100,11 @@
|
|||||||
* the first or last sample row as necessary (this is cheaper than copying
|
* the first or last sample row as necessary (this is cheaper than copying
|
||||||
* sample rows around).
|
* sample rows around).
|
||||||
*
|
*
|
||||||
* This scheme breaks down if M < 2, ie, min_DCT_scaled_size is 1. In that
|
* This scheme breaks down if M < 2, ie, min_DCT_v_scaled_size is 1. In that
|
||||||
* situation each iMCU row provides only one row group so the buffering logic
|
* situation each iMCU row provides only one row group so the buffering logic
|
||||||
* must be different (eg, we must read two iMCU rows before we can emit the
|
* must be different (eg, we must read two iMCU rows before we can emit the
|
||||||
* first row group). For now, we simply do not support providing context
|
* first row group). For now, we simply do not support providing context
|
||||||
* rows when min_DCT_scaled_size is 1. That combination seems unlikely to
|
* rows when min_DCT_v_scaled_size is 1. That combination seems unlikely to
|
||||||
* be worth providing --- if someone wants a 1/8th-size preview, they probably
|
* be worth providing --- if someone wants a 1/8th-size preview, they probably
|
||||||
* want it quick and dirty, so a context-free upsampler is sufficient.
|
* want it quick and dirty, so a context-free upsampler is sufficient.
|
||||||
*/
|
*/
|
||||||
@ -118,17 +118,18 @@ typedef struct {
|
|||||||
/* Pointer to allocated workspace (M or M+2 row groups). */
|
/* Pointer to allocated workspace (M or M+2 row groups). */
|
||||||
JSAMPARRAY buffer[MAX_COMPONENTS];
|
JSAMPARRAY buffer[MAX_COMPONENTS];
|
||||||
|
|
||||||
boolean buffer_full; /* Have we gotten an iMCU row from decoder? */
|
|
||||||
JDIMENSION rowgroup_ctr; /* counts row groups output to postprocessor */
|
JDIMENSION rowgroup_ctr; /* counts row groups output to postprocessor */
|
||||||
|
JDIMENSION rowgroups_avail; /* row groups available to postprocessor */
|
||||||
|
|
||||||
/* Remaining fields are only used in the context case. */
|
/* Remaining fields are only used in the context case. */
|
||||||
|
|
||||||
|
boolean buffer_full; /* Have we gotten an iMCU row from decoder? */
|
||||||
|
|
||||||
/* These are the master pointers to the funny-order pointer lists. */
|
/* These are the master pointers to the funny-order pointer lists. */
|
||||||
JSAMPIMAGE xbuffer[2]; /* pointers to weird pointer lists */
|
JSAMPIMAGE xbuffer[2]; /* pointers to weird pointer lists */
|
||||||
|
|
||||||
int whichptr; /* indicates which pointer set is now in use */
|
int whichptr; /* indicates which pointer set is now in use */
|
||||||
int context_state; /* process_data state machine status */
|
int context_state; /* process_data state machine status */
|
||||||
JDIMENSION rowgroups_avail; /* row groups available to postprocessor */
|
|
||||||
JDIMENSION iMCU_row_ctr; /* counts iMCU rows to detect image top/bot */
|
JDIMENSION iMCU_row_ctr; /* counts iMCU rows to detect image top/bot */
|
||||||
} my_main_controller;
|
} my_main_controller;
|
||||||
|
|
||||||
@ -195,7 +196,7 @@ alloc_funny_pointers (j_decompress_ptr cinfo)
|
|||||||
LOCAL(void)
|
LOCAL(void)
|
||||||
make_funny_pointers (j_decompress_ptr cinfo)
|
make_funny_pointers (j_decompress_ptr cinfo)
|
||||||
/* Create the funny pointer lists discussed in the comments above.
|
/* Create the funny pointer lists discussed in the comments above.
|
||||||
* The actual workspace is already allocated (in main->buffer),
|
* The actual workspace is already allocated (in mainp->buffer),
|
||||||
* and the space for the pointer lists is allocated too.
|
* and the space for the pointer lists is allocated too.
|
||||||
* This routine just fills in the curiously ordered lists.
|
* This routine just fills in the curiously ordered lists.
|
||||||
* This will be repeated at the beginning of each pass.
|
* This will be repeated at the beginning of each pass.
|
||||||
@ -317,12 +318,12 @@ start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)
|
|||||||
mainp->whichptr = 0; /* Read first iMCU row into xbuffer[0] */
|
mainp->whichptr = 0; /* Read first iMCU row into xbuffer[0] */
|
||||||
mainp->context_state = CTX_PREPARE_FOR_IMCU;
|
mainp->context_state = CTX_PREPARE_FOR_IMCU;
|
||||||
mainp->iMCU_row_ctr = 0;
|
mainp->iMCU_row_ctr = 0;
|
||||||
|
mainp->buffer_full = FALSE; /* Mark buffer empty */
|
||||||
} else {
|
} else {
|
||||||
/* Simple case with no context needed */
|
/* Simple case with no context needed */
|
||||||
mainp->pub.process_data = process_data_simple_main;
|
mainp->pub.process_data = process_data_simple_main;
|
||||||
|
mainp->rowgroup_ctr = mainp->rowgroups_avail; /* Mark buffer empty */
|
||||||
}
|
}
|
||||||
mainp->buffer_full = FALSE; /* Mark buffer empty */
|
|
||||||
mainp->rowgroup_ctr = 0;
|
|
||||||
break;
|
break;
|
||||||
#ifdef QUANT_2PASS_SUPPORTED
|
#ifdef QUANT_2PASS_SUPPORTED
|
||||||
case JBUF_CRANK_DEST:
|
case JBUF_CRANK_DEST:
|
||||||
@ -348,17 +349,14 @@ process_data_simple_main (j_decompress_ptr cinfo,
|
|||||||
JDIMENSION out_rows_avail)
|
JDIMENSION out_rows_avail)
|
||||||
{
|
{
|
||||||
my_main_ptr mainp = (my_main_ptr) cinfo->main;
|
my_main_ptr mainp = (my_main_ptr) cinfo->main;
|
||||||
JDIMENSION rowgroups_avail;
|
|
||||||
|
|
||||||
/* Read input data if we haven't filled the main buffer yet */
|
/* Read input data if we haven't filled the main buffer yet */
|
||||||
if (! mainp->buffer_full) {
|
if (mainp->rowgroup_ctr >= mainp->rowgroups_avail) {
|
||||||
if (! (*cinfo->coef->decompress_data) (cinfo, mainp->buffer))
|
if (! (*cinfo->coef->decompress_data) (cinfo, mainp->buffer))
|
||||||
return; /* suspension forced, can do nothing more */
|
return; /* suspension forced, can do nothing more */
|
||||||
mainp->buffer_full = TRUE; /* OK, we have an iMCU row to work with */
|
mainp->rowgroup_ctr = 0; /* OK, we have an iMCU row to work with */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There are always min_DCT_scaled_size row groups in an iMCU row. */
|
|
||||||
rowgroups_avail = (JDIMENSION) cinfo->min_DCT_v_scaled_size;
|
|
||||||
/* Note: at the bottom of the image, we may pass extra garbage row groups
|
/* Note: at the bottom of the image, we may pass extra garbage row groups
|
||||||
* to the postprocessor. The postprocessor has to check for bottom
|
* to the postprocessor. The postprocessor has to check for bottom
|
||||||
* of image anyway (at row resolution), so no point in us doing it too.
|
* of image anyway (at row resolution), so no point in us doing it too.
|
||||||
@ -366,14 +364,8 @@ process_data_simple_main (j_decompress_ptr cinfo,
|
|||||||
|
|
||||||
/* Feed the postprocessor */
|
/* Feed the postprocessor */
|
||||||
(*cinfo->post->post_process_data) (cinfo, mainp->buffer,
|
(*cinfo->post->post_process_data) (cinfo, mainp->buffer,
|
||||||
&mainp->rowgroup_ctr, rowgroups_avail,
|
&mainp->rowgroup_ctr, mainp->rowgroups_avail,
|
||||||
output_buf, out_row_ctr, out_rows_avail);
|
output_buf, out_row_ctr, out_rows_avail);
|
||||||
|
|
||||||
/* Has postprocessor consumed all the data yet? If so, mark buffer empty */
|
|
||||||
if (mainp->rowgroup_ctr >= rowgroups_avail) {
|
|
||||||
mainp->buffer_full = FALSE;
|
|
||||||
mainp->rowgroup_ctr = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -498,7 +490,9 @@ jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer)
|
|||||||
alloc_funny_pointers(cinfo); /* Alloc space for xbuffer[] lists */
|
alloc_funny_pointers(cinfo); /* Alloc space for xbuffer[] lists */
|
||||||
ngroups = cinfo->min_DCT_v_scaled_size + 2;
|
ngroups = cinfo->min_DCT_v_scaled_size + 2;
|
||||||
} else {
|
} else {
|
||||||
|
/* There are always min_DCT_v_scaled_size row groups in an iMCU row. */
|
||||||
ngroups = cinfo->min_DCT_v_scaled_size;
|
ngroups = cinfo->min_DCT_v_scaled_size;
|
||||||
|
mainp->rowgroups_avail = (JDIMENSION) ngroups;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
|
for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
|
||||||
|
13
jdmaster.c
13
jdmaster.c
@ -2,7 +2,7 @@
|
|||||||
* jdmaster.c
|
* jdmaster.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2002-2015 by Guido Vollbeding.
|
* Modified 2002-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -237,18 +237,17 @@ prepare_range_limit_table (j_decompress_ptr cinfo)
|
|||||||
JSAMPLE * table;
|
JSAMPLE * table;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
table = (JSAMPLE *)
|
table = (JSAMPLE *) (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
|
||||||
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
|
JPOOL_IMAGE, (RANGE_CENTER * 2 + MAXJSAMPLE + 1) * SIZEOF(JSAMPLE));
|
||||||
5 * (MAXJSAMPLE+1) * SIZEOF(JSAMPLE));
|
|
||||||
/* First segment of range limit table: limit[x] = 0 for x < 0 */
|
/* First segment of range limit table: limit[x] = 0 for x < 0 */
|
||||||
MEMZERO(table, 2 * (MAXJSAMPLE+1) * SIZEOF(JSAMPLE));
|
MEMZERO(table, RANGE_CENTER * SIZEOF(JSAMPLE));
|
||||||
table += 2 * (MAXJSAMPLE+1); /* allow negative subscripts of table */
|
table += RANGE_CENTER; /* allow negative subscripts of table */
|
||||||
cinfo->sample_range_limit = table;
|
cinfo->sample_range_limit = table;
|
||||||
/* Main part of range limit table: limit[x] = x */
|
/* Main part of range limit table: limit[x] = x */
|
||||||
for (i = 0; i <= MAXJSAMPLE; i++)
|
for (i = 0; i <= MAXJSAMPLE; i++)
|
||||||
table[i] = (JSAMPLE) i;
|
table[i] = (JSAMPLE) i;
|
||||||
/* End of range limit table: limit[x] = MAXJSAMPLE for x > MAXJSAMPLE */
|
/* End of range limit table: limit[x] = MAXJSAMPLE for x > MAXJSAMPLE */
|
||||||
for (; i < 3 * (MAXJSAMPLE+1); i++)
|
for (; i <= MAXJSAMPLE + RANGE_CENTER; i++)
|
||||||
table[i] = MAXJSAMPLE;
|
table[i] = MAXJSAMPLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jdmerge.c
|
* jdmerge.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2013-2015 by Guido Vollbeding.
|
* Modified 2013-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -40,6 +40,12 @@
|
|||||||
#ifdef UPSAMPLE_MERGING_SUPPORTED
|
#ifdef UPSAMPLE_MERGING_SUPPORTED
|
||||||
|
|
||||||
|
|
||||||
|
#if RANGE_BITS < 2
|
||||||
|
/* Deliberate syntax err */
|
||||||
|
Sorry, this code requires 2 or more range extension bits.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Private subobject */
|
/* Private subobject */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jfdctflt.c
|
* jfdctflt.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2003-2015 by Guido Vollbeding.
|
* Modified 2003-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -48,7 +48,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if DCTSIZE != 8
|
#if DCTSIZE != 8
|
||||||
Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
|
Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jfdctfst.c
|
* jfdctfst.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2003-2015 by Guido Vollbeding.
|
* Modified 2003-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -44,7 +44,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if DCTSIZE != 8
|
#if DCTSIZE != 8
|
||||||
Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
|
Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jidctflt.c
|
* jidctflt.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1998, Thomas G. Lane.
|
* Copyright (C) 1994-1998, Thomas G. Lane.
|
||||||
* Modified 2010-2015 by Guido Vollbeding.
|
* Modified 2010-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -50,7 +50,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if DCTSIZE != 8
|
#if DCTSIZE != 8
|
||||||
Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
|
Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* jidctfst.c
|
* jidctfst.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1998, Thomas G. Lane.
|
* Copyright (C) 1994-1998, Thomas G. Lane.
|
||||||
* Modified 2015 by Guido Vollbeding.
|
* Modified 2015-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -46,7 +46,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if DCTSIZE != 8
|
#if DCTSIZE != 8
|
||||||
Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
|
Sorry, this code only copes with 8x8 DCT blocks. /* deliberate syntax err */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
35
jidctint.c
35
jidctint.c
@ -2,7 +2,7 @@
|
|||||||
* jidctint.c
|
* jidctint.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1998, Thomas G. Lane.
|
* Copyright (C) 1991-1998, Thomas G. Lane.
|
||||||
* Modification developed 2002-2015 by Guido Vollbeding.
|
* Modification developed 2002-2016 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -166,6 +166,7 @@
|
|||||||
/*
|
/*
|
||||||
* Perform dequantization and inverse DCT on one block of coefficients.
|
* Perform dequantization and inverse DCT on one block of coefficients.
|
||||||
*
|
*
|
||||||
|
* Optimized algorithm with 12 multiplications in the 1-D kernel.
|
||||||
* cK represents sqrt(2) * cos(K*pi/16).
|
* cK represents sqrt(2) * cos(K*pi/16).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -428,7 +429,7 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Perform dequantization and inverse DCT on one block of coefficients,
|
* Perform dequantization and inverse DCT on one block of coefficients,
|
||||||
* producing a 7x7 output block.
|
* producing a reduced-size 7x7 output block.
|
||||||
*
|
*
|
||||||
* Optimized algorithm with 12 multiplications in the 1-D kernel.
|
* Optimized algorithm with 12 multiplications in the 1-D kernel.
|
||||||
* cK represents sqrt(2) * cos(K*pi/14).
|
* cK represents sqrt(2) * cos(K*pi/14).
|
||||||
@ -2623,7 +2624,7 @@ jpeg_idct_16x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
tmp0 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
||||||
tmp0 <<= CONST_BITS;
|
tmp0 <<= CONST_BITS;
|
||||||
/* Add fudge factor here for final descale. */
|
/* Add fudge factor here for final descale. */
|
||||||
tmp0 += 1 << (CONST_BITS-PASS1_BITS-1);
|
tmp0 += ONE << (CONST_BITS-PASS1_BITS-1);
|
||||||
|
|
||||||
z1 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
z1 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
||||||
tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */
|
tmp1 = MULTIPLY(z1, FIX(1.306562965)); /* c4[16] = c2[8] */
|
||||||
@ -2920,13 +2921,6 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
* The rotator is c(-6).
|
* The rotator is c(-6).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]);
|
|
||||||
z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]);
|
|
||||||
|
|
||||||
z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */
|
|
||||||
tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */
|
|
||||||
tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */
|
|
||||||
|
|
||||||
z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
||||||
z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
||||||
z2 <<= CONST_BITS;
|
z2 <<= CONST_BITS;
|
||||||
@ -2937,6 +2931,13 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
tmp0 = z2 + z3;
|
tmp0 = z2 + z3;
|
||||||
tmp1 = z2 - z3;
|
tmp1 = z2 - z3;
|
||||||
|
|
||||||
|
z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]);
|
||||||
|
z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]);
|
||||||
|
|
||||||
|
z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */
|
||||||
|
tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */
|
||||||
|
tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */
|
||||||
|
|
||||||
tmp10 = tmp0 + tmp2;
|
tmp10 = tmp0 + tmp2;
|
||||||
tmp13 = tmp0 - tmp2;
|
tmp13 = tmp0 - tmp2;
|
||||||
tmp11 = tmp1 + tmp3;
|
tmp11 = tmp1 + tmp3;
|
||||||
@ -4883,13 +4884,6 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
* The rotator is c(-6).
|
* The rotator is c(-6).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]);
|
|
||||||
z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]);
|
|
||||||
|
|
||||||
z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */
|
|
||||||
tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */
|
|
||||||
tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */
|
|
||||||
|
|
||||||
z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]);
|
||||||
z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]);
|
||||||
z2 <<= CONST_BITS;
|
z2 <<= CONST_BITS;
|
||||||
@ -4900,6 +4894,13 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
|
|||||||
tmp0 = z2 + z3;
|
tmp0 = z2 + z3;
|
||||||
tmp1 = z2 - z3;
|
tmp1 = z2 - z3;
|
||||||
|
|
||||||
|
z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]);
|
||||||
|
z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]);
|
||||||
|
|
||||||
|
z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */
|
||||||
|
tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */
|
||||||
|
tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */
|
||||||
|
|
||||||
tmp10 = tmp0 + tmp2;
|
tmp10 = tmp0 + tmp2;
|
||||||
tmp13 = tmp0 - tmp2;
|
tmp13 = tmp0 - tmp2;
|
||||||
tmp11 = tmp1 + tmp3;
|
tmp11 = tmp1 + tmp3;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
* jinclude.h
|
* jinclude.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1994, Thomas G. Lane.
|
* Copyright (C) 1991-1994, Thomas G. Lane.
|
||||||
|
* Modified 2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -83,9 +84,14 @@
|
|||||||
* The modules that use fread() and fwrite() always invoke them through
|
* The modules that use fread() and fwrite() always invoke them through
|
||||||
* these macros. On some systems you may need to twiddle the argument casts.
|
* these macros. On some systems you may need to twiddle the argument casts.
|
||||||
* CAUTION: argument order is different from underlying functions!
|
* CAUTION: argument order is different from underlying functions!
|
||||||
|
*
|
||||||
|
* Furthermore, macros are provided for fflush() and ferror() in order
|
||||||
|
* to facilitate adaption by applications using an own FILE class.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define JFREAD(file,buf,sizeofbuf) \
|
#define JFREAD(file,buf,sizeofbuf) \
|
||||||
((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
||||||
#define JFWRITE(file,buf,sizeofbuf) \
|
#define JFWRITE(file,buf,sizeofbuf) \
|
||||||
((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
|
||||||
|
#define JFFLUSH(file) fflush(file)
|
||||||
|
#define JFERROR(file) ferror(file)
|
||||||
|
15
jpegint.h
15
jpegint.h
@ -2,7 +2,7 @@
|
|||||||
* jpegint.h
|
* jpegint.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 1997-2013 by Guido Vollbeding.
|
* Modified 1997-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -260,6 +260,19 @@ struct jpeg_color_quantizer {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Definition of range extension bits for decompression processes.
|
||||||
|
* See the comments with prepare_range_limit_table (in jdmaster.c)
|
||||||
|
* for more info.
|
||||||
|
* The recommended default value for normal applications is 2.
|
||||||
|
* Applications with special requirements may use a different value.
|
||||||
|
* For example, Ghostscript wants to use 3 for proper handling of
|
||||||
|
* wacky images with oversize coefficient values.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RANGE_BITS 2
|
||||||
|
#define RANGE_CENTER (CENTERJSAMPLE << RANGE_BITS)
|
||||||
|
|
||||||
|
|
||||||
/* Miscellaneous useful macros */
|
/* Miscellaneous useful macros */
|
||||||
|
|
||||||
#undef MAX
|
#undef MAX
|
||||||
|
28
jpeglib.h
28
jpeglib.h
@ -2,7 +2,7 @@
|
|||||||
* jpeglib.h
|
* jpeglib.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1998, Thomas G. Lane.
|
* Copyright (C) 1991-1998, Thomas G. Lane.
|
||||||
* Modified 2002-2015 by Guido Vollbeding.
|
* Modified 2002-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -39,7 +39,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */
|
#define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */
|
||||||
#define JPEG_LIB_VERSION_MAJOR 9
|
#define JPEG_LIB_VERSION_MAJOR 9
|
||||||
#define JPEG_LIB_VERSION_MINOR 2
|
#define JPEG_LIB_VERSION_MINOR 3
|
||||||
|
|
||||||
|
|
||||||
/* Various constants determining the sizes of things.
|
/* Various constants determining the sizes of things.
|
||||||
@ -137,9 +137,9 @@ typedef struct {
|
|||||||
/* The decompressor output side may not use these variables. */
|
/* The decompressor output side may not use these variables. */
|
||||||
int dc_tbl_no; /* DC entropy table selector (0..3) */
|
int dc_tbl_no; /* DC entropy table selector (0..3) */
|
||||||
int ac_tbl_no; /* AC entropy table selector (0..3) */
|
int ac_tbl_no; /* AC entropy table selector (0..3) */
|
||||||
|
|
||||||
/* Remaining fields should be treated as private by applications. */
|
/* Remaining fields should be treated as private by applications. */
|
||||||
|
|
||||||
/* These values are computed during compression or decompression startup: */
|
/* These values are computed during compression or decompression startup: */
|
||||||
/* Component's size in DCT blocks.
|
/* Component's size in DCT blocks.
|
||||||
* Any dummy blocks added to complete an MCU are not counted; therefore
|
* Any dummy blocks added to complete an MCU are not counted; therefore
|
||||||
@ -411,10 +411,10 @@ struct jpeg_compress_struct {
|
|||||||
JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */
|
JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */
|
||||||
/* The coefficient controller receives data in units of MCU rows as defined
|
/* The coefficient controller receives data in units of MCU rows as defined
|
||||||
* for fully interleaved scans (whether the JPEG file is interleaved or not).
|
* for fully interleaved scans (whether the JPEG file is interleaved or not).
|
||||||
* There are v_samp_factor * DCTSIZE sample rows of each component in an
|
* There are v_samp_factor * DCT_v_scaled_size sample rows of each component
|
||||||
* "iMCU" (interleaved MCU) row.
|
* in an "iMCU" (interleaved MCU) row.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These fields are valid during any one scan.
|
* These fields are valid during any one scan.
|
||||||
* They describe the components and MCUs actually appearing in the scan.
|
* They describe the components and MCUs actually appearing in the scan.
|
||||||
@ -422,10 +422,10 @@ struct jpeg_compress_struct {
|
|||||||
int comps_in_scan; /* # of JPEG components in this scan */
|
int comps_in_scan; /* # of JPEG components in this scan */
|
||||||
jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN];
|
jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN];
|
||||||
/* *cur_comp_info[i] describes component that appears i'th in SOS */
|
/* *cur_comp_info[i] describes component that appears i'th in SOS */
|
||||||
|
|
||||||
JDIMENSION MCUs_per_row; /* # of MCUs across the image */
|
JDIMENSION MCUs_per_row; /* # of MCUs across the image */
|
||||||
JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */
|
JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */
|
||||||
|
|
||||||
int blocks_in_MCU; /* # of DCT blocks per MCU */
|
int blocks_in_MCU; /* # of DCT blocks per MCU */
|
||||||
int MCU_membership[C_MAX_BLOCKS_IN_MCU];
|
int MCU_membership[C_MAX_BLOCKS_IN_MCU];
|
||||||
/* MCU_membership[i] is index in cur_comp_info of component owning */
|
/* MCU_membership[i] is index in cur_comp_info of component owning */
|
||||||
@ -636,7 +636,7 @@ struct jpeg_decompress_struct {
|
|||||||
* in fully interleaved JPEG scans, but are used whether the scan is
|
* in fully interleaved JPEG scans, but are used whether the scan is
|
||||||
* interleaved or not. We define an iMCU row as v_samp_factor DCT block
|
* interleaved or not. We define an iMCU row as v_samp_factor DCT block
|
||||||
* rows of each component. Therefore, the IDCT output contains
|
* rows of each component. Therefore, the IDCT output contains
|
||||||
* v_samp_factor*DCT_v_scaled_size sample rows of a component per iMCU row.
|
* v_samp_factor * DCT_v_scaled_size sample rows of a component per iMCU row.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
JSAMPLE * sample_range_limit; /* table for fast range-limiting */
|
JSAMPLE * sample_range_limit; /* table for fast range-limiting */
|
||||||
@ -711,7 +711,7 @@ struct jpeg_error_mgr {
|
|||||||
#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */
|
#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */
|
||||||
/* Reset error state variables at start of a new image */
|
/* Reset error state variables at start of a new image */
|
||||||
JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo));
|
JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo));
|
||||||
|
|
||||||
/* The message ID code and any parameters are saved here.
|
/* The message ID code and any parameters are saved here.
|
||||||
* A message can have one string parameter or up to 8 int parameters.
|
* A message can have one string parameter or up to 8 int parameters.
|
||||||
*/
|
*/
|
||||||
@ -721,11 +721,11 @@ struct jpeg_error_mgr {
|
|||||||
int i[8];
|
int i[8];
|
||||||
char s[JMSG_STR_PARM_MAX];
|
char s[JMSG_STR_PARM_MAX];
|
||||||
} msg_parm;
|
} msg_parm;
|
||||||
|
|
||||||
/* Standard state variables for error facility */
|
/* Standard state variables for error facility */
|
||||||
|
|
||||||
int trace_level; /* max msg_level that will be displayed */
|
int trace_level; /* max msg_level that will be displayed */
|
||||||
|
|
||||||
/* For recoverable corrupt-data errors, we emit a warning message,
|
/* For recoverable corrupt-data errors, we emit a warning message,
|
||||||
* but keep going unless emit_message chooses to abort. emit_message
|
* but keep going unless emit_message chooses to abort. emit_message
|
||||||
* should count warnings in num_warnings. The surrounding application
|
* should count warnings in num_warnings. The surrounding application
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH JPEGTRAN 1 "20 September 2015"
|
.TH JPEGTRAN 1 "30 September 2017"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
jpegtran \- lossless transformation of JPEG files
|
jpegtran \- lossless transformation of JPEG files
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -182,6 +182,9 @@ inside a given image region while losslessly preserving what is outside:
|
|||||||
Wipe (gray out) a rectangular subarea of width W, height H starting at point
|
Wipe (gray out) a rectangular subarea of width W, height H starting at point
|
||||||
X,Y.
|
X,Y.
|
||||||
.PP
|
.PP
|
||||||
|
Attaching an 'f' character ("flatten") to the width number will fill
|
||||||
|
the region with the average of adjacent blocks, instead of gray out.
|
||||||
|
.PP
|
||||||
Other not-strictly-lossless transformation switches are:
|
Other not-strictly-lossless transformation switches are:
|
||||||
.TP
|
.TP
|
||||||
.B \-grayscale
|
.B \-grayscale
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* jversion.h
|
* jversion.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding.
|
* Copyright (C) 1991-2018, Thomas G. Lane, Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -9,6 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#define JVERSION "9b 17-Jan-2016"
|
#define JVERSION "9c 14-Jan-2018"
|
||||||
|
|
||||||
#define JCOPYRIGHT "Copyright (C) 2016, Thomas G. Lane, Guido Vollbeding"
|
#define JCOPYRIGHT "Copyright (C) 2018, Thomas G. Lane, Guido Vollbeding"
|
||||||
|
10
libjpeg.pc.in
Normal file
10
libjpeg.pc.in
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
|
Name: libjpeg
|
||||||
|
Description: Reads and writes JPEG files
|
||||||
|
Version: @JPEG_LIB_VERSION@
|
||||||
|
Libs: -L${libdir} -ljpeg
|
||||||
|
Cflags: -I${includedir}
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -10,6 +10,7 @@
|
|||||||
<ProjectGuid>{2E7FAAD9-2F58-4BDE-81F2-1D6D3FB8BF57}</ProjectGuid>
|
<ProjectGuid>{2E7FAAD9-2F58-4BDE-81F2-1D6D3FB8BF57}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>cjpeg</RootNamespace>
|
<RootNamespace>cjpeg</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -17,6 +18,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -10,6 +10,7 @@
|
|||||||
<ProjectGuid>{11043137-B453-4DFA-9010-4D2B9DC1545C}</ProjectGuid>
|
<ProjectGuid>{11043137-B453-4DFA-9010-4D2B9DC1545C}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>djpeg</RootNamespace>
|
<RootNamespace>djpeg</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -17,6 +18,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
@ -62,21 +62,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.b32
20
makefile.b32
@ -58,21 +58,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.bcc
20
makefile.bcc
@ -89,21 +89,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.dj
20
makefile.dj
@ -62,21 +62,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
@ -63,21 +63,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.mc6
20
makefile.mc6
@ -60,21 +60,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.mms
20
makefile.mms
@ -49,21 +49,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
20
makefile.sas
20
makefile.sas
@ -71,21 +71,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
@ -66,21 +66,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
50
makefile.vc
50
makefile.vc
@ -59,21 +59,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 \
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 \
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 \
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 \
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 \
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 \
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac \
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx \
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
@ -154,22 +154,22 @@ setup-vc6:
|
|||||||
ren makewdep.vc6 wrjpgcom.dep
|
ren makewdep.vc6 wrjpgcom.dep
|
||||||
ren makewdsp.vc6 wrjpgcom.dsp
|
ren makewdsp.vc6 wrjpgcom.dsp
|
||||||
|
|
||||||
setup-v10:
|
setup-v15:
|
||||||
ren jconfig.vc jconfig.h
|
ren jconfig.vc jconfig.h
|
||||||
ren makejsln.v10 jpeg.sln
|
ren makejsln.v15 jpeg.sln
|
||||||
ren makeasln.v10 apps.sln
|
ren makeasln.v15 apps.sln
|
||||||
ren makejvcx.v10 jpeg.vcxproj
|
ren makejvcx.v15 jpeg.vcxproj
|
||||||
ren makejfil.v10 jpeg.vcxproj.filters
|
ren makejfil.v15 jpeg.vcxproj.filters
|
||||||
ren makecvcx.v10 cjpeg.vcxproj
|
ren makecvcx.v15 cjpeg.vcxproj
|
||||||
ren makecfil.v10 cjpeg.vcxproj.filters
|
ren makecfil.v15 cjpeg.vcxproj.filters
|
||||||
ren makedvcx.v10 djpeg.vcxproj
|
ren makedvcx.v15 djpeg.vcxproj
|
||||||
ren makedfil.v10 djpeg.vcxproj.filters
|
ren makedfil.v15 djpeg.vcxproj.filters
|
||||||
ren maketvcx.v10 jpegtran.vcxproj
|
ren maketvcx.v15 jpegtran.vcxproj
|
||||||
ren maketfil.v10 jpegtran.vcxproj.filters
|
ren maketfil.v15 jpegtran.vcxproj.filters
|
||||||
ren makervcx.v10 rdjpgcom.vcxproj
|
ren makervcx.v15 rdjpgcom.vcxproj
|
||||||
ren makerfil.v10 rdjpgcom.vcxproj.filters
|
ren makerfil.v15 rdjpgcom.vcxproj.filters
|
||||||
ren makewvcx.v10 wrjpgcom.vcxproj
|
ren makewvcx.v15 wrjpgcom.vcxproj
|
||||||
ren makewfil.v10 wrjpgcom.vcxproj.filters
|
ren makewfil.v15 wrjpgcom.vcxproj.filters
|
||||||
|
|
||||||
test:
|
test:
|
||||||
IF EXIST testout* $(RM) testout*
|
IF EXIST testout* $(RM) testout*
|
||||||
|
273
makefile.vs
Normal file
273
makefile.vs
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
# Makefile for Independent JPEG Group's software
|
||||||
|
|
||||||
|
# This makefile is for Microsoft Visual C++ on Windows NT (and 95?).
|
||||||
|
# It builds the IJG library as a statically linkable library (.LIB),
|
||||||
|
# and builds the sample applications as console-mode apps.
|
||||||
|
# Thanks to Xingong Chang, Raymond Everly and others.
|
||||||
|
|
||||||
|
# Read installation instructions before saying "nmake" !!
|
||||||
|
# To build an optimized library without debug info, say "nmake nodebug=1".
|
||||||
|
|
||||||
|
# Pull in standard variable definitions
|
||||||
|
#!include <win32.mak>
|
||||||
|
|
||||||
|
# You may want to adjust these compiler options:
|
||||||
|
CFLAGS= $(cflags) $(cdebug) $(cvars) -I.
|
||||||
|
# Generally, we recommend defining any configuration symbols in jconfig.h,
|
||||||
|
# NOT via -D switches here.
|
||||||
|
|
||||||
|
# Link-time options:
|
||||||
|
LDFLAGS= $(ldebug) $(conlflags)
|
||||||
|
|
||||||
|
# To link any special libraries, add the necessary commands here.
|
||||||
|
LDLIBS= $(conlibs)
|
||||||
|
|
||||||
|
# Put here the object file name for the correct system-dependent memory
|
||||||
|
# manager file. For NT we suggest jmemnobs.obj, which expects the OS to
|
||||||
|
# provide adequate virtual memory.
|
||||||
|
SYSDEPMEM= jmemnobs.obj
|
||||||
|
|
||||||
|
# miscellaneous OS-dependent stuff
|
||||||
|
# file deletion command
|
||||||
|
RM= del
|
||||||
|
|
||||||
|
# End of configurable options.
|
||||||
|
|
||||||
|
|
||||||
|
# source files: JPEG library proper
|
||||||
|
LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \
|
||||||
|
jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
|
||||||
|
jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \
|
||||||
|
jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \
|
||||||
|
jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \
|
||||||
|
jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \
|
||||||
|
jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \
|
||||||
|
jquant2.c jutils.c jmemmgr.c
|
||||||
|
# memmgr back ends: compile only one of these into a working library
|
||||||
|
SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c
|
||||||
|
# source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom
|
||||||
|
APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \
|
||||||
|
rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \
|
||||||
|
rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c
|
||||||
|
SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES)
|
||||||
|
# files included by source files
|
||||||
|
INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \
|
||||||
|
jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h
|
||||||
|
# documentation, test, and support files
|
||||||
|
DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
|
||||||
|
wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \
|
||||||
|
coderules.txt filelist.txt change.log
|
||||||
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 \
|
||||||
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc \
|
||||||
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 \
|
||||||
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 \
|
||||||
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 \
|
||||||
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 \
|
||||||
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 \
|
||||||
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 \
|
||||||
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 \
|
||||||
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st \
|
||||||
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
|
||||||
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
|
||||||
|
jconfig.vms
|
||||||
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \
|
||||||
|
missing ar-lib
|
||||||
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
|
||||||
|
testimgp.jpg
|
||||||
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
|
||||||
|
$(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
|
||||||
|
# library object files common to compression and decompression
|
||||||
|
COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM)
|
||||||
|
# compression library object files
|
||||||
|
CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \
|
||||||
|
jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \
|
||||||
|
jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \
|
||||||
|
jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj
|
||||||
|
# decompression library object files
|
||||||
|
DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \
|
||||||
|
jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \
|
||||||
|
jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \
|
||||||
|
jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \
|
||||||
|
jdmerge.obj
|
||||||
|
# These objectfiles are included in libjpeg.lib
|
||||||
|
LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
|
||||||
|
# object files for sample applications (excluding library files)
|
||||||
|
COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \
|
||||||
|
rdswitch.obj cdjpeg.obj
|
||||||
|
DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \
|
||||||
|
rdcolmap.obj cdjpeg.obj
|
||||||
|
TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj
|
||||||
|
|
||||||
|
# Template command for compiling .c to .obj
|
||||||
|
.c.obj:
|
||||||
|
$(cc) $(CFLAGS) $*.c
|
||||||
|
|
||||||
|
|
||||||
|
all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe
|
||||||
|
|
||||||
|
libjpeg.lib: $(LIBOBJECTS)
|
||||||
|
$(RM) libjpeg.lib
|
||||||
|
lib -out:libjpeg.lib $(LIBOBJECTS)
|
||||||
|
|
||||||
|
cjpeg.exe: $(COBJECTS) libjpeg.lib
|
||||||
|
$(link) $(LDFLAGS) -out:cjpeg.exe $(COBJECTS) libjpeg.lib $(LDLIBS)
|
||||||
|
|
||||||
|
djpeg.exe: $(DOBJECTS) libjpeg.lib
|
||||||
|
$(link) $(LDFLAGS) -out:djpeg.exe $(DOBJECTS) libjpeg.lib $(LDLIBS)
|
||||||
|
|
||||||
|
jpegtran.exe: $(TROBJECTS) libjpeg.lib
|
||||||
|
$(link) $(LDFLAGS) -out:jpegtran.exe $(TROBJECTS) libjpeg.lib $(LDLIBS)
|
||||||
|
|
||||||
|
rdjpgcom.exe: rdjpgcom.obj
|
||||||
|
$(link) $(LDFLAGS) -out:rdjpgcom.exe rdjpgcom.obj $(LDLIBS)
|
||||||
|
|
||||||
|
wrjpgcom.exe: wrjpgcom.obj
|
||||||
|
$(link) $(LDFLAGS) -out:wrjpgcom.exe wrjpgcom.obj $(LDLIBS)
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) *.obj *.exe libjpeg.lib
|
||||||
|
$(RM) testout*
|
||||||
|
|
||||||
|
setup-vc6:
|
||||||
|
ren jconfig.vc jconfig.h
|
||||||
|
ren makejdsw.vc6 jpeg.dsw
|
||||||
|
ren makeadsw.vc6 apps.dsw
|
||||||
|
ren makejmak.vc6 jpeg.mak
|
||||||
|
ren makejdep.vc6 jpeg.dep
|
||||||
|
ren makejdsp.vc6 jpeg.dsp
|
||||||
|
ren makecmak.vc6 cjpeg.mak
|
||||||
|
ren makecdep.vc6 cjpeg.dep
|
||||||
|
ren makecdsp.vc6 cjpeg.dsp
|
||||||
|
ren makedmak.vc6 djpeg.mak
|
||||||
|
ren makeddep.vc6 djpeg.dep
|
||||||
|
ren makeddsp.vc6 djpeg.dsp
|
||||||
|
ren maketmak.vc6 jpegtran.mak
|
||||||
|
ren maketdep.vc6 jpegtran.dep
|
||||||
|
ren maketdsp.vc6 jpegtran.dsp
|
||||||
|
ren makermak.vc6 rdjpgcom.mak
|
||||||
|
ren makerdep.vc6 rdjpgcom.dep
|
||||||
|
ren makerdsp.vc6 rdjpgcom.dsp
|
||||||
|
ren makewmak.vc6 wrjpgcom.mak
|
||||||
|
ren makewdep.vc6 wrjpgcom.dep
|
||||||
|
ren makewdsp.vc6 wrjpgcom.dsp
|
||||||
|
|
||||||
|
setup-v15:
|
||||||
|
ren jconfig.vc jconfig.h
|
||||||
|
ren makejsln.v15 jpeg.sln
|
||||||
|
ren makeasln.v15 apps.sln
|
||||||
|
ren makejvcx.v15 jpeg.vcxproj
|
||||||
|
ren makejfil.v15 jpeg.vcxproj.filters
|
||||||
|
ren makecvcx.v15 cjpeg.vcxproj
|
||||||
|
ren makecfil.v15 cjpeg.vcxproj.filters
|
||||||
|
ren makedvcx.v15 djpeg.vcxproj
|
||||||
|
ren makedfil.v15 djpeg.vcxproj.filters
|
||||||
|
ren maketvcx.v15 jpegtran.vcxproj
|
||||||
|
ren maketfil.v15 jpegtran.vcxproj.filters
|
||||||
|
ren makervcx.v15 rdjpgcom.vcxproj
|
||||||
|
ren makerfil.v15 rdjpgcom.vcxproj.filters
|
||||||
|
ren makewvcx.v15 wrjpgcom.vcxproj
|
||||||
|
ren makewfil.v15 wrjpgcom.vcxproj.filters
|
||||||
|
|
||||||
|
test:
|
||||||
|
IF EXIST testout* $(RM) testout*
|
||||||
|
.\djpeg -dct int -ppm -outfile testout.ppm testorig.jpg
|
||||||
|
.\djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg
|
||||||
|
.\cjpeg -dct int -outfile testout.jpg testimg.ppm
|
||||||
|
.\djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
|
||||||
|
.\cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
|
||||||
|
.\jpegtran -outfile testoutt.jpg testprog.jpg
|
||||||
|
fc /b testimg.ppm testout.ppm
|
||||||
|
fc /b testimg.bmp testout.bmp
|
||||||
|
fc /b testimg.jpg testout.jpg
|
||||||
|
fc /b testimg.ppm testoutp.ppm
|
||||||
|
fc /b testimgp.jpg testoutp.jpg
|
||||||
|
fc /b testorig.jpg testoutt.jpg
|
||||||
|
|
||||||
|
test-build:
|
||||||
|
IF EXIST testout* $(RM) testout*
|
||||||
|
.\djpeg\Release\djpeg -dct int -ppm -outfile testout.ppm testorig.jpg
|
||||||
|
.\djpeg\Release\djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg
|
||||||
|
.\cjpeg\Release\cjpeg -dct int -outfile testout.jpg testimg.ppm
|
||||||
|
.\djpeg\Release\djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
|
||||||
|
.\cjpeg\Release\cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
|
||||||
|
.\jpegtran\Release\jpegtran -outfile testoutt.jpg testprog.jpg
|
||||||
|
fc /b testimg.ppm testout.ppm
|
||||||
|
fc /b testimg.bmp testout.bmp
|
||||||
|
fc /b testimg.jpg testout.jpg
|
||||||
|
fc /b testimg.ppm testoutp.ppm
|
||||||
|
fc /b testimgp.jpg testoutp.jpg
|
||||||
|
fc /b testorig.jpg testoutt.jpg
|
||||||
|
|
||||||
|
|
||||||
|
jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
|
||||||
|
jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
|
||||||
|
jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
|
||||||
|
jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
|
||||||
|
jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
|
||||||
|
jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
|
||||||
|
cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
|
||||||
|
djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
|
||||||
|
jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
|
||||||
|
rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h
|
||||||
|
wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h
|
||||||
|
cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
|
||||||
|
rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
||||||
|
wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
|
20
makefile.wat
20
makefile.wat
@ -61,21 +61,21 @@ DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 &
|
|||||||
coderules.txt filelist.txt change.log
|
coderules.txt filelist.txt change.log
|
||||||
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 &
|
MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.b32 &
|
||||||
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc &
|
makefile.bcc makefile.mc6 makefile.dj makefile.wat makefile.vc &
|
||||||
makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 &
|
makefile.vs makejdsw.vc6 makeadsw.vc6 makejdep.vc6 makejdsp.vc6 &
|
||||||
makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 &
|
makejmak.vc6 makecdep.vc6 makecdsp.vc6 makecmak.vc6 makeddep.vc6 &
|
||||||
makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 &
|
makeddsp.vc6 makedmak.vc6 maketdep.vc6 maketdsp.vc6 maketmak.vc6 &
|
||||||
makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 &
|
makerdep.vc6 makerdsp.vc6 makermak.vc6 makewdep.vc6 makewdsp.vc6 &
|
||||||
makejsln.v10 makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 &
|
makewmak.vc6 makejsln.v15 makeasln.v15 makejvcx.v15 makejfil.v15 &
|
||||||
makecfil.v10 makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 &
|
makecvcx.v15 makecfil.v15 makedvcx.v15 makedfil.v15 maketvcx.v15 &
|
||||||
makervcx.v10 makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac &
|
maketfil.v15 makervcx.v15 makerfil.v15 makewvcx.v15 makewfil.v15 &
|
||||||
makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st makefile.manx &
|
makeproj.mac makcjpeg.st makdjpeg.st makljpeg.st maktjpeg.st &
|
||||||
makefile.sas makefile.mms makefile.vms makvms.opt
|
makefile.manx makefile.sas makefile.mms makefile.vms makvms.opt
|
||||||
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat &
|
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat &
|
||||||
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas &
|
jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas &
|
||||||
jconfig.vms
|
jconfig.vms
|
||||||
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp &
|
CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp &
|
||||||
missing ar-lib
|
missing ar-lib
|
||||||
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map
|
OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map libjpeg.pc.in
|
||||||
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg &
|
TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg &
|
||||||
testimgp.jpg
|
testimgp.jpg
|
||||||
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) &
|
DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) &
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -62,16 +62,14 @@
|
|||||||
<ClCompile Include="jmemmgr.c" />
|
<ClCompile Include="jmemmgr.c" />
|
||||||
<ClCompile Include="jmemnobs.c" />
|
<ClCompile Include="jmemnobs.c" />
|
||||||
<ClCompile Include="jquant1.c" />
|
<ClCompile Include="jquant1.c" />
|
||||||
<ClCompile Include="jquant2.c">
|
<ClCompile Include="jquant2.c" />
|
||||||
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Disabled</Optimization>
|
|
||||||
<BufferSecurityCheck Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</BufferSecurityCheck>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="jutils.c" />
|
<ClCompile Include="jutils.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}</ProjectGuid>
|
<ProjectGuid>{019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>jpeg</RootNamespace>
|
<RootNamespace>jpeg</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -79,6 +77,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -10,6 +10,7 @@
|
|||||||
<ProjectGuid>{C81513DB-78DC-46BC-BC98-82E745203976}</ProjectGuid>
|
<ProjectGuid>{C81513DB-78DC-46BC-BC98-82E745203976}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>rdjpgcom</RootNamespace>
|
<RootNamespace>rdjpgcom</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -17,6 +18,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -10,6 +10,7 @@
|
|||||||
<ProjectGuid>{025BAC50-51B5-4FFE-BC47-3F920BB4047E}</ProjectGuid>
|
<ProjectGuid>{025BAC50-51B5-4FFE-BC47-3F920BB4047E}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>jpegtran</RootNamespace>
|
<RootNamespace>jpegtran</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -17,6 +18,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
@ -1,5 +1,5 @@
|
|||||||
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
‹¯¨<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
@ -10,6 +10,7 @@
|
|||||||
<ProjectGuid>{B57065D4-DDDA-4668-BAF5-2D49270C973C}</ProjectGuid>
|
<ProjectGuid>{B57065D4-DDDA-4668-BAF5-2D49270C973C}</ProjectGuid>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
<RootNamespace>wrjpgcom</RootNamespace>
|
<RootNamespace>wrjpgcom</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -17,6 +18,7 @@
|
|||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
6
missing
6
missing
@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common wrapper for a few potentially missing GNU programs.
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
scriptversion=2013-10-28.13; # UTC
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@ -210,6 +210,6 @@ exit $st
|
|||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
40
rdbmp.c
40
rdbmp.c
@ -2,13 +2,13 @@
|
|||||||
* rdbmp.c
|
* rdbmp.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
* Modified 2009-2010 by Guido Vollbeding.
|
* Modified 2009-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
* This file contains routines to read input images in Microsoft "BMP"
|
* 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).
|
* format (MS Windows 3.x, OS/2 1.x, and OS/2 2.x flavors).
|
||||||
* Currently, only 8-bit and 24-bit images are supported, not 1-bit or
|
* 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).
|
* 4-bit (feeding such low-depth images into JPEG would be silly anyway).
|
||||||
* Also, we don't support RLE-compressed files.
|
* Also, we don't support RLE-compressed files.
|
||||||
*
|
*
|
||||||
@ -61,7 +61,8 @@ typedef struct _bmp_source_struct {
|
|||||||
JDIMENSION source_row; /* Current source row number */
|
JDIMENSION source_row; /* Current source row number */
|
||||||
JDIMENSION row_width; /* Physical width of scanlines in file */
|
JDIMENSION row_width; /* Physical width of scanlines in file */
|
||||||
|
|
||||||
int bits_per_pixel; /* remembers 8- or 24-bit format */
|
int bits_per_pixel; /* remembers 8-, 24-, or 32-bit format */
|
||||||
|
int cmap_length; /* colormap length */
|
||||||
} bmp_source_struct;
|
} bmp_source_struct;
|
||||||
|
|
||||||
|
|
||||||
@ -121,11 +122,12 @@ get_8bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
/* This version is for reading 8-bit colormap indexes */
|
/* This version is for reading 8-bit colormap indexes */
|
||||||
{
|
{
|
||||||
bmp_source_ptr source = (bmp_source_ptr) sinfo;
|
bmp_source_ptr source = (bmp_source_ptr) sinfo;
|
||||||
register JSAMPARRAY colormap = source->colormap;
|
|
||||||
JSAMPARRAY image_ptr;
|
JSAMPARRAY image_ptr;
|
||||||
register int t;
|
|
||||||
register JSAMPROW inptr, outptr;
|
register JSAMPROW inptr, outptr;
|
||||||
|
register JSAMPARRAY colormap;
|
||||||
register JDIMENSION col;
|
register JDIMENSION col;
|
||||||
|
register int t;
|
||||||
|
int cmaplen;
|
||||||
|
|
||||||
/* Fetch next row from virtual array */
|
/* Fetch next row from virtual array */
|
||||||
source->source_row--;
|
source->source_row--;
|
||||||
@ -136,8 +138,12 @@ get_8bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
/* Expand the colormap indexes to real data */
|
/* Expand the colormap indexes to real data */
|
||||||
inptr = image_ptr[0];
|
inptr = image_ptr[0];
|
||||||
outptr = source->pub.buffer[0];
|
outptr = source->pub.buffer[0];
|
||||||
|
colormap = source->colormap;
|
||||||
|
cmaplen = source->cmap_length;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
t = GETJSAMPLE(*inptr++);
|
t = GETJSAMPLE(*inptr++);
|
||||||
|
if (t >= cmaplen)
|
||||||
|
ERREXIT(cinfo, JERR_BMP_OUTOFRANGE);
|
||||||
*outptr++ = colormap[0][t]; /* can omit GETJSAMPLE() safely */
|
*outptr++ = colormap[0][t]; /* can omit GETJSAMPLE() safely */
|
||||||
*outptr++ = colormap[1][t];
|
*outptr++ = colormap[1][t];
|
||||||
*outptr++ = colormap[2][t];
|
*outptr++ = colormap[2][t];
|
||||||
@ -192,6 +198,7 @@ get_32bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
image_ptr = (*cinfo->mem->access_virt_sarray)
|
image_ptr = (*cinfo->mem->access_virt_sarray)
|
||||||
((j_common_ptr) cinfo, source->whole_image,
|
((j_common_ptr) cinfo, source->whole_image,
|
||||||
source->source_row, (JDIMENSION) 1, FALSE);
|
source->source_row, (JDIMENSION) 1, FALSE);
|
||||||
|
|
||||||
/* Transfer data. Note source values are in BGR order
|
/* Transfer data. Note source values are in BGR order
|
||||||
* (even though Microsoft's own documents say the opposite).
|
* (even though Microsoft's own documents say the opposite).
|
||||||
*/
|
*/
|
||||||
@ -301,7 +308,7 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
ERREXIT(cinfo, JERR_INPUT_EOF);
|
ERREXIT(cinfo, JERR_INPUT_EOF);
|
||||||
if (GET_2B(bmpfileheader,0) != 0x4D42) /* 'BM' */
|
if (GET_2B(bmpfileheader,0) != 0x4D42) /* 'BM' */
|
||||||
ERREXIT(cinfo, JERR_BMP_NOT);
|
ERREXIT(cinfo, JERR_BMP_NOT);
|
||||||
bfOffBits = (INT32) GET_4B(bmpfileheader,10);
|
bfOffBits = GET_4B(bmpfileheader,10);
|
||||||
/* We ignore the remaining fileheader fields */
|
/* We ignore the remaining fileheader fields */
|
||||||
|
|
||||||
/* The infoheader might be 12 bytes (OS/2 1.x), 40 bytes (Windows),
|
/* The infoheader might be 12 bytes (OS/2 1.x), 40 bytes (Windows),
|
||||||
@ -309,7 +316,7 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
*/
|
*/
|
||||||
if (! ReadOK(source->pub.input_file, bmpinfoheader, 4))
|
if (! ReadOK(source->pub.input_file, bmpinfoheader, 4))
|
||||||
ERREXIT(cinfo, JERR_INPUT_EOF);
|
ERREXIT(cinfo, JERR_INPUT_EOF);
|
||||||
headerSize = (INT32) GET_4B(bmpinfoheader,0);
|
headerSize = GET_4B(bmpinfoheader,0);
|
||||||
if (headerSize < 12 || headerSize > 64)
|
if (headerSize < 12 || headerSize > 64)
|
||||||
ERREXIT(cinfo, JERR_BMP_BADHEADER);
|
ERREXIT(cinfo, JERR_BMP_BADHEADER);
|
||||||
if (! ReadOK(source->pub.input_file, bmpinfoheader+4, headerSize-4))
|
if (! ReadOK(source->pub.input_file, bmpinfoheader+4, headerSize-4))
|
||||||
@ -329,7 +336,9 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
TRACEMS2(cinfo, 1, JTRC_BMP_OS2_MAPPED, (int) biWidth, (int) biHeight);
|
TRACEMS2(cinfo, 1, JTRC_BMP_OS2_MAPPED, (int) biWidth, (int) biHeight);
|
||||||
break;
|
break;
|
||||||
case 24: /* RGB image */
|
case 24: /* RGB image */
|
||||||
TRACEMS2(cinfo, 1, JTRC_BMP_OS2, (int) biWidth, (int) biHeight);
|
case 32: /* RGB image + Alpha channel */
|
||||||
|
TRACEMS3(cinfo, 1, JTRC_BMP_OS2, (int) biWidth, (int) biHeight,
|
||||||
|
source->bits_per_pixel);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ERREXIT(cinfo, JERR_BMP_BADDEPTH);
|
ERREXIT(cinfo, JERR_BMP_BADDEPTH);
|
||||||
@ -356,10 +365,9 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
TRACEMS2(cinfo, 1, JTRC_BMP_MAPPED, (int) biWidth, (int) biHeight);
|
TRACEMS2(cinfo, 1, JTRC_BMP_MAPPED, (int) biWidth, (int) biHeight);
|
||||||
break;
|
break;
|
||||||
case 24: /* RGB image */
|
case 24: /* RGB image */
|
||||||
TRACEMS2(cinfo, 1, JTRC_BMP, (int) biWidth, (int) biHeight);
|
|
||||||
break;
|
|
||||||
case 32: /* RGB image + Alpha channel */
|
case 32: /* RGB image + Alpha channel */
|
||||||
TRACEMS2(cinfo, 1, JTRC_BMP, (int) biWidth, (int) biHeight);
|
TRACEMS3(cinfo, 1, JTRC_BMP, (int) biWidth, (int) biHeight,
|
||||||
|
source->bits_per_pixel);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ERREXIT(cinfo, JERR_BMP_BADDEPTH);
|
ERREXIT(cinfo, JERR_BMP_BADDEPTH);
|
||||||
@ -377,13 +385,14 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ERREXIT(cinfo, JERR_BMP_BADHEADER);
|
ERREXIT(cinfo, JERR_BMP_BADHEADER);
|
||||||
return;
|
return; /* avoid compiler warnings for uninitialized variables */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (biWidth <= 0 || biHeight <= 0)
|
|
||||||
ERREXIT(cinfo, JERR_BMP_EMPTY);
|
|
||||||
if (biPlanes != 1)
|
if (biPlanes != 1)
|
||||||
ERREXIT(cinfo, JERR_BMP_BADPLANES);
|
ERREXIT(cinfo, JERR_BMP_BADPLANES);
|
||||||
|
/* Sanity check for buffer allocation below */
|
||||||
|
if (biWidth <= 0 || biHeight <= 0 || (biWidth >> 24) || (biHeight >> 24))
|
||||||
|
ERREXIT(cinfo, JERR_BMP_OUTOFRANGE);
|
||||||
|
|
||||||
/* Compute distance to bitmap data --- will adjust for colormap below */
|
/* Compute distance to bitmap data --- will adjust for colormap below */
|
||||||
bPad = bfOffBits - (headerSize + 14);
|
bPad = bfOffBits - (headerSize + 14);
|
||||||
@ -398,6 +407,7 @@ start_input_bmp (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
source->colormap = (*cinfo->mem->alloc_sarray)
|
source->colormap = (*cinfo->mem->alloc_sarray)
|
||||||
((j_common_ptr) cinfo, JPOOL_IMAGE,
|
((j_common_ptr) cinfo, JPOOL_IMAGE,
|
||||||
(JDIMENSION) biClrUsed, (JDIMENSION) 3);
|
(JDIMENSION) biClrUsed, (JDIMENSION) 3);
|
||||||
|
source->cmap_length = (int) biClrUsed;
|
||||||
/* and read it from the file */
|
/* and read it from the file */
|
||||||
read_colormap(source, (int) biClrUsed, mapentrysize);
|
read_colormap(source, (int) biClrUsed, mapentrysize);
|
||||||
/* account for size of colormap */
|
/* account for size of colormap */
|
||||||
@ -474,7 +484,7 @@ jinit_read_bmp (j_compress_ptr cinfo)
|
|||||||
source->pub.start_input = start_input_bmp;
|
source->pub.start_input = start_input_bmp;
|
||||||
source->pub.finish_input = finish_input_bmp;
|
source->pub.finish_input = finish_input_bmp;
|
||||||
|
|
||||||
return (cjpeg_source_ptr) source;
|
return &source->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* BMP_SUPPORTED */
|
#endif /* BMP_SUPPORTED */
|
||||||
|
102
rdppm.c
102
rdppm.c
@ -2,7 +2,7 @@
|
|||||||
* rdppm.c
|
* rdppm.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2009 by Bill Allombert, Guido Vollbeding.
|
* Modified 2009-2017 by Bill Allombert, Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -76,6 +76,7 @@ typedef struct {
|
|||||||
JSAMPROW pixrow; /* FAR pointer to same */
|
JSAMPROW pixrow; /* FAR pointer to same */
|
||||||
size_t buffer_width; /* width of I/O buffer */
|
size_t buffer_width; /* width of I/O buffer */
|
||||||
JSAMPLE *rescale; /* => maxval-remapping array, or NULL */
|
JSAMPLE *rescale; /* => maxval-remapping array, or NULL */
|
||||||
|
unsigned int maxval;
|
||||||
} ppm_source_struct;
|
} ppm_source_struct;
|
||||||
|
|
||||||
typedef ppm_source_struct * ppm_source_ptr;
|
typedef ppm_source_struct * ppm_source_ptr;
|
||||||
@ -146,11 +147,16 @@ get_text_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
FILE * infile = source->pub.input_file;
|
FILE * infile = source->pub.input_file;
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
*ptr++ = rescale[read_pbm_integer(cinfo, infile)];
|
register unsigned int temp;
|
||||||
|
temp = read_pbm_integer(cinfo, infile);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -164,13 +170,24 @@ get_text_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
FILE * infile = source->pub.input_file;
|
FILE * infile = source->pub.input_file;
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
*ptr++ = rescale[read_pbm_integer(cinfo, infile)];
|
register unsigned int temp;
|
||||||
*ptr++ = rescale[read_pbm_integer(cinfo, infile)];
|
temp = read_pbm_integer(cinfo, infile);
|
||||||
*ptr++ = rescale[read_pbm_integer(cinfo, infile)];
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
|
temp = read_pbm_integer(cinfo, infile);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
|
temp = read_pbm_integer(cinfo, infile);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -184,6 +201,7 @@ get_scaled_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register U_CHAR * bufferptr;
|
register U_CHAR * bufferptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
||||||
@ -191,7 +209,11 @@ get_scaled_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
bufferptr = source->iobuffer;
|
bufferptr = source->iobuffer;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
*ptr++ = rescale[UCH(*bufferptr++)];
|
register unsigned int temp;
|
||||||
|
temp = (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -205,6 +227,7 @@ get_scaled_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register U_CHAR * bufferptr;
|
register U_CHAR * bufferptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
||||||
@ -212,9 +235,19 @@ get_scaled_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
bufferptr = source->iobuffer;
|
bufferptr = source->iobuffer;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
*ptr++ = rescale[UCH(*bufferptr++)];
|
register unsigned int temp;
|
||||||
*ptr++ = rescale[UCH(*bufferptr++)];
|
temp = (unsigned int) UCH(*bufferptr++);
|
||||||
*ptr++ = rescale[UCH(*bufferptr++)];
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
|
temp = (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
|
temp = (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -243,6 +276,7 @@ get_word_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register U_CHAR * bufferptr;
|
register U_CHAR * bufferptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
||||||
@ -250,9 +284,11 @@ get_word_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
bufferptr = source->iobuffer;
|
bufferptr = source->iobuffer;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
register int temp;
|
register unsigned int temp;
|
||||||
temp = UCH(*bufferptr++) << 8;
|
temp = ((unsigned int) UCH(*bufferptr++)) << 8;
|
||||||
temp |= UCH(*bufferptr++);
|
temp |= (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
*ptr++ = rescale[temp];
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
@ -267,6 +303,7 @@ get_word_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register U_CHAR * bufferptr;
|
register U_CHAR * bufferptr;
|
||||||
register JSAMPLE *rescale = source->rescale;
|
register JSAMPLE *rescale = source->rescale;
|
||||||
|
unsigned int maxval = source->maxval;
|
||||||
JDIMENSION col;
|
JDIMENSION col;
|
||||||
|
|
||||||
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
if (! ReadOK(source->pub.input_file, source->iobuffer, source->buffer_width))
|
||||||
@ -274,15 +311,21 @@ get_word_rgb_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
bufferptr = source->iobuffer;
|
bufferptr = source->iobuffer;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
register int temp;
|
register unsigned int temp;
|
||||||
temp = UCH(*bufferptr++) << 8;
|
temp = ((unsigned int) UCH(*bufferptr++)) << 8;
|
||||||
temp |= UCH(*bufferptr++);
|
temp |= (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
*ptr++ = rescale[temp];
|
*ptr++ = rescale[temp];
|
||||||
temp = UCH(*bufferptr++) << 8;
|
temp = ((unsigned int) UCH(*bufferptr++)) << 8;
|
||||||
temp |= UCH(*bufferptr++);
|
temp |= (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
*ptr++ = rescale[temp];
|
*ptr++ = rescale[temp];
|
||||||
temp = UCH(*bufferptr++) << 8;
|
temp = ((unsigned int) UCH(*bufferptr++)) << 8;
|
||||||
temp |= UCH(*bufferptr++);
|
temp |= (unsigned int) UCH(*bufferptr++);
|
||||||
|
if (temp > maxval)
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
*ptr++ = rescale[temp];
|
*ptr++ = rescale[temp];
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
@ -326,9 +369,14 @@ start_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
if (w <= 0 || h <= 0 || maxval <= 0) /* error check */
|
if (w <= 0 || h <= 0 || maxval <= 0) /* error check */
|
||||||
ERREXIT(cinfo, JERR_PPM_NOT);
|
ERREXIT(cinfo, JERR_PPM_NOT);
|
||||||
|
|
||||||
|
if (((long) w >> 24) || /* sanity check for buffer allocation below */
|
||||||
|
((long) maxval >> 16)) /* support max 16-bit (2-byte) sample values */
|
||||||
|
ERREXIT(cinfo, JERR_PPM_OUTOFRANGE);
|
||||||
|
|
||||||
cinfo->data_precision = BITS_IN_JSAMPLE; /* we always rescale data to this */
|
cinfo->data_precision = BITS_IN_JSAMPLE; /* we always rescale data to this */
|
||||||
cinfo->image_width = (JDIMENSION) w;
|
cinfo->image_width = (JDIMENSION) w;
|
||||||
cinfo->image_height = (JDIMENSION) h;
|
cinfo->image_height = (JDIMENSION) h;
|
||||||
|
source->maxval = maxval;
|
||||||
|
|
||||||
/* initialize flags to most common settings */
|
/* initialize flags to most common settings */
|
||||||
need_iobuffer = TRUE; /* do we need an I/O buffer? */
|
need_iobuffer = TRUE; /* do we need an I/O buffer? */
|
||||||
@ -386,10 +434,9 @@ start_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
/* Allocate space for I/O buffer: 1 or 3 bytes or words/pixel. */
|
/* Allocate space for I/O buffer: 1 or 3 bytes or words/pixel. */
|
||||||
if (need_iobuffer) {
|
if (need_iobuffer) {
|
||||||
source->buffer_width = (size_t) w * cinfo->input_components *
|
source->buffer_width = (size_t) w * cinfo->input_components *
|
||||||
((maxval<=255) ? SIZEOF(U_CHAR) : (2*SIZEOF(U_CHAR)));
|
((maxval <= 255) ? SIZEOF(U_CHAR) : (2 * SIZEOF(U_CHAR)));
|
||||||
source->iobuffer = (U_CHAR *)
|
source->iobuffer = (U_CHAR *) (*cinfo->mem->alloc_small)
|
||||||
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
|
((j_common_ptr) cinfo, JPOOL_IMAGE, source->buffer_width);
|
||||||
source->buffer_width);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create compressor input buffer. */
|
/* Create compressor input buffer. */
|
||||||
@ -413,13 +460,12 @@ start_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
INT32 val, half_maxval;
|
INT32 val, half_maxval;
|
||||||
|
|
||||||
/* On 16-bit-int machines we have to be careful of maxval = 65535 */
|
/* On 16-bit-int machines we have to be careful of maxval = 65535 */
|
||||||
source->rescale = (JSAMPLE *)
|
source->rescale = (JSAMPLE *) (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
|
||||||
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
|
JPOOL_IMAGE, (size_t) (((long) maxval + 1L) * SIZEOF(JSAMPLE)));
|
||||||
(size_t) (((long) maxval + 1L) * SIZEOF(JSAMPLE)));
|
|
||||||
half_maxval = maxval / 2;
|
half_maxval = maxval / 2;
|
||||||
for (val = 0; val <= (INT32) maxval; val++) {
|
for (val = 0; val <= (INT32) maxval; val++) {
|
||||||
/* The multiplication here must be done in 32 bits to avoid overflow */
|
/* The multiplication here must be done in 32 bits to avoid overflow */
|
||||||
source->rescale[val] = (JSAMPLE) ((val*MAXJSAMPLE + half_maxval)/maxval);
|
source->rescale[val] = (JSAMPLE) ((val * MAXJSAMPLE + half_maxval) / maxval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -453,7 +499,7 @@ jinit_read_ppm (j_compress_ptr cinfo)
|
|||||||
source->pub.start_input = start_input_ppm;
|
source->pub.start_input = start_input_ppm;
|
||||||
source->pub.finish_input = finish_input_ppm;
|
source->pub.finish_input = finish_input_ppm;
|
||||||
|
|
||||||
return (cjpeg_source_ptr) source;
|
return &source->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* PPM_SUPPORTED */
|
#endif /* PPM_SUPPORTED */
|
||||||
|
26
rdtarga.c
26
rdtarga.c
@ -2,6 +2,7 @@
|
|||||||
* rdtarga.c
|
* rdtarga.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1996, Thomas G. Lane.
|
* Copyright (C) 1991-1996, Thomas G. Lane.
|
||||||
|
* Modified 2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -62,6 +63,7 @@ typedef struct _tga_source_struct {
|
|||||||
U_CHAR tga_pixel[4];
|
U_CHAR tga_pixel[4];
|
||||||
|
|
||||||
int pixel_size; /* Bytes per Targa pixel (1 to 4) */
|
int pixel_size; /* Bytes per Targa pixel (1 to 4) */
|
||||||
|
int cmap_length; /* colormap length */
|
||||||
|
|
||||||
/* State info for reading RLE-coded pixels; both counts must be init to 0 */
|
/* State info for reading RLE-coded pixels; both counts must be init to 0 */
|
||||||
int block_count; /* # of pixels remaining in RLE block */
|
int block_count; /* # of pixels remaining in RLE block */
|
||||||
@ -177,7 +179,7 @@ get_8bit_gray_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
tga_source_ptr source = (tga_source_ptr) sinfo;
|
tga_source_ptr source = (tga_source_ptr) sinfo;
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register JDIMENSION col;
|
register JDIMENSION col;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
||||||
@ -191,15 +193,20 @@ get_8bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
/* This version is for reading 8-bit colormap indexes */
|
/* This version is for reading 8-bit colormap indexes */
|
||||||
{
|
{
|
||||||
tga_source_ptr source = (tga_source_ptr) sinfo;
|
tga_source_ptr source = (tga_source_ptr) sinfo;
|
||||||
register int t;
|
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
|
register JSAMPARRAY colormap;
|
||||||
register JDIMENSION col;
|
register JDIMENSION col;
|
||||||
register JSAMPARRAY colormap = source->colormap;
|
register int t;
|
||||||
|
int cmaplen;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
|
colormap = source->colormap;
|
||||||
|
cmaplen = source->cmap_length;
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
||||||
t = UCH(source->tga_pixel[0]);
|
t = UCH(source->tga_pixel[0]);
|
||||||
|
if (t >= cmaplen)
|
||||||
|
ERREXIT(cinfo, JERR_TGA_BADPARMS);
|
||||||
*ptr++ = colormap[0][t];
|
*ptr++ = colormap[0][t];
|
||||||
*ptr++ = colormap[1][t];
|
*ptr++ = colormap[1][t];
|
||||||
*ptr++ = colormap[2][t];
|
*ptr++ = colormap[2][t];
|
||||||
@ -215,7 +222,7 @@ get_16bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
register int t;
|
register int t;
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register JDIMENSION col;
|
register JDIMENSION col;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
||||||
@ -242,7 +249,7 @@ get_24bit_row (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
tga_source_ptr source = (tga_source_ptr) sinfo;
|
tga_source_ptr source = (tga_source_ptr) sinfo;
|
||||||
register JSAMPROW ptr;
|
register JSAMPROW ptr;
|
||||||
register JDIMENSION col;
|
register JDIMENSION col;
|
||||||
|
|
||||||
ptr = source->pub.buffer[0];
|
ptr = source->pub.buffer[0];
|
||||||
for (col = cinfo->image_width; col > 0; col--) {
|
for (col = cinfo->image_width; col > 0; col--) {
|
||||||
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
(*source->read_pixel) (source); /* Load next pixel into tga_pixel */
|
||||||
@ -361,11 +368,12 @@ start_input_tga (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
interlace_type = flags >> 6; /* bits 6/7 are interlace code */
|
interlace_type = flags >> 6; /* bits 6/7 are interlace code */
|
||||||
|
|
||||||
if (cmaptype > 1 || /* cmaptype must be 0 or 1 */
|
if (cmaptype > 1 || /* cmaptype must be 0 or 1 */
|
||||||
|
width <= 0 || height <= 0 ||
|
||||||
source->pixel_size < 1 || source->pixel_size > 4 ||
|
source->pixel_size < 1 || source->pixel_size > 4 ||
|
||||||
(UCH(targaheader[16]) & 7) != 0 || /* bits/pixel must be multiple of 8 */
|
(UCH(targaheader[16]) & 7) != 0 || /* bits/pixel must be multiple of 8 */
|
||||||
interlace_type != 0) /* currently don't allow interlaced image */
|
interlace_type != 0) /* currently don't allow interlaced image */
|
||||||
ERREXIT(cinfo, JERR_TGA_BADPARMS);
|
ERREXIT(cinfo, JERR_TGA_BADPARMS);
|
||||||
|
|
||||||
if (subtype > 8) {
|
if (subtype > 8) {
|
||||||
/* It's an RLE-coded file */
|
/* It's an RLE-coded file */
|
||||||
source->read_pixel = read_rle_pixel;
|
source->read_pixel = read_rle_pixel;
|
||||||
@ -440,7 +448,7 @@ start_input_tga (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
source->pub.buffer_height = 1;
|
source->pub.buffer_height = 1;
|
||||||
source->pub.get_pixel_rows = source->get_pixel_rows;
|
source->pub.get_pixel_rows = source->get_pixel_rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (idlen--) /* Throw away ID field */
|
while (idlen--) /* Throw away ID field */
|
||||||
(void) read_byte(source);
|
(void) read_byte(source);
|
||||||
|
|
||||||
@ -450,12 +458,14 @@ start_input_tga (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
|
|||||||
/* Allocate space to store the colormap */
|
/* Allocate space to store the colormap */
|
||||||
source->colormap = (*cinfo->mem->alloc_sarray)
|
source->colormap = (*cinfo->mem->alloc_sarray)
|
||||||
((j_common_ptr) cinfo, JPOOL_IMAGE, (JDIMENSION) maplen, (JDIMENSION) 3);
|
((j_common_ptr) cinfo, JPOOL_IMAGE, (JDIMENSION) maplen, (JDIMENSION) 3);
|
||||||
|
source->cmap_length = (int) maplen;
|
||||||
/* and read it from the file */
|
/* and read it from the file */
|
||||||
read_colormap(source, (int) maplen, UCH(targaheader[7]));
|
read_colormap(source, (int) maplen, UCH(targaheader[7]));
|
||||||
} else {
|
} else {
|
||||||
if (cmaptype) /* but you promised a cmap! */
|
if (cmaptype) /* but you promised a cmap! */
|
||||||
ERREXIT(cinfo, JERR_TGA_BADPARMS);
|
ERREXIT(cinfo, JERR_TGA_BADPARMS);
|
||||||
source->colormap = NULL;
|
source->colormap = NULL;
|
||||||
|
source->cmap_length = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cinfo->input_components = components;
|
cinfo->input_components = components;
|
||||||
@ -494,7 +504,7 @@ jinit_read_targa (j_compress_ptr cinfo)
|
|||||||
source->pub.start_input = start_input_tga;
|
source->pub.start_input = start_input_tga;
|
||||||
source->pub.finish_input = finish_input_tga;
|
source->pub.finish_input = finish_input_tga;
|
||||||
|
|
||||||
return (cjpeg_source_ptr) source;
|
return &source->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* TARGA_SUPPORTED */
|
#endif /* TARGA_SUPPORTED */
|
||||||
|
75
transupp.c
75
transupp.c
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* transupp.c
|
* transupp.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1997-2013, Thomas G. Lane, Guido Vollbeding.
|
* Copyright (C) 1997-2017, Thomas G. Lane, Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -198,25 +198,76 @@ do_wipe (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
|||||||
JDIMENSION drop_width, JDIMENSION drop_height)
|
JDIMENSION drop_width, JDIMENSION drop_height)
|
||||||
/* Wipe - drop content of specified area, fill with zero (neutral gray) */
|
/* Wipe - drop content of specified area, fill with zero (neutral gray) */
|
||||||
{
|
{
|
||||||
JDIMENSION comp_width, comp_height;
|
JDIMENSION x_wipe_blocks, wipe_width;
|
||||||
JDIMENSION blk_y, x_wipe_blocks, y_wipe_blocks;
|
JDIMENSION y_wipe_blocks, wipe_bottom;
|
||||||
int ci, offset_y;
|
int ci, offset_y;
|
||||||
JBLOCKARRAY buffer;
|
JBLOCKARRAY buffer;
|
||||||
jpeg_component_info *compptr;
|
jpeg_component_info *compptr;
|
||||||
|
|
||||||
for (ci = 0; ci < dstinfo->num_components; ci++) {
|
for (ci = 0; ci < dstinfo->num_components; ci++) {
|
||||||
compptr = dstinfo->comp_info + ci;
|
compptr = dstinfo->comp_info + ci;
|
||||||
comp_width = drop_width * compptr->h_samp_factor;
|
|
||||||
comp_height = drop_height * compptr->v_samp_factor;
|
|
||||||
x_wipe_blocks = x_crop_offset * compptr->h_samp_factor;
|
x_wipe_blocks = x_crop_offset * compptr->h_samp_factor;
|
||||||
|
wipe_width = drop_width * compptr->h_samp_factor;
|
||||||
y_wipe_blocks = y_crop_offset * compptr->v_samp_factor;
|
y_wipe_blocks = y_crop_offset * compptr->v_samp_factor;
|
||||||
for (blk_y = 0; blk_y < comp_height; blk_y += compptr->v_samp_factor) {
|
wipe_bottom = drop_height * compptr->v_samp_factor + y_wipe_blocks;
|
||||||
|
for (; y_wipe_blocks < wipe_bottom;
|
||||||
|
y_wipe_blocks += compptr->v_samp_factor) {
|
||||||
buffer = (*srcinfo->mem->access_virt_barray)
|
buffer = (*srcinfo->mem->access_virt_barray)
|
||||||
((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y + y_wipe_blocks,
|
((j_common_ptr) srcinfo, src_coef_arrays[ci], y_wipe_blocks,
|
||||||
(JDIMENSION) compptr->v_samp_factor, TRUE);
|
(JDIMENSION) compptr->v_samp_factor, TRUE);
|
||||||
for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
|
for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
|
||||||
FMEMZERO(buffer[offset_y] + x_wipe_blocks,
|
FMEMZERO(buffer[offset_y] + x_wipe_blocks,
|
||||||
comp_width * SIZEOF(JBLOCK));
|
wipe_width * SIZEOF(JBLOCK));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LOCAL(void)
|
||||||
|
do_flatten (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||||
|
JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
|
||||||
|
jvirt_barray_ptr *src_coef_arrays,
|
||||||
|
JDIMENSION drop_width, JDIMENSION drop_height)
|
||||||
|
/* Flatten - drop content of specified area, similar to wipe,
|
||||||
|
* but fill with average of adjacent blocks, instead of zero.
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
JDIMENSION x_wipe_blocks, wipe_width, wipe_right;
|
||||||
|
JDIMENSION y_wipe_blocks, wipe_bottom, blk_x;
|
||||||
|
int ci, offset_y, dc_left_value, dc_right_value, average;
|
||||||
|
JBLOCKARRAY buffer;
|
||||||
|
jpeg_component_info *compptr;
|
||||||
|
|
||||||
|
for (ci = 0; ci < dstinfo->num_components; ci++) {
|
||||||
|
compptr = dstinfo->comp_info + ci;
|
||||||
|
x_wipe_blocks = x_crop_offset * compptr->h_samp_factor;
|
||||||
|
wipe_width = drop_width * compptr->h_samp_factor;
|
||||||
|
wipe_right = wipe_width + x_wipe_blocks;
|
||||||
|
y_wipe_blocks = y_crop_offset * compptr->v_samp_factor;
|
||||||
|
wipe_bottom = drop_height * compptr->v_samp_factor + y_wipe_blocks;
|
||||||
|
for (; y_wipe_blocks < wipe_bottom;
|
||||||
|
y_wipe_blocks += compptr->v_samp_factor) {
|
||||||
|
buffer = (*srcinfo->mem->access_virt_barray)
|
||||||
|
((j_common_ptr) srcinfo, src_coef_arrays[ci], y_wipe_blocks,
|
||||||
|
(JDIMENSION) compptr->v_samp_factor, TRUE);
|
||||||
|
for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
|
||||||
|
FMEMZERO(buffer[offset_y] + x_wipe_blocks,
|
||||||
|
wipe_width * SIZEOF(JBLOCK));
|
||||||
|
if (x_wipe_blocks > 0) {
|
||||||
|
dc_left_value = buffer[offset_y][x_wipe_blocks - 1][0];
|
||||||
|
if (wipe_right < compptr->width_in_blocks) {
|
||||||
|
dc_right_value = buffer[offset_y][wipe_right][0];
|
||||||
|
average = (dc_left_value + dc_right_value) >> 1;
|
||||||
|
} else {
|
||||||
|
average = dc_left_value;
|
||||||
|
}
|
||||||
|
} else if (wipe_right < compptr->width_in_blocks) {
|
||||||
|
average = buffer[offset_y][wipe_right][0];
|
||||||
|
} else continue;
|
||||||
|
for (blk_x = x_wipe_blocks; blk_x < wipe_right; blk_x++) {
|
||||||
|
buffer[offset_y][blk_x][0] = (JCOEF) average;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1626,8 +1677,12 @@ jtransform_execute_transform (j_decompress_ptr srcinfo,
|
|||||||
src_coef_arrays, dst_coef_arrays);
|
src_coef_arrays, dst_coef_arrays);
|
||||||
break;
|
break;
|
||||||
case JXFORM_WIPE:
|
case JXFORM_WIPE:
|
||||||
do_wipe(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
|
if (info->crop_width_set != JCROP_FORCE)
|
||||||
src_coef_arrays, info->drop_width, info->drop_height);
|
do_wipe(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
|
||||||
|
src_coef_arrays, info->drop_width, info->drop_height);
|
||||||
|
else
|
||||||
|
do_flatten(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
|
||||||
|
src_coef_arrays, info->drop_width, info->drop_height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -576,6 +576,9 @@ inside a given image region while losslessly preserving what is outside:
|
|||||||
-wipe WxH+X+Y Wipe (gray out) a rectangular subarea of
|
-wipe WxH+X+Y Wipe (gray out) a rectangular subarea of
|
||||||
width W, height H starting at point X,Y.
|
width W, height H starting at point X,Y.
|
||||||
|
|
||||||
|
Attaching an 'f' character ("flatten") to the width number will fill
|
||||||
|
the region with the average of adjacent blocks, instead of gray out.
|
||||||
|
|
||||||
Other not-strictly-lossless transformation switches are:
|
Other not-strictly-lossless transformation switches are:
|
||||||
|
|
||||||
-grayscale Force grayscale output.
|
-grayscale Force grayscale output.
|
||||||
|
11
wrbmp.c
11
wrbmp.c
@ -2,6 +2,7 @@
|
|||||||
* wrbmp.c
|
* wrbmp.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1996, Thomas G. Lane.
|
* Copyright (C) 1994-1996, Thomas G. Lane.
|
||||||
|
* Modified 2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -189,7 +190,7 @@ write_bmp_header (j_decompress_ptr cinfo, bmp_dest_ptr dest)
|
|||||||
/* File size */
|
/* File size */
|
||||||
headersize = 14 + 40 + cmap_entries * 4; /* Header and colormap */
|
headersize = 14 + 40 + cmap_entries * 4; /* Header and colormap */
|
||||||
bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height;
|
bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height;
|
||||||
|
|
||||||
/* Set unused fields of header to 0 */
|
/* Set unused fields of header to 0 */
|
||||||
MEMZERO(bmpfileheader, SIZEOF(bmpfileheader));
|
MEMZERO(bmpfileheader, SIZEOF(bmpfileheader));
|
||||||
MEMZERO(bmpinfoheader, SIZEOF(bmpinfoheader));
|
MEMZERO(bmpinfoheader, SIZEOF(bmpinfoheader));
|
||||||
@ -254,7 +255,7 @@ write_os2_header (j_decompress_ptr cinfo, bmp_dest_ptr dest)
|
|||||||
/* File size */
|
/* File size */
|
||||||
headersize = 14 + 12 + cmap_entries * 3; /* Header and colormap */
|
headersize = 14 + 12 + cmap_entries * 3; /* Header and colormap */
|
||||||
bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height;
|
bfSize = headersize + (INT32) dest->row_width * (INT32) cinfo->output_height;
|
||||||
|
|
||||||
/* Set unused fields of header to 0 */
|
/* Set unused fields of header to 0 */
|
||||||
MEMZERO(bmpfileheader, SIZEOF(bmpfileheader));
|
MEMZERO(bmpfileheader, SIZEOF(bmpfileheader));
|
||||||
MEMZERO(bmpcoreheader, SIZEOF(bmpcoreheader));
|
MEMZERO(bmpcoreheader, SIZEOF(bmpcoreheader));
|
||||||
@ -376,8 +377,8 @@ finish_output_bmp (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
|||||||
progress->completed_extra_passes++;
|
progress->completed_extra_passes++;
|
||||||
|
|
||||||
/* Make sure we wrote the output file OK */
|
/* Make sure we wrote the output file OK */
|
||||||
fflush(outfile);
|
JFFLUSH(outfile);
|
||||||
if (ferror(outfile))
|
if (JFERROR(outfile))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -436,7 +437,7 @@ jinit_write_bmp (j_decompress_ptr cinfo, boolean is_os2)
|
|||||||
((j_common_ptr) cinfo, JPOOL_IMAGE, row_width, (JDIMENSION) 1);
|
((j_common_ptr) cinfo, JPOOL_IMAGE, row_width, (JDIMENSION) 1);
|
||||||
dest->pub.buffer_height = 1;
|
dest->pub.buffer_height = 1;
|
||||||
|
|
||||||
return (djpeg_dest_ptr) dest;
|
return &dest->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* BMP_SUPPORTED */
|
#endif /* BMP_SUPPORTED */
|
||||||
|
6
wrgif.c
6
wrgif.c
@ -2,7 +2,7 @@
|
|||||||
* wrgif.c
|
* wrgif.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1997, Thomas G. Lane.
|
* Copyright (C) 1991-1997, Thomas G. Lane.
|
||||||
* Modified 2015 by Guido Vollbeding.
|
* Modified 2015-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -347,8 +347,8 @@ finish_output_gif (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
|||||||
/* Write the GIF terminator mark */
|
/* Write the GIF terminator mark */
|
||||||
putc(';', dest->pub.output_file);
|
putc(';', dest->pub.output_file);
|
||||||
/* Make sure we wrote the output file OK */
|
/* Make sure we wrote the output file OK */
|
||||||
fflush(dest->pub.output_file);
|
JFFLUSH(dest->pub.output_file);
|
||||||
if (ferror(dest->pub.output_file))
|
if (JFERROR(dest->pub.output_file))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* wrjpgcom.c
|
* wrjpgcom.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1994-1997, Thomas G. Lane.
|
* Copyright (C) 1994-1997, Thomas G. Lane.
|
||||||
* Modified 2015 by Guido Vollbeding.
|
* Modified 2015-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -254,7 +254,7 @@ copy_variable (void)
|
|||||||
if (length < 2)
|
if (length < 2)
|
||||||
ERREXIT("Erroneous JPEG marker length");
|
ERREXIT("Erroneous JPEG marker length");
|
||||||
length -= 2;
|
length -= 2;
|
||||||
/* Skip over the remaining bytes */
|
/* Copy the remaining bytes */
|
||||||
while (length > 0) {
|
while (length > 0) {
|
||||||
write_1_byte(read_1_byte());
|
write_1_byte(read_1_byte());
|
||||||
length--;
|
length--;
|
||||||
|
8
wrppm.c
8
wrppm.c
@ -2,7 +2,7 @@
|
|||||||
* wrppm.c
|
* wrppm.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1996, Thomas G. Lane.
|
* Copyright (C) 1991-1996, Thomas G. Lane.
|
||||||
* Modified 2009 by Guido Vollbeding.
|
* Modified 2009-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -206,8 +206,8 @@ METHODDEF(void)
|
|||||||
finish_output_ppm (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
finish_output_ppm (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
||||||
{
|
{
|
||||||
/* Make sure we wrote the output file OK */
|
/* Make sure we wrote the output file OK */
|
||||||
fflush(dinfo->output_file);
|
JFFLUSH(dinfo->output_file);
|
||||||
if (ferror(dinfo->output_file))
|
if (JFERROR(dinfo->output_file))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -263,7 +263,7 @@ jinit_write_ppm (j_decompress_ptr cinfo)
|
|||||||
dest->pub.put_pixel_rows = put_pixel_rows;
|
dest->pub.put_pixel_rows = put_pixel_rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (djpeg_dest_ptr) dest;
|
return &dest->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* PPM_SUPPORTED */
|
#endif /* PPM_SUPPORTED */
|
||||||
|
7
wrrle.c
7
wrrle.c
@ -2,6 +2,7 @@
|
|||||||
* wrrle.c
|
* wrrle.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1996, Thomas G. Lane.
|
* Copyright (C) 1991-1996, Thomas G. Lane.
|
||||||
|
* Modified 2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -263,8 +264,8 @@ finish_output_rle (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
|||||||
|
|
||||||
/* Emit file trailer */
|
/* Emit file trailer */
|
||||||
rle_puteof(&header);
|
rle_puteof(&header);
|
||||||
fflush(dest->pub.output_file);
|
JFFLUSH(dest->pub.output_file);
|
||||||
if (ferror(dest->pub.output_file))
|
if (JFERROR(dest->pub.output_file))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +300,7 @@ jinit_write_rle (j_decompress_ptr cinfo)
|
|||||||
(JDIMENSION) (cinfo->output_width * cinfo->output_components),
|
(JDIMENSION) (cinfo->output_width * cinfo->output_components),
|
||||||
cinfo->output_height, (JDIMENSION) 1);
|
cinfo->output_height, (JDIMENSION) 1);
|
||||||
|
|
||||||
return (djpeg_dest_ptr) dest;
|
return &dest->pub;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* RLE_SUPPORTED */
|
#endif /* RLE_SUPPORTED */
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* wrtarga.c
|
* wrtarga.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 1991-1996, Thomas G. Lane.
|
* Copyright (C) 1991-1996, Thomas G. Lane.
|
||||||
* Modified 2015 by Guido Vollbeding.
|
* Modified 2015-2017 by Guido Vollbeding.
|
||||||
* This file is part of the Independent JPEG Group's software.
|
* This file is part of the Independent JPEG Group's software.
|
||||||
* For conditions of distribution and use, see the accompanying README file.
|
* For conditions of distribution and use, see the accompanying README file.
|
||||||
*
|
*
|
||||||
@ -212,8 +212,8 @@ METHODDEF(void)
|
|||||||
finish_output_tga (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
finish_output_tga (j_decompress_ptr cinfo, djpeg_dest_ptr dinfo)
|
||||||
{
|
{
|
||||||
/* Make sure we wrote the output file OK */
|
/* Make sure we wrote the output file OK */
|
||||||
fflush(dinfo->output_file);
|
JFFLUSH(dinfo->output_file);
|
||||||
if (ferror(dinfo->output_file))
|
if (JFERROR(dinfo->output_file))
|
||||||
ERREXIT(cinfo, JERR_FILE_WRITE);
|
ERREXIT(cinfo, JERR_FILE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user