Skip to content

Commit

Permalink
The Independent JPEG Group's JPEG software v8b
Browse files Browse the repository at this point in the history
  • Loading branch information
Guido Vollbeding authored and dcommander committed Jul 27, 2015
1 parent f18f81b commit a4ecaac
Show file tree
Hide file tree
Showing 43 changed files with 1,169 additions and 1,307 deletions.
13 changes: 7 additions & 6 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,12 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \
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.vc9 \
makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \
makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \
makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \
makefile.vms makvms.opt
makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.v10 \
makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 makecfil.v10 \
makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 makervcx.v10 \
makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac makcjpeg.st \
makdjpeg.st makljpeg.st maktjpeg.st makefile.manx makefile.sas \
makefile.mms makefile.vms makvms.opt

# Configuration files
CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
Expand Down Expand Up @@ -118,7 +119,7 @@ uninstall-local:
# Run tests
test: check-local
check-local:
$(RM) testout*
rm -f testout*
./djpeg -dct int -ppm -outfile testout.ppm $(srcdir)/testorig.jpg
./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
./cjpeg -dct int -outfile testout.jpg $(srcdir)/testimg.ppm
Expand Down
13 changes: 7 additions & 6 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,12 @@ MKFILES = configure Makefile.in makefile.ansi makefile.unix makefile.bcc \
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.vc9 \
makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \
makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \
makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \
makefile.vms makvms.opt
makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.v10 \
makeasln.v10 makejvcx.v10 makejfil.v10 makecvcx.v10 makecfil.v10 \
makedvcx.v10 makedfil.v10 maketvcx.v10 maketfil.v10 makervcx.v10 \
makerfil.v10 makewvcx.v10 makewfil.v10 makeproj.mac makcjpeg.st \
makdjpeg.st makljpeg.st maktjpeg.st makefile.manx makefile.sas \
makefile.mms makefile.vms makvms.opt


# Configuration files
Expand Down Expand Up @@ -1071,7 +1072,7 @@ uninstall-local:
# Run tests
test: check-local
check-local:
$(RM) testout*
rm -f testout*
./djpeg -dct int -ppm -outfile testout.ppm $(srcdir)/testorig.jpg
./djpeg -dct int -bmp -colors 256 -outfile testout.bmp $(srcdir)/testorig.jpg
./cjpeg -dct int -outfile testout.jpg $(srcdir)/testimg.ppm
Expand Down
9 changes: 5 additions & 4 deletions README
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The Independent JPEG Group's JPEG software
==========================================

README for release 8a of 28-Feb-2010
README for release 8b of 16-May-2010
====================================

This distribution contains the eighth public release of the Independent JPEG
Expand Down Expand Up @@ -254,8 +254,8 @@ ARCHIVE LOCATIONS
The "official" archive site for this software is www.ijg.org.
The most recent released version can always be found there in
directory "files". This particular version will be archived as
http://www.ijg.org/files/jpegsrc.v8a.tar.gz, and in Windows-compatible
"zip" archive format as http://www.ijg.org/files/jpegsr8a.zip.
http://www.ijg.org/files/jpegsrc.v8b.tar.gz, and in Windows-compatible
"zip" archive format as http://www.ijg.org/files/jpegsr8b.zip.

The JPEG FAQ (Frequently Asked Questions) article is a source of some
general information about JPEG.
Expand Down Expand Up @@ -285,7 +285,8 @@ Thank to John Korejwa and Massimo Ballerini for inviting me to
fruitful consultations in Boston, MA and Milan, Italy.

Thank to Hendrik Elstner, Roland Fassauer, Simone Zuck, Guenther
Maier-Gerber, and Walter Stoeber for corresponding business development.
Maier-Gerber, Walter Stoeber, and Fred Schmitz for corresponding
business development.

Thank to Nico Zschach and Dirk Stelling of the technical support team
at the Digital Images company in Halle for providing me with extra
Expand Down
13 changes: 13 additions & 0 deletions change.log
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
CHANGE LOG for Independent JPEG Group's JPEG software


Version 8b 16-May-2010
-----------------------

Repair problem in new memory source manager with corrupt JPEG data.
Thank to Ted Campbell and Samuel Chun for the report.

Repair problem in Makefile.am test target.
Thank to anonymous user for the report.

Support MinGW installation with automatic configure.
Thank to Volker Grabsch for the suggestion.


Version 8a 28-Feb-2010
-----------------------

Expand Down
22 changes: 11 additions & 11 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for libjpeg 8.0.1.
# Generated by GNU Autoconf 2.65 for libjpeg 8.0.2.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
Expand Down Expand Up @@ -698,8 +698,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libjpeg'
PACKAGE_TARNAME='libjpeg'
PACKAGE_VERSION='8.0.1'
PACKAGE_STRING='libjpeg 8.0.1'
PACKAGE_VERSION='8.0.2'
PACKAGE_STRING='libjpeg 8.0.2'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''

