• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/amule/wxWidgets-2.8.12/src/png/

Lines Matching defs:png_ptr

36    png_structp png_ptr;
48 png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG,
51 png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG);
53 if (png_ptr == NULL)
58 png_init_mmx_flags(png_ptr); /* 1.2.0 addition */
64 png_ptr->user_width_max=PNG_USER_WIDTH_MAX;
65 png_ptr->user_height_max=PNG_USER_HEIGHT_MAX;
72 if (setjmp(png_ptr->jmpbuf))
75 png_free(png_ptr, png_ptr->zbuf);
76 png_ptr->zbuf=NULL;
78 png_destroy_struct_2((png_voidp)png_ptr,
81 png_destroy_struct((png_voidp)png_ptr);
86 png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
91 png_set_mem_fn(png_ptr, mem_ptr, malloc_fn, free_fn);
94 png_set_error_fn(png_ptr, error_ptr, error_fn, warn_fn);
100 png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
103 if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
120 png_warning(png_ptr, msg);
124 png_warning(png_ptr, msg);
127 png_ptr->flags=0;
129 png_error(png_ptr,
135 png_ptr->zbuf_size = PNG_ZBUF_SIZE;
136 png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
137 (png_uint_32)png_ptr->zbuf_size);
138 png_ptr->zstream.zalloc = png_zalloc;
139 png_ptr->zstream.zfree = png_zfree;
140 png_ptr->zstream.opaque = (voidpf)png_ptr;
142 switch (inflateInit(&png_ptr->zstream))
146 case Z_STREAM_ERROR: png_error(png_ptr, "zlib memory error"); break;
147 case Z_VERSION_ERROR: png_error(png_ptr, "zlib version error"); break;
148 default: png_error(png_ptr, "Unknown zlib error");
151 png_ptr->zstream.next_out = png_ptr->zbuf;
152 png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
154 png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
163 png_memcpy(png_ptr->jmpbuf,jmpbuf,png_sizeof(jmp_buf));
165 if (setjmp(png_ptr->jmpbuf))
169 return (png_ptr);
177 png_read_init(png_structp png_ptr)
180 png_read_init_2(png_ptr, "1.0.6 or earlier", 0, 0);
184 png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver,
193 png_ptr->warning_fn=NULL;
198 png_warning(png_ptr, msg);
202 png_warning(png_ptr, msg);
207 png_ptr->error_fn=NULL;
209 png_ptr->flags=0;
211 png_error(png_ptr,
216 png_ptr->error_fn=NULL;
218 png_ptr->flags=0;
220 png_error(png_ptr,
223 png_read_init_3(&png_ptr, user_png_ver, png_struct_size);
236 png_structp png_ptr=*ptr_ptr;
243 png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH;
245 png_ptr->warning_fn=NULL;
246 png_warning(png_ptr,
257 png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
262 png_destroy_struct(png_ptr);
264 png_ptr = *ptr_ptr;
268 png_memset(png_ptr, 0, png_sizeof (png_struct));
272 png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
277 png_ptr->user_width_max=PNG_USER_WIDTH_MAX;
278 png_ptr->user_height_max=PNG_USER_HEIGHT_MAX;
282 png_ptr->zbuf_size = PNG_ZBUF_SIZE;
283 png_ptr->zbuf = (png_bytep)png_malloc(png_ptr,
284 (png_uint_32)png_ptr->zbuf_size);
285 png_ptr->zstream.zalloc = png_zalloc;
286 png_ptr->zstream.zfree = png_zfree;
287 png_ptr->zstream.opaque = (voidpf)png_ptr;
289 switch (inflateInit(&png_ptr->zstream))
293 case Z_STREAM_ERROR: png_error(png_ptr, "zlib memory"); break;
294 case Z_VERSION_ERROR: png_error(png_ptr, "zlib version"); break;
295 default: png_error(png_ptr, "Unknown zlib error");
298 png_ptr->zstream.next_out = png_ptr->zbuf;
299 png_ptr->zstream.avail_out = (uInt)png_ptr->zbuf_size;
301 png_set_read_fn(png_ptr, png_voidp_NULL, png_rw_ptr_NULL);
314 png_read_info(png_structp png_ptr, png_infop info_ptr)
318 if (png_ptr->sig_bytes < 8)
320 png_size_t num_checked = png_ptr->sig_bytes,
323 png_read_data(png_ptr, &(info_ptr->signature[num_checked]), num_to_check);
324 png_ptr->sig_bytes = 8;
330 png_error(png_ptr, "Not a PNG file");
332 png_error(png_ptr, "PNG file corrupted by ASCII conversion");
335 png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
400 png_read_data(png_ptr, chunk_length, 4);
401 length = png_get_uint_31(png_ptr,chunk_length);
403 png_reset_crc(png_ptr);
404 png_crc_read(png_ptr, png_ptr->chunk_name, 4);
406 png_debug2(0, "Reading %s chunk, length=%lu.\n", png_ptr->chunk_name,
412 if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4))
413 png_handle_IHDR(png_ptr, info_ptr, length);
414 else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
415 png_handle_IEND(png_ptr, info_ptr, length);
417 else if (png_handle_as_unknown(png_ptr, png_ptr->chunk_name))
419 if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
420 png_ptr->mode |= PNG_HAVE_IDAT;
421 png_handle_unknown(png_ptr, info_ptr, length);
422 if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
423 png_ptr->mode |= PNG_HAVE_PLTE;
424 else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
426 if (!(png_ptr->mode & PNG_HAVE_IHDR))
427 png_error(png_ptr, "Missing IHDR before IDAT");
428 else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
429 !(png_ptr->mode & PNG_HAVE_PLTE))
430 png_error(png_ptr, "Missing PLTE before IDAT");
435 else if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
436 png_handle_PLTE(png_ptr, info_ptr, length);
437 else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
439 if (!(png_ptr->mode & PNG_HAVE_IHDR))
440 png_error(png_ptr, "Missing IHDR before IDAT");
441 else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
442 !(png_ptr->mode & PNG_HAVE_PLTE))
443 png_error(png_ptr, "Missing PLTE before IDAT");
445 png_ptr->idat_size = length;
446 png_ptr->mode |= PNG_HAVE_IDAT;
450 else if (!png_memcmp(png_ptr->chunk_name, png_bKGD, 4))
451 png_handle_bKGD(png_ptr, info_ptr, length);
454 else if (!png_memcmp(png_ptr->chunk_name, png_cHRM, 4))
455 png_handle_cHRM(png_ptr, info_ptr, length);
458 else if (!png_memcmp(png_ptr->chunk_name, png_gAMA, 4))
459 png_handle_gAMA(png_ptr, info_ptr, length);
462 else if (!png_memcmp(png_ptr->chunk_name, png_hIST, 4))
463 png_handle_hIST(png_ptr, info_ptr, length);
466 else if (!png_memcmp(png_ptr->chunk_name, png_oFFs, 4))
467 png_handle_oFFs(png_ptr, info_ptr, length);
470 else if (!png_memcmp(png_ptr->chunk_name, png_pCAL, 4))
471 png_handle_pCAL(png_ptr, info_ptr, length);
474 else if (!png_memcmp(png_ptr->chunk_name, png_sCAL, 4))
475 png_handle_sCAL(png_ptr, info_ptr, length);
478 else if (!png_memcmp(png_ptr->chunk_name, png_pHYs, 4))
479 png_handle_pHYs(png_ptr, info_ptr, length);
482 else if (!png_memcmp(png_ptr->chunk_name, png_sBIT, 4))
483 png_handle_sBIT(png_ptr, info_ptr, length);
486 else if (!png_memcmp(png_ptr->chunk_name, png_sRGB, 4))
487 png_handle_sRGB(png_ptr, info_ptr, length);
490 else if (!png_memcmp(png_ptr->chunk_name, png_iCCP, 4))
491 png_handle_iCCP(png_ptr, info_ptr, length);
494 else if (!png_memcmp(png_ptr->chunk_name, png_sPLT, 4))
495 png_handle_sPLT(png_ptr, info_ptr, length);
498 else if (!png_memcmp(png_ptr->chunk_name, png_tEXt, 4))
499 png_handle_tEXt(png_ptr, info_ptr, length);
502 else if (!png_memcmp(png_ptr->chunk_name, png_tIME, 4))
503 png_handle_tIME(png_ptr, info_ptr, length);
506 else if (!png_memcmp(png_ptr->chunk_name, png_tRNS, 4))
507 png_handle_tRNS(png_ptr, info_ptr, length);
510 else if (!png_memcmp(png_ptr->chunk_name, png_zTXt, 4))
511 png_handle_zTXt(png_ptr, info_ptr, length);
514 else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
515 png_handle_iTXt(png_ptr, info_ptr, length);
518 png_handle_unknown(png_ptr, info_ptr, length);
525 png_read_update_info(png_structp png_ptr, png_infop info_ptr)
528 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
529 png_read_start_row(png_ptr);
531 png_warning(png_ptr,
533 png_read_transform_info(png_ptr, info_ptr);
543 png_start_read_image(png_structp png_ptr)
546 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
547 png_read_start_row(png_ptr);
553 png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
562 png_ptr->row_number, png_ptr->pass);
563 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
564 png_read_start_row(png_ptr);
565 if (png_ptr->row_number == 0 && png_ptr->pass == 0)
569 if (png_ptr->transformations & PNG_INVERT_MONO)
570 png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined.");
573 if (png_ptr->transformations & PNG_FILLER)
574 png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined.");
577 if (png_ptr->transformations & PNG_PACKSWAP)
578 png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined.");
581 if (png_ptr->transformations & PNG_PACK)
582 png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined.");
585 if (png_ptr->transformations & PNG_SHIFT)
586 png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined.");
589 if (png_ptr->transformations & PNG_BGR)
590 png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined.");
593 if (png_ptr->transformations & PNG_SWAP_BYTES)
594 png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined.");
600 if (png_ptr->interlaced && (png_ptr->transformations & PNG_INTERLACE))
602 switch (png_ptr->pass)
605 if (png_ptr->row_number & 0x07)
608 png_combine_row(png_ptr, dsp_row,
609 png_pass_dsp_mask[png_ptr->pass]);
610 png_read_finish_row(png_ptr);
615 if ((png_ptr->row_number & 0x07) || png_ptr->width < 5)
618 png_combine_row(png_ptr, dsp_row,
619 png_pass_dsp_mask[png_ptr->pass]);
620 png_read_finish_row(png_ptr);
625 if ((png_ptr->row_number & 0x07) != 4)
627 if (dsp_row != NULL && (png_ptr->row_number & 4))
628 png_combine_row(png_ptr, dsp_row,
629 png_pass_dsp_mask[png_ptr->pass]);
630 png_read_finish_row(png_ptr);
635 if ((png_ptr->row_number & 3) || png_ptr->width < 3)
638 png_combine_row(png_ptr, dsp_row,
639 png_pass_dsp_mask[png_ptr->pass]);
640 png_read_finish_row(png_ptr);
645 if ((png_ptr->row_number & 3) != 2)
647 if (dsp_row != NULL && (png_ptr->row_number & 2))
648 png_combine_row(png_ptr, dsp_row,
649 png_pass_dsp_mask[png_ptr->pass]);
650 png_read_finish_row(png_ptr);
655 if ((png_ptr->row_number & 1) || png_ptr->width < 2)
658 png_combine_row(png_ptr, dsp_row,
659 png_pass_dsp_mask[png_ptr->pass]);
660 png_read_finish_row(png_ptr);
665 if (!(png_ptr->row_number & 1))
667 png_read_finish_row(png_ptr);
675 if (!(png_ptr->mode & PNG_HAVE_IDAT))
676 png_error(png_ptr, "Invalid attempt to read row data");
678 png_ptr->zstream.next_out = png_ptr->row_buf;
679 png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
682 if (!(png_ptr->zstream.avail_in))
684 while (!png_ptr->idat_size)
688 png_crc_finish(png_ptr, 0);
690 png_read_data(png_ptr, chunk_length, 4);
691 png_ptr->idat_size = png_get_uint_31(png_ptr,chunk_length);
693 png_reset_crc(png_ptr);
694 png_crc_read(png_ptr, png_ptr->chunk_name, 4);
695 if (png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
696 png_error(png_ptr, "Not enough image data");
698 png_ptr->zstream.avail_in = (uInt)png_ptr->zbuf_size;
699 png_ptr->zstream.next_in = png_ptr->zbuf;
700 if (png_ptr->zbuf_size > png_ptr->idat_size)
701 png_ptr->zstream.avail_in = (uInt)png_ptr->idat_size;
702 png_crc_read(png_ptr, png_ptr->zbuf,
703 (png_size_t)png_ptr->zstream.avail_in);
704 png_ptr->idat_size -= png_ptr->zstream.avail_in;
706 ret = inflate(&png_ptr->zstream, Z_PARTIAL_FLUSH);
709 if (png_ptr->zstream.avail_out || png_ptr->zstream.avail_in ||
710 png_ptr->idat_size)
711 png_error(png_ptr, "Extra compressed data");
712 png_ptr->mode |= PNG_AFTER_IDAT;
713 png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
717 png_error(png_ptr, png_ptr->zstream.msg ? png_ptr->zstream.msg :
720 } while (png_ptr->zstream.avail_out);
722 png_ptr->row_info.color_type = png_ptr->color_type;
723 png_ptr->row_info.width = png_ptr->iwidth;
724 png_ptr->row_info.channels = png_ptr->channels;
725 png_ptr->row_info.bit_depth = png_ptr->bit_depth;
726 png_ptr->row_info.pixel_depth = png_ptr->pixel_depth;
727 png_ptr->row_info.rowbytes = PNG_ROWBYTES(png_ptr->row_info.pixel_depth,
728 png_ptr->row_info.width);
730 if(png_ptr->row_buf[0])
731 png_read_filter_row(png_ptr, &(png_ptr->row_info),
732 png_ptr->row_buf + 1, png_ptr->prev_row + 1,
733 (int)(png_ptr->row_buf[0]));
735 png_memcpy_check(png_ptr, png_ptr->prev_row, png_ptr->row_buf,
736 png_ptr->rowbytes + 1);
739 if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
740 (png_ptr->filter_type == PNG_INTRAPIXEL_DIFFERENCING))
743 png_do_read_intrapixel(&(png_ptr->row_info), png_ptr->row_buf + 1);
747 if (png_ptr->transformations)
748 png_do_read_transformations(png_ptr);
752 if (png_ptr->interlaced &&
753 (png_ptr->transformations & PNG_INTERLACE))
755 if (png_ptr->pass < 6)
757 png_do_read_interlace(&(png_ptr->row_info),
758 png_ptr->row_buf + 1, png_ptr->pass, png_ptr->transformations);
760 png_do_read_interlace(png_ptr);
763 png_combine_row(png_ptr, dsp_row,
764 png_pass_dsp_mask[png_ptr->pass]);
766 png_combine_row(png_ptr, row,
767 png_pass_mask[png_ptr->pass]);
773 png_combine_row(png_ptr, row, 0xff);
775 png_combine_row(png_ptr, dsp_row, 0xff);
777 png_read_finish_row(png_ptr);
779 if (png_ptr->read_row_fn != NULL)
780 (*(png_ptr->read_row_fn))(png_ptr, png_ptr->row_number, png_ptr->pass);
810 png_read_rows(png_structp png_ptr, png_bytepp row,
826 png_read_row(png_ptr, rptr, dptr);
832 png_read_row(png_ptr, rptr, png_bytep_NULL);
839 png_read_row(png_ptr, png_bytep_NULL, dptr);
859 png_read_image(png_structp png_ptr, png_bytepp image)
868 pass = png_set_interlace_handling(png_ptr);
870 if (png_ptr->interlaced)
871 png_error(png_ptr,
877 image_height=png_ptr->height;
878 png_ptr->num_rows = image_height; /* Make sure this is set correctly */
885 png_read_row(png_ptr, *rp, png_bytep_NULL);
898 png_read_end(png_structp png_ptr, png_infop info_ptr)
904 png_crc_finish(png_ptr, 0); /* Finish off CRC from last IDAT chunk */
966 png_read_data(png_ptr, chunk_length, 4);
967 length = png_get_uint_31(png_ptr,chunk_length);
969 png_reset_crc(png_ptr);
970 png_crc_read(png_ptr, png_ptr->chunk_name, 4);
972 png_debug1(0, "Reading %s chunk.\n", png_ptr->chunk_name);
974 if (!png_memcmp(png_ptr->chunk_name, png_IHDR, 4))
975 png_handle_IHDR(png_ptr, info_ptr, length);
976 else if (!png_memcmp(png_ptr->chunk_name, png_IEND, 4))
977 png_handle_IEND(png_ptr, info_ptr, length);
979 else if (png_handle_as_unknown(png_ptr, png_ptr->chunk_name))
981 if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
983 if (length > 0 || png_ptr->mode & PNG_AFTER_IDAT)
984 png_error(png_ptr, "Too many IDAT's found");
987 png_ptr->mode |= PNG_AFTER_IDAT;
988 png_handle_unknown(png_ptr, info_ptr, length);
989 if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
990 png_ptr->mode |= PNG_HAVE_PLTE;
993 else if (!png_memcmp(png_ptr->chunk_name, png_IDAT, 4))
998 if (length > 0 || png_ptr->mode & PNG_AFTER_IDAT)
999 png_error(png_ptr, "Too many IDAT's found");
1000 png_crc_finish(png_ptr, length);
1002 else if (!png_memcmp(png_ptr->chunk_name, png_PLTE, 4))
1003 png_handle_PLTE(png_ptr, info_ptr, length);
1005 else if (!png_memcmp(png_ptr->chunk_name, png_bKGD, 4))
1006 png_handle_bKGD(png_ptr, info_ptr, length);
1009 else if (!png_memcmp(png_ptr->chunk_name, png_cHRM, 4))
1010 png_handle_cHRM(png_ptr, info_ptr, length);
1013 else if (!png_memcmp(png_ptr->chunk_name, png_gAMA, 4))
1014 png_handle_gAMA(png_ptr, info_ptr, length);
1017 else if (!png_memcmp(png_ptr->chunk_name, png_hIST, 4))
1018 png_handle_hIST(png_ptr, info_ptr, length);
1021 else if (!png_memcmp(png_ptr->chunk_name, png_oFFs, 4))
1022 png_handle_oFFs(png_ptr, info_ptr, length);
1025 else if (!png_memcmp(png_ptr->chunk_name, png_pCAL, 4))
1026 png_handle_pCAL(png_ptr, info_ptr, length);
1029 else if (!png_memcmp(png_ptr->chunk_name, png_sCAL, 4))
1030 png_handle_sCAL(png_ptr, info_ptr, length);
1033 else if (!png_memcmp(png_ptr->chunk_name, png_pHYs, 4))
1034 png_handle_pHYs(png_ptr, info_ptr, length);
1037 else if (!png_memcmp(png_ptr->chunk_name, png_sBIT, 4))
1038 png_handle_sBIT(png_ptr, info_ptr, length);
1041 else if (!png_memcmp(png_ptr->chunk_name, png_sRGB, 4))
1042 png_handle_sRGB(png_ptr, info_ptr, length);
1045 else if (!png_memcmp(png_ptr->chunk_name, png_iCCP, 4))
1046 png_handle_iCCP(png_ptr, info_ptr, length);
1049 else if (!png_memcmp(png_ptr->chunk_name, png_sPLT, 4))
1050 png_handle_sPLT(png_ptr, info_ptr, length);
1053 else if (!png_memcmp(png_ptr->chunk_name, png_tEXt, 4))
1054 png_handle_tEXt(png_ptr, info_ptr, length);
1057 else if (!png_memcmp(png_ptr->chunk_name, png_tIME, 4))
1058 png_handle_tIME(png_ptr, info_ptr, length);
1061 else if (!png_memcmp(png_ptr->chunk_name, png_tRNS, 4))
1062 png_handle_tRNS(png_ptr, info_ptr, length);
1065 else if (!png_memcmp(png_ptr->chunk_name, png_zTXt, 4))
1066 png_handle_zTXt(png_ptr, info_ptr, length);
1069 else if (!png_memcmp(png_ptr->chunk_name, png_iTXt, 4))
1070 png_handle_iTXt(png_ptr, info_ptr, length);
1073 png_handle_unknown(png_ptr, info_ptr, length);
1074 } while (!(png_ptr->mode & PNG_HAVE_IEND));
1083 png_structp png_ptr = NULL;
1092 png_ptr = *png_ptr_ptr;
1101 free_fn = png_ptr->free_fn;
1102 mem_ptr = png_ptr->mem_ptr;
1105 png_read_destroy(png_ptr, info_ptr, end_info_ptr);
1110 png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, -1);
1125 png_free_data(png_ptr, end_info_ptr, PNG_FREE_TEXT, -1);
1136 if (png_ptr != NULL)
1139 png_destroy_struct_2((png_voidp)png_ptr, (png_free_ptr)free_fn,
1142 png_destroy_struct((png_voidp)png_ptr);
1150 png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr)
1164 png_info_destroy(png_ptr, info_ptr);
1167 png_info_destroy(png_ptr, end_info_ptr);
1169 png_free(png_ptr, png_ptr->zbuf);
1170 png_free(png_ptr, png_ptr->big_row_buf);
1171 png_free(png_ptr, png_ptr->prev_row);
1173 png_free(png_ptr, png_ptr->palette_lookup);
1174 png_free(png_ptr, png_ptr->dither_index);
1177 png_free(png_ptr, png_ptr->gamma_table);
1180 png_free(png_ptr, png_ptr->gamma_from_1);
1181 png_free(png_ptr, png_ptr->gamma_to_1);
1184 if (png_ptr->free_me & PNG_FREE_PLTE)
1185 png_zfree(png_ptr, png_ptr->palette);
1186 png_ptr->free_me &= ~PNG_FREE_PLTE;
1188 if (png_ptr->flags & PNG_FLAG_FREE_PLTE)
1189 png_zfree(png_ptr, png_ptr->palette);
1190 png_ptr->flags &= ~PNG_FLAG_FREE_PLTE;
1195 if (png_ptr->free_me & PNG_FREE_TRNS)
1196 png_free(png_ptr, png_ptr->trans);
1197 png_ptr->free_me &= ~PNG_FREE_TRNS;
1199 if (png_ptr->flags & PNG_FLAG_FREE_TRNS)
1200 png_free(png_ptr, png_ptr->trans);
1201 png_ptr->flags &= ~PNG_FLAG_FREE_TRNS;
1206 if (png_ptr->free_me & PNG_FREE_HIST)
1207 png_free(png_ptr, png_ptr->hist);
1208 png_ptr->free_me &= ~PNG_FREE_HIST;
1210 if (png_ptr->flags & PNG_FLAG_FREE_HIST)
1211 png_free(png_ptr, png_ptr->hist);
1212 png_ptr->flags &= ~PNG_FLAG_FREE_HIST;
1216 if (png_ptr->gamma_16_table != NULL)
1219 int istop = (1 << (8 - png_ptr->gamma_shift));
1222 png_free(png_ptr, png_ptr->gamma_16_table[i]);
1224 png_free(png_ptr, png_ptr->gamma_16_table);
1227 if (png_ptr->gamma_16_from_1 != NULL)
1230 int istop = (1 << (8 - png_ptr->gamma_shift));
1233 png_free(png_ptr, png_ptr->gamma_16_from_1[i]);
1235 png_free(png_ptr, png_ptr->gamma_16_from_1);
1237 if (png_ptr->gamma_16_to_1 != NULL)
1240 int istop = (1 << (8 - png_ptr->gamma_shift));
1243 png_free(png_ptr, png_ptr->gamma_16_to_1[i]);
1245 png_free(png_ptr, png_ptr->gamma_16_to_1);
1250 png_free(png_ptr, png_ptr->time_buffer);
1253 inflateEnd(&png_ptr->zstream);
1255 png_free(png_ptr, png_ptr->save_buffer);
1260 png_free(png_ptr, png_ptr->current_text);
1268 png_memcpy(tmp_jmp, png_ptr->jmpbuf, png_sizeof (jmp_buf));
1271 error_fn = png_ptr->error_fn;
1272 warning_fn = png_ptr->warning_fn;
1273 error_ptr = png_ptr->error_ptr;
1275 free_fn = png_ptr->free_fn;
1278 png_memset(png_ptr, 0, png_sizeof (png_struct));
1280 png_ptr->error_fn = error_fn;
1281 png_ptr->warning_fn = warning_fn;
1282 png_ptr->error_ptr = error_ptr;
1284 png_ptr->free_fn = free_fn;
1288 png_memcpy(png_ptr->jmpbuf, tmp_jmp, png_sizeof (jmp_buf));
1294 png_set_read_status_fn(png_structp png_ptr, png_read_status_ptr read_row_fn)
1296 png_ptr->read_row_fn = read_row_fn;
1303 png_read_png(png_structp png_ptr, png_infop info_ptr,
1313 png_set_invert_alpha(png_ptr);
1319 png_read_info(png_ptr, info_ptr);
1321 png_error(png_ptr,"Image is too high to process with png_read_png()");
1329 png_set_strip_16(png_ptr);
1337 png_set_strip_alpha(png_ptr);
1345 png_set_packing(png_ptr);
1353 png_set_packswap(png_ptr);
1363 if ((png_ptr->bit_depth < 8) ||
1364 (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ||
1365 (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)))
1366 png_set_expand(png_ptr);
1376 png_set_invert_mono(png_ptr);
1385 && png_get_valid(png_ptr, info_ptr, PNG_INFO_sBIT))
1389 png_get_sBIT(png_ptr, info_ptr, &sig_bit);
1390 png_set_shift(png_ptr, sig_bit);
1398 png_set_bgr(png_ptr);
1405 png_set_swap_alpha(png_ptr);
1412 png_set_swap(png_ptr);
1421 png_read_update_info(png_ptr, info_ptr);
1426 png_free_data(png_ptr, info_ptr, PNG_FREE_ROWS, 0);
1430 info_ptr->row_pointers = (png_bytepp)png_malloc(png_ptr,
1437 info_ptr->row_pointers[row] = (png_bytep)png_malloc(png_ptr,
1438 png_get_rowbytes(png_ptr, info_ptr));
1442 png_read_image(png_ptr, info_ptr->row_pointers);
1446 png_read_end(png_ptr, info_ptr);