.TH JPEGTRAN 1 "15 June 1995" .SH NAME jpegtran \- lossless transcoding of JPEG files .SH SYNOPSIS .B jpegtran [ .I options ] [ .I filename ] .LP .SH DESCRIPTION .LP .B jpegtran translates JPEG files from one variant of JPEG to another, for example from baseline JPEG to progressive JPEG. The transformation is lossless: no image degradation occurs, which would not be true if you used .B djpeg followed by .BR cjpeg . However, you cannot alter the image quality, because that would not be a lossless operation. .B jpegtran reads the named JPEG/JFIF file, or the standard input if no file is named, and produces a JPEG/JFIF file on the standard output. .SH OPTIONS .B jpegtran accepts a subset of the switches recognized by .BR cjpeg . If you specify no switches, you get a plain baseline JPEG output file. .PP All switch names may be abbreviated; for example, .B \-optimize may be written .B \-opt or .BR \-o . Upper and lower case are equivalent. British spellings are also accepted (e.g., .BR \-optimise ), though for brevity these are not mentioned below. .PP The basic switches are: .TP .B \-optimize Perform optimization of entropy encoding parameters. Without this, default encoding parameters are used. .B \-optimize usually makes the JPEG file a little smaller, but at the price of slower compression. Note that .B \-progressive implies .BR \-optimize . .TP .B \-progressive Create progressive JPEG file (see below). .PP The .B \-progressive switch creates a "progressive JPEG" file. In this type of JPEG file, the data is stored in multiple scans of increasing quality. If the file is being transmitted over a slow communications link, the decoder can use the first scan to display a low-quality image very quickly, and can then improve the display with each subsequent scan. The final image is exactly equivalent to a standard JPEG file of the same quality setting, and the total file size is about the same --- often a little smaller. .B Caution: progressive JPEG is not yet widely implemented, so many decoders will be unable to view a progressive JPEG file at all. .PP Switches for advanced users: .TP .BI \-restart " N" Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is attached to the number. .B \-restart 0 (the default) means no restart markers. .TP .BI \-maxmemory " N" Set limit for amount of memory to use in processing large images. Value is in thousands of bytes, or millions of bytes if "M" is attached to the number. For example, .B \-max 4m selects 4000000 bytes. If more space is needed, temporary files will be used. .TP .BI \-outfile " name" Send output image to the named file, not to standard output. .TP .B \-verbose Enable debug printout. More .BR \-v 's give more output. Also, version information is printed at startup. .TP .B \-debug Same as .BR \-verbose . .PP The .B \-restart option inserts extra markers that allow a JPEG decoder to resynchronize after a transmission error. Without restart markers, any damage to a compressed file will usually ruin the image from the point of the error to the end of the image; with restart markers, the damage is usually confined to the portion of the image up to the next restart marker. Of course, the restart markers occupy extra space. We recommend .B \-restart 1 for images that will be transmitted across unreliable networks such as Usenet. .PP Switches for wizards: .TP .BI \-scans " file" Use the scan script given in the specified text file. .PP The "wizard" switches are intended for experimentation with JPEG. If you don't know what you are doing, \fBdon't use them\fR. These switches are documented further in the file wizard.doc. .SH EXAMPLES .LP This example converts a baseline JPEG file to progressive form: .IP .B jpegtran \-progressive .I foo.jpg .B > .I fooprog.jpg .SH ENVIRONMENT .TP .B JPEGMEM If this environment variable is set, its value is the default memory limit. The value is specified as described for the .B \-maxmemory switch. .B JPEGMEM overrides the default value specified when the program was compiled, and itself is overridden by an explicit .BR \-maxmemory . .SH SEE ALSO .BR cjpeg (1), .BR djpeg (1), .BR rdjpgcom (1), .BR wrjpgcom (1) .br Wallace, Gregory K. "The JPEG Still Picture Compression Standard", Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. .SH AUTHOR Independent JPEG Group .SH BUGS Arithmetic coding is not supported for legal reasons. .PP Still not as fast as we'd like.