mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	[devel] Renamed png_set_strip_16() to png_set_scale_16().
This commit is contained in:
		
							parent
							
								
									857dbbe7cc
								
							
						
					
					
						commit
						a7428d443c
					
				| @ -1,6 +1,6 @@ | ||||
| libpng-manual.txt - A description on how to use and modify libpng | ||||
| 
 | ||||
|  libpng version 1.5.4beta05 - June 16, 2011 | ||||
|  libpng version 1.5.4beta05 - June 18, 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.4beta05 - June 16, 2011 | ||||
|  libpng versions 0.97, January 1998, through 1.5.4beta05 - June 18, 2011 | ||||
|  Updated and distributed by Glenn Randers-Pehrson | ||||
|  Copyright (c) 1998-2011 Glenn Randers-Pehrson | ||||
| 
 | ||||
| @ -847,8 +847,8 @@ interface or libpng API calls for the low level interface.  For reference the | ||||
| settings and API calls required are: | ||||
| 
 | ||||
| 8-bit values: | ||||
|    PNG_TRANSFORM_STRIP_16 | PNG_EXPAND | ||||
|    png_set_expand(png_ptr); png_set_strip_16(png_ptr); | ||||
|    PNG_TRANSFORM_SCALE_16 | PNG_EXPAND | ||||
|    png_set_expand(png_ptr); png_set_scale_16(png_ptr); | ||||
| 
 | ||||
|    If you must get exactly the same inaccurate results | ||||
|    produced by default in versions prior to libpng-1.5.4, | ||||
| @ -878,7 +878,7 @@ the entire image into memory, and (b) the input transformations | ||||
| you want to do are limited to the following set: | ||||
| 
 | ||||
|     PNG_TRANSFORM_IDENTITY      No transformation | ||||
|     PNG_TRANSFORM_STRIP_16      Strip 16-bit samples to | ||||
|     PNG_TRANSFORM_SCALE_16      Strip 16-bit samples to | ||||
|                                 8-bit | ||||
|     PNG_TRANSFORM_STRIP_ALPHA   Discard the alpha channel | ||||
|     PNG_TRANSFORM_PACKING       Expand 1, 2 and 4-bit | ||||
| @ -1404,12 +1404,12 @@ byte, unless png_set_packing() is called.  8-bit RGB data will be stored | ||||
| in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha() | ||||
| is called to insert filler bytes, either before or after each RGB triplet. | ||||
| 16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant | ||||
| byte of the color value first, unless png_set_strip_16() is called to | ||||
| byte of the color value first, unless png_set_scale_16() is called to | ||||
| transform it to regular RGB RGB triplets, or png_set_filler() or | ||||
| png_set_add alpha() is called to insert filler bytes, either before or | ||||
| after each RRGGBB triplet.  Similarly, 8-bit or 16-bit grayscale data can | ||||
| be modified with | ||||
| png_set_filler(), png_set_add_alpha(), or png_set_strip_16(). | ||||
| png_set_filler(), png_set_add_alpha(), or png_set_scale_16(). | ||||
| 
 | ||||
| The following code transforms grayscale images of less than 8 to 8 bits, | ||||
| changes paletted images to RGB, and adds a full alpha channel if there is | ||||
| @ -1446,7 +1446,7 @@ PNG can have files with 16 bits per channel.  If you only can handle | ||||
| 8 bits per channel, this will strip the pixels down to 8-bit. | ||||
| 
 | ||||
|     if (bit_depth == 16) | ||||
|        png_set_strip_16(png_ptr); | ||||
|        png_set_scale_16(png_ptr); | ||||
| 
 | ||||
| If you need to process the alpha channel on the image separately from the image | ||||
| data (for example if you convert it to a bitmap mask) it is possible to have | ||||
| @ -4109,7 +4109,7 @@ reading 16-bit images, with none of the pixels being off-by-one any | ||||
| longer (see Clause 13.12 of the PNG specification).  If you must | ||||
| have exactly the same inaccurate results that libpng produced by | ||||
| default previously, then you can use the png_set_chop_16() API instead | ||||
| of png_set_strip_16(). | ||||
| of png_set_scale_16(). | ||||
| 
 | ||||
