[devel] Fix more inconsistencies from the swap of 16_TO_8 APIs.

pngvalid still fails.
This commit is contained in:
Glenn Randers-Pehrson 2011-06-17 23:07:16 -05:00
parent 24145c8869
commit 6da2f2d92a
3 changed files with 12 additions and 9 deletions

4
png.h
View File

@ -1426,12 +1426,12 @@ PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structp png_ptr,
#ifdef PNG_READ_16_TO_8_SUPPORTED
# ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED
/* Scale a 16-bit depth file down to 8-bit, accurately. */
PNG_EXPORT(48, void, png_set_scale_16, (png_structp png_ptr));
PNG_EXPORT(229, void, png_set_scale_16, (png_structp png_ptr));
# endif
# ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED
/* Strip the second byte of information from a 16-bit depth file. */
PNG_EXPORT(229, void, png_set_strip_16, (png_structp png_ptr));
PNG_EXPORT(48, void, png_set_strip_16, (png_structp png_ptr));
# endif
#endif

View File

@ -1289,18 +1289,21 @@ png_read_png(png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_READ_16_TO_8_SUPPORTED
/* Tell libpng to strip 16-bit/color files down to 8 bits per color.
*/
# ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED
# ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED
if (transforms & PNG_TRANSFORM_SCALE_16)
png_set_scale_16(png_ptr);
# ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED
else
# endif
# endif
# ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED
/* Added at libpng-1.5.4. "strip_16" produces the same result that it
* did in earlier versions, while "scale_16" is now more accurate.
*/
else
/* Added at libpng-1.5.4. "strip_16" produces the same result that it
* did in earlier versions, while "scale_16" is now more accurate.
*/
if (transforms & PNG_TRANSFORM_STRIP_16)
png_set_strip_16(png_ptr);
#endif
# endif
#endif
#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED

View File

@ -234,4 +234,4 @@ EXPORTS
png_set_text_compression_method @226
png_set_alpha_mode @227
png_set_alpha_mode_fixed @228
png_set_chop_16 @229
png_set_scale_16 @229