mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
code to the hardware subdirectory, and add comments to pngrutil.c so that implementors of other optimizations will know what to do.
69 lines
2.9 KiB
Plaintext
69 lines
2.9 KiB
Plaintext
|
|
Libpng 1.7.0alpha01 - December 15, 2012
|
|
|
|
This is not intended to be a public release. It will be replaced
|
|
within a few weeks by a public version or by another test version.
|
|
|
|
Files available for download:
|
|
|
|
Source files with LF line endings (for Unix/Linux) and with a
|
|
"configure" script
|
|
|
|
1.7.0alpha01.tar.xz (LZMA-compressed, recommended)
|
|
1.7.0alpha01.tar.gz
|
|
1.7.0alpha01.tar.bz2
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lp170a01.7z (LZMA-compressed, recommended)
|
|
lp170a01.zip
|
|
|
|
Other information:
|
|
|
|
1.7.0alpha01-README.txt
|
|
1.7.0alpha01-LICENSE.txt
|
|
|
|
Changes since the last public release (1.6.0):
|
|
|
|
Version 1.7.0alpha01 [December 15, 2012]
|
|
Started 1.7.0 branch from libpng-1.6.0beta33.
|
|
Made 8-bit compose and rgb_to_grayscale accuracy improvements. These
|
|
changes cause 16-bit arithmetic to be used for 8-bit data in the gamma
|
|
corrected compose and grayscale operations. The arithmetic errors have
|
|
three sources all of which are fixed in this commit:
|
|
1) 8-bit linear calculations produce massive errors for lower intensity
|
|
values.
|
|
2) The old 16-bit "16 to 8" gamma table code erroneously wrote the lowest
|
|
output value into a table entry which corresponded to multiple output
|
|
values (so where the value written should have been the closest to the
|
|
transformed input value.)
|
|
3) In a number of cases the code to access the 16-bit table did not round;
|
|
it did a simple shift, which was wrong and made the side effects of (2)
|
|
even worse.
|
|
The new gamma code does not have the 16-to-8 problem at the cost of slighly
|
|
more calculations and the algorithm used to minimize the number of
|
|
calculations has been extended to all the 16-bit tables; it has advantages
|
|
for any significant gamma correction.
|
|
Rearranged png_struct, remove unused members, change png_set_filter handling
|
|
png_struct members rearranged - partly to reorder to avoid packing, partly
|
|
to put frequently accessed members at the start and partly to make
|
|
the grouping more clear. png_set_filter code has been rewritten and the
|
|
code shared with png_write_start_row moved to a common function. Comments
|
|
in png.h have been made more clear. Minor fixes to
|
|
contrib/libtests/timepng.c and some of the png_*_tRNS logic, including
|
|
more error detection in png_set_tRNS.
|
|
Cleaned up USER_LIMITS feature, removing members from png_struct when not
|
|
required.
|
|
Rearranged ARM-NEON optimizations to isolate the machine specific code to
|
|
the hardware subdirectory, and add comments to pngrutil.c so that
|
|
implementors of other optimizations will know what to do.
|
|
|
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
|
(subscription required; visit
|
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
|
to subscribe)
|
|
or to glennrp at users.sourceforge.net
|
|
|
|
Glenn R-P
|