blob: 2f905a6cd6884d8e884770a7c21d9a93f0f9b0e1 [file] [log] [blame]
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +00001IJG JPEG LIBRARY: FILE LIST
2
DRC39ea5622010-10-12 01:55:31 +00003Copyright (C) 1994-2010, Thomas G. Lane, Guido Vollbeding, D. R. Commander.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +00004This 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
Thomas G. Lanebc79e061995-08-02 00:00:00 +000011files 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".
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000015
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.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000028jinclude.h Central include file used by all IJG .c files to reference
29 system include files.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000030jpegint.h JPEG library's internal data structures.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000031jchuff.h Private declarations for Huffman encoder modules.
32jdhuff.h Private declarations for Huffman decoder modules.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000033jdct.h Private declarations for forward & reverse DCT subsystems.
34jmemsys.h Private declarations for memory management subsystem.
35jversion.h Version information.
36
37Applications using the library should include jpeglib.h (which in turn
38includes jconfig.h and jmorecfg.h). Optionally, jerror.h may be included
39if the application needs to reference individual JPEG error codes. The
40other include files are intended for internal use and would not normally
Thomas G. Lanebc79e061995-08-02 00:00:00 +000041be included by an application program. (cjpeg/djpeg/etc do use jinclude.h,
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000042since its function is to improve portability of the whole IJG distribution.
43Most other applications will directly include the system include files they
44want, and hence won't need jinclude.h.)
45
46
47C source code files:
48
49These files contain most of the functions intended to be called directly by
50an application program:
51
Thomas G. Lanebc79e061995-08-02 00:00:00 +000052jcapimin.c Application program interface: core routines for compression.
53jcapistd.c Application program interface: standard compression.
54jdapimin.c Application program interface: core routines for decompression.
55jdapistd.c Application program interface: standard decompression.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000056jcomapi.c Application program interface routines common to compression
57 and decompression.
58jcparam.c Compression parameter setting helper routines.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000059jctrans.c API and library routines for transcoding compression.
60jdtrans.c API and library routines for transcoding decompression.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000061
62Compression side of the library:
63
Thomas G. Lanebc79e061995-08-02 00:00:00 +000064jcinit.c Initialization: determines which other modules to use.
65jcmaster.c Master control: setup and inter-pass sequencing logic.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000066jcmainct.c Main buffer controller (preprocessor => JPEG compressor).
67jcprepct.c Preprocessor buffer controller.
68jccoefct.c Buffer controller for DCT coefficient buffer.
69jccolor.c Color space conversion.
70jcsample.c Downsampling.
71jcdctmgr.c DCT manager (DCT implementation selection & control).
72jfdctint.c Forward DCT using slow-but-accurate integer method.
73jfdctfst.c Forward DCT using faster, less accurate integer method.
74jfdctflt.c Forward DCT using floating-point arithmetic.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000075jchuff.c Huffman entropy coding for sequential JPEG.
76jcphuff.c Huffman entropy coding for progressive JPEG.
Guido Vollbeding5996a252009-06-27 00:00:00 +000077jcarith.c Arithmetic entropy coding.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000078jcmarker.c JPEG marker writing.
Guido Vollbeding989630f2010-01-10 00:00:00 +000079jdatadst.c Data destination managers for memory and stdio output.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000080
81Decompression side of the library:
82
83jdmaster.c Master control: determines which other modules to use.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000084jdinput.c Input controller: controls input processing modules.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000085jdmainct.c Main buffer controller (JPEG decompressor => postprocessor).
86jdcoefct.c Buffer controller for DCT coefficient buffer.
87jdpostct.c Postprocessor buffer controller.
88jdmarker.c JPEG marker reading.
Thomas G. Lanebc79e061995-08-02 00:00:00 +000089jdhuff.c Huffman entropy decoding for sequential JPEG.
90jdphuff.c Huffman entropy decoding for progressive JPEG.
Guido Vollbeding5996a252009-06-27 00:00:00 +000091jdarith.c Arithmetic entropy decoding.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000092jddctmgr.c IDCT manager (IDCT implementation selection & control).
93jidctint.c Inverse DCT using slow-but-accurate integer method.
94jidctfst.c Inverse DCT using faster, less accurate integer method.
95jidctflt.c Inverse DCT using floating-point arithmetic.
96jidctred.c Inverse DCTs with reduced-size outputs.
97jdsample.c Upsampling.
98jdcolor.c Color space conversion.
99jdmerge.c Merged upsampling/color conversion (faster, lower quality).
100jquant1.c One-pass color quantization using a fixed-spacing colormap.
101jquant2.c Two-pass color quantization using a custom-generated colormap.
102 Also handles one-pass quantization to an externally given map.
Guido Vollbeding989630f2010-01-10 00:00:00 +0000103jdatasrc.c Data source managers for memory and stdio input.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000104
105Support files for both compression and decompression:
106
Guido Vollbeding5996a252009-06-27 00:00:00 +0000107jaricom.c Tables for common use in arithmetic entropy encoding and
108 decoding routines.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000109jerror.c Standard error handling routines (application replaceable).
110jmemmgr.c System-independent (more or less) memory management code.
111jutils.c Miscellaneous utility routines.
112
113jmemmgr.c relies on a system-dependent memory management module. The IJG
114distribution includes the following implementations of the system-dependent
115module:
116
117jmemnobs.c "No backing store": assumes adequate virtual memory exists.
118jmemansi.c Makes temporary files with ANSI-standard routine tmpfile().
119jmemname.c Makes temporary files with program-generated file names.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000120jmemdos.c Custom implementation for MS-DOS (16-bit environment only):
121 can use extended and expanded memory as well as temp files.
Thomas G. Lane489583f1996-02-07 00:00:00 +0000122jmemmac.c Custom implementation for Apple Macintosh.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000123
124Exactly one of the system-dependent modules should be configured into an
Guido Vollbeding5996a252009-06-27 00:00:00 +0000125installed JPEG library (see install.txt for hints about which one to use).
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000126On unusual systems you may find it worthwhile to make a special
127system-dependent memory manager.
128
129
130Non-C source code files:
131
132jmemdosa.asm 80x86 assembly code support for jmemdos.c; used only in
133 MS-DOS-specific configurations of the JPEG library.
134
135
Thomas G. Lanebc79e061995-08-02 00:00:00 +0000136CJPEG/DJPEG/JPEGTRAN
137====================
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000138
139Include files:
140
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000141cdjpeg.h Declarations shared by cjpeg/djpeg/jpegtran modules.
142cderror.h Additional error and trace message codes for cjpeg et al.
143transupp.h Declarations for jpegtran support routines in transupp.c.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000144
145C source code files:
146
147cjpeg.c Main program for cjpeg.
148djpeg.c Main program for djpeg.
Thomas G. Lanebc79e061995-08-02 00:00:00 +0000149jpegtran.c Main program for jpegtran.
150cdjpeg.c Utility routines used by all three programs.
151rdcolmap.c Code to read a colormap file for djpeg's "-map" switch.
152rdswitch.c Code to process some of cjpeg's more complex switches.
153 Also used by jpegtran.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000154transupp.c Support code for jpegtran: lossless image manipulations.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000155
156Image file reader modules for cjpeg:
157
158rdbmp.c BMP file input.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000159rdgif.c GIF file input (now just a stub).
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000160rdppm.c PPM/PGM file input.
161rdrle.c Utah RLE file input.
162rdtarga.c Targa file input.
163
164Image file writer modules for djpeg:
165
166wrbmp.c BMP file output.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000167wrgif.c GIF file output (a mere shadow of its former self).
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000168wrppm.c PPM/PGM file output.
169wrrle.c Utah RLE file output.
170wrtarga.c Targa file output.
171
172
173RDJPGCOM/WRJPGCOM
174=================
175
176C source code files:
177
178rdjpgcom.c Stand-alone rdjpgcom application.
179wrjpgcom.c Stand-alone wrjpgcom application.
180
181These programs do not depend on the IJG library. They do use
Thomas G. Lanebc79e061995-08-02 00:00:00 +0000182jconfig.h and jinclude.h, only to improve portability.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000183
184
185ADDITIONAL FILES
186================
187
188Documentation (see README for a guide to the documentation files):
189
190README Master documentation file.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000191*.txt Other documentation files.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000192*.1 Documentation in Unix man page format.
193change.log Version-to-version change highlights.
194example.c Sample code for calling JPEG library.
195
Guido Vollbeding5996a252009-06-27 00:00:00 +0000196Configuration/installation files and programs (see install.txt for more info):
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000197
198configure Unix shell script to perform automatic configuration.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000199configure.ac Source file for use with Autoconf to generate configure.
200ltmain.sh Support scripts for configure (from GNU libtool).
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000201config.guess
202config.sub
Guido Vollbeding5996a252009-06-27 00:00:00 +0000203depcomp
204missing
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000205install-sh Install shell script for those Unix systems lacking one.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000206Makefile.in Makefile input for configure.
207Makefile.am Source file for use with Automake to generate Makefile.in.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000208jconfig.txt Template for making jconfig.h by hand.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000209aclocal.m4 M4 macro definitions for use with Autoconf.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000210
Guido Vollbeding5996a252009-06-27 00:00:00 +0000211Test files (see install.txt for test procedure):
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000212
213test*.* Source and comparison files for confidence test.
214 These are binary image files, NOT text files.