DRC | 27fb3fc | 2012-01-28 01:48:07 +0000 | [diff] [blame] | 1 | .TH DJPEG 1 "27 January 2012" |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 2 | .SH NAME |
| 3 | djpeg \- decompress a JPEG file to an image file |
| 4 | .SH SYNOPSIS |
| 5 | .B djpeg |
| 6 | [ |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 7 | .I options |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 8 | ] |
| 9 | [ |
| 10 | .I filename |
| 11 | ] |
| 12 | .LP |
| 13 | .SH DESCRIPTION |
| 14 | .LP |
| 15 | .B djpeg |
| 16 | decompresses the named JPEG file, or the standard input if no file is named, |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 17 | and produces an image file on the standard output. PBMPLUS (PPM/PGM), BMP, |
| 18 | GIF, Targa, or RLE (Utah Raster Toolkit) output format can be selected. |
| 19 | (RLE is supported only if the URT library is available.) |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 20 | .SH OPTIONS |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 21 | All switch names may be abbreviated; for example, |
| 22 | .B \-grayscale |
| 23 | may be written |
| 24 | .B \-gray |
| 25 | or |
| 26 | .BR \-gr . |
| 27 | Most of the "basic" switches can be abbreviated to as little as one letter. |
| 28 | Upper and lower case are equivalent (thus |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 29 | .B \-BMP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 30 | is the same as |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 31 | .BR \-bmp ). |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 32 | British spellings are also accepted (e.g., |
| 33 | .BR \-greyscale ), |
| 34 | though for brevity these are not mentioned below. |
| 35 | .PP |
| 36 | The basic switches are: |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 37 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 38 | .BI \-colors " N" |
| 39 | Reduce image to at most N colors. This reduces the number of colors used in |
| 40 | the output image, so that it can be displayed on a colormapped display or |
| 41 | stored in a colormapped file format. For example, if you have an 8-bit |
| 42 | display, you'd need to reduce to 256 or fewer colors. |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 43 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 44 | .BI \-quantize " N" |
| 45 | Same as |
| 46 | .BR \-colors . |
| 47 | .B \-colors |
| 48 | is the recommended name, |
| 49 | .B \-quantize |
| 50 | is provided only for backwards compatibility. |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 51 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 52 | .B \-fast |
| 53 | Select recommended processing options for fast, low quality output. (The |
| 54 | default options are chosen for highest quality output.) Currently, this is |
| 55 | equivalent to \fB\-dct fast \-nosmooth \-onepass \-dither ordered\fR. |
| 56 | .TP |
| 57 | .B \-grayscale |
| 58 | Force gray-scale output even if JPEG file is color. Useful for viewing on |
| 59 | monochrome displays; also, |
| 60 | .B djpeg |
| 61 | runs noticeably faster in this mode. |
| 62 | .TP |
| 63 | .BI \-scale " M/N" |
| 64 | Scale the output image by a factor M/N. Currently the scale factor must be |
DRC | 27fb3fc | 2012-01-28 01:48:07 +0000 | [diff] [blame] | 65 | M/8, where M is an integer between 1 and 16 inclusive, or any reduced fraction |
| 66 | thereof (such as 1/2, 3/4, etc.) Scaling is handy if the image is larger than |
| 67 | your screen; also, |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 68 | .B djpeg |
| 69 | runs much faster when scaling down the output. |
| 70 | .TP |
| 71 | .B \-bmp |
| 72 | Select BMP output format (Windows flavor). 8-bit colormapped format is |
| 73 | emitted if |
| 74 | .B \-colors |
| 75 | or |
| 76 | .B \-grayscale |
| 77 | is specified, or if the JPEG file is gray-scale; otherwise, 24-bit full-color |
| 78 | format is emitted. |
| 79 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 80 | .B \-gif |
| 81 | Select GIF output format. Since GIF does not support more than 256 colors, |
| 82 | .B \-colors 256 |
| 83 | is assumed (unless you specify a smaller number of colors). |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 84 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 85 | .B \-os2 |
| 86 | Select BMP output format (OS/2 1.x flavor). 8-bit colormapped format is |
| 87 | emitted if |
| 88 | .B \-colors |
| 89 | or |
| 90 | .B \-grayscale |
| 91 | is specified, or if the JPEG file is gray-scale; otherwise, 24-bit full-color |
| 92 | format is emitted. |
| 93 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 94 | .B \-pnm |
| 95 | Select PBMPLUS (PPM/PGM) output format (this is the default format). |
| 96 | PGM is emitted if the JPEG file is gray-scale or if |
| 97 | .B \-grayscale |
| 98 | is specified; otherwise PPM is emitted. |
| 99 | .TP |
| 100 | .B \-rle |
| 101 | Select RLE output format. (Requires URT library.) |
| 102 | .TP |
| 103 | .B \-targa |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 104 | Select Targa output format. Gray-scale format is emitted if the JPEG file is |
| 105 | gray-scale or if |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 106 | .B \-grayscale |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 107 | is specified; otherwise, colormapped format is emitted if |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 108 | .B \-colors |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 109 | is specified; otherwise, 24-bit full-color format is emitted. |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 110 | .PP |
| 111 | Switches for advanced users: |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 112 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 113 | .B \-dct int |
| 114 | Use integer DCT method (default). |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 115 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 116 | .B \-dct fast |
| 117 | Use fast integer DCT (less accurate). |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 118 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 119 | .B \-dct float |
| 120 | Use floating-point DCT method. |
Thomas G. Lane | a8b67c4 | 1995-03-15 00:00:00 +0000 | [diff] [blame] | 121 | The float method is very slightly more accurate than the int method, but is |
| 122 | much slower unless your machine has very fast floating-point hardware. Also |
| 123 | note that results of the floating-point method may vary slightly across |
| 124 | machines, while the integer methods should give the same results everywhere. |
| 125 | The fast integer method is much less accurate than the other two. |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 126 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 127 | .B \-dither fs |
| 128 | Use Floyd-Steinberg dithering in color quantization. |
| 129 | .TP |
| 130 | .B \-dither ordered |
| 131 | Use ordered dithering in color quantization. |
| 132 | .TP |
| 133 | .B \-dither none |
| 134 | Do not use dithering in color quantization. |
| 135 | By default, Floyd-Steinberg dithering is applied when quantizing colors; this |
| 136 | is slow but usually produces the best results. Ordered dither is a compromise |
| 137 | between speed and quality; no dithering is fast but usually looks awful. Note |
| 138 | that these switches have no effect unless color quantization is being done. |
| 139 | Ordered dither is only available in |
| 140 | .B \-onepass |
| 141 | mode. |
| 142 | .TP |
| 143 | .BI \-map " file" |
| 144 | Quantize to the colors used in the specified image file. This is useful for |
| 145 | producing multiple files with identical color maps, or for forcing a |
| 146 | predefined set of colors to be used. The |
| 147 | .I file |
| 148 | must be a GIF or PPM file. This option overrides |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 149 | .B \-colors |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 150 | and |
| 151 | .BR \-onepass . |
| 152 | .TP |
| 153 | .B \-nosmooth |
| 154 | Use a faster, lower-quality upsampling routine. |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 155 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 156 | .B \-onepass |
Thomas G. Lane | 4a6b730 | 1992-03-17 00:00:00 +0000 | [diff] [blame] | 157 | Use one-pass instead of two-pass color quantization. The one-pass method is |
| 158 | faster and needs less memory, but it produces a lower-quality image. |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 159 | .B \-onepass |
Thomas G. Lane | 4a6b730 | 1992-03-17 00:00:00 +0000 | [diff] [blame] | 160 | is ignored unless you also say |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 161 | .B \-colors |
| 162 | .IR N . |
Thomas G. Lane | 4a6b730 | 1992-03-17 00:00:00 +0000 | [diff] [blame] | 163 | Also, the one-pass method is always used for gray-scale output (the two-pass |
| 164 | method is no improvement then). |
| 165 | .TP |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 166 | .BI \-maxmemory " N" |
| 167 | Set limit for amount of memory to use in processing large images. Value is |
| 168 | in thousands of bytes, or millions of bytes if "M" is attached to the |
| 169 | number. For example, |
| 170 | .B \-max 4m |
| 171 | selects 4000000 bytes. If more space is needed, temporary files will be used. |
| 172 | .TP |
| 173 | .BI \-outfile " name" |
| 174 | Send output image to the named file, not to standard output. |
| 175 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 176 | .B \-verbose |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 177 | Enable debug printout. More |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 178 | .BR \-v 's |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 179 | give more output. Also, version information is printed at startup. |
Thomas G. Lane | 4a6b730 | 1992-03-17 00:00:00 +0000 | [diff] [blame] | 180 | .TP |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 181 | .B \-debug |
| 182 | Same as |
| 183 | .BR \-verbose . |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 184 | .SH EXAMPLES |
| 185 | .LP |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 186 | This example decompresses the JPEG file foo.jpg, quantizes it to |
| 187 | 256 colors, and saves the output in 8-bit BMP format in foo.bmp: |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 188 | .IP |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 189 | .B djpeg \-colors 256 \-bmp |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 190 | .I foo.jpg |
| 191 | .B > |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 192 | .I foo.bmp |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 193 | .SH HINTS |
| 194 | To get a quick preview of an image, use the |
| 195 | .B \-grayscale |
| 196 | and/or |
| 197 | .B \-scale |
| 198 | switches. |
| 199 | .B \-grayscale \-scale 1/8 |
| 200 | is the fastest case. |
| 201 | .PP |
| 202 | Several options are available that trade off image quality to gain speed. |
| 203 | .B \-fast |
| 204 | turns on the recommended settings. |
| 205 | .PP |
| 206 | .B \-dct fast |
| 207 | and/or |
| 208 | .B \-nosmooth |
| 209 | gain speed at a small sacrifice in quality. |
| 210 | When producing a color-quantized image, |
| 211 | .B \-onepass \-dither ordered |
| 212 | is fast but much lower quality than the default behavior. |
| 213 | .B \-dither none |
| 214 | may give acceptable results in two-pass mode, but is seldom tolerable in |
| 215 | one-pass mode. |
| 216 | .PP |
| 217 | If you are fortunate enough to have very fast floating point hardware, |
Thomas G. Lane | a8b67c4 | 1995-03-15 00:00:00 +0000 | [diff] [blame] | 218 | \fB\-dct float\fR may be even faster than \fB\-dct fast\fR. But on most |
| 219 | machines \fB\-dct float\fR is slower than \fB\-dct int\fR; in this case it is |
| 220 | not worth using, because its theoretical accuracy advantage is too small to be |
| 221 | significant in practice. |
Thomas G. Lane | 88aeed4 | 1992-12-10 00:00:00 +0000 | [diff] [blame] | 222 | .SH ENVIRONMENT |
| 223 | .TP |
| 224 | .B JPEGMEM |
| 225 | If this environment variable is set, its value is the default memory limit. |
| 226 | The value is specified as described for the |
| 227 | .B \-maxmemory |
| 228 | switch. |
| 229 | .B JPEGMEM |
| 230 | overrides the default value specified when the program was compiled, and |
| 231 | itself is overridden by an explicit |
| 232 | .BR \-maxmemory . |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 233 | .SH SEE ALSO |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 234 | .BR cjpeg (1), |
Thomas G. Lane | bc79e06 | 1995-08-02 00:00:00 +0000 | [diff] [blame] | 235 | .BR jpegtran (1), |
Thomas G. Lane | 36a4ccc | 1994-09-24 00:00:00 +0000 | [diff] [blame] | 236 | .BR rdjpgcom (1), |
| 237 | .BR wrjpgcom (1) |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 238 | .br |
Thomas G. Lane | 4a6b730 | 1992-03-17 00:00:00 +0000 | [diff] [blame] | 239 | .BR ppm (5), |
| 240 | .BR pgm (5) |
Thomas G. Lane | bd543f0 | 1991-12-13 00:00:00 +0000 | [diff] [blame] | 241 | .br |
| 242 | Wallace, Gregory K. "The JPEG Still Picture Compression Standard", |
| 243 | Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. |
| 244 | .SH AUTHOR |
| 245 | Independent JPEG Group |
| 246 | .SH BUGS |
Thomas G. Lane | 5ead57a | 1998-03-27 00:00:00 +0000 | [diff] [blame] | 247 | To avoid the Unisys LZW patent, |
| 248 | .B djpeg |
| 249 | produces uncompressed GIF files. These are larger than they should be, but |
| 250 | are readable by standard GIF decoders. |