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