1IJG JPEG LIBRARY:  FILE LIST
2
3Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding.
4This file is part of the Independent JPEG Group's software.
5For conditions of distribution and use, see the accompanying README file.
6
7
8Here is a road map to the files in the IJG JPEG distribution.  The
9distribution includes the JPEG library proper, plus two application
10programs ("cjpeg" and "djpeg") which use the library to convert JPEG
11files to and from some other popular image formats.  A third application
12"jpegtran" uses the library to do lossless conversion between different
13variants of JPEG.  There are also two stand-alone applications,
14"rdjpgcom" and "wrjpgcom".
15
16
17THE JPEG LIBRARY
18================
19
20Include files:
21
22jpeglib.h	JPEG library's exported data and function declarations.
23jconfig.h	Configuration declarations.  Note: this file is not present
24		in the distribution; it is generated during installation.
25jmorecfg.h	Additional configuration declarations; need not be changed
26		for a standard installation.
27jerror.h	Declares JPEG library's error and trace message codes.
28jinclude.h	Central include file used by all IJG .c files to reference
29		system include files.
30jpegint.h	JPEG library's internal data structures.
31jdct.h		Private declarations for forward & reverse DCT subsystems.
32jmemsys.h	Private declarations for memory management subsystem.
33jversion.h	Version information.
34
35Applications using the library should include jpeglib.h (which in turn
36includes jconfig.h and jmorecfg.h).  Optionally, jerror.h may be included
37if the application needs to reference individual JPEG error codes.  The
38other include files are intended for internal use and would not normally
39be included by an application program.  (cjpeg/djpeg/etc do use jinclude.h,
40since its function is to improve portability of the whole IJG distribution.
41Most other applications will directly include the system include files they
42want, and hence won't need jinclude.h.)
43
44
45C source code files:
46
47These files contain most of the functions intended to be called directly by
48an application program:
49
50jcapimin.c	Application program interface: core routines for compression.
51jcapistd.c	Application program interface: standard compression.
52jdapimin.c	Application program interface: core routines for decompression.
53jdapistd.c	Application program interface: standard decompression.
54jcomapi.c	Application program interface routines common to compression
55		and decompression.
56jcparam.c	Compression parameter setting helper routines.
57jctrans.c	API and library routines for transcoding compression.
58jdtrans.c	API and library routines for transcoding decompression.
59
60Compression side of the library:
61
62jcinit.c	Initialization: determines which other modules to use.
63jcmaster.c	Master control: setup and inter-pass sequencing logic.
64jcmainct.c	Main buffer controller (preprocessor => JPEG compressor).
65jcprepct.c	Preprocessor buffer controller.
66jccoefct.c	Buffer controller for DCT coefficient buffer.
67jccolor.c	Color space conversion.
68jcsample.c	Downsampling.
69jcdctmgr.c	DCT manager (DCT implementation selection & control).
70jfdctint.c	Forward DCT using slow-but-accurate integer method.
71jfdctfst.c	Forward DCT using faster, less accurate integer method.
72jfdctflt.c	Forward DCT using floating-point arithmetic.
73jchuff.c	Huffman entropy coding.
74jcarith.c	Arithmetic entropy coding.
75jcmarker.c	JPEG marker writing.
76jdatadst.c	Data destination managers for memory and stdio output.
77
78Decompression side of the library:
79
80jdmaster.c	Master control: determines which other modules to use.
81jdinput.c	Input controller: controls input processing modules.
82jdmainct.c	Main buffer controller (JPEG decompressor => postprocessor).
83jdcoefct.c	Buffer controller for DCT coefficient buffer.
84jdpostct.c	Postprocessor buffer controller.
85jdmarker.c	JPEG marker reading.
86jdhuff.c	Huffman entropy decoding.
87jdarith.c	Arithmetic entropy decoding.
88jddctmgr.c	IDCT manager (IDCT implementation selection & control).
89jidctint.c	Inverse DCT using slow-but-accurate integer method.
90jidctfst.c	Inverse DCT using faster, less accurate integer method.
91jidctflt.c	Inverse DCT using floating-point arithmetic.
92jdsample.c	Upsampling.
93jdcolor.c	Color space conversion.
94jdmerge.c	Merged upsampling/color conversion (faster, lower quality).
95jquant1.c	One-pass color quantization using a fixed-spacing colormap.
96jquant2.c	Two-pass color quantization using a custom-generated colormap.
97		Also handles one-pass quantization to an externally given map.
98jdatasrc.c	Data source managers for memory and stdio input.
99
100Support files for both compression and decompression:
101
102jaricom.c	Tables for common use in arithmetic entropy encoding and
103		decoding routines.
104jerror.c	Standard error handling routines (application replaceable).
105jmemmgr.c	System-independent (more or less) memory management code.
106jutils.c	Miscellaneous utility routines.
107
108jmemmgr.c relies on a system-dependent memory management module.  The IJG
109distribution includes the following implementations of the system-dependent
110module:
111
112jmemnobs.c	"No backing store": assumes adequate virtual memory exists.
113jmemansi.c	Makes temporary files with ANSI-standard routine tmpfile().
114jmemname.c	Makes temporary files with program-generated file names.
115jmemdos.c	Custom implementation for MS-DOS (16-bit environment only):
116		can use extended and expanded memory as well as temp files.
117jmemmac.c	Custom implementation for Apple Macintosh.
118
119Exactly one of the system-dependent modules should be configured into an
120installed JPEG library (see install.txt for hints about which one to use).
121On unusual systems you may find it worthwhile to make a special
122system-dependent memory manager.
123
124
125Non-C source code files:
126
127jmemdosa.asm	80x86 assembly code support for jmemdos.c; used only in
128		MS-DOS-specific configurations of the JPEG library.
129
130
131CJPEG/DJPEG/JPEGTRAN
132====================
133
134Include files:
135
136cdjpeg.h	Declarations shared by cjpeg/djpeg/jpegtran modules.
137cderror.h	Additional error and trace message codes for cjpeg et al.
138transupp.h	Declarations for jpegtran support routines in transupp.c.
139
140C source code files:
141
142cjpeg.c		Main program for cjpeg.
143djpeg.c		Main program for djpeg.
144jpegtran.c	Main program for jpegtran.
145cdjpeg.c	Utility routines used by all three programs.
146rdcolmap.c	Code to read a colormap file for djpeg's "-map" switch.
147rdswitch.c	Code to process some of cjpeg's more complex switches.
148		Also used by jpegtran.
149transupp.c	Support code for jpegtran: lossless image manipulations.
150
151Image file reader modules for cjpeg:
152
153rdbmp.c		BMP file input.
154rdgif.c		GIF file input (now just a stub).
155rdppm.c		PPM/PGM file input.
156rdrle.c		Utah RLE file input.
157rdtarga.c	Targa file input.
158
159Image file writer modules for djpeg:
160
161wrbmp.c		BMP file output.
162wrgif.c		GIF file output (a mere shadow of its former self).
163wrppm.c		PPM/PGM file output.
164wrrle.c		Utah RLE file output.
165wrtarga.c	Targa file output.
166
167
168RDJPGCOM/WRJPGCOM
169=================
170
171C source code files:
172
173rdjpgcom.c	Stand-alone rdjpgcom application.
174wrjpgcom.c	Stand-alone wrjpgcom application.
175
176These programs do not depend on the IJG library.  They do use
177jconfig.h and jinclude.h, only to improve portability.
178
179
180ADDITIONAL FILES
181================
182
183Documentation (see README for a guide to the documentation files):
184
185README		Master documentation file.
186*.txt		Other documentation files.
187*.1		Documentation in Unix man page format.
188change.log	Version-to-version change highlights.
189example.c	Sample code for calling JPEG library.
190
191Configuration/installation files and programs (see install.txt for more info):
192
193configure	Unix shell script to perform automatic configuration.
194configure.ac	Source file for use with Autoconf to generate configure.
195ltmain.sh	Support scripts for configure (from GNU libtool).
196config.guess
197config.sub
198depcomp
199missing
200install-sh	Install shell script for those Unix systems lacking one.
201Makefile.in	Makefile input for configure.
202Makefile.am	Source file for use with Automake to generate Makefile.in.
203ckconfig.c	Program to generate jconfig.h on non-Unix systems.
204jconfig.txt	Template for making jconfig.h by hand.
205mak*.*		Sample makefiles for particular systems.
206jconfig.*	Sample jconfig.h for particular systems.
207libjpeg.map	Script to generate shared library with versioned symbols.
208aclocal.m4	M4 macro definitions for use with Autoconf.
209ansi2knr.c	De-ANSIfier for pre-ANSI C compilers (courtesy of
210		L. Peter Deutsch and Aladdin Enterprises).
211
212Test files (see install.txt for test procedure):
213
214test*.*		Source and comparison files for confidence test.
215		These are binary image files, NOT text files.
216