1IJG JPEG LIBRARY: FILE LIST 2 3Copyright (C) 1994-2019, 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. 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. 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 200ar-lib 201compile 202install-sh Install shell script for those Unix systems lacking one. 203Makefile.in Makefile input for configure. 204Makefile.am Source file for use with Automake to generate Makefile.in. 205ckconfig.c Program to generate jconfig.h on non-Unix systems. 206jconfig.txt Template for making jconfig.h by hand. 207mak*.* Sample makefiles for particular systems. 208jconfig.* Sample jconfig.h for particular systems. 209libjpeg.map Script to generate shared library with versioned symbols. 210libjpeg.pc.in libjpeg.pc pkg-config file input for configure. 211aclocal.m4 M4 macro definitions for use with Autoconf. 212 213Test files (see install.txt for test procedure): 214 215test*.* Source and comparison files for confidence test. 216 These are binary image files, NOT text files. 217