Go to the documentation of this file.
16 #if defined(PNG_READ_SUPPORTED)
24 #ifdef PNG_USER_MEM_SUPPORTED
37 #ifdef PNG_SETJMP_SUPPORTED
42 #ifdef PNG_SETJMP_SUPPORTED
43 #ifdef USE_FAR_KEYWORD
50 png_debug(1,
"in png_create_read_struct\n");
51 #ifdef PNG_USER_MEM_SUPPORTED
61 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
66 #ifdef PNG_SETJMP_SUPPORTED
67 #ifdef USE_FAR_KEYWORD
70 if (setjmp(png_ptr->jmpbuf))
75 #ifdef PNG_USER_MEM_SUPPORTED
83 #ifdef USE_FAR_KEYWORD
88 #ifdef PNG_USER_MEM_SUPPORTED
100 png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
104 png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
107 if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
114 if (user_png_ver == NULL || user_png_ver[0] !=
png_libpng_ver[0] ||
115 (user_png_ver[0] ==
'1' && user_png_ver[2] !=
png_libpng_ver[2]) ||
116 (user_png_ver[0] ==
'0' && user_png_ver[2] <
'9'))
118 #if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
123 "Application was compiled with png.h from libpng-%.20s",
128 "Application is running with png.c from libpng-%.20s",
132 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
136 "Incompatible libpng version in application and library");
146 png_ptr->zstream.opaque = (
voidpf)png_ptr;
154 default:
png_error(png_ptr,
"Unknown zlib error");
157 png_ptr->zstream.next_out = png_ptr->zbuf;
158 png_ptr->zstream.avail_out = (
uInt)png_ptr->zbuf_size;
162 #ifdef PNG_SETJMP_SUPPORTED
166 #ifdef USE_FAR_KEYWORD
171 if (setjmp(png_ptr->jmpbuf))
178 #if defined(PNG_1_0_X) || defined(PNG_1_2_X)
195 if (png_ptr == NULL)
return;
196 #if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
201 png_ptr->warning_fn = NULL;
205 "Application was compiled with png.h from libpng-%.20s",
210 "Application is running with png.c from libpng-%.20s",
217 png_ptr->error_fn = NULL;
218 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
222 "The png struct allocated by the application for reading is too small.");
226 png_ptr->error_fn = NULL;
227 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
231 "The info struct allocated by application for reading is too small.");
241 #ifdef PNG_SETJMP_SUPPORTED
249 if (png_ptr == NULL)
return;
255 #ifdef PNG_LEGACY_SUPPORTED
256 png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
258 png_ptr->warning_fn = NULL;
260 "Application uses deprecated png_read_init() and should be recompiled.");
268 #ifdef PNG_SETJMP_SUPPORTED
283 #ifdef PNG_SETJMP_SUPPORTED
289 #ifdef PNG_SET_USER_LIMITS_SUPPORTED
300 png_ptr->zstream.opaque = (
voidpf)png_ptr;
308 default:
png_error(png_ptr,
"Unknown zlib error");
311 png_ptr->zstream.next_out = png_ptr->zbuf;
312 png_ptr->zstream.avail_out = (
uInt)png_ptr->zbuf_size;
317 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
329 if (png_ptr == NULL ||
info_ptr == NULL)
return;
332 if (png_ptr->sig_bytes < 8)
338 png_ptr->sig_bytes = 8;
342 if (num_checked < 4 &&
346 png_error(png_ptr,
"PNG file corrupted by ASCII conversion");
349 png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
354 #ifdef PNG_USE_LOCAL_ARRAYS
359 #if defined(PNG_READ_bKGD_SUPPORTED)
362 #if defined(PNG_READ_cHRM_SUPPORTED)
365 #if defined(PNG_READ_gAMA_SUPPORTED)
368 #if defined(PNG_READ_hIST_SUPPORTED)
371 #if defined(PNG_READ_iCCP_SUPPORTED)
374 #if defined(PNG_READ_iTXt_SUPPORTED)
377 #if defined(PNG_READ_oFFs_SUPPORTED)
380 #if defined(PNG_READ_pCAL_SUPPORTED)
383 #if defined(PNG_READ_pHYs_SUPPORTED)
386 #if defined(PNG_READ_sBIT_SUPPORTED)
389 #if defined(PNG_READ_sCAL_SUPPORTED)
392 #if defined(PNG_READ_sPLT_SUPPORTED)
395 #if defined(PNG_READ_sRGB_SUPPORTED)
398 #if defined(PNG_READ_tEXt_SUPPORTED)
401 #if defined(PNG_READ_tIME_SUPPORTED)
404 #if defined(PNG_READ_tRNS_SUPPORTED)
407 #if defined(PNG_READ_zTXt_SUPPORTED)
419 png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT;
425 #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
436 png_error(png_ptr,
"Missing IHDR before IDAT");
439 png_error(png_ptr,
"Missing PLTE before IDAT");
449 png_error(png_ptr,
"Missing IHDR before IDAT");
452 png_error(png_ptr,
"Missing PLTE before IDAT");
454 png_ptr->idat_size =
length;
458 #if defined(PNG_READ_bKGD_SUPPORTED)
462 #if defined(PNG_READ_cHRM_SUPPORTED)
466 #if defined(PNG_READ_gAMA_SUPPORTED)
470 #if defined(PNG_READ_hIST_SUPPORTED)
474 #if defined(PNG_READ_oFFs_SUPPORTED)
478 #if defined(PNG_READ_pCAL_SUPPORTED)
482 #if defined(PNG_READ_sCAL_SUPPORTED)
486 #if defined(PNG_READ_pHYs_SUPPORTED)
490 #if defined(PNG_READ_sBIT_SUPPORTED)
494 #if defined(PNG_READ_sRGB_SUPPORTED)
498 #if defined(PNG_READ_iCCP_SUPPORTED)
502 #if defined(PNG_READ_sPLT_SUPPORTED)
506 #if defined(PNG_READ_tEXt_SUPPORTED)
510 #if defined(PNG_READ_tIME_SUPPORTED)
514 #if defined(PNG_READ_tRNS_SUPPORTED)
518 #if defined(PNG_READ_zTXt_SUPPORTED)
522 #if defined(PNG_READ_iTXt_SUPPORTED)
536 png_debug(1,
"in png_read_update_info\n");
537 if (png_ptr == NULL)
return;
538 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
542 "Ignoring extra png_read_update_info() call; row buffer not reallocated");
546 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
555 png_debug(1,
"in png_start_read_image\n");
556 if (png_ptr == NULL)
return;
557 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
562 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
566 #ifdef PNG_USE_LOCAL_ARRAYS
573 if (png_ptr == NULL)
return;
574 png_debug2(1,
"in png_read_row (row %lu, pass %d)\n",
575 png_ptr->row_number, png_ptr->pass);
576 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
578 if (png_ptr->row_number == 0 && png_ptr->pass == 0)
581 #if defined(PNG_WRITE_INVERT_SUPPORTED) && !defined(PNG_READ_INVERT_SUPPORTED)
582 if (png_ptr->transformations & PNG_INVERT_MONO)
583 png_warning(png_ptr,
"PNG_READ_INVERT_SUPPORTED is not defined.");
585 #if defined(PNG_WRITE_FILLER_SUPPORTED) && !defined(PNG_READ_FILLER_SUPPORTED)
586 if (png_ptr->transformations & PNG_FILLER)
587 png_warning(png_ptr,
"PNG_READ_FILLER_SUPPORTED is not defined.");
589 #if defined(PNG_WRITE_PACKSWAP_SUPPORTED) && !defined(PNG_READ_PACKSWAP_SUPPORTED)
590 if (png_ptr->transformations & PNG_PACKSWAP)
591 png_warning(png_ptr,
"PNG_READ_PACKSWAP_SUPPORTED is not defined.");
593 #if defined(PNG_WRITE_PACK_SUPPORTED) && !defined(PNG_READ_PACK_SUPPORTED)
594 if (png_ptr->transformations & PNG_PACK)
595 png_warning(png_ptr,
"PNG_READ_PACK_SUPPORTED is not defined.");
597 #if defined(PNG_WRITE_SHIFT_SUPPORTED) && !defined(PNG_READ_SHIFT_SUPPORTED)
598 if (png_ptr->transformations & PNG_SHIFT)
599 png_warning(png_ptr,
"PNG_READ_SHIFT_SUPPORTED is not defined.");
601 #if defined(PNG_WRITE_BGR_SUPPORTED) && !defined(PNG_READ_BGR_SUPPORTED)
602 if (png_ptr->transformations & PNG_BGR)
603 png_warning(png_ptr,
"PNG_READ_BGR_SUPPORTED is not defined.");
605 #if defined(PNG_WRITE_SWAP_SUPPORTED) && !defined(PNG_READ_SWAP_SUPPORTED)
606 if (png_ptr->transformations & PNG_SWAP_BYTES)
607 png_warning(png_ptr,
"PNG_READ_SWAP_SUPPORTED is not defined.");
611 #if defined(PNG_READ_INTERLACING_SUPPORTED)
613 if (png_ptr->interlaced && (png_ptr->transformations & PNG_INTERLACE))
615 switch (png_ptr->pass)
618 if (png_ptr->row_number & 0x07)
628 if ((png_ptr->row_number & 0x07) || png_ptr->width < 5)
638 if ((png_ptr->row_number & 0x07) != 4)
640 if (dsp_row != NULL && (png_ptr->row_number & 4))
648 if ((png_ptr->row_number & 3) || png_ptr->width < 3)
658 if ((png_ptr->row_number & 3) != 2)
660 if (dsp_row != NULL && (png_ptr->row_number & 2))
668 if ((png_ptr->row_number & 1) || png_ptr->width < 2)
678 if (!(png_ptr->row_number & 1))
689 png_error(png_ptr,
"Invalid attempt to read row data");
691 png_ptr->zstream.next_out = png_ptr->row_buf;
692 png_ptr->zstream.avail_out = (
uInt)png_ptr->irowbytes;
695 if (!(png_ptr->zstream.avail_in))
697 while (!png_ptr->idat_size)
702 if (
png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
703 png_error(png_ptr,
"Not enough image data");
705 png_ptr->zstream.avail_in = (
uInt)png_ptr->zbuf_size;
706 png_ptr->zstream.next_in = png_ptr->zbuf;
707 if (png_ptr->zbuf_size > png_ptr->idat_size)
708 png_ptr->zstream.avail_in = (
uInt)png_ptr->idat_size;
711 png_ptr->idat_size -= png_ptr->zstream.avail_in;
716 if (png_ptr->zstream.avail_out || png_ptr->zstream.avail_in ||
718 png_error(png_ptr,
"Extra compressed data");
720 png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
724 png_error(png_ptr, png_ptr->zstream.msg ? png_ptr->zstream.msg :
725 "Decompression error");
727 }
while (png_ptr->zstream.avail_out);
729 png_ptr->row_info.color_type = png_ptr->color_type;
730 png_ptr->row_info.width = png_ptr->iwidth;
731 png_ptr->row_info.channels = png_ptr->channels;
732 png_ptr->row_info.bit_depth = png_ptr->bit_depth;
733 png_ptr->row_info.pixel_depth = png_ptr->pixel_depth;
734 png_ptr->row_info.rowbytes = PNG_ROWBYTES(png_ptr->row_info.pixel_depth,
735 png_ptr->row_info.width);
737 if (png_ptr->row_buf[0])
739 png_ptr->row_buf + 1, png_ptr->prev_row + 1,
740 (
int)(png_ptr->row_buf[0]));
743 png_ptr->rowbytes + 1);
745 #if defined(PNG_MNG_FEATURES_SUPPORTED)
755 if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA))
758 #if defined(PNG_READ_INTERLACING_SUPPORTED)
760 if (png_ptr->interlaced &&
761 (png_ptr->transformations & PNG_INTERLACE))
763 if (png_ptr->pass < 6)
787 if (png_ptr->read_row_fn != NULL)
788 (*(png_ptr->read_row_fn))(png_ptr, png_ptr->row_number, png_ptr->pass);
792 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
826 if (png_ptr == NULL)
return;
829 if (rp != NULL && dp != NULL)
854 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
875 if (png_ptr == NULL)
return;
877 #ifdef PNG_READ_INTERLACING_SUPPORTED
880 if (png_ptr->interlaced)
882 "Cannot read interlaced image -- interlace handler disabled.");
890 for (j = 0; j < pass; j++)
902 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
911 if (png_ptr == NULL)
return;
916 #ifdef PNG_USE_LOCAL_ARRAYS
921 #if defined(PNG_READ_bKGD_SUPPORTED)
924 #if defined(PNG_READ_cHRM_SUPPORTED)
927 #if defined(PNG_READ_gAMA_SUPPORTED)
930 #if defined(PNG_READ_hIST_SUPPORTED)
933 #if defined(PNG_READ_iCCP_SUPPORTED)
936 #if defined(PNG_READ_iTXt_SUPPORTED)
939 #if defined(PNG_READ_oFFs_SUPPORTED)
942 #if defined(PNG_READ_pCAL_SUPPORTED)
945 #if defined(PNG_READ_pHYs_SUPPORTED)
948 #if defined(PNG_READ_sBIT_SUPPORTED)
951 #if defined(PNG_READ_sCAL_SUPPORTED)
954 #if defined(PNG_READ_sPLT_SUPPORTED)
957 #if defined(PNG_READ_sRGB_SUPPORTED)
960 #if defined(PNG_READ_tEXt_SUPPORTED)
963 #if defined(PNG_READ_tIME_SUPPORTED)
966 #if defined(PNG_READ_tRNS_SUPPORTED)
969 #if defined(PNG_READ_zTXt_SUPPORTED)
980 #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
985 if ((
length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT))
986 png_error(png_ptr,
"Too many IDAT's found");
998 if ((
length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT))
999 png_error(png_ptr,
"Too many IDAT's found");
1004 #if defined(PNG_READ_bKGD_SUPPORTED)
1008 #if defined(PNG_READ_cHRM_SUPPORTED)
1012 #if defined(PNG_READ_gAMA_SUPPORTED)
1016 #if defined(PNG_READ_hIST_SUPPORTED)
1020 #if defined(PNG_READ_oFFs_SUPPORTED)
1024 #if defined(PNG_READ_pCAL_SUPPORTED)
1028 #if defined(PNG_READ_sCAL_SUPPORTED)
1032 #if defined(PNG_READ_pHYs_SUPPORTED)
1036 #if defined(PNG_READ_sBIT_SUPPORTED)
1040 #if defined(PNG_READ_sRGB_SUPPORTED)
1044 #if defined(PNG_READ_iCCP_SUPPORTED)
1048 #if defined(PNG_READ_sPLT_SUPPORTED)
1052 #if defined(PNG_READ_tEXt_SUPPORTED)
1056 #if defined(PNG_READ_tIME_SUPPORTED)
1060 #if defined(PNG_READ_tRNS_SUPPORTED)
1064 #if defined(PNG_READ_zTXt_SUPPORTED)
1068 #if defined(PNG_READ_iTXt_SUPPORTED)
1085 #ifdef PNG_USER_MEM_SUPPORTED
1090 png_debug(1,
"in png_destroy_read_struct\n");
1091 if (png_ptr_ptr != NULL)
1092 png_ptr = *png_ptr_ptr;
1093 if (png_ptr == NULL)
1096 #ifdef PNG_USER_MEM_SUPPORTED
1111 #if defined(PNG_TEXT_SUPPORTED)
1115 #ifdef PNG_USER_MEM_SUPPORTED
1124 if (end_info_ptr != NULL)
1126 #if defined(PNG_READ_TEXT_SUPPORTED)
1129 #ifdef PNG_USER_MEM_SUPPORTED
1138 if (png_ptr != NULL)
1140 #ifdef PNG_USER_MEM_SUPPORTED
1146 *png_ptr_ptr = NULL;
1154 #ifdef PNG_SETJMP_SUPPORTED
1160 #ifdef PNG_USER_MEM_SUPPORTED
1168 if (end_info_ptr != NULL)
1172 png_free(png_ptr, png_ptr->big_row_buf);
1173 png_free(png_ptr, png_ptr->prev_row);
1174 png_free(png_ptr, png_ptr->chunkdata);
1175 #if defined(PNG_READ_DITHER_SUPPORTED)
1176 png_free(png_ptr, png_ptr->palette_lookup);
1177 png_free(png_ptr, png_ptr->dither_index);
1179 #if defined(PNG_READ_GAMMA_SUPPORTED)
1180 png_free(png_ptr, png_ptr->gamma_table);
1182 #if defined(PNG_READ_BACKGROUND_SUPPORTED)
1183 png_free(png_ptr, png_ptr->gamma_from_1);
1184 png_free(png_ptr, png_ptr->gamma_to_1);
1186 #ifdef PNG_FREE_ME_SUPPORTED
1191 if (png_ptr->flags & PNG_FLAG_FREE_PLTE)
1193 png_ptr->flags &= ~PNG_FLAG_FREE_PLTE;
1195 #if defined(PNG_tRNS_SUPPORTED) || \
1196 defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
1197 #ifdef PNG_FREE_ME_SUPPORTED
1202 if (png_ptr->flags & PNG_FLAG_FREE_TRNS)
1204 png_ptr->flags &= ~PNG_FLAG_FREE_TRNS;
1207 #if defined(PNG_READ_hIST_SUPPORTED)
1208 #ifdef PNG_FREE_ME_SUPPORTED
1213 if (png_ptr->flags & PNG_FLAG_FREE_HIST)
1215 png_ptr->flags &= ~PNG_FLAG_FREE_HIST;
1218 #if defined(PNG_READ_GAMMA_SUPPORTED)
1219 if (png_ptr->gamma_16_table != NULL)
1222 int istop = (1 << (8 - png_ptr->gamma_shift));
1223 for (
i = 0;
i < istop;
i++)
1225 png_free(png_ptr, png_ptr->gamma_16_table[
i]);
1227 png_free(png_ptr, png_ptr->gamma_16_table);
1229 #if defined(PNG_READ_BACKGROUND_SUPPORTED)
1230 if (png_ptr->gamma_16_from_1 != NULL)
1233 int istop = (1 << (8 - png_ptr->gamma_shift));
1234 for (
i = 0;
i < istop;
i++)
1236 png_free(png_ptr, png_ptr->gamma_16_from_1[
i]);
1238 png_free(png_ptr, png_ptr->gamma_16_from_1);
1240 if (png_ptr->gamma_16_to_1 != NULL)
1243 int istop = (1 << (8 - png_ptr->gamma_shift));
1244 for (
i = 0;
i < istop;
i++)
1246 png_free(png_ptr, png_ptr->gamma_16_to_1[
i]);
1248 png_free(png_ptr, png_ptr->gamma_16_to_1);
1252 #if defined(PNG_TIME_RFC1123_SUPPORTED)
1253 png_free(png_ptr, png_ptr->time_buffer);
1257 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
1258 png_free(png_ptr, png_ptr->save_buffer);
1261 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
1262 #ifdef PNG_TEXT_SUPPORTED
1263 png_free(png_ptr, png_ptr->current_text);
1270 #ifdef PNG_SETJMP_SUPPORTED
1277 #ifdef PNG_USER_MEM_SUPPORTED
1286 #ifdef PNG_USER_MEM_SUPPORTED
1290 #ifdef PNG_SETJMP_SUPPORTED
1299 if (png_ptr == NULL)
return;
1304 #ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED
1305 #if defined(PNG_INFO_IMAGE_SUPPORTED)
1313 if (png_ptr == NULL)
return;
1314 #if defined(PNG_READ_INVERT_ALPHA_SUPPORTED)
1326 png_error(png_ptr,
"Image is too high to process with png_read_png()");
1330 #if defined(PNG_READ_16_TO_8_SUPPORTED)
1337 #if defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
1345 #if defined(PNG_READ_PACK_SUPPORTED) && !defined(PNG_READ_EXPAND_SUPPORTED)
1353 #if defined(PNG_READ_PACKSWAP_SUPPORTED)
1361 #if defined(PNG_READ_EXPAND_SUPPORTED)
1368 if ((png_ptr->bit_depth < 8) ||
1377 #if defined(PNG_READ_INVERT_SUPPORTED)
1384 #if defined(PNG_READ_SHIFT_SUPPORTED)
1399 #if defined(PNG_READ_BGR_SUPPORTED)
1406 #if defined(PNG_READ_SWAP_ALPHA_SUPPORTED)
1413 #if defined(PNG_READ_SWAP_SUPPORTED)
1430 #ifdef PNG_FREE_ME_SUPPORTED
1433 if (
info_ptr->row_pointers == NULL)
1437 #ifdef PNG_FREE_ME_SUPPORTED
png_uint_32 PNGAPI png_get_rowbytes(png_structp png_ptr, png_infop info_ptr)
void png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
#define png_free_ptr_NULL
void PNGAPI png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)
void PNGAPI png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver, png_size_t png_struct_size)
int PNGAPI png_set_interlace_handling(png_structp png_ptr)
void PNGAPI png_set_swap_alpha(png_structp png_ptr)
png_voidp png_create_struct_2(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr)
#define png_debug2(l, m, p1, p2)
void png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
png_voidp png_error_ptr png_error_ptr png_voidp mem_ptr
#define PNG_TRANSFORM_STRIP_ALPHA
void PNGAPI png_set_read_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn)
#define PNG_TRANSFORM_EXPAND
int JSAMPARRAY int int num_rows
png_bytepp png_bytepp display_row
void png_handle_sBIT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#define PNG_TRANSFORM_INVERT_MONO
png_color_8 FAR * png_color_8p
void png_info_destroy(png_structp png_ptr, png_infop info_ptr)
void png_destroy_struct(png_voidp struct_ptr)
void PNGAPI png_set_error_fn(png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)
void png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr)
png_infop png_charp png_int_32 png_int_32 int int png_charp png_charpp * params
void png_combine_row(png_structp png_ptr, png_bytep row, int mask)
voidpf png_zalloc(voidpf png_ptr, uInt items, uInt size)
void PNGAPI png_free_data(png_structp png_ptr, png_infop info_ptr, png_uint_32 mask, int num)
void png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_voidp PNGAPI png_malloc(png_structp png_ptr, png_uint_32 size)
#define inflateInit(strm)
void PNGAPI png_set_invert_alpha(png_structp png_ptr)
void PNGAPI png_set_swap(png_structp png_ptr)
PNG_CONST char FAR * png_const_charp
#define PNG_INTRAPIXEL_DIFFERENCING
#define PNG_USER_HEIGHT_MAX
void PNGAPI png_read_rows(png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows)
void PNGAPI png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
void png_handle_IEND(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_do_read_interlace(png_structp png_ptr)
PNG_CONST char png_libpng_ver[18]
void PNGAPI png_set_packswap(png_structp png_ptr)
png_byte FAR *FAR * png_bytepp
#define png_malloc_ptr_NULL
#define PNG_FLAG_MNG_FILTER_64
void PNGAPI png_read_end(png_structp png_ptr, png_infop info_ptr)
#define PNG_TRANSFORM_PACKSWAP
PNG_CONST int FARDATA png_pass_dsp_mask[]
png_read_status_ptr read_row_fn
PNG_CONST int FARDATA png_pass_mask[]
png_voidp PNGAPI png_memcpy_check(png_structp png_ptr, png_voidp s1, png_voidp s2, png_uint_32 length)
void png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter)
void png_handle_gAMA(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#define PNG_TRANSFORM_STRIP_16
png_voidp png_error_ptr png_error_ptr png_voidp png_malloc_ptr png_free_ptr free_fn
void PNGAPI png_set_strip_alpha(png_structp png_ptr)
int PNGAPI png_sig_cmp(png_bytep sig, png_size_t start, png_size_t num_to_check)
int png_crc_finish(png_structp png_ptr, png_uint_32 skip)
#define PNG_TRANSFORM_INVERT_ALPHA
void PNGAPI png_set_strip_16(png_structp png_ptr)
void png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
int PNGAPI png_handle_as_unknown(png_structp png_ptr, png_bytep chunk_name)
#define PNG_TRANSFORM_PACKING
void PNGAPI png_read_info(png_structp png_ptr, png_infop info_ptr)
void png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void PNGAPI png_warning(png_structp png_ptr, png_const_charp warning_message)
void PNGAPI png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)
void PNGAPI png_read_init(png_structp png_ptr)
png_size_t png_size_t num_to_check
void PNGAPI png_set_invert_mono(png_structp png_ptr)
void png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_struct FAR *FAR * png_structpp
png_struct FAR * png_structp
png_uint_32 PNGAPI png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
void png_handle_bKGD(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_handle_oFFs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_do_read_transformations(png_structp png_ptr)
void png_handle_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#define PNG_TRANSFORM_BGR
void PNGAPI png_set_shift(png_structp png_ptr, png_color_8p true_bits)
void png_read_start_row(png_structp png_ptr)
png_structp PNGAPI png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn)
void PNGAPI png_set_bgr(png_structp png_ptr)
void png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn, png_voidp mem_ptr)
void png_crc_read(png_structp png_ptr, png_bytep buf, png_size_t length)
png_voidp png_error_ptr png_error_ptr warning_fn
void PNGAPI png_start_read_image(png_structp png_ptr)
png_voidp png_error_ptr error_fn
void png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_uint_32 png_read_chunk_header(png_structp png_ptr)
#define PNG_TRANSFORM_SWAP_ALPHA
png_infop png_color_8p * sig_bit
void png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
unsigned long png_uint_32
void png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_info FAR *FAR * png_infopp
png_voidp png_create_struct(int type)
void png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_structp PNGAPI png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)
void png_read_finish_row(png_structp png_ptr)
void PNGAPI png_set_packing(png_structp png_ptr)
void png_handle_sRGB(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#define PNG_TRANSFORM_SWAP_ENDIAN
png_voidp png_error_ptr png_error_ptr png_voidp png_malloc_ptr malloc_fn
png_bytep png_bytep png_size_t length
void png_zfree(voidpf png_ptr, voidpf ptr)
int ZEXPORT inflateEnd(z_streamp strm)
void png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
#define PNG_TRANSFORM_SHIFT
int ZEXPORT inflate(z_streamp strm, int flush)
void PNGAPI png_set_expand(png_structp png_ptr)
void png_handle_tIME(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
void PNGAPI png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size)
void PNGAPI png_error(png_structp png_ptr, png_const_charp error_message)
void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image)
void PNGAPI png_set_read_status_fn(png_structp png_ptr, png_read_status_ptr read_row_fn)
void PNGAPI png_read_png(png_structp png_ptr, png_infop info_ptr, int transforms, voidp params)
void PNGAPI png_free(png_structp png_ptr, png_voidp ptr)
#define PNG_USER_WIDTH_MAX
#define PNG_COLOR_TYPE_PALETTE
png_infopp png_infopp end_info_ptr_ptr
png_uint_32 PNGAPI png_get_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
void PNGAPI png_read_update_info(png_structp png_ptr, png_infop info_ptr)
void png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
png_voidp png_error_ptr png_error_ptr warn_fn
openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:04