MAN-J
Man PagesPricing
LoginGet Started
djpeg(1)
Original
English • 262 lines
DJPEG(1)		    General Commands Manual		      DJPEG(1)

NAME
       djpeg - decompress a JPEG file to an image file

SYNOPSIS
       djpeg [ options ] [ filename ]

DESCRIPTION
       djpeg decompresses the named JPEG file, or the standard input if no
       file is named, and produces an image file on the standard output.
       PBMPLUS (PPM/PGM), BMP, GIF, or Targa output format can be selected.

OPTIONS
       All switch names may be abbreviated; for example, -grayscale may be
       written -gray or -gr.  Most of the "basic" switches can be abbreviated
       to as little as one letter.  Upper and lower case are equivalent (thus
       -BMP is the same as -bmp).  British spellings are also accepted (e.g.
       -greyscale), though for brevity these are not mentioned below.

       The basic switches are:

       -colors N
	      Reduce image to at most N colors [legacy feature].  This reduces
	      the number of colors used in the output image so that it can be
	      stored in a colormapped file format.  This feature cannot be
	      used when decompressing lossless JPEG images.

       -quantize N
	      Same as -colors.	-colors is the recommended name.  -quantize is
	      provided only for backward compatibility.

       -fast  Select recommended processing options for low-quality output
	      [legacy feature].	 (The default options are chosen for highest-
	      quality output.)	Currently, this is equivalent to -dct fast
	      -nosmooth -onepass -dither ordered.  On modern CPUs, these
	      settings have little or no performance benefit and are retained
	      solely for backward compatibility.

       -grayscale
	      Force grayscale output even if JPEG file is full-color.  This
	      feature cannot be used when decompressing full-color lossless
	      JPEG images.

       -rgb   Force RGB output even if JPEG file is grayscale.	This feature
	      cannot be used when decompressing grayscale lossless JPEG
	      images.

       -scale M/N
	      Scale the output image by a factor M/N.  Currently the scale
	      factor must be M/8, where M is an integer between 1 and 16
	      inclusive, or any reduced fraction thereof (such as 1/2, 3/4,
	      etc.)  Scaling is handy if the image is larger than your screen.
	      This feature cannot be used when decompressing lossless JPEG
	      images.

       -bmp   Select BMP output format (Windows flavor).  8-bit colormapped
	      format is emitted if -colors or -grayscale is specified, or if
	      the JPEG file is grayscale; otherwise, 24-bit full-color format
	      is emitted.  This format can only be used when decompressing
	      8-bit-per-sample JPEG images.

       -gif   Select GIF output format (LZW-compressed) [legacy feature].
	      Since GIF does not support more than 256 colors, -colors 256 is
	      assumed (unless you specify a smaller number of colors).	If you
	      specify -fast, the default number of colors is 216.  This format
	      can only be used when decompressing 8-bit-per-sample or 12-bit-
	      per-sample lossy JPEG images.

       -gif0  Select GIF output format (uncompressed) [legacy feature].	 Since
	      GIF does not support more than 256 colors, -colors 256 is
	      assumed (unless you specify a smaller number of colors).	If you
	      specify -fast, the default number of colors is 216.  This format
	      can only be used when decompressing 8-bit-per-sample or 12-bit-
	      per-sample lossy JPEG images.

       -os2   Select BMP output format (OS/2 1.x flavor) [legacy feature].
	      8-bit colormapped format is emitted if -colors or -grayscale is
	      specified, or if the JPEG file is grayscale; otherwise, 24-bit
	      full-color format is emitted.  This format can only be used when
	      decompressing 8-bit-per-sample JPEG images.

       -pnm   Select PBMPLUS (PPM/PGM) output format (this is the default
	      format).	PGM is emitted if the JPEG file is grayscale or if
	      -grayscale is specified; otherwise PPM is emitted.

       -targa Select Targa output format [legacy feature].  Grayscale format
	      is emitted if the JPEG file is grayscale or if -grayscale is
	      specified; otherwise, colormapped format is emitted if -colors
	      is specified; otherwise, 24-bit full-color format is emitted.
	      This format can only be used when decompressing 8-bit-per-sample
	      JPEG images.

       Switches for advanced users:

       -dct int
	      Use accurate integer DCT method (default).

       -dct fast
	      Use less accurate integer DCT method [legacy feature].  When the
	      Independent JPEG Group's software was first released in 1991,
	      the decompression time for a 1-megapixel JPEG image on a
	      mainstream PC was measured in minutes.  Thus, the fast integer
	      DCT algorithm provided noticeable performance benefits.  On
	      modern CPUs running libjpeg-turbo, however, the decompression
	      time for a 1-megapixel JPEG image is measured in milliseconds,
	      and thus the performance benefits of the fast algorithm are much
	      less noticeable.	On modern x86/x86-64 CPUs that support AVX2
	      instructions, the fast and int methods have similar performance.
	      On other types of CPUs, the fast method is generally about 5-15%
	      faster than the int method.

	      If the JPEG image was compressed using a quality level of 85 or
	      below, then there should be little or no perceptible quality
	      difference between the two algorithms.  When decompressing
	      images that were compressed using quality levels above 85,
	      however, the difference between the fast and int methods becomes
	      more pronounced.	With images compressed using quality=97, for
	      instance, the fast method incurs generally about a 4-6 dB loss
	      in PSNR relative to the int method, but this can be larger for
	      some images.  If you can avoid it, do not use the fast method
	      when decompressing images that were compressed using quality
	      levels above 97.	The algorithm often degenerates for such
	      images and can actually produce a more lossy output image than
	      if the JPEG image had been compressed using lower quality
	      levels.

       -dct float
	      Use floating-point DCT method [legacy feature].  The float
	      method does not produce significantly more accurate results than
	      the int method, and it is much slower.  The float method may
	      also give different results on different machines due to varying
	      roundoff behavior, whereas the integer methods should give the
	      same results on all machines.

       -dither fs
	      Use Floyd-Steinberg dithering when quantizing colors [legacy
	      feature].

       -dither ordered
	      Use ordered dithering when quantizing colors [legacy feature].

       -dither none
	      Do not use dithering when quantizing colors [legacy feature].
	      By default, Floyd-Steinberg dithering is applied when quantizing
	      colors.  This is slower but usually produces the best results.
	      Ordered dithering is a compromise between speed and quality.  No
	      dithering is faster but usually looks awful.  Note that these
	      switches have no effect unless color quantization is being done.
	      Ordered dithering is only available in -onepass mode.

       -icc file
	      Extract ICC color management profile to the specified file.

       -map file
	      Quantize to the colors used in the specified image file [legacy
	      feature].	 This is useful for producing multiple files with
	      identical color maps, or for forcing a predefined set of colors
	      to be used.  The file must be a GIF or PPM file. This option
	      overrides -colors and -onepass.

       -nosmooth
	      Use a faster, lower-quality upsampling routine.

       -onepass
	      Use one-pass instead of two-pass color quantization [legacy
	      feature].	 The one-pass method needs less memory, but it
	      produces a lower-quality image.  -onepass is ignored unless you
	      also specify -colors N.  Also, the one-pass method is always
	      used for grayscale output.  (The two-pass method has no
	      improvement in that case.)

       -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, -max 4m selects
	      4000000 bytes.  If more space is needed, an error will occur.

       -maxscans N
	      Abort if the JPEG image contains more than N scans.  This
	      feature demonstrates a method by which applications can guard
	      against denial-of-service attacks instigated by specially-
	      crafted malformed JPEG images containing numerous scans with
	      missing image data or image data consisting only of "EOB runs"
	      (a feature of progressive JPEG images that allows potentially
	      hundreds of thousands of adjoining zero-value pixels to be
	      represented using only a few bytes.)  Attempting to decompress
	      such malformed JPEG images can cause excessive CPU activity,
	      since the decompressor must fully process each scan (even if the
	      scan is corrupt) before it can proceed to the next scan.

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

       -memsrc
	      Load input file into memory before decompressing.	 This feature
	      was implemented mainly as a way of testing the in-memory source
	      manager (jpeg_mem_src().)

       -report
	      Report decompression progress.

       -skip Y0,Y1
	      Decompress all rows of the JPEG image except those between Y0
	      and Y1 (inclusive.)  Note that if decompression scaling is being
	      used, then Y0 and Y1 are relative to the scaled image
	      dimensions.

       -crop WxH+X+Y
	      Decompress only a rectangular subregion of the image, starting
	      at point X,Y with width W and height H.  If necessary, X will be
	      shifted left to the nearest iMCU boundary, and the width will be
	      increased accordingly.  Note that if decompression scaling is
	      being used, then X, Y, W, and H are relative to the scaled image
	      dimensions.  Currently this option only works with the PBMPLUS
	      (PPM/PGM), GIF, and Targa output formats.

       -strict
	      Treat all warnings as fatal.  This feature also demonstrates a
	      method by which applications can guard against attacks
	      instigated by specially-crafted malformed JPEG images.  Enabling
	      this option will cause the decompressor to abort if the JPEG
	      image contains incomplete or corrupt image data.

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

       -debug Same as -verbose.

       -version
	      Print version information and exit.

EXAMPLES
       This example decompresses the JPEG file foo.jpg and saves the output in
       8-bit BMP format in foo.bmp:

	      djpeg -bmp foo.jpg > foo.bmp

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 compiled, and itself is
	      overridden by an explicit -maxmemory.

SEE ALSO
       cjpeg(1), jpegtran(1), rdjpgcom(1), wrjpgcom(1)
       ppm(5), pgm(5)
       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

       This file was modified by The libjpeg-turbo Project to include only
       information relevant to libjpeg-turbo, to wordsmith certain sections,
       and to describe features not present in libjpeg.

				 17 June 2024			      DJPEG(1)

djpeg(1)

djpeg \- decompress a JPEG file to an image file

0popularity

System Information

linux 1.0.0
Updated 17 June 2024
Maintained by Unknown

Actions