[libpng17] Document how to use different crc_action after reading the image

data in the sequential reader.
This commit is contained in:
Glenn Randers-Pehrson 2014-02-23 13:36:31 -06:00
parent 713a20c57d
commit 51ecc14a8a
2 changed files with 36 additions and 20 deletions

View File

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.7.0beta32 - February 6, 2014 libpng version 1.7.0beta32 - February 23, 2014
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.7.0beta32 - February 6, 2014 libpng versions 0.97, January 1998, through 1.7.0beta32 - February 23, 2014
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson
@ -2165,10 +2165,15 @@ how pngvalid.c does it.
Finishing a sequential read Finishing a sequential read
After you are finished reading the image through the After you are finished reading the image through the
low-level interface, you can finish reading the file. If you are low-level interface, you can finish reading the file.
interested in comments or time, which may be stored either before or
after the image data, you should pass the separate png_info struct if If you want to use a different crc action for handling CRC errors in
you want to keep the comments from before and after the image chunks after the image data, you can call png_set_crc_action()
again at this point.
If you are interested in comments or time, which may be stored either
before or after the image data, you should pass the separate png_info
struct if you want to keep the comments from before and after the image
separate. separate.
png_infop end_info = png_create_info_struct(png_ptr); png_infop end_info = png_create_info_struct(png_ptr);
@ -2184,6 +2189,9 @@ separate.
If you are not interested, you should still call png_read_end() If you are not interested, you should still call png_read_end()
but you can pass NULL, avoiding the need to create an end_info structure. but you can pass NULL, avoiding the need to create an end_info structure.
If you do this, libpng will not process any chunks after IDAT other than
skipping over them and perhaps (depending on whether you have called
png_set_crc_action) checking their CRCs while looking for the IEND chunk.
png_read_end(png_ptr, (png_infop)NULL); png_read_end(png_ptr, (png_infop)NULL);
@ -2459,7 +2467,7 @@ png_infop info_ptr;
png_progressive_combine_row(png_ptr, old_row, png_progressive_combine_row(png_ptr, old_row,
new_row); new_row);
/* where old_row is what was displayed for /* where old_row is what was displayed
previously for the row. Note that the first previously for the row. Note that the first
pass (pass == 0, really) will completely cover pass (pass == 0, really) will completely cover
the old row, so the rows do not have to be the old row, so the rows do not have to be
@ -5270,7 +5278,7 @@ Other rules can be inferred by inspecting the libpng source.
XVII. Y2K Compliance in libpng XVII. Y2K Compliance in libpng
February 6, 2014 February 23, 2014
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "February 6, 2014" .TH LIBPNG 3 "February 23, 2014"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta32 libpng \- Portable Network Graphics (PNG) Reference Library 1.7.0beta32
.SH SYNOPSIS .SH SYNOPSIS
@ -494,7 +494,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.7.0beta32 - February 6, 2014 libpng version 1.7.0beta32 - February 23, 2014
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2014 Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson
@ -505,7 +505,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.7.0beta32 - February 6, 2014 libpng versions 0.97, January 1998, through 1.7.0beta32 - February 23, 2014
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2014 Glenn Randers-Pehrson Copyright (c) 1998-2014 Glenn Randers-Pehrson
@ -2659,10 +2659,15 @@ how pngvalid.c does it.
.SS Finishing a sequential read .SS Finishing a sequential read
After you are finished reading the image through the After you are finished reading the image through the
low-level interface, you can finish reading the file. If you are low-level interface, you can finish reading the file.
interested in comments or time, which may be stored either before or
after the image data, you should pass the separate png_info struct if If you want to use a different crc action for handling CRC errors in
you want to keep the comments from before and after the image chunks after the image data, you can call png_set_crc_action()
again at this point.
If you are interested in comments or time, which may be stored either
before or after the image data, you should pass the separate png_info
struct if you want to keep the comments from before and after the image
separate. separate.
png_infop end_info = png_create_info_struct(png_ptr); png_infop end_info = png_create_info_struct(png_ptr);
@ -2678,6 +2683,9 @@ separate.
If you are not interested, you should still call png_read_end() If you are not interested, you should still call png_read_end()
but you can pass NULL, avoiding the need to create an end_info structure. but you can pass NULL, avoiding the need to create an end_info structure.
If you do this, libpng will not process any chunks after IDAT other than
skipping over them and perhaps (depending on whether you have called
png_set_crc_action) checking their CRCs while looking for the IEND chunk.
png_read_end(png_ptr, (png_infop)NULL); png_read_end(png_ptr, (png_infop)NULL);
@ -2953,7 +2961,7 @@ png_infop info_ptr;
png_progressive_combine_row(png_ptr, old_row, png_progressive_combine_row(png_ptr, old_row,
new_row); new_row);
/* where old_row is what was displayed for /* where old_row is what was displayed
previously for the row. Note that the first previously for the row. Note that the first
pass (pass == 0, really) will completely cover pass (pass == 0, really) will completely cover
the old row, so the rows do not have to be the old row, so the rows do not have to be
@ -5765,7 +5773,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XVII. Y2K Compliance in libpng .SH XVII. Y2K Compliance in libpng
February 6, 2014 February 23, 2014
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
@ -6035,7 +6043,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.7.0beta32 - February 6, 2014: Libpng version 1.7.0beta32 - February 23, 2014:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -6058,7 +6066,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.7.0beta32, February 6, 2014, are libpng versions 1.2.6, August 15, 2004, through 1.7.0beta32, February 23, 2014, are
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -6157,7 +6165,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
February 6, 2014 February 23, 2014
.\" end of man page .\" end of man page