[libpng16] Revised manual about handling of zlib CMF

This commit is contained in:
Glenn Randers-Pehrson 2013-11-24 13:33:07 -06:00
parent d56af331e1
commit 30145f29c5
2 changed files with 16 additions and 14 deletions

View File

@ -5051,18 +5051,19 @@ The machine-generated configure files are no longer included in branches
libpng16 and later of the GIT repository. They continue to be included libpng16 and later of the GIT repository. They continue to be included
in the tarball releases, however. in the tarball releases, however.
Libpng-1.6.0 and later use the CMF bytes at the beginning of the IDAT stream Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
to set the size of the sliding window for reading instead of using the default stream to set the size of the sliding window for reading instead of using the
32-kbyte sliding window size. It was discovered that there are hundreds of PNG default 32-kbyte sliding window size. It was discovered that there are
files in the wild that have incorrect CMF bytes that cause libpng to now issue hundreds of PNG files in the wild that have incorrect CMF bytes that caused
a "too far back" error and reject the file. Libpng-1.6.3 provides a way to libpng to issue a "too far back" error and reject the file. Libpng-1.6.3 and
revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a later calculate their own safe CMF from the image dimensions, provide a way
to revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a
32-kbyte sliding window), by using 32-kbyte sliding window), by using
png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW, png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW,
PNG_OPTION_ON); PNG_OPTION_ON);
and provides a tool (contrib/tools/pngfix) for optimizing the CMF bytes and provide a tool (contrib/tools/pngfix) for optimizing the CMF bytes
correctly. correctly.
Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong

View File

@ -5556,18 +5556,19 @@ The machine-generated configure files are no longer included in branches
libpng16 and later of the GIT repository. They continue to be included libpng16 and later of the GIT repository. They continue to be included
in the tarball releases, however. in the tarball releases, however.
Libpng-1.6.0 and later use the CMF bytes at the beginning of the IDAT stream Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
to set the size of the sliding window for reading instead of using the default stream to set the size of the sliding window for reading instead of using the
32-kbyte sliding window size. It was discovered that there are hundreds of PNG default 32-kbyte sliding window size. It was discovered that there are
files in the wild that have incorrect CMF bytes that cause libpng to now issue hundreds of PNG files in the wild that have incorrect CMF bytes that caused
a "too far back" error and reject the file. Libpng-1.6.3 provides a way to libpng to issue a "too far back" error and reject the file. Libpng-1.6.3 and
revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a later calculate their own safe CMF from the image dimensions, provide a way
to revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a
32-kbyte sliding window), by using 32-kbyte sliding window), by using
png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW, png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW,
PNG_OPTION_ON); PNG_OPTION_ON);
and provides a tool (contrib/tools/pngfix) for optimizing the CMF bytes and provide a tool (contrib/tools/pngfix) for optimizing the CMF bytes
correctly. correctly.
Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong