diff --git a/ANNOUNCE b/ANNOUNCE index c00dc422f..5242b600f 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -79,8 +79,12 @@ Version 1.6.0beta03 [December 22, 2011] Version 1.6.0beta04 [December 24, 2011] Regenerated configure scripts with automake-1.11.2 - Eliminated png_info_destroy. It is now used only in png.c and only calls one - other internal functions and memset. + Eliminated png_info_destroy(). It is now used only in png.c and only calls + one other internal function and memset(). + Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously + it was disabled whenever internal fixed point arithmetic was selected, + which meant it didn't exist even on systems where FP was available but not + preferred. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index c81ee14f7..a0623d6f4 100644 --- a/CHANGES +++ b/CHANGES @@ -3830,8 +3830,12 @@ Version 1.6.0beta03 [December 22, 2011] Version 1.6.0beta04 [December 24, 2011] Regenerated configure scripts with automake-1.11.2 - Eliminated png_info_destroy. It is now used only in png.c and only calls one - other internal functions and memset. + Eliminated png_info_destroy(). It is now used only in png.c and only calls + one other internal function and memset(). + Enabled png_get_sCAL_fixed() if floating point APIs are enabled. Previously + it was disabled whenever internal fixed point arithmetic was selected, + which meant it didn't exist even on systems where FP was available but not + preferred. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/png.h b/png.h index 2c7bb3e20..a27ee7789 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.0beta04 - December 22, 2011 + * libpng version 1.6.0beta04 - December 24, 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.6.0beta04 - December 22, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.6.0beta04 - December 24, 2011: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -198,7 +198,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.6.0beta04, December 22, 2011, are + * libpng versions 1.2.6, August 15, 2004, through 1.6.0beta04, December 24, 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: @@ -310,7 +310,7 @@ * Y2K compliance in libpng: * ========================= * - * December 22, 2011 + * December 24, 2011 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -376,7 +376,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.6.0beta04" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.6.0beta04 - December 22, 2011\n" + " libpng version 1.6.0beta04 - December 24, 2011\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -2265,7 +2265,8 @@ PNG_EXPORT(167, void, png_set_tRNS, (png_structp png_ptr, png_infop info_ptr, #ifdef PNG_sCAL_SUPPORTED PNG_FP_EXPORT(168, png_uint_32, png_get_sCAL, (png_const_structp png_ptr, png_const_infop info_ptr, int *unit, double *width, double *height)); -#ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED +#if (defined PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ + (defined PNG_FLOATING_POINT_SUPPORTED) /* NOTE: this API is currently implemented using floating point arithmetic, * consequently it can only be used on systems with floating point support. * In any case the range of values supported by png_fixed_point is small and it diff --git a/pngget.c b/pngget.c index 5ba713ae5..1841f75a7 100644 --- a/pngget.c +++ b/pngget.c @@ -818,7 +818,8 @@ png_get_pCAL(png_const_structp png_ptr, png_const_infop info_ptr, #ifdef PNG_sCAL_SUPPORTED # ifdef PNG_FIXED_POINT_SUPPORTED -# ifdef PNG_FLOATING_ARITHMETIC_SUPPORTED +# if (defined PNG_FLOATING_ARITHMETIC_SUPPORTED) || \ + (defined PNG_FLOATING_POINT_SUPPORTED) png_uint_32 PNGAPI png_get_sCAL_fixed(png_const_structp png_ptr, png_const_infop info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height) @@ -827,7 +828,10 @@ png_get_sCAL_fixed(png_const_structp png_ptr, png_const_infop info_ptr, (info_ptr->valid & PNG_INFO_sCAL)) { *unit = info_ptr->scal_unit; - /*TODO: make this work without FP support */ + /*TODO: make this work without FP support; the API is currently eliminated + * if neither floating point APIs nor internal floating point arithmetic + * are enabled. + */ *width = png_fixed(png_ptr, atof(info_ptr->scal_s_width), "sCAL width"); *height = png_fixed(png_ptr, atof(info_ptr->scal_s_height), "sCAL height");