| Prior to libpng-1.5.4, the png_set_user_limits() function could only be | ||||
| used to reduce the width and height limits from the value of | ||||
| @ -4425,7 +4425,7 @@ Other rules can be inferred by inspecting the libpng source. | ||||
| 
 | ||||
| XIV. Y2K Compliance in libpng | ||||
| 
 | ||||
| June 16, 2011 | ||||
| June 18, 2011 | ||||
| 
 | ||||
| Since the PNG Development group is an ad-hoc body, we can't make | ||||
| an official declaration. | ||||
|  | ||||
							
								
								
									
										28
									
								
								libpng.3
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								libpng.3
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| .TH LIBPNG 3 "June 16, 2011" | ||||
| .TH LIBPNG 3 "June 18, 2011" | ||||
| .SH NAME | ||||
| libpng \- Portable Network Graphics (PNG) Reference Library 1.5.4beta05 | ||||
| .SH SYNOPSIS | ||||
| @ -955,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.4beta05 - June 16, 2011 | ||||
|  libpng version 1.5.4beta05 - June 18, 2011 | ||||
|  Updated and distributed by Glenn Randers-Pehrson | ||||
|  <glennrp at users.sourceforge.net> | ||||
|  Copyright (c) 1998-2011 Glenn Randers-Pehrson | ||||
| @ -966,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.4beta05 - June 16, 2011 | ||||
|  libpng versions 0.97, January 1998, through 1.5.4beta05 - June 18, 2011 | ||||
|  Updated and distributed by Glenn Randers-Pehrson | ||||
|  Copyright (c) 1998-2011 Glenn Randers-Pehrson | ||||
| 
 | ||||
| @ -1802,8 +1802,8 @@ interface or libpng API calls for the low level interface.  For reference the | ||||
| settings and API calls required are: | ||||
| 
 | ||||
| 8-bit values: | ||||
|    PNG_TRANSFORM_STRIP_16 | PNG_EXPAND | ||||
|    png_set_expand(png_ptr); png_set_strip_16(png_ptr); | ||||
|    PNG_TRANSFORM_SCALE_16 | PNG_EXPAND | ||||
|    png_set_expand(png_ptr); png_set_scale_16(png_ptr); | ||||
| 
 | ||||
|    If you must get exactly the same inaccurate results | ||||
|    produced by default in versions prior to libpng-1.5.4, | ||||
| @ -1833,7 +1833,7 @@ the entire image into memory, and (b) the input transformations | ||||
| you want to do are limited to the following set: | ||||
| 
 | ||||
|     PNG_TRANSFORM_IDENTITY      No transformation | ||||
|     PNG_TRANSFORM_STRIP_16      Strip 16-bit samples to | ||||
|     PNG_TRANSFORM_SCALE_16      Strip 16-bit samples to | ||||
|                                 8-bit | ||||
|     PNG_TRANSFORM_STRIP_ALPHA   Discard the alpha channel | ||||
|     PNG_TRANSFORM_PACKING       Expand 1, 2 and 4-bit | ||||
| @ -2359,12 +2359,12 @@ byte, unless png_set_packing() is called.  8-bit RGB data will be stored | ||||
| in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha() | ||||
| is called to insert filler bytes, either before or after each RGB triplet. | ||||
| 16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant | ||||
| byte of the color value first, unless png_set_strip_16() is called to | ||||
| byte of the color value first, unless png_set_scale_16() is called to | ||||
| transform it to regular RGB RGB triplets, or png_set_filler() or | ||||
| png_set_add alpha() is called to insert filler bytes, either before or | ||||
| after each RRGGBB triplet.  Similarly, 8-bit or 16-bit grayscale data can | ||||
| be modified with | ||||
| png_set_filler(), png_set_add_alpha(), or png_set_strip_16(). | ||||
| png_set_filler(), png_set_add_alpha(), or png_set_scale_16(). | ||||
| 
 | ||||
| The following code transforms grayscale images of less than 8 to 8 bits, | ||||
| changes paletted images to RGB, and adds a full alpha channel if there is | ||||
| @ -2401,7 +2401,7 @@ PNG can have files with 16 bits per channel.  If you only can handle | ||||
| 8 bits per channel, this will strip the pixels down to 8-bit. | ||||
| 
 | ||||
