mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	pngstest: make error limits version specific
Splitting the machine generated error structs out to a file allows the values to be updated without changing pngstest.c itself, sine libpng 1.6 and 1.7 have slightly different error limits this simplifies maintenance. makepngs.sh has also been updated to more accurately reflect current problems in libpng 1.7 Signed-off-by: John Bowler <jbowler@acm.org>
This commit is contained in:
		
							parent
							
								
									3e46c31961
								
							
						
					
					
						commit
						8a9a3fb4dd
					
				
							
								
								
									
										161
									
								
								contrib/libtests/pngstest-errors.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								contrib/libtests/pngstest-errors.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,161 @@ | |||||||
|  | /* contrib/libtests/pngstest-errors.h
 | ||||||
|  |  * | ||||||
|  |  * BUILT USING: libpng version 1.7.0beta66 - September 18, 2015 | ||||||
|  |  * | ||||||
|  |  * THIS IS A MACHINE GENERATED FILE: do not edit it directly! | ||||||
|  |  * Instead run: | ||||||
|  |  * | ||||||
|  |  *    pngstest --accumulate | ||||||
|  |  * | ||||||
|  |  * on as many PNG files as possible; at least PNGSuite and | ||||||
|  |  * contrib/libtests/testpngs. | ||||||
|  |  */ | ||||||
|  | static png_uint_16 gpc_error[16/*in*/][16/*out*/][4/*a*/] = | ||||||
|  | { | ||||||
|  |  { /* input: sRGB-gray */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: sRGB-gray+alpha */ | ||||||
|  |   { 0, 19, 1, 0 }, { 0, 0, 0, 0 }, { 0, 20, 1, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: sRGB-rgb */ | ||||||
|  |   { 0, 0, 19, 0 }, { 0, 0, 19, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 893, 0 }, { 0, 0, 893, 0 }, { 0, 0, 811, 0 }, { 0, 0, 811, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: sRGB-rgb+alpha */ | ||||||
|  |   { 0, 4, 13, 0 }, { 0, 15, 13, 0 }, { 0, 19, 1, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 832, 764, 0 }, { 0, 832, 764, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: linear-gray */ | ||||||
|  |   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: linear-gray+alpha */ | ||||||
|  |   { 0, 74, 9, 0 }, { 0, 20, 9, 0 }, { 0, 74, 9, 0 }, { 0, 20, 9, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: linear-rgb */ | ||||||
|  |   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, | ||||||
|  |   { 0, 0, 4, 0 }, { 0, 0, 4, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: linear-rgb+alpha */ | ||||||
|  |   { 0, 126, 143, 0 }, { 0, 9, 7, 0 }, { 0, 74, 9, 0 }, { 0, 17, 9, 0 }, | ||||||
|  |   { 0, 4, 4, 0 }, { 0, 5, 4, 0 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-gray */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-gray+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-rgb */ | ||||||
|  |   { 0, 0, 13, 0 }, { 0, 0, 13, 0 }, { 0, 0, 8, 0 }, { 0, 0, 8, 0 }, | ||||||
|  |   { 0, 0, 673, 0 }, { 0, 0, 673, 0 }, { 0, 0, 674, 0 }, { 0, 0, 674, 0 }, | ||||||
|  |   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 460, 0 }, { 0, 0, 460, 0 }, { 0, 0, 263, 0 }, { 0, 0, 263, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-rgb+alpha */ | ||||||
|  |   { 0, 6, 8, 0 }, { 0, 7, 8, 0 }, { 0, 75, 8, 0 }, { 0, 9, 8, 0 }, | ||||||
|  |   { 0, 585, 427, 0 }, { 0, 585, 427, 0 }, { 0, 717, 462, 0 }, { 0, 717, 462, 0 }, | ||||||
|  |   { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 13323, 460, 0 }, { 0, 427, 460, 0 }, { 0, 16480, 263, 0 }, { 0, 243, 263, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-gray */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 282, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-gray+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 253, 282, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-rgb */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 265, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-rgb+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 243, 265, 0 } | ||||||
|  |  } | ||||||
|  | }; | ||||||
|  | static png_uint_16 gpc_error_via_linear[16][4/*out*/][4] = | ||||||
|  | { | ||||||
|  |  { /* input: sRGB-gray */ | ||||||
|  |   { 0, 0, 7, 0 }, { 0, 0, 7, 0 }, { 0, 0, 7, 0 }, { 0, 0, 7, 0 } | ||||||
|  |  }, { /* input: sRGB-gray+alpha */ | ||||||
|  |   { 0, 15, 15, 0 }, { 0, 186, 15, 0 }, { 0, 15, 15, 0 }, { 0, 186, 15, 0 } | ||||||
|  |  }, { /* input: sRGB-rgb */ | ||||||
|  |   { 0, 0, 20, 0 }, { 0, 0, 20, 0 }, { 0, 0, 15, 0 }, { 0, 0, 15, 0 } | ||||||
|  |  }, { /* input: sRGB-rgb+alpha */ | ||||||
|  |   { 0, 12, 14, 0 }, { 0, 180, 14, 0 }, { 0, 15, 15, 0 }, { 0, 186, 15, 0 } | ||||||
|  |  }, { /* input: linear-gray */ | ||||||
|  |   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 } | ||||||
|  |  }, { /* input: linear-gray+alpha */ | ||||||
|  |   { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 } | ||||||
|  |  }, { /* input: linear-rgb */ | ||||||
|  |   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 } | ||||||
|  |  }, { /* input: linear-rgb+alpha */ | ||||||
|  |   { 0, 1, 1, 0 }, { 0, 8, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-gray */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-gray+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-rgb */ | ||||||
|  |   { 0, 0, 13, 0 }, { 0, 0, 13, 0 }, { 0, 0, 14, 0 }, { 0, 0, 14, 0 } | ||||||
|  |  }, { /* input: color-mapped-sRGB-rgb+alpha */ | ||||||
|  |   { 0, 4, 8, 0 }, { 0, 9, 8, 0 }, { 0, 9, 3, 0 }, { 0, 32, 3, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-gray */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-gray+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-rgb */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  }, { /* input: color-mapped-linear-rgb+alpha */ | ||||||
|  |   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } | ||||||
|  |  } | ||||||
|  | }; | ||||||
|  | static png_uint_16 gpc_error_to_colormap[8/*i*/][8/*o*/][4] = | ||||||
|  | { | ||||||
|  |  { /* input: sRGB-gray */ | ||||||
|  |   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, | ||||||
|  |   { 0, 0, 560, 0 }, { 0, 0, 560, 0 }, { 0, 0, 560, 0 }, { 0, 0, 560, 0 } | ||||||
|  |  }, { /* input: sRGB-gray+alpha */ | ||||||
|  |   { 0, 19, 2, 0 }, { 0, 255, 2, 25 }, { 0, 88, 2, 0 }, { 0, 255, 2, 25 }, | ||||||
|  |   { 0, 1012, 745, 0 }, { 0, 16026, 745, 6425 }, { 0, 1012, 745, 0 }, { 0, 16026, 745, 6425 } | ||||||
|  |  }, { /* input: sRGB-rgb */ | ||||||
|  |   { 0, 0, 19, 0 }, { 0, 0, 19, 0 }, { 0, 0, 25, 0 }, { 0, 0, 25, 0 }, | ||||||
|  |   { 0, 0, 962, 0 }, { 0, 0, 962, 0 }, { 0, 0, 13677, 0 }, { 0, 0, 13677, 0 } | ||||||
|  |  }, { /* input: sRGB-rgb+alpha */ | ||||||
|  |   { 0, 63, 77, 0 }, { 0, 255, 19, 25 }, { 0, 220, 25, 0 }, { 0, 255, 25, 67 }, | ||||||
|  |   { 0, 17534, 18491, 0 }, { 0, 15614, 2824, 6425 }, { 0, 14019, 13677, 0 }, { 0, 48573, 13677, 17219 } | ||||||
|  |  }, { /* input: linear-gray */ | ||||||
|  |   { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, | ||||||
|  |   { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 } | ||||||
|  |  }, { /* input: linear-gray+alpha */ | ||||||
|  |   { 0, 74, 74, 0 }, { 0, 255, 74, 25 }, { 0, 97, 74, 0 }, { 0, 255, 74, 25 }, | ||||||
|  |   { 0, 18919, 18907, 0 }, { 0, 24549, 18907, 6552 }, { 0, 18919, 18907, 0 }, { 0, 24549, 18907, 6552 } | ||||||
|  |  }, { /* input: linear-rgb */ | ||||||
|  |   { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 98, 0 }, { 0, 0, 98, 0 }, | ||||||
|  |   { 0, 0, 18664, 0 }, { 0, 0, 18664, 0 }, { 0, 0, 24998, 0 }, { 0, 0, 24998, 0 } | ||||||
|  |  }, { /* input: linear-rgb+alpha */ | ||||||
|  |   { 0, 181, 196, 0 }, { 0, 255, 61, 25 }, { 206, 187, 98, 0 }, { 0, 255, 98, 67 }, | ||||||
|  |   { 0, 18141, 18137, 0 }, { 0, 17494, 17504, 6553 }, { 0, 24979, 24992, 0 }, { 0, 46509, 24992, 17347 } | ||||||
|  |  } | ||||||
|  | }; | ||||||
|  | /* END MACHINE GENERATED */ | ||||||
| @ -1984,156 +1984,7 @@ static void (* const gpc_fn_colormapped[8/*in*/][8/*out*/]) | |||||||
|  * gpc_error_to_colormap. |  * gpc_error_to_colormap. | ||||||
|  */ |  */ | ||||||
| #if PNG_FORMAT_FLAG_COLORMAP == 8 /* extra check also required */ | #if PNG_FORMAT_FLAG_COLORMAP == 8 /* extra check also required */ | ||||||
| /* START MACHINE GENERATED */ | #  include "pngstest-errors.h" /* machine generated */ | ||||||
| static png_uint_16 gpc_error[16/*in*/][16/*out*/][4/*a*/] = |  | ||||||
| { |  | ||||||
|  { /* input: sRGB-gray */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, { 0, 0, 372, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: sRGB-gray+alpha */ |  | ||||||
|   { 0, 18, 0, 0 }, { 0, 0, 0, 0 }, { 0, 20, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: sRGB-rgb */ |  | ||||||
|   { 0, 0, 19, 0 }, { 0, 0, 19, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 893, 0 }, { 0, 0, 893, 0 }, { 0, 0, 811, 0 }, { 0, 0, 811, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: sRGB-rgb+alpha */ |  | ||||||
|   { 0, 4, 13, 0 }, { 0, 14, 13, 0 }, { 0, 19, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 832, 764, 0 }, { 0, 832, 764, 0 }, { 0, 897, 788, 0 }, { 0, 897, 788, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: linear-gray */ |  | ||||||
|   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: linear-gray+alpha */ |  | ||||||
|   { 0, 74, 9, 0 }, { 0, 20, 9, 0 }, { 0, 74, 9, 0 }, { 0, 20, 9, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: linear-rgb */ |  | ||||||
|   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, |  | ||||||
|   { 0, 0, 4, 0 }, { 0, 0, 4, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: linear-rgb+alpha */ |  | ||||||
|   { 0, 126, 143, 0 }, { 0, 9, 7, 0 }, { 0, 74, 9, 0 }, { 0, 16, 9, 0 }, |  | ||||||
|   { 0, 4, 4, 0 }, { 0, 5, 4, 0 }, { 0, 0, 0, 0 }, { 0, 1, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-gray */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-gray+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-rgb */ |  | ||||||
|   { 0, 0, 13, 0 }, { 0, 0, 13, 0 }, { 0, 0, 8, 0 }, { 0, 0, 8, 0 }, |  | ||||||
|   { 0, 0, 673, 0 }, { 0, 0, 673, 0 }, { 0, 0, 674, 0 }, { 0, 0, 674, 0 }, |  | ||||||
|   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 460, 0 }, { 0, 0, 460, 0 }, { 0, 0, 263, 0 }, { 0, 0, 263, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-rgb+alpha */ |  | ||||||
|   { 0, 6, 8, 0 }, { 0, 7, 8, 0 }, { 0, 75, 8, 0 }, { 0, 9, 8, 0 }, |  | ||||||
|   { 0, 585, 427, 0 }, { 0, 585, 427, 0 }, { 0, 717, 409, 0 }, { 0, 717, 409, 0 }, |  | ||||||
|   { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 13323, 460, 0 }, { 0, 334, 460, 0 }, { 0, 16480, 263, 0 }, { 0, 243, 263, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-gray */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 282, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-gray+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 253, 282, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-rgb */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 265, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-rgb+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 243, 265, 0 } |  | ||||||
|  } |  | ||||||
| }; |  | ||||||
| static png_uint_16 gpc_error_via_linear[16][4/*out*/][4] = |  | ||||||
| { |  | ||||||
|  { /* input: sRGB-gray */ |  | ||||||
|   { 0, 0, 7, 0 }, { 0, 0, 7, 0 }, { 0, 0, 7, 0 }, { 0, 0, 7, 0 } |  | ||||||
|  }, { /* input: sRGB-gray+alpha */ |  | ||||||
|   { 0, 15, 15, 0 }, { 0, 186, 15, 0 }, { 0, 15, 15, 0 }, { 0, 186, 15, 0 } |  | ||||||
|  }, { /* input: sRGB-rgb */ |  | ||||||
|   { 0, 0, 19, 0 }, { 0, 0, 19, 0 }, { 0, 0, 15, 0 }, { 0, 0, 15, 0 } |  | ||||||
|  }, { /* input: sRGB-rgb+alpha */ |  | ||||||
|   { 0, 12, 14, 0 }, { 0, 180, 14, 0 }, { 0, 14, 15, 0 }, { 0, 186, 15, 0 } |  | ||||||
|  }, { /* input: linear-gray */ |  | ||||||
|   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 } |  | ||||||
|  }, { /* input: linear-gray+alpha */ |  | ||||||
|   { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 } |  | ||||||
|  }, { /* input: linear-rgb */ |  | ||||||
|   { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 } |  | ||||||
|  }, { /* input: linear-rgb+alpha */ |  | ||||||
|   { 0, 1, 1, 0 }, { 0, 8, 1, 0 }, { 0, 1, 1, 0 }, { 0, 1, 1, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-gray */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-gray+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-rgb */ |  | ||||||
|   { 0, 0, 13, 0 }, { 0, 0, 13, 0 }, { 0, 0, 14, 0 }, { 0, 0, 14, 0 } |  | ||||||
|  }, { /* input: color-mapped-sRGB-rgb+alpha */ |  | ||||||
|   { 0, 4, 8, 0 }, { 0, 9, 8, 0 }, { 0, 8, 3, 0 }, { 0, 32, 3, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-gray */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-gray+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-rgb */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  }, { /* input: color-mapped-linear-rgb+alpha */ |  | ||||||
|   { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } |  | ||||||
|  } |  | ||||||
| }; |  | ||||||
| static png_uint_16 gpc_error_to_colormap[8/*i*/][8/*o*/][4] = |  | ||||||
| { |  | ||||||
|  { /* input: sRGB-gray */ |  | ||||||
|   { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, { 0, 0, 9, 0 }, |  | ||||||
|   { 0, 0, 560, 0 }, { 0, 0, 560, 0 }, { 0, 0, 560, 0 }, { 0, 0, 560, 0 } |  | ||||||
|  }, { /* input: sRGB-gray+alpha */ |  | ||||||
|   { 0, 19, 2, 0 }, { 0, 255, 2, 25 }, { 0, 88, 2, 0 }, { 0, 255, 2, 25 }, |  | ||||||
|   { 0, 1012, 745, 0 }, { 0, 16026, 745, 6425 }, { 0, 1012, 745, 0 }, { 0, 16026, 745, 6425 } |  | ||||||
|  }, { /* input: sRGB-rgb */ |  | ||||||
|   { 0, 0, 19, 0 }, { 0, 0, 19, 0 }, { 0, 0, 25, 0 }, { 0, 0, 25, 0 }, |  | ||||||
|   { 0, 0, 937, 0 }, { 0, 0, 937, 0 }, { 0, 0, 13677, 0 }, { 0, 0, 13677, 0 } |  | ||||||
|  }, { /* input: sRGB-rgb+alpha */ |  | ||||||
|   { 0, 63, 77, 0 }, { 0, 255, 19, 25 }, { 0, 220, 25, 0 }, { 0, 255, 25, 67 }, |  | ||||||
|   { 0, 17534, 18491, 0 }, { 0, 15614, 2824, 6425 }, { 0, 14019, 13677, 0 }, { 0, 48573, 13677, 17219 } |  | ||||||
|  }, { /* input: linear-gray */ |  | ||||||
|   { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, |  | ||||||
|   { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 }, { 0, 0, 18817, 0 } |  | ||||||
|  }, { /* input: linear-gray+alpha */ |  | ||||||
|   { 0, 74, 74, 0 }, { 0, 255, 74, 25 }, { 0, 97, 74, 0 }, { 0, 255, 74, 25 }, |  | ||||||
|   { 0, 18919, 18907, 0 }, { 0, 24549, 18907, 6552 }, { 0, 18919, 18907, 0 }, { 0, 24549, 18907, 6552 } |  | ||||||
|  }, { /* input: linear-rgb */ |  | ||||||
|   { 0, 0, 73, 0 }, { 0, 0, 73, 0 }, { 0, 0, 98, 0 }, { 0, 0, 98, 0 }, |  | ||||||
|   { 0, 0, 18664, 0 }, { 0, 0, 18664, 0 }, { 0, 0, 24998, 0 }, { 0, 0, 24998, 0 } |  | ||||||
|  }, { /* input: linear-rgb+alpha */ |  | ||||||
|   { 0, 181, 196, 0 }, { 0, 255, 61, 25 }, { 206, 187, 98, 0 }, { 0, 255, 98, 67 }, |  | ||||||
|   { 0, 18141, 18137, 0 }, { 0, 17494, 17504, 6553 }, { 0, 24979, 24992, 0 }, { 0, 46509, 24992, 17347 } |  | ||||||
|  } |  | ||||||
| }; |  | ||||||
| /* END MACHINE GENERATED */ |  | ||||||
| #endif /* COLORMAP flag check */ | #endif /* COLORMAP flag check */ | ||||||
| #endif /* flag checks */ | #endif /* flag checks */ | ||||||
| 
 | 
 | ||||||
| @ -3722,6 +3573,19 @@ main(int argc, char **argv) | |||||||
|    { |    { | ||||||
|       unsigned int in; |       unsigned int in; | ||||||
| 
 | 
 | ||||||
|  |       printf("/* contrib/libtests/pngstest-errors.h\n"); | ||||||
|  |       printf(" *\n"); | ||||||
|  |       printf(" * BUILT USING:" PNG_HEADER_VERSION_STRING); | ||||||
|  |       printf(" *\n"); | ||||||
|  |       printf(" * THIS IS A MACHINE GENERATED FILE: do not edit it directly!\n"); | ||||||
|  |       printf(" * Instead run:\n"); | ||||||
|  |       printf(" *\n"); | ||||||
|  |       printf(" *    pngstest --accumulate\n"); | ||||||
|  |       printf(" *\n"); | ||||||
|  |       printf(" * on as many PNG files as possible; at least PNGSuite and\n"); | ||||||
|  |       printf(" * contrib/libtests/testpngs.\n"); | ||||||
|  |       printf(" */\n"); | ||||||
|  | 
 | ||||||
|       printf("static png_uint_16 gpc_error[16/*in*/][16/*out*/][4/*a*/] =\n"); |       printf("static png_uint_16 gpc_error[16/*in*/][16/*out*/][4/*a*/] =\n"); | ||||||
|       printf("{\n"); |       printf("{\n"); | ||||||
|       for (in=0; in<16; ++in) |       for (in=0; in<16; ++in) | ||||||
| @ -3811,6 +3675,7 @@ main(int argc, char **argv) | |||||||
|             putchar('\n'); |             putchar('\n'); | ||||||
|       } |       } | ||||||
|       printf("};\n"); |       printf("};\n"); | ||||||
|  |       printf("/* END MACHINE GENERATED */\n"); | ||||||
|    } |    } | ||||||
| 
 | 
 | ||||||
|    if (retval == 0 && touch != NULL) |    if (retval == 0 && touch != NULL) | ||||||
|  | |||||||
| @ -48,22 +48,17 @@ case "$1" in | |||||||
|       # Comments below indicate cases known to be required and not duplicated |       # Comments below indicate cases known to be required and not duplicated | ||||||
|       # in other (required) cases; the aim is to get a minimal set that gives |       # in other (required) cases; the aim is to get a minimal set that gives | ||||||
|       # the maxium code coverage. |       # the maxium code coverage. | ||||||
|       mpg none gray 16 |       mpg none gray-alpha 8 # required: code coverage, sRGB opaque component | ||||||
|       mpg none gray-alpha 16 |       mpg none palette 8 # required: basic palette read | ||||||
|       mpg none gray-alpha 8 # required |       mpg 1.8 gray 2 # required: tests gamma threshold code | ||||||
|       mpg none palette 8 |       mpg 1.8 palette 2 # required: code coverage | ||||||
|       mpg none rgb-alpha 8 |       mpg 1.8 palette 4 # required: code coverage | ||||||
|       mpg 1.8 gray 2 |       mpg 1.8 palette 8 # error limits only | ||||||
|       mpg 1.8 palette 2 # required |       mpg linear palette 8 # error limits only | ||||||
|       mpg 1.8 palette 4 # required |       mpg linear rgb-alpha 16 # error limits only | ||||||
|       mpg 1.8 palette 8 |       mpg sRGB palette 1 # required: code coverage | ||||||
|       mpg linear palette 8 |       mpg sRGB rgb-alpha 16 # required: code coverage: pngread.c:2422 untested | ||||||
|       mpg linear rgb-alpha 16 |       :;; | ||||||
|       mpg sRGB gray-alpha 8 |  | ||||||
|       mpg sRGB palette 1 # required |  | ||||||
|       mpg sRGB palette 8 |  | ||||||
|       mpg sRGB rgb-alpha 16 # required pngread.c:2422 untested |  | ||||||
|       mpg sRGB rgb-alpha 8;; |  | ||||||
| 
 | 
 | ||||||
|    *) |    *) | ||||||
|       echo "$0 $1: unknown argument, usage:" >&2 |       echo "$0 $1: unknown argument, usage:" >&2 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 John Bowler
						John Bowler