home *** CD-ROM | disk | FTP | other *** search
/ Encyclopedia of Graphics File Formats Companion / GFF_CD.ISO / software / unix / libtiff / lbtif3_3.tar / CHANGES-v3.0 next >
Text File  |  1993-08-26  |  11KB  |  207 lines

  1. $Header: /usr/people/sam/tiff/RCS/CHANGES-v3.0,v 1.5 92/03/31 11:31:03 sam Exp $
  2.  
  3. TIFF Software "Release" 3.00 (changes since 2.4.2 release)
  4. ----------------------------------------------------------
  5. Changes in libtiff:
  6.     o the mkg3states program has been made more portable
  7.     o global library data structures can now be compiled as const
  8.       (this is important for building shared libraries)
  9.     o the file machdep.h is no longer needed and has been purged
  10.     o the format of the include file generated by mkg3states
  11.       has been altered so that applications can access the
  12.       Group 3 and Group 4 compression machinery more easily
  13.       (see tools/fax2tiff and contrib/fax2ps for examples)
  14.     o a new -c option has been added to mkg3states to generate
  15.       const data structures
  16.     o the function prototyping macros now fail at compile time
  17.       if the library is configured to not use prototypes and
  18.       not use varargs
  19.     o two new functions, TIFFGetFieldDefaulted and TIFFVGetFieldDefaulted,
  20.       for getting either a tag's value or a default value
  21.       (if one exists) have been added
  22.     o a new function TIFFReadRGBAImage has been added to read
  23.       an entire image into memory and return it in a common
  24.       format (packed into 32-bit pixels)
  25.     o function prototype inconsistencies for TIFFMapFileContents
  26.       and TIFFUnmapFileContents have been fixed
  27.     o the directory handling code has been broken up into
  28.       4 separate files:
  29.     tif_dir.c    routines for getting & setting tag values
  30.     tif_dirinfo.c    information about known tags
  31.     tif_dirread.c    directory reading support
  32.     tif_dirwrite.c    directory writing support
  33.     o the directory handling code has been substantially reworked
  34.       to eliminate many special cases and add more general reading
  35.       and writing support routines; this is mainly for supporting
  36.       the 6.0 tags
  37.     o the code that deduces a value for StripByteCounts when the
  38.       tag is not present has been improved slightly
  39.     o the directory reading code is now more careful about checking
  40.       count fields and tag definitions (when known)
  41.     o support has been added for the color information tags that are
  42.       to appear in TIFF 6.0: WhitePoint, PrimaryChromaticities,
  43.       ReferenceBlackWhite, and TransferFunction
  44.     o support has been added for the JPEG tags that are to appear
  45.       in TIFF 6.0 (but still no compression/decompression code yet):
  46.       JPEGProc, JPEGRestartInterval, JPEGQTables, JPEGACTables,
  47.       JPEGDCTables
  48.     o support has been added for the CMYK tags that are to appear
  49.       in TIFF 6.0: InkSet, InkNames, DotRange, TargetPrinter
  50.     o support has been added for the YCbCr tags that are to appear
  51.       in TIFF 6.0: YCbCrCoefficients, YCbCrSubsampling, YCbCrPositioning
  52.     o support has been added for some 6.0 tags that replace SGI-private
  53.       tags previously supported by the library: ExtraSamples, SampleFormat
  54.     o the reading and writing of packed sampled YCbCr data by strip
  55.       or tile works correctly (i.e. buffer sizes are calculated
  56.       according to the sampling factors and the Y...YCbCr packing)
  57.     o it is no longer necessary to call TIFFFlushData before a
  58.       call to TIFFWriteDirectory; this is now handled automatically;
  59.       old code that did this will still work as the library is
  60.       now more intelligent about doing end-of-strip work only once
  61.       per strip
  62.     o the values for certain tags are now checked when the tag's
  63.       value is set; e.g. FillOrder may only be FILLORDER_LSB2MSB
  64.       or FILLORDER_MSB2LSB
  65.     o old tags obsoleted by changes in TIFF 6.0 have been removed:
  66.       ColorResponseUnit, ColorResponseCurves, GrayResponseUnit,
  67.       GrayResponseCurve
  68.     o a bug whereby the library could leak memory if directories
  69.       were read in a non-sequential order has been fixed
  70.     o a bug in the Group 3 2D/Group 4 decoding+encoding routines
  71.       whereby the reference scanline was not reset to white at the
  72.       start of each strip after the first has been fixed
  73.     o bugs in the Group 3 2D/Group 4 decoding routine logic for
  74.       several (slightly obscure) cases were fixed
  75.     o a bug in the LZW encoding routine that could result in invalid
  76.       codes being generated was fixed (this only happened in a
  77.       low probability situation where the encoding process was
  78.       considered "poor" and the library attempted to reset its
  79.       encoding state to improve the compression performance)
  80.     o a new routine, TIFFCurrentDirectory has been added; it
  81.       returns the index of the current directory -- suitable for
  82.       passing to TIFFSetDirectory
  83.     o TIFFPrintDirectory has been updated to reflect the changes
  84.       in the tags supported by the library
  85.     o an obscure case in TIFFReadEncodedStrip where an error could
  86.       occur without a diagnostic has been corrected
  87.     o the private Picio and SGI RLE compression codes have been deleted
  88.       (along with the associated code)
  89.     o the JPEG compression code has been renumbered to reflect the
  90.       value that it will have in TIFF 6.0
  91.     o support has been added for the the HalftoneHints tag that
  92.       is to appear in TIFF 6.0
  93.     o support has been added for using the library under VMS
  94.     o the bit reversal routine TIFFReverseBits has been made faster
  95.     o a bug in the TIFFWriteTile routine where the tile size might
  96.       be used before it's calculated has been fixed
  97.     o some portability problems with 16-bit machines such as the
  98.       Macintosh have been fixed
  99.     o the library now treats RATIONAL values as the ratio of two
  100.       unsigned 32-bit quantities; it used to treat them as the ratio
  101.       of two *signed* values
  102.     o the library now supports all the new 6.0 tag data types except DOUBLE
  103.     o the SUBFILE_COMPAT configuration define has been removed
  104.       (compatibility for SHORT SubfileType tags is always included).
  105.     o a new global variable, TIFFVersion, has been added -- it is a
  106.       string giving the version and copyright information for the library
  107.  
  108. (Note, since the 2.5 BETA version the following user-visible
  109.  modifications have been made:
  110.     o the ReferenceBlackWhite tag changed from LONG to RATIONAL
  111.       with a corresponding change in the parameters to TIFFGetField
  112.       and TIFFSetField; LONG values may still be read, but only
  113.       RATIONAL values are now written
  114.     o the SGI-specific Matteing and DataType tags have been replaced
  115.       by the new ExtraSamples and SampleFormat tags; the library will
  116.       accept the old tags, but only generate the new tags
  117.     o several bugs in the handling of the JPEG tags have been fixed
  118.     o a bug in the Group 3 2D and Group 4 decoding routines was fixed
  119.     o Group 3 2d tag bits are no longer included in the EOL
  120.       byte-aligning logic: that is, EOL codes are consistently aligned
  121.       to byte boundaries and any 2d tag bits are placed in the byte
  122.       that follows
  123.     o the writing of the TileByteCounts and TileOffsets tags has been
  124.       corrected
  125.     o the library now treats RATIONAL values as the ratio of two
  126.       unsigned 32-bit quantities; it used to treat them as the ratio
  127.       of two *signed* values
  128. )
  129. (Note, since the 3.0 BETA version the following user-visible
  130.  modifications have been made:
  131.     o a bug that caused RTC to be written at the end of each
  132.       Group 4-encoded strip has been fixed
  133.     o support for the DotRange tag was fixed
  134.     o the PhotometricInterpretation, Orientation, and ResolutionUnit
  135.       tags no longer may be modified once data is written (for the
  136.       Group 3 compression algorithm)
  137.     o portability problems with the IEEE floating point conversion
  138.       code have been fixed
  139.     o the PackBits encoding algorithm now breaks strips and tiles
  140.       up into row-sized units to avoid problems caused by encoding by
  141.       strip/tile and then decoding by scanline
  142. )
  143.  
  144. Changes in the tools:
  145.     o a new tool for converting PBM+ files, ppm2tiff, has been added
  146.     o a new tool for converting an RGB, grayscale, or bilevel image
  147.       to a sampled YCbCr image, rgb2ycbcr, has been added
  148.     o a new tool for splitting multi-image files into multiple single-image
  149.       files, tiffsplit, has been added
  150.     o the fax2tiff utility has been rewritten to use the library
  151.       decoding routines; because of this, it can now decode Group 4
  152.       data as well as Group 3 data
  153.     o all references to obsolete tags such as ColorResponseCurves
  154.       were deleted
  155.     o the picio2tiff utility was purged for lack of use
  156.     o the pixargt utility was purged for lack of use
  157.     o a bug in ras2tiff that caused the default value of RowsPerStrip
  158.       to be large was fixed
  159.     o tiffgt (SGI version) now continues in the face of decoding
  160.       errors unless a -s flag is specified; support for displaying
  161.       YCbCr data has been added; also, the -v (verbose)
  162.       flag has been changed to alter the window title strip rather
  163.       than print to the terminal; finally, a bug that caused certain
  164.       kinds of images larger than the screen to not be displayed
  165.       properly was fixed
  166.     o the PostScript generated by tiff2ps has been changed
  167.       slightly to conform to the latest Adobe document conventions;
  168.       also, several bugs were fixed and support was added for converting
  169.       CMYK images
  170.     o a bug in tiffcmp that caused it to dump core was fixed
  171.     o tiffcp has been enhanced so that it can be used to generate a
  172.       multipage file from multiple source files; it now checks the
  173.       colormap to see if it is an 8-bit colormap and, if so, coerces
  174.       it to be 16-bit in the resultant file; it copies more tags;
  175.       and it copies the most common data organization more efficiently
  176.     o tiffdump has been updated to reflect the new tags added to the
  177.       library for TIFF 6.0
  178.     o tiffdump is now more resilient in the face of bad tag types
  179.       and read errors; also, a longstanding bug whereby 2 SHORT
  180.       values packed into an offset field were printed out of order
  181.       has been fixed
  182.     o tiffinfo has new -l and -m options to specify the FillOrder
  183.       of the input file as LSB-to-MSB and MSB-to-LSB, respectively
  184.     o tiffinfo now reads data by strip and tile (e.g. for the -D option)
  185.     o tiffcmp can now compare 1, 2, and 4 bit data
  186.     o a public domain version of getopt is now included with the tools
  187.     o the tools have been ported to VMS
  188.  
  189. Changes in the documentation:
  190.     o the section 3 manual pages have been renamed to reflect full
  191.       function names and a Makefile now exists for creating links
  192.       when multiple functions are described in a single manual page
  193.       (NOTE that this means that many file names are now much longer
  194.       than 14 characters.)
  195.     o a draft copy of the TIFF 6.0 spec is in PostScript form
  196.     o the obsolete 5.0spec has been removed
  197.  
  198. Changes in the contrib software:
  199.     o a new program, fax2ps, was contributed by Sam Leffler; it
  200.       converts bilevel TIFF images to a compressed PostScript
  201.       that is typically much faster to print than the PostScript
  202.       generated by tiff2ps
  203.     o a vms area contains scripts and data files for building the
  204.       library and tools under the VMS operating system
  205.     o an xv area contains patches to add TIFF support to version
  206.       2.00 of the XV program (xv versions >=2.10 include this support)
  207.