Expand Down Expand Up @@ -1430,7 +1430,7 @@ if test "$ac_init_help" = "long"; then
# 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.
cat <<_ACEOF
\`configure' configures libjpeg 8.0.1 to adapt to many kinds of systems.
\`configure' configures libjpeg 8.0.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
Expand Down Expand Up @@ -1501,7 +1501,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libjpeg 8.0.1:";;
short | recursive ) echo "Configuration of libjpeg 8.0.2:";;
esac
cat <<\_ACEOF
Expand Down Expand Up @@ -1608,7 +1608,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libjpeg configure 8.0.1
libjpeg configure 8.0.2
generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
Expand Down Expand Up @@ -1973,7 +1973,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libjpeg $as_me 8.0.1, which was
It was created by libjpeg $as_me 8.0.2, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
Expand Down Expand Up @@ -2905,7 +2905,7 @@ fi
# Define the identity of the package.
PACKAGE='libjpeg'
VERSION='8.0.1'
VERSION='8.0.2'
cat >>confdefs.h <<_ACEOF
Expand Down Expand Up @@ -12675,7 +12675,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking libjpeg version number" >&5
$as_echo_n "checking libjpeg version number... " >&6; }
JPEG_LIB_VERSION=`sed -e '/^#define JPEG_LIB_VERSION/!d' -e 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' $srcdir/jpeglib.h`
JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:1"
JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:2"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JPEG_LIB_VERSION" >&5
$as_echo "$JPEG_LIB_VERSION" >&6; }
Expand Down Expand Up @@ -13215,7 +13215,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by libjpeg $as_me 8.0.1, which was
This file was extended by libjpeg $as_me 8.0.2, which was
generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -13281,7 +13281,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
libjpeg config.status 8.0.1
libjpeg config.status 8.0.2
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Configure script for IJG libjpeg
#

AC_INIT([libjpeg], [8.0.1])
AC_INIT([libjpeg], [8.0.2])

# Directory where autotools helper scripts lives.
AC_CONFIG_AUX_DIR([.])
Expand Down Expand Up @@ -309,7 +309,7 @@ AC_SUBST(MEMORYMGR)
# Extract the library version ID from jpeglib.h.
AC_MSG_CHECKING([libjpeg version number])
[JPEG_LIB_VERSION=`sed -e '/^#define JPEG_LIB_VERSION/!d' -e 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' $srcdir/jpeglib.h`]
[JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:1"]
[JPEG_LIB_VERSION="`expr $JPEG_LIB_VERSION / 10`:2"]
AC_MSG_RESULT([$JPEG_LIB_VERSION])
AC_SUBST([JPEG_LIB_VERSION])

Expand Down
79 changes: 39 additions & 40 deletions install.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software

Copyright (C) 1991-2009, Thomas G. Lane, Guido Vollbeding.
Copyright (C) 1991-2010, Thomas G. Lane, Guido Vollbeding.
This file is part of the Independent JPEG Group's software.
For conditions of distribution and use, see the accompanying README file.

Expand Down Expand Up @@ -149,7 +149,7 @@ 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.vc jconfig.vc Windows NT/95, MS Visual C++
make*.vc6 jconfig.vc Windows NT/95, MS Visual C++ 6
make*.vc9 jconfig.vc Windows NT/95, MS Visual C++ 2008 (v9)
make*.v10 jconfig.vc Windows NT/95, MS Visual C++ 2010 (v10)
makefile.mms jconfig.vms Digital VMS, with MMS software
makefile.vms jconfig.vms Digital VMS, without MMS software

Expand Down Expand Up @@ -534,17 +534,17 @@ In general, it's worth trying the maximum optimization level of your compiler,
and experimenting with any optional optimizations such as loop unrolling.
(Unfortunately, far too many compilers have optimizer bugs ... be prepared to
back off if the code fails self-test.) If you do any experimentation along
these lines, please report the optimal settings to jpeg-info@jpegclub.org so
we can mention them in future releases. Be sure to specify your machine and
compiler version.
these lines, please report the optimal settings to jpeg-info@uc.ag so we
can mention them in future releases. Be sure to specify your machine
and compiler version.


HINTS FOR SPECIFIC SYSTEMS
==========================

We welcome reports on changes needed for systems not mentioned here. Submit
'em to jpeg-info@jpegclub.org. Also, if configure or ckconfig.c is wrong
about how to configure the JPEG software for your system, please let us know.
'em to jpeg-info@uc.ag. Also, if configure or ckconfig.c is wrong about how
to configure the JPEG software for your system, please let us know.


Acorn RISC OS:
Expand Down Expand Up @@ -998,8 +998,8 @@ model. makefile.vc is intended for command-line use. (If you are using
the Developer Studio environment, you may prefer the DevStudio project
files; see below.)

v7 adds extern "C" to jpeglib.h. This avoids the need to put extern "C"
{ ... } around #include "jpeglib.h" in your C++ application.
IJG JPEG 7 adds extern "C" to jpeglib.h. This avoids the need to put
extern "C" { ... } around #include "jpeglib.h" in your C++ application.
You can also force VC++ to treat the library as C++ code by renaming
all the *.c files to *.cpp (and adjusting the makefile to match).
In this case you also need to define the symbol DONT_USE_EXTERN_C in
Expand All @@ -1015,51 +1015,50 @@ 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. Copy jconfig.vc to jconfig.h, makejdsw.vc6 to jpeg.dsw,
makeadsw.vc6 to apps.dsw, makejmak.vc6 to jpeg.mak,
makejdep.vc6 to jpeg.dep, makejdsp.vc6 to jpeg.dsp,
makecmak.vc6 to cjpeg.mak, makecdep.vc6 to cjpeg.dep,
makecdsp.vc6 to cjpeg.dsp, makedmak.vc6 to djpeg.mak,
makeddep.vc6 to djpeg.dep, makeddsp.vc6 to djpeg.dsp,
maketmak.vc6 to jpegtran.mak, maketdep.vc6 to jpegtran.dep,
maketdsp.vc6 to jpegtran.dsp, makermak.vc6 to rdjpgcom.mak,
makerdep.vc6 to rdjpgcom.dep, makerdsp.vc6 to rdjpgcom.dsp,
makewmak.vc6 to wrjpgcom.mak, makewdep.vc6 to wrjpgcom.dep, and
makewdsp.vc6 to wrjpgcom.dsp. (Note that the renaming is critical!)
2. Click on jpeg.dsw and apps.dsw to load the project workspaces.
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. Build the library project, then the applications project.
4. Move the application .exe files from `app`\Release to an
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.
5. To perform the self-test, execute the command line
NMAKE /f makefile.vc test


Microsoft Windows, Microsoft Visual C++ 2008 Developer Studio (v9):
Microsoft Windows, Microsoft Visual C++ 2010 Developer Studio (v10):

We include makefiles that should work as project files in Visual Studio
2008 or later. There is a library makefile that builds the IJG library
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
library, we recommend building the applications so that you can run the
self-test.)

