mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[devel] Added png_set_chop_16() API.
This commit is contained in:
parent
74945f2f04
commit
413138a5ca
20
ANNOUNCE
20
ANNOUNCE
@ -1,5 +1,5 @@
|
||||
|
||||
Libpng 1.5.4beta01 - June 14, 2011
|
||||
Libpng 1.5.4beta02 - June 14, 2011
|
||||
|
||||
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.
|
||||
@ -9,20 +9,20 @@ Files available for download:
|
||||
Source files with LF line endings (for Unix/Linux) and with a
|
||||
"configure" script
|
||||
|
||||
1.5.4beta01.tar.xz (LZMA-compressed, recommended)
|
||||
1.5.4beta01.tar.gz
|
||||
1.5.4beta01.tar.bz2
|
||||
1.5.4beta02.tar.xz (LZMA-compressed, recommended)
|
||||
1.5.4beta02.tar.gz
|
||||
1.5.4beta02.tar.bz2
|
||||
|
||||
Source files with CRLF line endings (for Windows), without the
|
||||
"configure" script
|
||||
|
||||
lp154b01.7z (LZMA-compressed, recommended)
|
||||
lp154b01.zip
|
||||
lp154b02.7z (LZMA-compressed, recommended)
|
||||
lp154b02.zip
|
||||
|
||||
Other information:
|
||||
|
||||
1.5.4beta01-README.txt
|
||||
1.5.4beta01-LICENSE.txt
|
||||
1.5.4beta02-README.txt
|
||||
1.5.4beta02-LICENSE.txt
|
||||
|
||||
Changes since the last public release (1.5.2):
|
||||
|
||||
@ -193,6 +193,10 @@ Version 1.5.4beta01 [June 14, 2011]
|
||||
outside of an unknown-chunk block in png.h because they are also
|
||||
needed for other uses.
|
||||
|
||||
Version 1.5.4beta02 [June 14, 2011]
|
||||
Fixed and clarified LEGACY 16-to-8 scaling code.
|
||||
Added png_set_chop_16() API.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
|
||||
(subscription required; visit
|
||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||
|
||||
4
CHANGES
4
CHANGES
@ -3456,6 +3456,10 @@ Version 1.5.4beta01 [June 14, 2011]
|
||||
outside of an unknown-chunk block in png.h because they are also
|
||||
needed for other uses.
|
||||
|
||||
Version 1.5.4beta02 [June 14, 2011]
|
||||
Fixed and clarified LEGACY 16-to-8 scaling code.
|
||||
Added png_set_chop_16() API.
|
||||
|
||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||
(subscription required; visit
|
||||
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.5.4beta01 - June 14, 2011
|
||||
libpng version 1.5.4beta02 - June 14, 2011
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.5.4beta01 - June 14, 2011
|
||||
libpng versions 0.97, January 1998, through 1.5.4beta02 - June 14, 2011
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
|
||||
@ -4423,7 +4423,7 @@ Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.5.4beta01 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.5.4beta02 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
|
||||
21
libpng.3
21
libpng.3
@ -1,6 +1,6 @@
|
||||
.TH LIBPNG 3 "June 14, 2011"
|
||||
.SH NAME
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta01
|
||||
libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta02
|
||||
.SH SYNOPSIS
|
||||
\fI\fB
|
||||
|
||||
@ -672,6 +672,10 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta01
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_strip_16 (png_structp \fIpng_ptr\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
|
||||
\fBvoid png_set_chunk_malloc_max (png_structp \fP\fIpng_ptr\fP\fB, png_alloc_size_t \fIuser_chunk_cache_max\fP\fB);\fP
|
||||
|
||||
\fI\fB
|
||||
@ -951,7 +955,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
||||
.SH LIBPNG.TXT
|
||||
libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
libpng version 1.5.4beta01 - June 14, 2011
|
||||
libpng version 1.5.4beta02 - June 14, 2011
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
<glennrp at users.sourceforge.net>
|
||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
@ -962,7 +966,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
||||
|
||||
Based on:
|
||||
|
||||
libpng versions 0.97, January 1998, through 1.5.4beta01 - June 14, 2011
|
||||
libpng versions 0.97, January 1998, through 1.5.4beta02 - June 14, 2011
|
||||
Updated and distributed by Glenn Randers-Pehrson
|
||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
|
||||
@ -5374,7 +5378,7 @@ Since the PNG Development group is an ad-hoc body, we can't make
|
||||
an official declaration.
|
||||
|
||||
This is your unofficial assurance that libpng from version 0.71 and
|
||||
upward through 1.5.4beta01 are Y2K compliant. It is my belief that earlier
|
||||
upward through 1.5.4beta02 are Y2K compliant. It is my belief that earlier
|
||||
versions were also Y2K compliant.
|
||||
|
||||
Libpng only has three year fields. One is a 2-byte unsigned integer that
|
||||
@ -5565,8 +5569,9 @@ the first widely used release:
|
||||
1.5.2 15 10502 15.so.15.2[.0]
|
||||
1.5.3beta01-10 15 10503 15.so.15.3[.0]
|
||||
1.5.3rc01-02 15 10503 15.so.15.3[.0]
|
||||
1.5.3beta11 [no 1.5.3] 15 10503 15.so.15.3[.0]
|
||||
1.5.4beta01 15 10504 15.so.15.4[.0]
|
||||
1.5.3beta11 15 10503 15.so.15.3[.0]
|
||||
1.5.3 [omitted]
|
||||
1.5.4beta01-02 15 10504 15.so.15.4[.0]
|
||||
|
||||
Henceforth the source version will match the shared-library minor
|
||||
and patch numbers; the shared-library major version number will be
|
||||
@ -5623,7 +5628,7 @@ possible without all of you.
|
||||
|
||||
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
||||
|
||||
Libpng version 1.5.4beta01 - June 14, 2011:
|
||||
Libpng version 1.5.4beta02 - June 14, 2011:
|
||||
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
||||
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
||||
|
||||
@ -5646,7 +5651,7 @@ this sentence.
|
||||
|
||||
This code is released under the libpng license.
|
||||
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.4beta01, June 14, 2011, are
|
||||
libpng versions 1.2.6, August 15, 2004, through 1.5.4beta02, June 14, 2011, are
|
||||
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
||||
distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
with the following individual added to the list of Contributing Authors
|
||||
|
||||
12
png.c
12
png.c
@ -1,7 +1,7 @@
|
||||
|
||||
/* png.c - location for general purpose libpng functions
|
||||
*
|
||||
* Last changed in libpng 1.5.3 [(PENDING RELEASE)]
|
||||
* Last changed in libpng 1.5.4 [(PENDING RELEASE)]
|
||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@ -14,7 +14,7 @@
|
||||
#include "pngpriv.h"
|
||||
|
||||
/* Generate a compiler error if there is an old png.h in the search path. */
|
||||
typedef png_libpng_version_1_5_4beta01 Your_png_h_is_not_version_1_5_4beta01;
|
||||
typedef png_libpng_version_1_5_4beta02 Your_png_h_is_not_version_1_5_4beta02;
|
||||
|
||||
/* Tells libpng that we have already handled the first "num_bytes" bytes
|
||||
* of the PNG file signature. If the PNG data is embedded into another
|
||||
@ -617,13 +617,13 @@ png_get_copyright(png_const_structp png_ptr)
|
||||
#else
|
||||
# ifdef __STDC__
|
||||
return PNG_STRING_NEWLINE \
|
||||
"libpng version 1.5.4beta01 - June 14, 2011" PNG_STRING_NEWLINE \
|
||||
"libpng version 1.5.4beta02 - June 14, 2011" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1998-2011 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
|
||||
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
|
||||
PNG_STRING_NEWLINE;
|
||||
# else
|
||||
return "libpng version 1.5.4beta01 - June 14, 2011\
|
||||
return "libpng version 1.5.4beta02 - June 14, 2011\
|
||||
Copyright (c) 1998-2011 Glenn Randers-Pehrson\
|
||||
Copyright (c) 1996-1997 Andreas Dilger\
|
||||
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";
|
||||
@ -2369,7 +2369,7 @@ png_build_gamma_table(png_structp png_ptr, int bit_depth)
|
||||
else
|
||||
shift = 0; /* keep all 16 bits */
|
||||
|
||||
if (png_ptr->transformations & PNG_16_TO_8)
|
||||
if (png_ptr->transformations & (PNG_16_TO_8 | PNG_CHOP_16_TO_8))
|
||||
{
|
||||
/* PNG_MAX_GAMMA_8 is the number of bits to keep - effectively
|
||||
* the significant bits in the *input* when the output will
|
||||
@ -2390,7 +2390,7 @@ png_build_gamma_table(png_structp png_ptr, int bit_depth)
|
||||
* 16-bit output because the 8-bit table assumes the result will be reduced
|
||||
* to 8 bits.
|
||||
*/
|
||||
if (png_ptr->transformations & PNG_16_TO_8)
|
||||
if (png_ptr->transformations & (PNG_16_TO_8 | PNG_CHOP_16_TO_8))
|
||||
#endif
|
||||
png_build_16to8_table(png_ptr, &png_ptr->gamma_16_table, shift,
|
||||
png_ptr->screen_gamma > 0 ? png_product2(png_ptr->gamma,
|
||||
|
||||
27
png.h
27
png.h
@ -1,7 +1,7 @@
|
||||
|
||||
/* png.h - header file for PNG reference library
|
||||
*
|
||||
* libpng version 1.5.4beta01 - June 14, 2011
|
||||
* libpng version 1.5.4beta02 - June 14, 2011
|
||||
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@ -11,7 +11,7 @@
|
||||
* Authors and maintainers:
|
||||
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
||||
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
|
||||
* libpng versions 0.97, January 1998, through 1.5.4beta01 - June 14, 2011: Glenn
|
||||
* libpng versions 0.97, January 1998, through 1.5.4beta02 - June 14, 2011: Glenn
|
||||
* See also "Contributing Authors", below.
|
||||
*
|
||||
* Note about libpng version numbers:
|
||||
@ -152,8 +152,9 @@
|
||||
* 1.5.2 15 10502 15.so.15.2[.0]
|
||||
* 1.5.3beta01-10 15 10503 15.so.15.3[.0]
|
||||
* 1.5.3rc01-02 15 10503 15.so.15.3[.0]
|
||||
* 1.5.3beta11 [no 1.5.3] 15 10503 15.so.15.3[.0]
|
||||
* 1.5.4beta01 15 10504 15.so.15.4[.0]
|
||||
* 1.5.3beta11 15 10503 15.so.15.3[.0]
|
||||
* 1.5.3 [omitted]
|
||||
* 1.5.4beta01-02 15 10504 15.so.15.4[.0]
|
||||
*
|
||||
* Henceforth the source version will match the shared-library major
|
||||
* and minor numbers; the shared-library major version number will be
|
||||
@ -185,7 +186,7 @@
|
||||
*
|
||||
* This code is released under the libpng license.
|
||||
*
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.4beta01, June 14, 2011, are
|
||||
* libpng versions 1.2.6, August 15, 2004, through 1.5.4beta02, June 14, 2011, are
|
||||
* Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
|
||||
* distributed according to the same disclaimer and license as libpng-1.2.5
|
||||
* with the following individual added to the list of Contributing Authors:
|
||||
@ -303,7 +304,7 @@
|
||||
* an official declaration.
|
||||
*
|
||||
* This is your unofficial assurance that libpng from version 0.71 and
|
||||
* upward through 1.5.4beta01 are Y2K compliant. It is my belief that
|
||||
* upward through 1.5.4beta02 are Y2K compliant. It is my belief that
|
||||
* earlier versions were also Y2K compliant.
|
||||
*
|
||||
* Libpng only has two year fields. One is a 2-byte unsigned integer
|
||||
@ -358,9 +359,9 @@
|
||||
*/
|
||||
|
||||
/* Version information for png.h - this should match the version in png.c */
|
||||
#define PNG_LIBPNG_VER_STRING "1.5.4beta01"
|
||||
#define PNG_LIBPNG_VER_STRING "1.5.4beta02"
|
||||
#define PNG_HEADER_VERSION_STRING \
|
||||
" libpng version 1.5.4beta01 - June 14, 2011\n"
|
||||
" libpng version 1.5.4beta02 - June 14, 2011\n"
|
||||
|
||||
#define PNG_LIBPNG_VER_SONUM 15
|
||||
#define PNG_LIBPNG_VER_DLLNUM 15
|
||||
@ -373,7 +374,7 @@
|
||||
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
||||
*/
|
||||
|
||||
#define PNG_LIBPNG_VER_BUILD 01
|
||||
#define PNG_LIBPNG_VER_BUILD 02
|
||||
|
||||
/* Release Status */
|
||||
#define PNG_LIBPNG_BUILD_ALPHA 1
|
||||
@ -520,7 +521,7 @@ extern "C" {
|
||||
/* This triggers a compiler error in png.c, if png.c and png.h
|
||||
* do not agree upon the version number.
|
||||
*/
|
||||
typedef char* png_libpng_version_1_5_4beta01;
|
||||
typedef char* png_libpng_version_1_5_4beta02;
|
||||
|
||||
/* Three color definitions. The order of the red, green, and blue, (and the
|
||||
* exact size) is not important, although the size of the fields need to
|
||||
@ -1422,8 +1423,10 @@ PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structp png_ptr,
|
||||
#endif
|
||||
|
||||
#ifdef PNG_READ_16_TO_8_SUPPORTED
|
||||
/* Strip the second byte of information from a 16-bit depth file. */
|
||||
/* Scale a 16-bit depth file down to 8-bit, accurately. */
|
||||
PNG_EXPORT(48, void, png_set_strip_16, (png_structp png_ptr));
|
||||
/* Strip the second byte of information from a 16-bit depth file. */
|
||||
PNG_EXPORT(229, void, png_set_chop_16, (png_structp png_ptr));
|
||||
#endif
|
||||
|
||||
#ifdef PNG_READ_QUANTIZE_SUPPORTED
|
||||
@ -2566,7 +2569,7 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
|
||||
* scripts/symbols.def as well.
|
||||
*/
|
||||
#ifdef PNG_EXPORT_LAST_ORDINAL
|
||||
PNG_EXPORT_LAST_ORDINAL(228);
|
||||
PNG_EXPORT_LAST_ORDINAL(229);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
68
pngrtran.c
68
pngrtran.c
@ -133,7 +133,7 @@ png_set_background(png_structp png_ptr,
|
||||
#endif /* READ_BACKGROUND */
|
||||
|
||||
#ifdef PNG_READ_16_TO_8_SUPPORTED
|
||||
/* Strip 16-bit depth files to 8-bit depth */
|
||||
/* Scale 16-bit depth files to 8-bit depth */
|
||||
void PNGAPI
|
||||
png_set_strip_16(png_structp png_ptr)
|
||||
{
|
||||
@ -143,6 +143,20 @@ png_set_strip_16(png_structp png_ptr)
|
||||
return;
|
||||
|
||||
png_ptr->transformations |= PNG_16_TO_8;
|
||||
png_ptr->transformations &= ~PNG_CHOP_16_TO_8;
|
||||
}
|
||||
|
||||
/* Chop 16-bit depth files to 8-bit depth */
|
||||
void PNGAPI
|
||||
png_set_chop_16(png_structp png_ptr)
|
||||
{
|
||||
png_debug(1, "in png_set_chop_16");
|
||||
|
||||
if (png_ptr == NULL)
|
||||
return;
|
||||
|
||||
png_ptr->transformations |= PNG_CHOP_16_TO_8;
|
||||
png_ptr->transformations &= ~PNG_16_TO_8;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1312,7 +1326,7 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
* 6) PNG_GAMMA
|
||||
* 7) PNG_STRIP_ALPHA (if compose)
|
||||
* 8) PNG_ENCODE_ALPHA
|
||||
* 9) PNG_16_TO_8 (strip16)
|
||||
* 9) PNG_16_TO_8 or PNG_CHOP_16_TO_8 (strip16/chop16)
|
||||
* 10) PNG_QUANTIZE (converts to palette)
|
||||
* 11) PNG_EXPAND_16
|
||||
* 12) PNG_GRAY_TO_RGB iff PNG_BACKGROUND_IS_GRAY
|
||||
@ -1851,13 +1865,15 @@ png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
|
||||
|
||||
#ifdef PNG_READ_16_TO_8_SUPPORTED
|
||||
#ifdef PNG_READ_16BIT_SUPPORTED
|
||||
if ((png_ptr->transformations & PNG_16_TO_8) && (info_ptr->bit_depth == 16))
|
||||
if ((png_ptr->transformations & (PNG_16_TO_8 | PNG_CHOP_16_TO_8)) &&
|
||||
(info_ptr->bit_depth == 16))
|
||||
info_ptr->bit_depth = 8;
|
||||
#else
|
||||
/* Force chopping 16-bit input down to 8 */
|
||||
if (info_ptr->bit_depth == 16)
|
||||
{
|
||||
png_ptr->transformations |=PNG_16_TO_8;
|
||||
if (!(png_ptr->transformations & PNG_CHOP_16_TO_8))
|
||||
png_ptr->transformations |=PNG_16_TO_8;
|
||||
info_ptr->bit_depth = 8;
|
||||
}
|
||||
#endif
|
||||
@ -2123,6 +2139,8 @@ png_do_read_transformations(png_structp png_ptr)
|
||||
|
||||
#ifdef PNG_READ_16_TO_8_SUPPORTED
|
||||
if (png_ptr->transformations & PNG_16_TO_8)
|
||||
png_do_scale_16_to_8(&(png_ptr->row_info), png_ptr->row_buf + 1);
|
||||
else if (png_ptr->transformations & PNG_CHOP_16_TO_8)
|
||||
png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1);
|
||||
#endif
|
||||
|
||||
@ -2453,11 +2471,11 @@ png_do_unshift(png_row_infop row_info, png_bytep row,
|
||||
#endif
|
||||
|
||||
#ifdef PNG_READ_16_TO_8_SUPPORTED
|
||||
/* Chop rows of bit depth 16 down to 8 */
|
||||
/* Scale rows of bit depth 16 down to 8 accurately */
|
||||
void /* PRIVATE */
|
||||
png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
png_do_scale_16_to_8(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_chop");
|
||||
png_debug(1, "in png_do_scale_16_to_8");
|
||||
|
||||
if (row_info->bit_depth == 16)
|
||||
{
|
||||
@ -2500,15 +2518,7 @@ png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
*/
|
||||
|
||||
png_int_32 tmp = *sp++; /* must be signed! */
|
||||
#ifdef PNG_LEGACY_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
|
||||
tmp += (((int)*sp++ - tmp) > 128) ? 1 : 0;
|
||||
#else
|
||||
# ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
|
||||
tmp += (((int)*sp++ - tmp + 128) * 65535) >> 24;
|
||||
# else
|
||||
sp++;
|
||||
# endif
|
||||
#endif
|
||||
*dp++ = (png_byte)tmp;
|
||||
}
|
||||
|
||||
@ -2517,7 +2527,33 @@ png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
row_info->rowbytes = row_info->width * row_info->channels;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void /* PRIVATE */
|
||||
/* Simply discard the low byte. This was the default behavior prior
|
||||
* to libpng-1.5.4.
|
||||
*/
|
||||
png_do_chop(png_row_infop row_info, png_bytep row)
|
||||
{
|
||||
png_debug(1, "in png_do_chop");
|
||||
|
||||
if (row_info->bit_depth == 16)
|
||||
{
|
||||
png_bytep sp = row; /* source */
|
||||
png_bytep dp = row; /* destinaton */
|
||||
png_bytep ep = sp + row_info->rowbytes; /* end+1 */
|
||||
|
||||
while (sp < ep)
|
||||
{
|
||||
*dp++ = *sp++;
|
||||
sp++;
|
||||
}
|
||||
|
||||
row_info->bit_depth = 8;
|
||||
row_info->pixel_depth = (png_byte)(8 * row_info->channels);
|
||||
row_info->rowbytes = row_info->width * row_info->channels;
|
||||
}
|
||||
}
|
||||
#endif /* PNG_READ_16_TO_8_SUPPORTED */
|
||||
|
||||
#ifdef PNG_READ_SWAP_ALPHA_SUPPORTED
|
||||
void /* PRIVATE */
|
||||
|
||||
@ -347,7 +347,6 @@ option INCH_CONVERSIONS
|
||||
option BUILD_GRAYSCALE_PALETTE
|
||||
|
||||
option READ_16_TO_8_ACCURATE_SCALE requires READ
|
||||
option LEGACY_READ_16_TO_8_ACCURATE_SCALE disabled
|
||||
|
||||
# IN DEVELOPMENT
|
||||
# These are currently experimental features; define them if you want
|
||||
|
||||
@ -61,7 +61,6 @@
|
||||
#define PNG_INFO_IMAGE_SUPPORTED
|
||||
#define PNG_IO_STATE_SUPPORTED
|
||||
#define PNG_iTXt_SUPPORTED
|
||||
/*#undef PNG_LEGACY_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
|
||||
#define PNG_MNG_FEATURES_SUPPORTED
|
||||
#define PNG_oFFs_SUPPORTED
|
||||
#define PNG_pCAL_SUPPORTED
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user