IM: JPEG - JPEG File Interchange Format

IM - An Imaging Tool

JPEG - JPEG File Interchange Format
[File Formats]

Description

ISO/IEC 10918 (1994, 1995, 1997, 1999)
http://www.jpeg.org/
Access to the JPEG file format uses libJPEG version 6b.
http://www.ijg.org
Copyright (C) 1991-1998, Thomas G. Lane
from the Independent JPEG Group.
Access to the EXIF attributes uses libEXIF version 0.6.12.
http://sourceforge.net/projects/libexif
Copyright (C) 2001-2003, Lutz Müller

Features

    Data Types: Byte
    Color Spaces: Gray, RGB, CMYK and YCbCr (Binary Saved as Gray)
    Compressions: 
      JPEG - ISO JPEG  [default]
    Only one image.
    No alpha channel.
    Internally the components are always packed.
    Internally the lines are arranged from top down to bottom.
    Handle(1) returns jpeg_decompress_struct* when reading, and 
                      jpeg_compress_struct* when writing (libJPEG structures).
 
    Attributes:
      AutoYCbCr IM_INT (1) (controls YCbCr auto conversion) default 1
      JPEGQuality IM_INT (1) [0-100, default 75] (write only)
      ResolutionUnit (string) ["DPC", "DPI"]
      XResolution, YResolution IM_FLOAT (1)
      Interlaced (same as Progressive) IM_INT (1 | 0) default 0  
      Description (string)
      (lots of Exif tags)
 
    Changes to libJPEG:
      jdatadst.c - fflush and ferror replaced by macros JFFLUSH and JFERROR.
      jinclude.h - standard JFFLUSH and JFERROR definitions, and new macro HAVE_JFIO.
      jmorecfg.h - changed definition of INT32 to JINT32 for better compatibility.
      jdhuf.c - added support for OJPEG_SUPPORT in libTIFF.
      new file created: jconfig.h
 
    Changes to libEXIF:
      new file config.h
      changed "exif-tag.c" to add new function
      changed "exif-entry.c" to improve exif_entry_initialize
      fixed small bug in "mnote-pentax-tag.h".

    Comments:
      Other APPx markers are ignored.
      No thumbnail support.
      RGB images are automatically converted to YCbCr when saved. 
      Also YcbCr are converted to RGB when loaded. Use AutoYCbCr=0 to disable this behavior.