Show
Ignore:
Timestamp:
02/15/10 11:37:15 (2 years ago)
Author:
Carsten
Message:

Upgraded vendor/libpng from 1.2.40 to 1.2.42.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vendor/libpng/pngrtran.c

    r11 r43  
    22/* pngrtran.c - transforms the data in a row for PNG readers 
    33 * 
    4  * Last changed in libpng 1.2.38 [July 16, 2009] 
    5  * Copyright (c) 1998-2009 Glenn Randers-Pehrson 
     4 * Last changed in libpng 1.2.42 [January 3, 2010] 
     5 * Copyright (c) 1998-2010 Glenn Randers-Pehrson 
    66 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) 
    77 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) 
     
    1818 
    1919#define PNG_INTERNAL 
     20#define PNG_NO_PEDANTIC_WARNINGS 
    2021#include "png.h" 
    21 #if defined(PNG_READ_SUPPORTED) 
     22#ifdef PNG_READ_SUPPORTED 
    2223 
    2324/* Set the action on getting a CRC error for an ancillary or critical chunk. */ 
     
    2627{ 
    2728   png_debug(1, "in png_set_crc_action"); 
    28    /* Tell libpng how we react to CRC errors in critical chunks */ 
     29  
    2930   if (png_ptr == NULL) 
    3031      return; 
     32 
     33   /* Tell libpng how we react to CRC errors in critical chunks */ 
    3134   switch (crit_action) 
    3235   { 
     
    5659   } 
    5760 
     61   /* Tell libpng how we react to CRC errors in ancillary chunks */ 
    5862   switch (ancil_action) 
    5963   { 
     
    9599{ 
    96100   png_debug(1, "in png_set_background"); 
     101  
    97102   if (png_ptr == NULL) 
    98103      return; 
     
    112117#endif 
    113118 
    114 #if defined(PNG_READ_16_TO_8_SUPPORTED) 
     119#ifdef PNG_READ_16_TO_8_SUPPORTED 
    115120/* Strip 16 bit depth files to 8 bit depth */ 
    116121void PNGAPI 
     
    118123{ 
    119124   png_debug(1, "in png_set_strip_16"); 
     125 
    120126   if (png_ptr == NULL) 
    121127      return; 
     
    124130#endif 
    125131 
    126 #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) 
     132#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED 
    127133void PNGAPI 
    128134png_set_strip_alpha(png_structp png_ptr) 
    129135{ 
    130136   png_debug(1, "in png_set_strip_alpha"); 
     137 
    131138   if (png_ptr == NULL) 
    132139      return; 
     
    135142#endif 
    136143 
    137 #if defined(PNG_READ_DITHER_SUPPORTED) 
     144#ifdef PNG_READ_DITHER_SUPPORTED 
    138145/* Dither file to 8 bit.  Supply a palette, the current number 
    139146 * of elements in the palette, the maximum number of elements 
     
    160167{ 
    161168   png_debug(1, "in png_set_dither"); 
     169 
    162170   if (png_ptr == NULL) 
    163171      return; 
     
    329337         } 
    330338 
    331          hash = (png_dsortpp)png_malloc(png_ptr, (png_uint_32)(769 * 
     339         hash = (png_dsortpp)png_calloc(png_ptr, (png_uint_32)(769 * 
    332340            png_sizeof(png_dsortp))); 
    333          png_memset(hash, 0, 769 * png_sizeof(png_dsortp)); 
    334341 
    335342         num_new_palette = num_palette; 
     
    477484      int num_blue = (1 << PNG_DITHER_BLUE_BITS); 
    478485      png_size_t num_entries = ((png_size_t)1 << total_bits); 
    479       png_ptr->palette_lookup = (png_bytep )png_malloc(png_ptr, 
     486 
     487      png_ptr->palette_lookup = (png_bytep )png_calloc(png_ptr, 
    480488         (png_uint_32)(num_entries * png_sizeof(png_byte))); 
    481       png_memset(png_ptr->palette_lookup, 0, num_entries * 
    482          png_sizeof(png_byte)); 
    483489 
    484490      distance = (png_bytep)png_malloc(png_ptr, (png_uint_32)(num_entries * 
    485491         png_sizeof(png_byte))); 
    486  
    487492      png_memset(distance, 0xff, num_entries * png_sizeof(png_byte)); 
    488493 
     
    545550{ 
    546551   png_debug(1, "in png_set_gamma"); 
     552 
    547553   if (png_ptr == NULL) 
    548554      return; 
     555 
    549556   if ((fabs(scrn_gamma * file_gamma - 1.0) > PNG_GAMMA_THRESHOLD) || 
    550557       (png_ptr->color_type & PNG_COLOR_MASK_ALPHA) || 
     
    556563#endif 
    557564 
    558 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     565#ifdef PNG_READ_EXPAND_SUPPORTED 
    559566/* Expand paletted images to RGB, expand grayscale images of 
    560567 * less than 8-bit depth to 8-bit depth, and expand tRNS chunks 
     
    565572{ 
    566573   png_debug(1, "in png_set_expand"); 
     574 
    567575   if (png_ptr == NULL) 
    568576      return; 
     577 
    569578   png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS); 
    570579   png_ptr->flags &= ~PNG_FLAG_ROW_INIT; 
     
    584593 *  doing, whereas "expand" can (and does) mean any number of things. 
    585594 * 
    586  *  GRP 20060307: In libpng-1.4.0, png_set_gray_1_2_4_to_8() was modified 
    587  *  to expand only the sample depth but not to expand the tRNS to alpha. 
     595 *  GRP 20060307: In libpng-1.2.9, png_set_gray_1_2_4_to_8() was modified 
     596 *  to expand only the sample depth but not to expand the tRNS to alpha 
     597 *  and its name was changed to png_set_expand_gray_1_2_4_to_8(). 
    588598 */ 
    589599 
     
    593603{ 
    594604   png_debug(1, "in png_set_palette_to_rgb"); 
     605 
    595606   if (png_ptr == NULL) 
    596607      return; 
     608 
    597609   png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS); 
    598610   png_ptr->flags &= ~PNG_FLAG_ROW_INIT; 
    599611} 
    600612 
    601 #if !defined(PNG_1_0_X) 
     613#ifndef PNG_1_0_X 
    602614/* Expand grayscale images of less than 8-bit depth to 8 bits. */ 
    603615void PNGAPI 
     
    605617{ 
    606618   png_debug(1, "in png_set_expand_gray_1_2_4_to_8"); 
     619 
    607620   if (png_ptr == NULL) 
    608621      return; 
     622 
    609623   png_ptr->transformations |= PNG_EXPAND; 
    610624   png_ptr->flags &= ~PNG_FLAG_ROW_INIT; 
     
    619633{ 
    620634   png_debug(1, "in png_set_gray_1_2_4_to_8"); 
     635 
    621636   if (png_ptr == NULL) 
    622637      return; 
     638 
    623639   png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS); 
    624640} 
     
    631647{ 
    632648   png_debug(1, "in png_set_tRNS_to_alpha"); 
     649 
    633650   png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS); 
    634651   png_ptr->flags &= ~PNG_FLAG_ROW_INIT; 
     
    636653#endif /* defined(PNG_READ_EXPAND_SUPPORTED) */ 
    637654 
    638 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     655#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    639656void PNGAPI 
    640657png_set_gray_to_rgb(png_structp png_ptr) 
    641658{ 
    642659   png_debug(1, "in png_set_gray_to_rgb"); 
     660 
    643661   png_ptr->transformations |= PNG_GRAY_TO_RGB; 
    644662   png_ptr->flags &= ~PNG_FLAG_ROW_INIT; 
     
    646664#endif 
    647665 
    648 #if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) 
    649 #if defined(PNG_FLOATING_POINT_SUPPORTED) 
     666#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED 
     667#ifdef PNG_FLOATING_POINT_SUPPORTED 
    650668/* Convert a RGB image to a grayscale of the same width.  This allows us, 
    651669 * for example, to convert a 24 bpp RGB image into an 8 bpp grayscale image. 
     
    669687{ 
    670688   png_debug(1, "in png_set_rgb_to_gray"); 
     689 
    671690   if (png_ptr == NULL) 
    672691      return; 
     692 
    673693   switch(error_action) 
    674694   { 
     
    682702   } 
    683703   if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE) 
    684 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     704#ifdef PNG_READ_EXPAND_SUPPORTED 
    685705      png_ptr->transformations |= PNG_EXPAND; 
    686706#else 
     
    725745{ 
    726746   png_debug(1, "in png_set_read_user_transform_fn"); 
     747 
    727748   if (png_ptr == NULL) 
    728749      return; 
    729 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) 
     750 
     751#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED 
    730752   png_ptr->transformations |= PNG_USER_TRANSFORM; 
    731753   png_ptr->read_user_transform_fn = read_user_transform_fn; 
     
    746768{ 
    747769   png_debug(1, "in png_init_read_transformations"); 
    748 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
    749    if (png_ptr != NULL) 
     770 
     771#ifdef PNG_USELESS_TESTS_SUPPORTED 
     772  if (png_ptr != NULL) 
    750773#endif 
    751774  { 
     
    757780#if defined(PNG_READ_EXPAND_SUPPORTED) && defined(PNG_READ_BACKGROUND_SUPPORTED) 
    758781 
    759 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     782#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    760783   /* Detect gray background and attempt to enable optimization 
    761784    * for gray --> RGB case 
     
    844867            png_ptr->palette[png_ptr->background.index].blue; 
    845868 
    846 #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) 
     869#ifdef PNG_READ_INVERT_ALPHA_SUPPORTED 
    847870        if (png_ptr->transformations & PNG_INVERT_ALPHA) 
    848871        { 
    849 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     872#ifdef PNG_READ_EXPAND_SUPPORTED 
    850873           if (!(png_ptr->transformations & PNG_EXPAND_tRNS)) 
    851874#endif 
     
    890913   { 
    891914      png_build_gamma_table(png_ptr); 
    892 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     915 
     916#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    893917      if (png_ptr->transformations & PNG_BACKGROUND) 
    894918      { 
     
    9911015               } 
    9921016            } 
    993             /* Prevent the transformations being done again, and make sure 
    994              * that the now spurious alpha channel is stripped - the code 
    995              * has just reduced background composition and gamma correction 
    996              * to a simple alpha channel strip. 
    997              */ 
    998             png_ptr->transformations &= ~PNG_BACKGROUND; 
    999             png_ptr->transformations &= ~PNG_GAMMA; 
    1000             png_ptr->transformations |= PNG_STRIP_ALPHA; 
     1017            /* Prevent the transformations being done again, and make sure 
     1018             * that the now spurious alpha channel is stripped - the code 
     1019             * has just reduced background composition and gamma correction 
     1020             * to a simple alpha channel strip. 
     1021             */ 
     1022            png_ptr->transformations &= ~PNG_BACKGROUND; 
     1023            png_ptr->transformations &= ~PNG_GAMMA; 
     1024            png_ptr->transformations |= PNG_STRIP_ALPHA; 
    10011025         } 
    10021026         /* if (png_ptr->background_gamma_type!=PNG_BACKGROUND_GAMMA_UNKNOWN) */ 
     
    10761100         } 
    10771101 
    1078         /* Done the gamma correction. */ 
    1079         png_ptr->transformations &= ~PNG_GAMMA; 
     1102        /* Done the gamma correction. */ 
     1103        png_ptr->transformations &= ~PNG_GAMMA; 
    10801104      } 
    10811105   } 
    1082 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     1106#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    10831107   else 
    10841108#endif 
    10851109#endif /* PNG_READ_GAMMA_SUPPORTED && PNG_FLOATING_POINT_SUPPORTED */ 
    1086 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     1110#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    10871111   /* No GAMMA transformation */ 
    10881112   if ((png_ptr->transformations & PNG_BACKGROUND) && 
     
    11221146#endif /* PNG_READ_BACKGROUND_SUPPORTED */ 
    11231147 
    1124 #if defined(PNG_READ_SHIFT_SUPPORTED) 
     1148#ifdef PNG_READ_SHIFT_SUPPORTED 
    11251149   if ((png_ptr->transformations & PNG_SHIFT) && 
    11261150      (color_type == PNG_COLOR_TYPE_PALETTE)) 
     
    11621186{ 
    11631187   png_debug(1, "in png_read_transform_info"); 
    1164 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     1188 
     1189#ifdef PNG_READ_EXPAND_SUPPORTED 
    11651190   if (png_ptr->transformations & PNG_EXPAND) 
    11661191   { 
     
    11891214#endif 
    11901215 
    1191 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     1216#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    11921217   if (png_ptr->transformations & PNG_BACKGROUND) 
    11931218   { 
     
    11981223#endif 
    11991224 
    1200 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     1225#ifdef PNG_READ_GAMMA_SUPPORTED 
    12011226   if (png_ptr->transformations & PNG_GAMMA) 
    12021227   { 
     
    12101235#endif 
    12111236 
    1212 #if defined(PNG_READ_16_TO_8_SUPPORTED) 
     1237#ifdef PNG_READ_16_TO_8_SUPPORTED 
    12131238   if ((png_ptr->transformations & PNG_16_TO_8) && (info_ptr->bit_depth == 16)) 
    12141239      info_ptr->bit_depth = 8; 
    12151240#endif 
    12161241 
    1217 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     1242#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    12181243   if (png_ptr->transformations & PNG_GRAY_TO_RGB) 
    12191244      info_ptr->color_type |= PNG_COLOR_MASK_COLOR; 
    12201245#endif 
    12211246 
    1222 #if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) 
     1247#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED 
    12231248   if (png_ptr->transformations & PNG_RGB_TO_GRAY) 
    12241249      info_ptr->color_type &= ~PNG_COLOR_MASK_COLOR; 
    12251250#endif 
    12261251 
    1227 #if defined(PNG_READ_DITHER_SUPPORTED) 
     1252#ifdef PNG_READ_DITHER_SUPPORTED 
    12281253   if (png_ptr->transformations & PNG_DITHER) 
    12291254   { 
     
    12371262#endif 
    12381263 
    1239 #if defined(PNG_READ_PACK_SUPPORTED) 
     1264#ifdef PNG_READ_PACK_SUPPORTED 
    12401265   if ((png_ptr->transformations & PNG_PACK) && (info_ptr->bit_depth < 8)) 
    12411266      info_ptr->bit_depth = 8; 
     
    12491274      info_ptr->channels = 1; 
    12501275 
    1251 #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) 
     1276#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED 
    12521277   if (png_ptr->flags & PNG_FLAG_STRIP_ALPHA) 
    12531278      info_ptr->color_type &= ~PNG_COLOR_MASK_ALPHA; 
     
    12571282      info_ptr->channels++; 
    12581283 
    1259 #if defined(PNG_READ_FILLER_SUPPORTED) 
     1284#ifdef PNG_READ_FILLER_SUPPORTED 
    12601285   /* STRIP_ALPHA and FILLER allowed:  MASK_ALPHA bit stripped above */ 
    12611286   if ((png_ptr->transformations & PNG_FILLER) && 
     
    12651290      info_ptr->channels++; 
    12661291      /* If adding a true alpha channel not just filler */ 
    1267 #if !defined(PNG_1_0_X) 
     1292#ifndef PNG_1_0_X 
    12681293      if (png_ptr->transformations & PNG_ADD_ALPHA) 
    12691294        info_ptr->color_type |= PNG_COLOR_MASK_ALPHA; 
     
    12881313   info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, info_ptr->width); 
    12891314 
    1290 #if !defined(PNG_READ_EXPAND_SUPPORTED) 
     1315#ifndef PNG_READ_EXPAND_SUPPORTED 
    12911316   if (png_ptr) 
    12921317      return; 
     
    13021327{ 
    13031328   png_debug(1, "in png_do_read_transformations"); 
     1329 
    13041330   if (png_ptr->row_buf == NULL) 
    13051331   { 
    1306 #if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE) 
     1332#if defined(PNG_STDIO_SUPPORTED) && !defined(_WIN32_WCE) 
    13071333      char msg[50]; 
    13081334 
     
    13281354#endif 
    13291355 
    1330 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     1356#ifdef PNG_READ_EXPAND_SUPPORTED 
    13311357   if (png_ptr->transformations & PNG_EXPAND) 
    13321358   { 
     
    13491375#endif 
    13501376 
    1351 #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) 
     1377#ifdef PNG_READ_STRIP_ALPHA_SUPPORTED 
    13521378   if (png_ptr->flags & PNG_FLAG_STRIP_ALPHA) 
    13531379      png_do_strip_filler(&(png_ptr->row_info), png_ptr->row_buf + 1, 
     
    13551381#endif 
    13561382 
    1357 #if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) 
     1383#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED 
    13581384   if (png_ptr->transformations & PNG_RGB_TO_GRAY) 
    13591385   { 
     
    14041430 */ 
    14051431 
    1406 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     1432#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    14071433   /* If gray -> RGB, do so now only if background is non-gray; else do later 
    14081434    * for performance reasons 
     
    14131439#endif 
    14141440 
    1415 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     1441#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    14161442   if ((png_ptr->transformations & PNG_BACKGROUND) && 
    14171443      ((png_ptr->num_trans != 0 ) || 
     
    14191445      png_do_background(&(png_ptr->row_info), png_ptr->row_buf + 1, 
    14201446         &(png_ptr->trans_values), &(png_ptr->background) 
    1421 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     1447#ifdef PNG_READ_GAMMA_SUPPORTED 
    14221448         , &(png_ptr->background_1), 
    14231449         png_ptr->gamma_table, png_ptr->gamma_from_1, 
     
    14291455#endif 
    14301456 
    1431 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     1457#ifdef PNG_READ_GAMMA_SUPPORTED 
    14321458   if ((png_ptr->transformations & PNG_GAMMA) && 
    1433 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     1459#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    14341460       !((png_ptr->transformations & PNG_BACKGROUND) && 
    14351461       ((png_ptr->num_trans != 0) || 
     
    14421468#endif 
    14431469 
    1444 #if defined(PNG_READ_16_TO_8_SUPPORTED) 
     1470#ifdef PNG_READ_16_TO_8_SUPPORTED 
    14451471   if (png_ptr->transformations & PNG_16_TO_8) 
    14461472      png_do_chop(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    14471473#endif 
    14481474 
    1449 #if defined(PNG_READ_DITHER_SUPPORTED) 
     1475#ifdef PNG_READ_DITHER_SUPPORTED 
    14501476   if (png_ptr->transformations & PNG_DITHER) 
    14511477   { 
     
    14571483#endif 
    14581484 
    1459 #if defined(PNG_READ_INVERT_SUPPORTED) 
     1485#ifdef PNG_READ_INVERT_SUPPORTED 
    14601486   if (png_ptr->transformations & PNG_INVERT_MONO) 
    14611487      png_do_invert(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    14621488#endif 
    14631489 
    1464 #if defined(PNG_READ_SHIFT_SUPPORTED) 
     1490#ifdef PNG_READ_SHIFT_SUPPORTED 
    14651491   if (png_ptr->transformations & PNG_SHIFT) 
    14661492      png_do_unshift(&(png_ptr->row_info), png_ptr->row_buf + 1, 
     
    14681494#endif 
    14691495 
    1470 #if defined(PNG_READ_PACK_SUPPORTED) 
     1496#ifdef PNG_READ_PACK_SUPPORTED 
    14711497   if (png_ptr->transformations & PNG_PACK) 
    14721498      png_do_unpack(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    14731499#endif 
    14741500 
    1475 #if defined(PNG_READ_BGR_SUPPORTED) 
     1501#ifdef PNG_READ_BGR_SUPPORTED 
    14761502   if (png_ptr->transformations & PNG_BGR) 
    14771503      png_do_bgr(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    14781504#endif 
    14791505 
    1480 #if defined(PNG_READ_PACKSWAP_SUPPORTED) 
     1506#ifdef PNG_READ_PACKSWAP_SUPPORTED 
    14811507   if (png_ptr->transformations & PNG_PACKSWAP) 
    14821508      png_do_packswap(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    14831509#endif 
    14841510 
    1485 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     1511#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    14861512   /* If gray -> RGB, do so now only if we did not do so above */ 
    14871513   if ((png_ptr->transformations & PNG_GRAY_TO_RGB) && 
     
    14901516#endif 
    14911517 
    1492 #if defined(PNG_READ_FILLER_SUPPORTED) 
     1518#ifdef PNG_READ_FILLER_SUPPORTED 
    14931519   if (png_ptr->transformations & PNG_FILLER) 
    14941520      png_do_read_filler(&(png_ptr->row_info), png_ptr->row_buf + 1, 
     
    14961522#endif 
    14971523 
    1498 #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) 
     1524#ifdef PNG_READ_INVERT_ALPHA_SUPPORTED 
    14991525   if (png_ptr->transformations & PNG_INVERT_ALPHA) 
    15001526      png_do_read_invert_alpha(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    15011527#endif 
    15021528 
    1503 #if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) 
     1529#ifdef PNG_READ_SWAP_ALPHA_SUPPORTED 
    15041530   if (png_ptr->transformations & PNG_SWAP_ALPHA) 
    15051531      png_do_read_swap_alpha(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    15061532#endif 
    15071533 
    1508 #if defined(PNG_READ_SWAP_SUPPORTED) 
     1534#ifdef PNG_READ_SWAP_SUPPORTED 
    15091535   if (png_ptr->transformations & PNG_SWAP_BYTES) 
    15101536      png_do_swap(&(png_ptr->row_info), png_ptr->row_buf + 1); 
    15111537#endif 
    15121538 
    1513 #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) 
     1539#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED 
    15141540   if (png_ptr->transformations & PNG_USER_TRANSFORM) 
    15151541    { 
     
    15251551               /*  png_byte pixel_depth;    bits per pixel (depth*channels) */ 
    15261552               png_ptr->row_buf + 1);    /* start of pixel data for row */ 
    1527 #if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) 
     1553#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED 
    15281554      if (png_ptr->user_transform_depth) 
    15291555         png_ptr->row_info.bit_depth = png_ptr->user_transform_depth; 
     
    15401566} 
    15411567 
    1542 #if defined(PNG_READ_PACK_SUPPORTED) 
     1568#ifdef PNG_READ_PACK_SUPPORTED 
    15431569/* Unpack pixels of 1, 2, or 4 bits per pixel into 1 byte per pixel, 
    15441570 * without changing the actual values.  Thus, if you had a row with 
     
    15511577{ 
    15521578   png_debug(1, "in png_do_unpack"); 
    1553 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     1579 
     1580#ifdef PNG_USELESS_TESTS_SUPPORTED 
    15541581   if (row != NULL && row_info != NULL && row_info->bit_depth < 8) 
    15551582#else 
     
    16331660#endif 
    16341661 
    1635 #if defined(PNG_READ_SHIFT_SUPPORTED) 
     1662#ifdef PNG_READ_SHIFT_SUPPORTED 
    16361663/* Reverse the effects of png_do_shift.  This routine merely shifts the 
    16371664 * pixels back to their significant bits values.  Thus, if you have 
     
    16431670{ 
    16441671   png_debug(1, "in png_do_unshift"); 
     1672 
    16451673   if ( 
    1646 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     1674#ifdef PNG_USELESS_TESTS_SUPPORTED 
    16471675       row != NULL && row_info != NULL && sig_bits != NULL && 
    16481676#endif 
     
    17461774#endif 
    17471775 
    1748 #if defined(PNG_READ_16_TO_8_SUPPORTED) 
     1776#ifdef PNG_READ_16_TO_8_SUPPORTED 
    17491777/* Chop rows of bit depth 16 down to 8 */ 
    17501778void /* PRIVATE */ 
     
    17521780{ 
    17531781   png_debug(1, "in png_do_chop"); 
    1754 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     1782 
     1783#ifdef PNG_USELESS_TESTS_SUPPORTED 
    17551784   if (row != NULL && row_info != NULL && row_info->bit_depth == 16) 
    17561785#else 
     
    17651794      for (i = 0; i<istop; i++, sp += 2, dp++) 
    17661795      { 
    1767 #if defined(PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED) 
     1796#ifdef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED 
    17681797      /* This does a more accurate scaling of the 16-bit color 
    17691798       * value, rather than a simple low-byte truncation. 
     
    18041833#endif 
    18051834 
    1806 #if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) 
     1835#ifdef PNG_READ_SWAP_ALPHA_SUPPORTED 
    18071836void /* PRIVATE */ 
    18081837png_do_read_swap_alpha(png_row_infop row_info, png_bytep row) 
    18091838{ 
    18101839   png_debug(1, "in png_do_read_swap_alpha"); 
    1811 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     1840 
     1841#ifdef PNG_USELESS_TESTS_SUPPORTED 
    18121842   if (row != NULL && row_info != NULL) 
    18131843#endif 
     
    18961926#endif 
    18971927 
    1898 #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) 
     1928#ifdef PNG_READ_INVERT_ALPHA_SUPPORTED 
    18991929void /* PRIVATE */ 
    19001930png_do_read_invert_alpha(png_row_infop row_info, png_bytep row) 
    19011931{ 
    19021932   png_debug(1, "in png_do_read_invert_alpha"); 
    1903 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     1933 
     1934#ifdef PNG_USELESS_TESTS_SUPPORTED 
    19041935   if (row != NULL && row_info != NULL) 
    19051936#endif 
     
    19942025#endif 
    19952026 
    1996 #if defined(PNG_READ_FILLER_SUPPORTED) 
     2027#ifdef PNG_READ_FILLER_SUPPORTED 
    19972028/* Add filler channel if we have RGB color */ 
    19982029void /* PRIVATE */ 
     
    20072038 
    20082039   png_debug(1, "in png_do_read_filler"); 
     2040 
    20092041   if ( 
    2010 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     2042#ifdef PNG_USELESS_TESTS_SUPPORTED 
    20112043       row != NULL  && row_info != NULL && 
    20122044#endif 
     
    21702202#endif 
    21712203 
    2172 #if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) 
     2204#ifdef PNG_READ_GRAY_TO_RGB_SUPPORTED 
    21732205/* Expand grayscale files to RGB, with or without alpha */ 
    21742206void /* PRIVATE */ 
     
    21792211 
    21802212   png_debug(1, "in png_do_gray_to_rgb"); 
     2213 
    21812214   if (row_info->bit_depth >= 8 && 
    2182 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     2215#ifdef PNG_USELESS_TESTS_SUPPORTED 
    21832216       row != NULL && row_info != NULL && 
    21842217#endif 
     
    22532286#endif 
    22542287 
    2255 #if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) 
     2288#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED 
    22562289/* Reduce RGB files to grayscale, with or without alpha 
    22572290 * using the equation given in Poynton's ColorFAQ at 
     
    22852318 
    22862319   png_debug(1, "in png_do_rgb_to_gray"); 
     2320 
    22872321   if ( 
    2288 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     2322#ifdef PNG_USELESS_TESTS_SUPPORTED 
    22892323       row != NULL && row_info != NULL && 
    22902324#endif 
     
    25232557 
    25242558   png_debug(1, "in png_do_build_grayscale_palette"); 
     2559 
    25252560   if (palette == NULL) 
    25262561      return; 
     
    25692604{ 
    25702605   png_debug(1, "in png_correct_palette"); 
     2606 
    25712607#if defined(PNG_READ_BACKGROUND_SUPPORTED) && \ 
    25722608    defined(PNG_READ_GAMMA_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED) 
     
    26792715   else 
    26802716#endif 
    2681 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2717#ifdef PNG_READ_GAMMA_SUPPORTED 
    26822718   if (png_ptr->transformations & PNG_GAMMA) 
    26832719   { 
     
    26912727      } 
    26922728   } 
    2693 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     2729#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    26942730   else 
    26952731#endif 
    26962732#endif 
    2697 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     2733#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    26982734   if (png_ptr->transformations & PNG_BACKGROUND) 
    26992735   { 
     
    27442780#endif 
    27452781 
    2746 #if defined(PNG_READ_BACKGROUND_SUPPORTED) 
     2782#ifdef PNG_READ_BACKGROUND_SUPPORTED 
    27472783/* Replace any alpha or transparency with the supplied background color. 
    27482784 * "background" is already in the screen gamma, while "background_1" is 
     
    27522788png_do_background(png_row_infop row_info, png_bytep row, 
    27532789   png_color_16p trans_values, png_color_16p background 
    2754 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2790#ifdef PNG_READ_GAMMA_SUPPORTED 
    27552791   , png_color_16p background_1, 
    27562792   png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, 
     
    27662802 
    27672803   png_debug(1, "in png_do_background"); 
     2804 
    27682805   if (background != NULL && 
    2769 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     2806#ifdef PNG_USELESS_TESTS_SUPPORTED 
    27702807       row != NULL && row_info != NULL && 
    27712808#endif 
     
    28042841               case 2: 
    28052842               { 
    2806 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2843#ifdef PNG_READ_GAMMA_SUPPORTED 
    28072844                  if (gamma_table != NULL) 
    28082845                  { 
     
    28612898               case 4: 
    28622899               { 
    2863 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2900#ifdef PNG_READ_GAMMA_SUPPORTED 
    28642901                  if (gamma_table != NULL) 
    28652902                  { 
     
    29182955               case 8: 
    29192956               { 
    2920 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2957#ifdef PNG_READ_GAMMA_SUPPORTED 
    29212958                  if (gamma_table != NULL) 
    29222959                  { 
     
    29512988               case 16: 
    29522989               { 
    2953 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     2990#ifdef PNG_READ_GAMMA_SUPPORTED 
    29542991                  if (gamma_16 != NULL) 
    29552992                  { 
     
    30003037            if (row_info->bit_depth == 8) 
    30013038            { 
    3002 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3039#ifdef PNG_READ_GAMMA_SUPPORTED 
    30033040               if (gamma_table != NULL) 
    30043041               { 
     
    30413078            else /* if (row_info->bit_depth == 16) */ 
    30423079            { 
    3043 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3080#ifdef PNG_READ_GAMMA_SUPPORTED 
    30443081               if (gamma_16 != NULL) 
    30453082               { 
     
    31053142            if (row_info->bit_depth == 8) 
    31063143            { 
    3107 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3144#ifdef PNG_READ_GAMMA_SUPPORTED 
    31083145               if (gamma_to_1 != NULL && gamma_from_1 != NULL && 
    31093146                   gamma_table != NULL) 
     
    31473184                        *dp = *sp; 
    31483185                     } 
    3149 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3186#ifdef PNG_READ_GAMMA_SUPPORTED 
    31503187                     else if (a == 0) 
    31513188                     { 
     
    31643201            else /* if (png_ptr->bit_depth == 16) */ 
    31653202            { 
    3166 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3203#ifdef PNG_READ_GAMMA_SUPPORTED 
    31673204               if (gamma_16 != NULL && gamma_16_from_1 != NULL && 
    31683205                   gamma_16_to_1 != NULL) 
     
    31823219                        *(dp + 1) = (png_byte)(v & 0xff); 
    31833220                     } 
    3184 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3221#ifdef PNG_READ_GAMMA_SUPPORTED 
    31853222                     else if (a == 0) 
    31863223#else 
     
    31923229                        *(dp + 1) = (png_byte)(background->gray & 0xff); 
    31933230                     } 
    3194 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3231#ifdef PNG_READ_GAMMA_SUPPORTED 
    31953232                     else 
    31963233                     { 
     
    32183255                        png_memcpy(dp, sp, 2); 
    32193256                     } 
    3220 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3257#ifdef PNG_READ_GAMMA_SUPPORTED 
    32213258                     else if (a == 0) 
    32223259#else 
     
    32273264                        *(dp + 1) = (png_byte)(background->gray & 0xff); 
    32283265                     } 
    3229 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3266#ifdef PNG_READ_GAMMA_SUPPORTED 
    32303267                     else 
    32313268                     { 
     
    32483285            if (row_info->bit_depth == 8) 
    32493286            { 
    3250 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3287#ifdef PNG_READ_GAMMA_SUPPORTED 
    32513288               if (gamma_to_1 != NULL && gamma_from_1 != NULL && 
    32523289                   gamma_table != NULL) 
     
    33213358            else /* if (row_info->bit_depth == 16) */ 
    33223359            { 
    3323 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3360#ifdef PNG_READ_GAMMA_SUPPORTED 
    33243361               if (gamma_16 != NULL && gamma_16_from_1 != NULL && 
    33253362                   gamma_16_to_1 != NULL) 
     
    34383475#endif 
    34393476 
    3440 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     3477#ifdef PNG_READ_GAMMA_SUPPORTED 
    34413478/* Gamma correct the image, avoiding the alpha channel.  Make sure 
    34423479 * you do this after you deal with the transparency issue on grayscale 
     
    34553492 
    34563493   png_debug(1, "in png_do_gamma"); 
     3494 
    34573495   if ( 
    3458 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     3496#ifdef PNG_USELESS_TESTS_SUPPORTED 
    34593497       row != NULL && row_info != NULL && 
    34603498#endif 
     
    36293667#endif 
    36303668 
    3631 #if defined(PNG_READ_EXPAND_SUPPORTED) 
     3669#ifdef PNG_READ_EXPAND_SUPPORTED 
    36323670/* Expands a palette row to an RGB or RGBA row depending 
    36333671 * upon whether you supply trans and num_trans. 
     
    36433681 
    36443682   png_debug(1, "in png_do_expand_palette"); 
     3683 
    36453684   if ( 
    3646 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     3685#ifdef PNG_USELESS_TESTS_SUPPORTED 
    36473686       row != NULL && row_info != NULL && 
    36483687#endif 
     
    37893828 
    37903829   png_debug(1, "in png_do_expand"); 
    3791 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     3830 
     3831#ifdef PNG_USELESS_TESTS_SUPPORTED 
    37923832   if (row != NULL && row_info != NULL) 
    37933833#endif 
     
    39904030#endif 
    39914031 
    3992 #if defined(PNG_READ_DITHER_SUPPORTED) 
     4032#ifdef PNG_READ_DITHER_SUPPORTED 
    39934033void /* PRIVATE */ 
    39944034png_do_dither(png_row_infop row_info, png_bytep row, 
     
    40004040 
    40014041   png_debug(1, "in png_do_dither"); 
    4002 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     4042 
     4043#ifdef PNG_USELESS_TESTS_SUPPORTED 
    40034044   if (row != NULL && row_info != NULL) 
    40044045#endif 
     
    40824123 
    40834124#ifdef PNG_FLOATING_POINT_SUPPORTED 
    4084 #if defined(PNG_READ_GAMMA_SUPPORTED) 
     4125#ifdef PNG_READ_GAMMA_SUPPORTED 
    40854126static PNG_CONST int png_gamma_shift[] = 
    40864127   {0x10, 0x21, 0x42, 0x84, 0x110, 0x248, 0x550, 0xff0, 0x00}; 
     
    40904131 * the future.  Note also how the gamma_16 tables are segmented so that 
    40914132 * we don't need to allocate > 64K chunks for a full 16-bit table. 
     4133 * 
     4134 * See the PNG extensions document for an integer algorithm for creating 
     4135 * the gamma tables.  Maybe we will implement that here someday. 
     4136 * 
     4137 * We should only reach this point if 
     4138 * 
     4139 *      the file_gamma is known (i.e., the gAMA or sRGB chunk is present, 
     4140 *      or the application has provided a file_gamma) 
     4141 * 
     4142 *   AND 
     4143 *      { 
     4144 *         the screen_gamma is known 
     4145 *      OR 
     4146 * 
     4147 *         RGB_to_gray transformation is being performed 
     4148 *      } 
     4149 * 
     4150 *   AND 
     4151 *      { 
     4152 *         the screen_gamma is different from the reciprocal of the 
     4153 *         file_gamma by more than the specified threshold 
     4154 * 
     4155 *      OR 
     4156 * 
     4157 *         a background color has been specified and the file_gamma 
     4158 *         and screen_gamma are not 1.0, within the specified threshold. 
     4159 *      } 
    40924160 */ 
     4161 
    40934162void /* PRIVATE */ 
    40944163png_build_gamma_table(png_structp png_ptr) 
     
    42004269        g = 1.0; 
    42014270 
    4202      png_ptr->gamma_16_table = (png_uint_16pp)png_malloc(png_ptr, 
     4271     png_ptr->gamma_16_table = (png_uint_16pp)png_calloc(png_ptr, 
    42034272        (png_uint_32)(num * png_sizeof(png_uint_16p))); 
    4204      png_memset(png_ptr->gamma_16_table, 0, num * png_sizeof(png_uint_16p)); 
    42054273 
    42064274     if (png_ptr->transformations & (PNG_16_TO_8 | PNG_BACKGROUND)) 
     
    42624330        g = 1.0 / (png_ptr->gamma); 
    42634331 
    4264         png_ptr->gamma_16_to_1 = (png_uint_16pp)png_malloc(png_ptr, 
     4332        png_ptr->gamma_16_to_1 = (png_uint_16pp)png_calloc(png_ptr, 
    42654333           (png_uint_32)(num * png_sizeof(png_uint_16p ))); 
    4266         png_memset(png_ptr->gamma_16_to_1, 0, num * png_sizeof(png_uint_16p)); 
    42674334 
    42684335        for (i = 0; i < num; i++) 
     
    42874354           g = png_ptr->gamma;   /* Probably doing rgb_to_gray */ 
    42884355 
    4289         png_ptr->gamma_16_from_1 = (png_uint_16pp)png_malloc(png_ptr, 
     4356        png_ptr->gamma_16_from_1 = (png_uint_16pp)png_calloc(png_ptr, 
    42904357           (png_uint_32)(num * png_sizeof(png_uint_16p))); 
    4291         png_memset(png_ptr->gamma_16_from_1, 0, 
    4292            num * png_sizeof(png_uint_16p)); 
    42934358 
    42944359        for (i = 0; i < num; i++) 
     
    43154380#endif 
    43164381 
    4317 #if defined(PNG_MNG_FEATURES_SUPPORTED) 
     4382#ifdef PNG_MNG_FEATURES_SUPPORTED 
    43184383/* Undoes intrapixel differencing  */ 
    43194384void /* PRIVATE */ 
     
    43214386{ 
    43224387   png_debug(1, "in png_do_read_intrapixel"); 
     4388 
    43234389   if ( 
    4324 #if defined(PNG_USELESS_TESTS_SUPPORTED) 
     4390#ifdef PNG_USELESS_TESTS_SUPPORTED 
    43254391       row != NULL && row_info != NULL && 
    43264392#endif