To use:
1. Copy jconfig.vc to jconfig.h, makejsln.vc9 to jpeg.sln,
makeasln.vc9 to apps.sln, makejvcp.vc9 to jpeg.vcproj,
makecvcp.vc9 to cjpeg.vcproj, makedvcp.vc9 to djpeg.vcproj,
maketvcp.vc9 to jpegtran.vcproj, makervcp.vc9 to rdjpgcom.vcproj, and
makewvcp.vc9 to wrjpgcom.vcproj. (Note that the renaming is critical!)
2. Click on jpeg.sln and apps.sln to load the project solutions.
(If you are using Visual Studio more recent than 2008 (v9), you'll
probably get a message saying that the project files are being
updated.)
3. Build the library project, then the applications project.
4. Move the application .exe files from `app`\Release to an
1. Open the command prompt, change to the main directory and execute the
command line
NMAKE /f makefile.vc setup-v10
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.
(If you are using Visual Studio more recent than 2010 (v10), you'll
probably get a message saying that the project files are being updated.)
3. Open the solution file apps.sln, 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.
5. To perform the self-test, execute the command line
NMAKE /f makefile.vc test

Note:
There seems to be an optimization bug in the compiler which causes the
self-test to fail with the color quantization option.
We have disabled optimization for the file jquant2.c in the library
project file which causes the self-test to pass properly.


OS/2, Borland C++:
Expand Down
8 changes: 8 additions & 0 deletions jconfig.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@
/* Define this if you get warnings about undefined structures. */
#undef INCOMPLETE_TYPES_BROKEN

/* Define "boolean" as unsigned char, not int, on Windows systems. */
#ifdef _WIN32
#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
typedef unsigned char boolean;
#endif
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
#endif

#ifdef JPEG_INTERNALS

#undef RIGHT_SHIFT_IS_UNSIGNED
Expand Down
2 changes: 1 addition & 1 deletion jconfig.mc6
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#define SHORTxLCONST_32 /* enable compiler-specific DCT optimization */
/* Note: the above define is known to improve the code with Microsoft C 6.00A.
* I do not know whether it is good for later compiler versions.
* Please report any info on this point to jpeg-info@uunet.uu.net.
* Please report any info on this point to jpeg-info@uc.ag.
*/

#endif /* JPEG_INTERNALS */
Expand Down
9 changes: 9 additions & 0 deletions jconfig.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,15 @@
*/
#undef INCOMPLETE_TYPES_BROKEN

/* Define "boolean" as unsigned char, not int, on Windows systems.
*/
#ifdef _WIN32
#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
typedef unsigned char boolean;
#endif
#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
#endif


/*
* The following options affect code selection within the JPEG library,
Expand Down
Loading

0 comments on commit a4ecaac

Please sign in to comment.