Home | Back
/*
* The Progressive Graphics File; http://www.libpgf.org
*
* $Date: 2006-05-18 16:03:32 +0200 (Thu, 18 May 2006) $
* $Revision: 194 $
*
* This file Copyright (C) 2006 xeraina GmbH, Switzerland
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

The Progressive Graphics File
=============================

For more information see http://www.libpgf.org. There you can find some
documents concerning this progressive graphic file codec.

This project is hosted on the Sourceforge.net platform. For support and
questions, please use the installed mailing list and forums there.
The Sourceforge URL of our project is: http://sourceforge.net/projects/libpgf

=============================

Version 6.11.42, (Sun, 23 Oct 2011)

Release Notes
-------------

1. The new version is a replacement of version 6.11.24.
We strongly encourage using version 6.11.42 instead of version 6.11.24.

2. This version fixes some decoder bugs, only seen in lossless compression of
large images.

3. The rarely used, but sometimes misused, background information (3 Bytes)
in the PGFHeader has been replaced by

     UINT8 usedBitsPerChannel;    // number of used bits per channel
                                  // in 16- and 32-bit per channel modes
     UINT8 reserved1, reserved2;  // not used

The value usedBitsPerChannel is helpful in case you have more than 8 (16) but
less than 16 (32) significant bits per channel, stored in the most
significant bits of a pixel. For example, you have a grayscale image with 14
bit significant data per pixel stored in the ImageModeGray16 pixel format. In
case you have left shifted the 14 bits to be the most significant 14 bits,
then you should set usedBitsPerChannel=14. This will increase the compression
ratio without any drawbacks, because the 14 bits are internally right shifted
by 2. On the other side, if the 14 bits are the least significant bits in
your 16 bit pixel format, then you shoulden’t set usedBitsPerChannel. It will
be automatically set to 16, but this is no problem, since the not used most
significant bits per pixel are never coded at all. So, in both cases the same
compression ratio will result.