jpegtran man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]



JPEGTRAN(1)	    UNIX Programmer's Manual	      JPEGTRAN(1)

NAME
     jpegtran - lossless transformation of JPEG files

SYNOPSIS
     jpegtran [ options ] [ filename ]

DESCRIPTION
     jpegtran performs various useful transformations of JPEG
     files. It can translate the coded representation from one
     variant of JPEG to another, for example from baseline JPEG
     to progressive JPEG or vice versa.	 It can also perform some
     rearrangements of the image data, for example turning an
     image from landscape to portrait format by rotation.

     jpegtran works by rearranging the compressed data (DCT coef-
     ficients), without ever fully decoding the image.	There-
     fore, its transformations are lossless: there is no image
     degradation at all, which would not be true if you used
     djpeg followed by cjpeg to accomplish the same conversion.
     But by the same token, jpegtran cannot perform lossy opera-
     tions such as changing the image quality.

     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.

OPTIONS
     All switch names may be abbreviated; for example, -optimize
     may be written -opt or -o. Upper and lower case are
     equivalent. British spellings are also accepted (e.g.,
     -optimise), though for brevity these are not mentioned
     below.

     To specify the coded JPEG representation used in the output
     file, jpegtran accepts a subset of the switches recognized
     by cjpeg:

     -arithmetic
	  Perform arithmetic instead of Huffman coding on the
	  output.

     -optimize
	  Perform optimization of entropy encoding parameters for
	  Huffman coding.

     -progressive
	  Create progressive JPEG file (arithmetic or Huffman).

     -restart N
	  Emit a JPEG restart marker every N MCU rows, or every N
	  MCU blocks if "B" is attached to the number.

MirOS BSD #10-current	  3 August 1997				1

JPEGTRAN(1)	    UNIX Programmer's Manual	      JPEGTRAN(1)

     -scans file
	  Use the scan script given in the specified text file.

     See cjpeg(1) for more details about these switches. If you
     specify none of these switches, you get a plain baseline-
     JPEG output file.	The quality setting and so forth are
     determined by the input file.

     The image can be losslessly transformed by giving one of
     these switches:

     -flip horizontal
	  Mirror image horizontally (left-right).

     -flip vertical
	  Mirror image vertically (top-bottom).

     -rotate 90
	  Rotate image 90 degrees clockwise.

     -rotate 180
	  Rotate image 180 degrees.

     -rotate 270
	  Rotate image 270 degrees clockwise (or 90 ccw).

     -transpose
	  Transpose image (across UL-to-LR axis).

     -transverse
	  Transverse transpose (across UR-to-LL axis).

     The transpose transformation has no restrictions regarding
     image dimensions. The other transformations operate rather
     oddly if the image dimensions are not a multiple of the iMCU
     size (usually 8 or 16 pixels), because they can only
     transform complete blocks of DCT coefficient data in the
     desired way.

     jpegtran's default behavior when transforming an odd-size
     image is designed to preserve exact reversibility and
     mathematical consistency of the transformation set.  As
     stated, transpose is able to flip the entire image area.
     Horizontal mirroring leaves any partial iMCU column at the
     right edge untouched, but is able to flip all rows of the
     image.  Similarly, vertical mirroring leaves any partial
     iMCU row at the bottom edge untouched, but is able to flip
     all columns.  The other transforms can be built up as
     sequences of transpose and flip operations; for consistency,
     their actions on edge pixels are defined to be the same as
     the end result of the corresponding transpose-and-flip
     sequence.

MirOS BSD #10-current	  3 August 1997				2

JPEGTRAN(1)	    UNIX Programmer's Manual	      JPEGTRAN(1)

     For practical use, you may prefer to discard any
     untransformable edge pixels rather than having a strange-
     looking strip along the right and/or bottom edges of a
     transformed image.	 To do this, add the -trim switch:

     -trim
	  Drop non-transformable edge blocks.

     Obviously, a transformation with -trim is not reversible, so
     strictly speaking jpegtran with this switch is not lossless.
     Also, the expected mathematical equivalences between the
     transformations no longer hold.  For example, -rot 270 -trim
     trims only the bottom edge, but -rot 90 -trim followed by
     -rot 180 -trim trims both edges.

     Another not-strictly-lossless transformation switch is:

     -grayscale
	  Force grayscale output.

     This option discards the chrominance channels if the input
     image is YCbCr (ie, a standard color JPEG), resulting in a
     grayscale JPEG file.  The luminance channel is preserved
     exactly, so this is a better method of reducing to grayscale
     than decompression, conversion, and recompression.	 This
     switch is particularly handy for fixing a monochrome picture
     that was mistakenly encoded as a color JPEG.  (In such a
     case, the space savings from getting rid of the near-empty
     chroma channels won't be large; but the decoding time for a
     grayscale JPEG is substantially less than that for a color
     JPEG.)

     jpegtran also recognizes these switches that control what to
     do with "extra" markers, such as comment blocks:

     -copy none
	  Copy no extra markers from source file.  This setting
	  suppresses all comments and other excess baggage
	  present in the source file.

     -copy comments
	  Copy only comment markers.  This setting copies com-
	  ments from the source file, but discards any other
	  inessential data.

     -copy all
	  Copy all extra markers.  This setting preserves miscel-
	  laneous markers found in the source file, such as JFIF
	  thumbnails and Photoshop settings. In some files these
	  extra markers can be sizable.

MirOS BSD #10-current	  3 August 1997				3

JPEGTRAN(1)	    UNIX Programmer's Manual	      JPEGTRAN(1)

     The default behavior is -copy comments. (Note: in IJG
     releases v6 and v6a, jpegtran always did the equivalent of
     -copy none.)

     Additional switches recognized by jpegtran are:

     -maxmemory N
	  Set limit for amount of memory to use in processing
	  large images.	 Value is in thousands of bytes, or mil-
	  lions of bytes if "M" is attached to the number.  For
	  example, -max 4m selects 4000000 bytes.  If more space
	  is needed, temporary files will be used.

     -outfile name
	  Send output image to the named file, not to standard
	  output.

     -verbose
	  Enable debug printout.  More -v's give more output.
	  Also, version information is printed at startup.

     -debug
	  Same as -verbose.

EXAMPLES
     This example converts a baseline JPEG file to progressive
     form:

	  jpegtran -progressive foo.jpg > fooprog.jpg

     This example rotates an image 90 degrees clockwise, discard-
     ing any unrotatable edge pixels:

	  jpegtran -rot 90 -trim foo.jpg > foo90.jpg

ENVIRONMENT
     JPEGMEM
	  If this environment variable is set, its value is the
	  default memory limit. The value is specified as
	  described for the -maxmemory switch. JPEGMEM overrides
	  the default value specified when the program was com-
	  piled, and itself is overridden by an explicit -max-
	  memory.

SEE ALSO
     cjpeg(1), djpeg(1), rdjpgcom(1), wrjpgcom(1)
     Wallace, Gregory K.  "The JPEG Still Picture Compression
     Standard", Communications of the ACM, April 1991 (vol. 34,
     no. 4), pp. 30-44.

AUTHOR
     Independent JPEG Group

MirOS BSD #10-current	  3 August 1997				4

JPEGTRAN(1)	    UNIX Programmer's Manual	      JPEGTRAN(1)

BUGS
     Arithmetic coding is not supported for legal reasons.

     The transform options can't transform odd-size images per-
     fectly.  Use -trim if you don't like the results without it.

     The entire image is read into memory and then written out
     again, even in cases where this isn't really necessary.
     Expect swapping on large images, especially when using the
     more complex transform options.

MirOS BSD #10-current	  3 August 1997				5

[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net