|     if (bit_depth == 16) | ||||
|        png_set_strip_16(png_ptr); | ||||
|        png_set_scale_16(png_ptr); | ||||
| 
 | ||||
| If you need to process the alpha channel on the image separately from the image | ||||
| data (for example if you convert it to a bitmap mask) it is possible to have | ||||
| @ -5064,7 +5064,7 @@ reading 16-bit images, with none of the pixels being off-by-one any | ||||
| longer (see Clause 13.12 of the PNG specification).  If you must | ||||
| have exactly the same inaccurate results that libpng produced by | ||||
| default previously, then you can use the png_set_chop_16() API instead | ||||
| of png_set_strip_16(). | ||||
| of png_set_scale_16(). | ||||
| 
 | ||||
| Prior to libpng-1.5.4, the png_set_user_limits() function could only be | ||||
| used to reduce the width and height limits from the value of | ||||
| @ -5380,7 +5380,7 @@ Other rules can be inferred by inspecting the libpng source. | ||||
| 
 | ||||
| .SH XIV. Y2K Compliance in libpng | ||||
| 
 | ||||
| June 16, 2011 | ||||
| June 18, 2011 | ||||
| 
 | ||||
| Since the PNG Development group is an ad-hoc body, we can't make | ||||
| an official declaration. | ||||
| @ -5636,7 +5636,7 @@ possible without all of you. | ||||
| 
 | ||||
| Thanks to Frank J. T. Wojcik for helping with the documentation. | ||||
| 
 | ||||
| Libpng version 1.5.4beta05 - June 16, 2011: | ||||
| Libpng version 1.5.4beta05 - June 18, 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). | ||||
| 
 | ||||
| @ -5659,7 +5659,7 @@ this sentence. | ||||
| 
 | ||||
| This code is released under the libpng license. | ||||
| 
 | ||||
| libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 16, 2011, are | ||||
| libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 18, 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 | ||||
| @ -5758,7 +5758,7 @@ certification mark of the Open Source Initiative. | ||||
| 
 | ||||
| Glenn Randers-Pehrson | ||||
| glennrp at users.sourceforge.net | ||||
| June 16, 2011 | ||||
| June 18, 2011 | ||||
| 
 | ||||
| .\" end of man page | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										12
									
								
								png.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								png.h
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| 
 | ||||
| /* png.h - header file for PNG reference library
 | ||||
|  * | ||||
|  * libpng version 1.5.4beta05 - June 16, 2011 | ||||
|  * libpng version 1.5.4beta05 - June 18, 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.4beta05 - June 16, 2011: Glenn | ||||
|  *   libpng versions 0.97, January 1998, through 1.5.4beta05 - June 18, 2011: Glenn | ||||
|  *   See also "Contributing Authors", below. | ||||
|  * | ||||
|  * Note about libpng version numbers: | ||||
| @ -186,7 +186,7 @@ | ||||
|  * | ||||
|  * This code is released under the libpng license. | ||||
|  * | ||||
|  * libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 16, 2011, are | ||||
|  * libpng versions 1.2.6, August 15, 2004, through 1.5.4beta05, June 18, 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: | ||||
| @ -298,7 +298,7 @@ | ||||
|  * Y2K compliance in libpng: | ||||
|  * ========================= | ||||
|  * | ||||
|  *    June 16, 2011 | ||||
|  *    June 18, 2011 | ||||
|  * | ||||
|  *    Since the PNG Development group is an ad-hoc body, we can't make | ||||
|  *    an official declaration. | ||||
| @ -361,7 +361,7 @@ | ||||
| /* Version information for png.h - this should match the version in png.c */ | ||||
| #define PNG_LIBPNG_VER_STRING "1.5.4beta05" | ||||
| #define PNG_HEADER_VERSION_STRING \ | ||||
|      " libpng version 1.5.4beta05 - June 16, 2011\n" | ||||
|      " libpng version 1.5.4beta05 - June 18, 2011\n" | ||||
| 
 | ||||
