[master] Imported from libpng-1.4.6beta05.tar

This commit is contained in:
Glenn Randers-Pehrson
2011-01-22 21:16:29 -06:00
parent ce5d7cb7aa
commit 97d2d68428
34 changed files with 263 additions and 253 deletions

110
pngget.c
View File

@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
* Last changed in libpng 1.4.6 [January 22, 2011]
* Last changed in libpng 1.4.6 [January 23, 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.)
@@ -18,7 +18,7 @@
#include "pngpriv.h"
png_uint_32 PNGAPI
png_get_valid(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_valid(png_const_structp png_ptr, png_const_infop info_ptr,
png_uint_32 flag)
{
if (png_ptr != NULL && info_ptr != NULL)
@@ -29,7 +29,7 @@ png_get_valid(const_png_structp png_ptr, const_png_infop info_ptr,
}
png_size_t PNGAPI
png_get_rowbytes(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_rowbytes(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return(info_ptr->rowbytes);
@@ -40,7 +40,7 @@ png_get_rowbytes(const_png_structp png_ptr, const_png_infop info_ptr)
#ifdef PNG_INFO_IMAGE_SUPPORTED
png_bytepp PNGAPI
png_get_rows(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_rows(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return(info_ptr->row_pointers);
@@ -53,7 +53,7 @@ png_get_rows(const_png_structp png_ptr, const_png_infop info_ptr)
#ifdef PNG_EASY_ACCESS_SUPPORTED
/* Easy access to info, added in libpng-0.99 */
png_uint_32 PNGAPI
png_get_image_width(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_image_width(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->width;
@@ -62,7 +62,7 @@ png_get_image_width(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_uint_32 PNGAPI
png_get_image_height(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_image_height(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->height;
@@ -71,7 +71,7 @@ png_get_image_height(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_byte PNGAPI
png_get_bit_depth(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_bit_depth(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->bit_depth;
@@ -80,7 +80,7 @@ png_get_bit_depth(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_byte PNGAPI
png_get_color_type(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_color_type(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->color_type;
@@ -89,7 +89,7 @@ png_get_color_type(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_byte PNGAPI
png_get_filter_type(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_filter_type(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->filter_type;
@@ -98,7 +98,7 @@ png_get_filter_type(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_byte PNGAPI
png_get_interlace_type(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_interlace_type(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->interlace_type;
@@ -107,7 +107,7 @@ png_get_interlace_type(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_byte PNGAPI
png_get_compression_type(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_compression_type(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return info_ptr->compression_type;
@@ -116,7 +116,7 @@ png_get_compression_type(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_uint_32 PNGAPI
png_get_x_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_x_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
#ifdef PNG_pHYs_SUPPORTED
@@ -137,7 +137,7 @@ png_get_x_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_uint_32 PNGAPI
png_get_y_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_y_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
#ifdef PNG_pHYs_SUPPORTED
@@ -158,7 +158,7 @@ png_get_y_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_uint_32 PNGAPI
png_get_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
#ifdef PNG_pHYs_SUPPORTED
@@ -181,7 +181,7 @@ png_get_pixels_per_meter(const_png_structp png_ptr, const_png_infop info_ptr)
#ifdef PNG_FLOATING_POINT_SUPPORTED
float PNGAPI
png_get_pixel_aspect_ratio(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_pixel_aspect_ratio(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
#ifdef PNG_pHYs_SUPPORTED
@@ -205,7 +205,7 @@ png_get_pixel_aspect_ratio(const_png_structp png_ptr, const_png_infop info_ptr)
#endif
png_int_32 PNGAPI
png_get_x_offset_microns(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_x_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
#ifdef PNG_oFFs_SUPPORTED
@@ -227,7 +227,7 @@ png_get_x_offset_microns(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_int_32 PNGAPI
png_get_y_offset_microns(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_y_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
@@ -249,7 +249,7 @@ png_get_y_offset_microns(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_int_32 PNGAPI
png_get_x_offset_pixels(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_x_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
@@ -271,7 +271,7 @@ png_get_x_offset_pixels(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_int_32 PNGAPI
png_get_y_offset_pixels(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_y_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
@@ -294,35 +294,35 @@ png_get_y_offset_pixels(const_png_structp png_ptr, const_png_infop info_ptr)
#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED)
png_uint_32 PNGAPI
png_get_pixels_per_inch(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
{
return ((png_uint_32)((float)png_get_pixels_per_meter(png_ptr, info_ptr)
*.0254 +.5));
}
png_uint_32 PNGAPI
png_get_x_pixels_per_inch(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_x_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
{
return ((png_uint_32)((float)png_get_x_pixels_per_meter(png_ptr, info_ptr)
*.0254 +.5));
}
png_uint_32 PNGAPI
png_get_y_pixels_per_inch(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_y_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
{
return ((png_uint_32)((float)png_get_y_pixels_per_meter(png_ptr, info_ptr)
*.0254 +.5));
}
float PNGAPI
png_get_x_offset_inches(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_x_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
{
return ((float)png_get_x_offset_microns(png_ptr, info_ptr)
*.00003937);
}
float PNGAPI
png_get_y_offset_inches(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_y_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
{
return ((float)png_get_y_offset_microns(png_ptr, info_ptr)
*.00003937);
@@ -330,7 +330,7 @@ png_get_y_offset_inches(const_png_structp png_ptr, const_png_infop info_ptr)
#ifdef PNG_pHYs_SUPPORTED
png_uint_32 PNGAPI
png_get_pHYs_dpi(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_pHYs_dpi(png_const_structp png_ptr, png_const_infop info_ptr,
png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
{
png_uint_32 retval = 0;
@@ -370,7 +370,7 @@ png_get_pHYs_dpi(const_png_structp png_ptr, const_png_infop info_ptr,
#endif /* PNG_EASY_ACCESS_SUPPORTED */
png_byte PNGAPI
png_get_channels(const_png_structp png_ptr, const_png_infop info_ptr)
png_get_channels(png_const_structp png_ptr, png_const_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return(info_ptr->channels);
@@ -379,7 +379,7 @@ png_get_channels(const_png_structp png_ptr, const_png_infop info_ptr)
}
png_bytep PNGAPI
png_get_signature(const_png_structp png_ptr, png_infop info_ptr)
png_get_signature(png_const_structp png_ptr, png_infop info_ptr)
{
if (png_ptr != NULL && info_ptr != NULL)
return(info_ptr->signature);
@@ -389,7 +389,7 @@ png_get_signature(const_png_structp png_ptr, png_infop info_ptr)
#ifdef PNG_bKGD_SUPPORTED
png_uint_32 PNGAPI
png_get_bKGD(const_png_structp png_ptr, png_infop info_ptr,
png_get_bKGD(png_const_structp png_ptr, png_infop info_ptr,
png_color_16p *background)
{
if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_bKGD)
@@ -407,7 +407,7 @@ png_get_bKGD(const_png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_cHRM_SUPPORTED
#ifdef PNG_FLOATING_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_cHRM(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_cHRM(png_const_structp png_ptr, png_const_infop info_ptr,
double *white_x, double *white_y, double *red_x, double *red_y,
double *green_x, double *green_y, double *blue_x, double *blue_y)
{
@@ -438,7 +438,7 @@ png_get_cHRM(const_png_structp png_ptr, const_png_infop info_ptr,
#endif
#ifdef PNG_FIXED_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_cHRM_fixed(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_cHRM_fixed(png_const_structp png_ptr, png_const_infop info_ptr,
png_fixed_point *white_x, png_fixed_point *white_y, png_fixed_point *red_x,
png_fixed_point *red_y, png_fixed_point *green_x, png_fixed_point *green_y,
png_fixed_point *blue_x, png_fixed_point *blue_y)
@@ -473,7 +473,7 @@ png_get_cHRM_fixed(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_gAMA_SUPPORTED
#ifdef PNG_FLOATING_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_gAMA(const_png_structp png_ptr, const_png_infop info_ptr, double *file_gamma)
png_get_gAMA(png_const_structp png_ptr, png_const_infop info_ptr, double *file_gamma)
{
png_debug1(1, "in %s retrieval function", "gAMA");
@@ -488,7 +488,7 @@ png_get_gAMA(const_png_structp png_ptr, const_png_infop info_ptr, double *file_g
#endif
#ifdef PNG_FIXED_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_gAMA_fixed(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_gAMA_fixed(png_const_structp png_ptr, png_const_infop info_ptr,
png_fixed_point *int_file_gamma)
{
png_debug1(1, "in %s retrieval function", "gAMA");
@@ -506,7 +506,7 @@ png_get_gAMA_fixed(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_sRGB_SUPPORTED
png_uint_32 PNGAPI
png_get_sRGB(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_sRGB(png_const_structp png_ptr, png_const_infop info_ptr,
int *file_srgb_intent)
{
png_debug1(1, "in %s retrieval function", "sRGB");
@@ -523,7 +523,7 @@ png_get_sRGB(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_iCCP_SUPPORTED
png_uint_32 PNGAPI
png_get_iCCP(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_iCCP(png_const_structp png_ptr, png_const_infop info_ptr,
png_charpp name, int *compression_type,
png_charpp profile, png_uint_32 *proflen)
{
@@ -547,7 +547,7 @@ png_get_iCCP(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_sPLT_SUPPORTED
png_uint_32 PNGAPI
png_get_sPLT(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_sPLT(png_const_structp png_ptr, png_const_infop info_ptr,
png_sPLT_tpp spalettes)
{
if (png_ptr != NULL && info_ptr != NULL && spalettes != NULL)
@@ -561,7 +561,7 @@ png_get_sPLT(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_hIST_SUPPORTED
png_uint_32 PNGAPI
png_get_hIST(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_hIST(png_const_structp png_ptr, png_const_infop info_ptr,
png_uint_16p *hist)
{
png_debug1(1, "in %s retrieval function", "hIST");
@@ -617,7 +617,7 @@ png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_oFFs_SUPPORTED
png_uint_32 PNGAPI
png_get_oFFs(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_oFFs(png_const_structp png_ptr, png_const_infop info_ptr,
png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
{
png_debug1(1, "in %s retrieval function", "oFFs");
@@ -636,7 +636,7 @@ png_get_oFFs(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_pCAL_SUPPORTED
png_uint_32 PNGAPI
png_get_pCAL(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_pCAL(png_const_structp png_ptr, png_const_infop info_ptr,
png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams,
png_charp *units, png_charpp *params)
{
@@ -662,7 +662,7 @@ png_get_pCAL(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_sCAL_SUPPORTED
#ifdef PNG_FLOATING_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_sCAL(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_sCAL(png_const_structp png_ptr, png_const_infop info_ptr,
int *unit, double *width, double *height)
{
if (png_ptr != NULL && info_ptr != NULL &&
@@ -678,7 +678,7 @@ png_get_sCAL(const_png_structp png_ptr, const_png_infop info_ptr,
#else
#ifdef PNG_FIXED_POINT_SUPPORTED
png_uint_32 PNGAPI
png_get_sCAL_s(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_sCAL_s(png_const_structp png_ptr, png_const_infop info_ptr,
int *unit, png_charpp width, png_charpp height)
{
if (png_ptr != NULL && info_ptr != NULL &&
@@ -697,7 +697,7 @@ png_get_sCAL_s(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_pHYs_SUPPORTED
png_uint_32 PNGAPI
png_get_pHYs(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_pHYs(png_const_structp png_ptr, png_const_infop info_ptr,
png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
{
png_uint_32 retval = 0;
@@ -730,7 +730,7 @@ png_get_pHYs(const_png_structp png_ptr, const_png_infop info_ptr,
#endif
png_uint_32 PNGAPI
png_get_PLTE(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_PLTE(png_const_structp png_ptr, png_const_infop info_ptr,
png_colorp *palette,
int *num_palette)
{
@@ -749,7 +749,7 @@ png_get_PLTE(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_sBIT_SUPPORTED
png_uint_32 PNGAPI
png_get_sBIT(const_png_structp png_ptr, png_infop info_ptr,
png_get_sBIT(png_const_structp png_ptr, png_infop info_ptr,
png_color_8p *sig_bit)
{
png_debug1(1, "in %s retrieval function", "sBIT");
@@ -766,7 +766,7 @@ png_get_sBIT(const_png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_TEXT_SUPPORTED
png_uint_32 PNGAPI
png_get_text(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_text(png_const_structp png_ptr, png_const_infop info_ptr,
png_textp *text_ptr, int *num_text)
{
if (png_ptr != NULL && info_ptr != NULL && info_ptr->num_text > 0)
@@ -791,7 +791,7 @@ png_get_text(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_tIME_SUPPORTED
png_uint_32 PNGAPI
png_get_tIME(const_png_structp png_ptr, png_infop info_ptr,
png_get_tIME(png_const_structp png_ptr, png_infop info_ptr,
png_timep *mod_time)
{
png_debug1(1, "in %s retrieval function", "tIME");
@@ -808,7 +808,7 @@ png_get_tIME(const_png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_tRNS_SUPPORTED
png_uint_32 PNGAPI
png_get_tRNS(const_png_structp png_ptr, png_infop info_ptr,
png_get_tRNS(png_const_structp png_ptr, png_infop info_ptr,
png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)
{
png_uint_32 retval = 0;
@@ -850,7 +850,7 @@ png_get_tRNS(const_png_structp png_ptr, png_infop info_ptr,
#ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
png_uint_32 PNGAPI
png_get_unknown_chunks(const_png_structp png_ptr, const_png_infop info_ptr,
png_get_unknown_chunks(png_const_structp png_ptr, png_const_infop info_ptr,
png_unknown_chunkpp unknowns)
{
if (png_ptr != NULL && info_ptr != NULL && unknowns != NULL)
@@ -864,7 +864,7 @@ png_get_unknown_chunks(const_png_structp png_ptr, const_png_infop info_ptr,
#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
png_byte PNGAPI
png_get_rgb_to_gray_status(const_png_structp png_ptr)
png_get_rgb_to_gray_status(png_const_structp png_ptr)
{
return (png_byte)(png_ptr? png_ptr->rgb_to_gray_status : 0);
}
@@ -872,14 +872,14 @@ png_get_rgb_to_gray_status(const_png_structp png_ptr)
#ifdef PNG_USER_CHUNKS_SUPPORTED
png_voidp PNGAPI
png_get_user_chunk_ptr(const_png_structp png_ptr)
png_get_user_chunk_ptr(png_const_structp png_ptr)
{
return (png_ptr? png_ptr->user_chunk_ptr : NULL);
}
#endif
png_size_t PNGAPI
png_get_compression_buffer_size(const_png_structp png_ptr)
png_get_compression_buffer_size(png_const_structp png_ptr)
{
return (png_ptr ? png_ptr->zbuf_size : 0L);
}
@@ -889,24 +889,24 @@ png_get_compression_buffer_size(const_png_structp png_ptr)
/* These functions were added to libpng 1.2.6 and were enabled
* by default in libpng-1.4.0 */
png_uint_32 PNGAPI
png_get_user_width_max(const_png_structp png_ptr)
png_get_user_width_max(png_const_structp png_ptr)
{
return (png_ptr? png_ptr->user_width_max : 0);
}
png_uint_32 PNGAPI
png_get_user_height_max(const_png_structp png_ptr)
png_get_user_height_max(png_const_structp png_ptr)
{
return (png_ptr? png_ptr->user_height_max : 0);
}
/* This function was added to libpng 1.4.0 */
png_uint_32 PNGAPI
png_get_chunk_cache_max(const_png_structp png_ptr)
png_get_chunk_cache_max(png_const_structp png_ptr)
{
return (png_ptr? png_ptr->user_chunk_cache_max : 0);
}
/* This function was added to libpng 1.4.1 */
png_alloc_size_t PNGAPI
png_get_chunk_malloc_max(const_png_structp png_ptr)
png_get_chunk_malloc_max(png_const_structp png_ptr)
{
return (png_ptr?
png_ptr->user_chunk_malloc_max : 0);
@@ -916,7 +916,7 @@ png_get_chunk_malloc_max(const_png_structp png_ptr)
/* These functions were added to libpng 1.4.0 */
#ifdef PNG_IO_STATE_SUPPORTED
png_uint_32 PNGAPI
png_get_io_state(const_png_structp png_ptr)
png_get_io_state(png_const_structp png_ptr)
{
return png_ptr->io_state;
}