| #define PNG_LIBPNG_VER_SONUM   15 | ||||
| #define PNG_LIBPNG_VER_DLLNUM  15 | ||||
| @ -1426,7 +1426,7 @@ PNG_FIXED_EXPORT(215, void, png_set_background_fixed, (png_structp png_ptr, | ||||
| #ifdef PNG_READ_16_TO_8_SUPPORTED | ||||
| #  ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED | ||||
| /* Scale a 16-bit depth file down to 8-bit, accurately. */ | ||||
| PNG_EXPORT(48, void, png_set_strip_16, (png_structp png_ptr)); | ||||
| PNG_EXPORT(48, void, png_set_scale_16, (png_structp png_ptr)); | ||||
| #  endif | ||||
| #  ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED | ||||
| /* Strip the second byte of information from a 16-bit depth file. */ | ||||
|  | ||||
| @ -1291,11 +1291,11 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, | ||||
|     */ | ||||
| #  ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED | ||||
|    if (transforms & PNG_TRANSFORM_STRIP_16) | ||||
|       png_set_strip_16(png_ptr); | ||||
|       png_set_scale_16(png_ptr); | ||||
| #  endif | ||||
| #  ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED | ||||
|   /* Added at libpng-1.5.4. "chop_16" produces the same result that "strip_16"
 | ||||
|    * did in earlier versions, while "strip_16" is now more accurate. | ||||
|   /* 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 | ||||
|      if (transforms & PNG_TRANSFORM_CHOP_16) | ||||
|  | ||||
| @ -136,9 +136,9 @@ png_set_background(png_structp png_ptr, | ||||
| /* Scale 16-bit depth files to 8-bit depth */ | ||||
| #  ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED | ||||
| void PNGAPI | ||||
| png_set_strip_16(png_structp png_ptr) | ||||
| png_set_scale_16(png_structp png_ptr) | ||||
| { | ||||
|    png_debug(1, "in png_set_strip_16"); | ||||
|    png_debug(1, "in png_set_scale_16"); | ||||
| 
 | ||||
|    if (png_ptr == NULL) | ||||
|       return; | ||||
|  | ||||
							
								
								
									
										78
									
								
								pngvalid.c
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								pngvalid.c
									
									
									
									
									
								
							| @ -1571,7 +1571,7 @@ typedef struct png_modifier | ||||
|    unsigned int             test_gamma_threshold :1; | ||||
|    unsigned int             test_gamma_transform :1; /* main tests */ | ||||
|    unsigned int             test_gamma_sbit :1; | ||||
|    unsigned int             test_gamma_strip16 :1; | ||||
|    unsigned int             test_gamma_scale16 :1; | ||||
|    unsigned int             test_gamma_background :1; | ||||
|    unsigned int             test_gamma_alpha_mode :1; | ||||
|    unsigned int             test_gamma_expand16 :1; | ||||
| @ -1623,7 +1623,7 @@ modifier_init(png_modifier *pm) | ||||
|    pm->test_gamma_threshold = 0; | ||||
|    pm->test_gamma_transform = 0; | ||||
|    pm->test_gamma_sbit = 0; | ||||
|    pm->test_gamma_strip16 = 0; | ||||
|    pm->test_gamma_scale16 = 0; | ||||
|    pm->test_gamma_background = 0; | ||||
|    pm->test_gamma_alpha_mode = 0; | ||||
|    pm->test_gamma_expand16 = 0; | ||||
| @ -5243,17 +5243,17 @@ IT(expand_16); | ||||
| #ifdef PNG_READ_16_TO_8_SUPPORTED | ||||
| #  if !defined(PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED) && \ | ||||
|    !defined(PNG_READ_CHOP_16_TO_8_SUPPORTED) /* the default before 1.5.4 */ | ||||
| /* png_set_strip_16 */ | ||||
| /* png_set_scale_16 */ | ||||
| static void | ||||
| image_transform_png_set_strip_16_set(PNG_CONST image_transform *this, | ||||
| image_transform_png_set_scale_16_set(PNG_CONST image_transform *this, | ||||
|     transform_display *that, png_structp pp, png_infop pi) | ||||
| { | ||||
|    png_set_strip_16(pp); | ||||
|    png_set_scale_16(pp); | ||||
|    this->next->set(this->next, that, pp, pi); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| image_transform_png_set_strip_16_mod(PNG_CONST image_transform *this, | ||||
| image_transform_png_set_scale_16_mod(PNG_CONST image_transform *this, | ||||
|     image_pixel *that, png_structp pp, PNG_CONST transform_display *display) | ||||
| { | ||||
|    if (that->bit_depth == 16) | ||||
| @ -5284,7 +5284,7 @@ image_transform_png_set_strip_16_mod(PNG_CONST image_transform *this, | ||||
| } | ||||
| 
 | ||||
| static int | ||||
| image_transform_png_set_strip_16_add(image_transform *this, | ||||
| image_transform_png_set_scale_16_add(image_transform *this, | ||||
|     PNG_CONST image_transform **that, png_byte colour_type, png_byte bit_depth) | ||||
| { | ||||
|    UNUSED(colour_type) | ||||
| @ -5295,9 +5295,9 @@ image_transform_png_set_strip_16_add(image_transform *this, | ||||
|    return bit_depth > 8; | ||||
| } | ||||
| 
 | ||||
| IT(strip_16); | ||||
| IT(scale_16); | ||||
| #undef PT | ||||
| #define PT ITSTRUCT(strip_16) | ||||
| #define PT ITSTRUCT(scale_16) | ||||
| #endif | ||||
| 
 | ||||
| #ifdef PNG_READ_CHOP_16_TO_8_SUPPORTED  /* API added in 1.5.4 */ | ||||
| @ -6060,7 +6060,7 @@ typedef struct gamma_display | ||||
|    png_byte         sbit; | ||||
|    int              threshold_test; | ||||
|    int              use_input_precision; | ||||
|    int              strip16; | ||||
|    int              scale16; | ||||
|    int              expand16; | ||||
|    int              do_background; | ||||
|    png_color_16     background_color; | ||||
| @ -6076,7 +6076,7 @@ typedef struct gamma_display | ||||
| static void | ||||
| gamma_display_init(gamma_display *dp, png_modifier *pm, png_uint_32 id, | ||||
|     double file_gamma, double screen_gamma, png_byte sbit, int threshold_test, | ||||
|     int use_input_precision, int strip16, int expand16, | ||||
|     int use_input_precision, int scale16, int expand16, | ||||
|     int do_background, PNG_CONST png_color_16 *pointer_to_the_background_color, | ||||
|     double background_gamma) | ||||
| { | ||||
| @ -6091,7 +6091,7 @@ gamma_display_init(gamma_display *dp, png_modifier *pm, png_uint_32 id, | ||||
|    dp->sbit = sbit; | ||||
|    dp->threshold_test = threshold_test; | ||||
|    dp->use_input_precision = use_input_precision; | ||||
|    dp->strip16 = strip16; | ||||
|    dp->scale16 = scale16; | ||||
|    dp->expand16 = expand16; | ||||
|    dp->do_background = do_background; | ||||
|    if (do_background && pointer_to_the_background_color != 0) | ||||
| @ -6114,11 +6114,11 @@ gamma_info_imp(gamma_display *dp, png_structp pp, png_infop pi) | ||||
|     * are interactions with sBIT but, internally, libpng makes sbit at most | ||||
|     * PNG_MAX_GAMMA_8 when doing the following. | ||||
|     */ | ||||
|    if (dp->strip16) | ||||
|    if (dp->scale16) | ||||
| #     ifdef PNG_READ_16_TO_8_SUPPORTED | ||||
|          png_set_strip_16(pp); | ||||
|          png_set_scale_16(pp); | ||||
| #     else | ||||
|          png_error(pp, "strip16 (16 to 8 bit conversion) not supported"); | ||||
|          png_error(pp, "scale16 (16 to 8 bit conversion) not supported"); | ||||
| #     endif | ||||
| 
 | ||||
|    if (dp->expand16) | ||||
| @ -6228,7 +6228,7 @@ typedef struct validate_info | ||||
|    png_byte sbit; | ||||
|    int use_input_precision; | ||||
|    int do_background; | ||||
|    int strip16; | ||||
|    int scale16; | ||||
|    unsigned int sbit_max; | ||||
|    unsigned int isbit_shift; | ||||
|    unsigned int outmax; | ||||
| @ -6339,7 +6339,7 @@ init_validate_info(validate_info *vi, gamma_display *dp, png_struct *pp, | ||||
|    if (fabs(vi->file_inverse-1) < PNG_GAMMA_THRESHOLD) | ||||
|       vi->file_inverse = 0; | ||||
| 
 | ||||
|    vi->strip16 = dp->strip16; | ||||
|    vi->scale16 = dp->scale16; | ||||
| } | ||||
| 
 | ||||
| /* This function handles composition of a single non-alpha component.  The
 | ||||
| @ -6737,7 +6737,7 @@ gamma_component_validate(PNG_CONST char *name, PNG_CONST validate_info *vi, | ||||
|                 * understand why, but since it's better this way I care not to | ||||
|                 * ask, JB 20110419.) | ||||
|                 */ | ||||
|                if (pass == 0 && alpha < 0 && vi->strip16 && vi->sbit > 8 && | ||||
|                if (pass == 0 && alpha < 0 && vi->scale16 && vi->sbit > 8 && | ||||
|                   vi->sbit + vi->isbit_shift == 16) | ||||
|                { | ||||
|                   tmp = ((id >> 8) - .5)/255; | ||||
| @ -7171,7 +7171,7 @@ gamma_test(png_modifier *pmIn, PNG_CONST png_byte colour_typeIn, | ||||
|     PNG_CONST double file_gammaIn, PNG_CONST double screen_gammaIn, | ||||
|     PNG_CONST png_byte sbitIn, PNG_CONST int threshold_testIn, | ||||
|     PNG_CONST char *name, | ||||
|     PNG_CONST int use_input_precisionIn, PNG_CONST int strip16In, | ||||
|     PNG_CONST int use_input_precisionIn, PNG_CONST int scale16In, | ||||
|     PNG_CONST int expand16In, PNG_CONST int do_backgroundIn, | ||||
|     PNG_CONST png_color_16 *bkgd_colorIn, double bkgd_gammaIn) | ||||
| { | ||||
| @ -7181,7 +7181,7 @@ gamma_test(png_modifier *pmIn, PNG_CONST png_byte colour_typeIn, | ||||
|    gamma_display_init(&d, pmIn, FILEID(colour_typeIn, bit_depthIn, | ||||
|       palette_numberIn, interlace_typeIn, 0, 0, 0), | ||||
|       file_gammaIn, screen_gammaIn, sbitIn, | ||||
|       threshold_testIn, use_input_precisionIn, strip16In, | ||||
|       threshold_testIn, use_input_precisionIn, scale16In, | ||||
|       expand16In, do_backgroundIn, bkgd_colorIn, bkgd_gammaIn); | ||||
| 
 | ||||
|    Try | ||||
| @ -7326,7 +7326,7 @@ static void gamma_threshold_test(png_modifier *pm, png_byte colour_type, | ||||
|    (void)gamma_test(pm, colour_type, bit_depth, 0/*palette*/, interlace_type, | ||||
|       file_gamma, screen_gamma, 0/*sBIT*/, 1/*threshold test*/, name, | ||||
|       0 /*no input precision*/, | ||||
|       0 /*no strip16*/, 0 /*no expand16*/, 0 /*no background*/, 0 /*hence*/, | ||||
|       0 /*no scale16*/, 0 /*no expand16*/, 0 /*no background*/, 0 /*hence*/, | ||||
|       0 /*no background gamma*/); | ||||
| } | ||||
| 
 | ||||
| @ -7369,7 +7369,7 @@ static void gamma_transform_test(png_modifier *pm, | ||||
|    PNG_CONST int palette_number, | ||||
|    PNG_CONST int interlace_type, PNG_CONST double file_gamma, | ||||
|    PNG_CONST double screen_gamma, PNG_CONST png_byte sbit, | ||||
|    PNG_CONST int use_input_precision, PNG_CONST int strip16) | ||||
|    PNG_CONST int use_input_precision, PNG_CONST int scale16) | ||||
| { | ||||
|    size_t pos = 0; | ||||
|    char name[64]; | ||||
| @ -7384,7 +7384,7 @@ static void gamma_transform_test(png_modifier *pm, | ||||
|    else | ||||
|       pos = safecat(name, sizeof name, pos, "gamma "); | ||||
| 
 | ||||
|    if (strip16) | ||||
|    if (scale16) | ||||
|       pos = safecat(name, sizeof name, pos, "16to8 "); | ||||
| 
 | ||||
|    pos = safecatd(name, sizeof name, pos, file_gamma, 3); | ||||
| @ -7393,7 +7393,7 @@ static void gamma_transform_test(png_modifier *pm, | ||||
| 
 | ||||
|    gamma_test(pm, colour_type, bit_depth, palette_number, interlace_type, | ||||
|       file_gamma, screen_gamma, sbit, 0, name, use_input_precision, | ||||
|       strip16, pm->test_gamma_expand16, 0 , 0, 0); | ||||
|       scale16, pm->test_gamma_expand16, 0 , 0, 0); | ||||
| } | ||||
| 
 | ||||
| static void perform_gamma_transform_tests(png_modifier *pm) | ||||
| @ -7410,7 +7410,7 @@ static void perform_gamma_transform_tests(png_modifier *pm) | ||||
|       { | ||||
|          gamma_transform_test(pm, colour_type, bit_depth, palette_number, | ||||
|             pm->interlace_type, 1/pm->gammas[i], pm->gammas[j], 0/*sBIT*/, | ||||
|             pm->use_input_precision, 0 /*do not strip16*/); | ||||
|             pm->use_input_precision, 0 /*do not scale16*/); | ||||
| 
 | ||||
|          if (fail(pm)) | ||||
|             return; | ||||
| @ -7449,7 +7449,7 @@ static void perform_gamma_sbit_tests(png_modifier *pm) | ||||
|             { | ||||
|                gamma_transform_test(pm, colour_type, bit_depth, npalette, | ||||
|                   pm->interlace_type, 1/pm->gammas[i], pm->gammas[j], | ||||
|                   sbit, pm->use_input_precision_sbit, 0 /*strip16*/); | ||||
|                   sbit, pm->use_input_precision_sbit, 0 /*scale16*/); | ||||
| 
 | ||||
|                if (fail(pm)) | ||||
|                   return; | ||||
| @ -7464,7 +7464,7 @@ static void perform_gamma_sbit_tests(png_modifier *pm) | ||||
|  * generated if DO_16BIT is defined. | ||||
|  */ | ||||
| #ifdef DO_16BIT | ||||
| static void perform_gamma_strip16_tests(png_modifier *pm) | ||||
| static void perform_gamma_scale16_tests(png_modifier *pm) | ||||
| { | ||||
| #  ifndef PNG_MAX_GAMMA_8 | ||||
| #     define PNG_MAX_GAMMA_8 11 | ||||
| @ -7487,28 +7487,28 @@ static void perform_gamma_strip16_tests(png_modifier *pm) | ||||
|          { | ||||
|             gamma_transform_test(pm, 0, 16, 0, pm->interlace_type, | ||||
|                1/pm->gammas[i], pm->gammas[j], PNG_MAX_GAMMA_8, | ||||
|                pm->use_input_precision_16to8, 1 /*strip16*/); | ||||
|                pm->use_input_precision_16to8, 1 /*scale16*/); | ||||
| 
 | ||||
|             if (fail(pm)) | ||||
|                return; | ||||
| 
 | ||||
|             gamma_transform_test(pm, 2, 16, 0, pm->interlace_type, | ||||
|                1/pm->gammas[i], pm->gammas[j], PNG_MAX_GAMMA_8, | ||||
|                pm->use_input_precision_16to8, 1 /*strip16*/); | ||||
|                pm->use_input_precision_16to8, 1 /*scale16*/); | ||||
| 
 | ||||
|             if (fail(pm)) | ||||
|                return; | ||||
| 
 | ||||
|             gamma_transform_test(pm, 4, 16, 0, pm->interlace_type, | ||||
|                1/pm->gammas[i], pm->gammas[j], PNG_MAX_GAMMA_8, | ||||
|                pm->use_input_precision_16to8, 1 /*strip16*/); | ||||
|                pm->use_input_precision_16to8, 1 /*scale16*/); | ||||
| 
 | ||||
|             if (fail(pm)) | ||||
|                return; | ||||
| 
 | ||||
|             gamma_transform_test(pm, 6, 16, 0, pm->interlace_type, | ||||
|                1/pm->gammas[i], pm->gammas[j], PNG_MAX_GAMMA_8, | ||||
|                pm->use_input_precision_16to8, 1 /*strip16*/); | ||||
|                pm->use_input_precision_16to8, 1 /*scale16*/); | ||||
| 
 | ||||
|             if (fail(pm)) | ||||
|                return; | ||||
| @ -7763,11 +7763,11 @@ perform_gamma_test(png_modifier *pm, int summary) | ||||
|    } | ||||
| 
 | ||||
| #ifdef DO_16BIT /* Should be READ_16BIT_SUPPORTED */ | ||||
|    if (pm->test_gamma_strip16) | ||||
|    if (pm->test_gamma_scale16) | ||||
|    { | ||||
|       /* The 16 to 8 bit strip operations: */ | ||||
|       init_gamma_errors(pm); | ||||
|       perform_gamma_strip16_tests(pm); | ||||
|       perform_gamma_scale16_tests(pm); | ||||
| 
 | ||||
|       if (summary) | ||||
|       { | ||||
| @ -8320,7 +8320,7 @@ int main(int argc, PNG_CONST char **argv) | ||||
|          pm.test_gamma_threshold = 1; | ||||
|          pm.test_gamma_transform = 1; | ||||
|          pm.test_gamma_sbit = 1; | ||||
|          pm.test_gamma_strip16 = 1; | ||||
|          pm.test_gamma_scale16 = 1; | ||||
|          pm.test_gamma_background = 1; | ||||
|          pm.test_gamma_alpha_mode = 1; | ||||
|          } | ||||
| @ -8347,10 +8347,10 @@ int main(int argc, PNG_CONST char **argv) | ||||
|          pm.test_gamma_sbit = 0; | ||||
| 
 | ||||
|       else if (strcmp(*argv, "--gamma-16-to-8") == 0) | ||||
|          pm.ngammas = 2U, pm.test_gamma_strip16 = 1; | ||||
|          pm.ngammas = 2U, pm.test_gamma_scale16 = 1; | ||||
| 
 | ||||
|       else if (strcmp(*argv, "--nogamma-16-to-8") == 0) | ||||
|          pm.test_gamma_strip16 = 0; | ||||
|          pm.test_gamma_scale16 = 0; | ||||
| 
 | ||||
|       else if (strcmp(*argv, "--gamma-background") == 0) | ||||
|          pm.ngammas = 2U, pm.test_gamma_background = 1; | ||||
| @ -8476,13 +8476,13 @@ int main(int argc, PNG_CONST char **argv) | ||||
| 
 | ||||
|    if (pm.ngammas > 0 && | ||||
|       pm.test_gamma_threshold == 0 && pm.test_gamma_transform == 0 && | ||||
|       pm.test_gamma_sbit == 0 && pm.test_gamma_strip16 == 0 && | ||||
|       pm.test_gamma_sbit == 0 && pm.test_gamma_scale16 == 0 && | ||||
|       pm.test_gamma_background == 0 && pm.test_gamma_alpha_mode == 0) | ||||
|    { | ||||
|       pm.test_gamma_threshold = 1; | ||||
|       pm.test_gamma_transform = 1; | ||||
|       pm.test_gamma_sbit = 1; | ||||
|       pm.test_gamma_strip16 = 1; | ||||
|       pm.test_gamma_scale16 = 1; | ||||
|       pm.test_gamma_background = 1; | ||||
|       pm.test_gamma_alpha_mode = 1; | ||||
|    } | ||||
| @ -8493,7 +8493,7 @@ int main(int argc, PNG_CONST char **argv) | ||||
|       pm.test_gamma_threshold = 0; | ||||
|       pm.test_gamma_transform = 0; | ||||
|       pm.test_gamma_sbit = 0; | ||||
|       pm.test_gamma_strip16 = 0; | ||||
|       pm.test_gamma_scale16 = 0; | ||||
|       pm.test_gamma_background = 0; | ||||
|       pm.test_gamma_alpha_mode = 0; | ||||
|    } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Glenn Randers-Pehrson
						Glenn Randers-Pehrson