Lines Matching refs:png_ptr
30 png_structp png_ptr = png_create_png_struct(user_png_ver, error_ptr, variable
45 png_structp png_ptr = png_create_png_struct(user_png_ver, error_ptr,
49 if (png_ptr != NULL)
51 png_ptr->mode = PNG_IS_READ_STRUCT;
57 png_ptr->IDAT_read_size = PNG_IDAT_READ_SIZE;
61 png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN;
67 png_ptr->flags |= PNG_FLAG_APP_WARNINGS_WARN;
75 png_set_read_fn(png_ptr, NULL, NULL);
78 return png_ptr;
92 png_read_info(png_structrp png_ptr, png_inforp info_ptr) in png_read_info() argument
100 if (png_ptr == NULL || info_ptr == NULL) in png_read_info()
104 png_read_sig(png_ptr, info_ptr); in png_read_info()
108 png_uint_32 length = png_read_chunk_header(png_ptr); in png_read_info()
109 png_uint_32 chunk_name = png_ptr->chunk_name; in png_read_info()
116 if ((png_ptr->mode & PNG_HAVE_IHDR) == 0) in png_read_info()
117 png_chunk_error(png_ptr, "Missing IHDR before IDAT"); in png_read_info()
119 else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE && in png_read_info()
120 (png_ptr->mode & PNG_HAVE_PLTE) == 0) in png_read_info()
121 png_chunk_error(png_ptr, "Missing PLTE before IDAT"); in png_read_info()
123 else if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) in png_read_info()
124 png_chunk_benign_error(png_ptr, "Too many IDATs found"); in png_read_info()
126 png_ptr->mode |= PNG_HAVE_IDAT; in png_read_info()
129 else if ((png_ptr->mode & PNG_HAVE_IDAT) != 0) in png_read_info()
131 png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT; in png_read_info()
132 png_ptr->mode |= PNG_AFTER_IDAT; in png_read_info()
139 png_handle_IHDR(png_ptr, info_ptr, length); in png_read_info()
142 png_handle_IEND(png_ptr, info_ptr, length); in png_read_info()
145 else if ((keep = png_chunk_unknown_handling(png_ptr, chunk_name)) != 0) in png_read_info()
147 png_handle_unknown(png_ptr, info_ptr, length, keep); in png_read_info()
150 png_ptr->mode |= PNG_HAVE_PLTE; in png_read_info()
154 png_ptr->idat_size = 0; /* It has been consumed */ in png_read_info()
160 png_handle_PLTE(png_ptr, info_ptr, length); in png_read_info()
164 png_ptr->idat_size = length; in png_read_info()
170 png_handle_bKGD(png_ptr, info_ptr, length); in png_read_info()
175 png_handle_cHRM(png_ptr, info_ptr, length); in png_read_info()
180 png_handle_eXIf(png_ptr, info_ptr, length); in png_read_info()
185 png_handle_gAMA(png_ptr, info_ptr, length); in png_read_info()
190 png_handle_hIST(png_ptr, info_ptr, length); in png_read_info()
195 png_handle_oFFs(png_ptr, info_ptr, length); in png_read_info()
200 png_handle_pCAL(png_ptr, info_ptr, length); in png_read_info()
205 png_handle_sCAL(png_ptr, info_ptr, length); in png_read_info()
210 png_handle_pHYs(png_ptr, info_ptr, length); in png_read_info()
215 png_handle_sBIT(png_ptr, info_ptr, length); in png_read_info()
220 png_handle_sRGB(png_ptr, info_ptr, length); in png_read_info()
225 png_handle_iCCP(png_ptr, info_ptr, length); in png_read_info()
230 png_handle_sPLT(png_ptr, info_ptr, length); in png_read_info()
235 png_handle_tEXt(png_ptr, info_ptr, length); in png_read_info()
240 png_handle_tIME(png_ptr, info_ptr, length); in png_read_info()
245 png_handle_tRNS(png_ptr, info_ptr, length); in png_read_info()
250 png_handle_zTXt(png_ptr, info_ptr, length); in png_read_info()
255 png_handle_iTXt(png_ptr, info_ptr, length); in png_read_info()
259 png_handle_unknown(png_ptr, info_ptr, length, in png_read_info()
267 png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) in png_read_update_info() argument
271 if (png_ptr != NULL) in png_read_update_info()
273 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_read_update_info()
275 png_read_start_row(png_ptr); in png_read_update_info()
278 png_read_transform_info(png_ptr, info_ptr); in png_read_update_info()
286 png_app_error(png_ptr, in png_read_update_info()
298 png_start_read_image(png_structrp png_ptr) in png_start_read_image() argument
302 if (png_ptr != NULL) in png_start_read_image()
304 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_start_read_image()
305 png_read_start_row(png_ptr); in png_start_read_image()
309 png_app_error(png_ptr, in png_start_read_image()
383 png_read_row(png_structrp png_ptr, png_bytep row, png_bytep dsp_row) in png_read_row() argument
387 if (png_ptr == NULL) in png_read_row()
391 (unsigned long)png_ptr->row_number, png_ptr->pass); in png_read_row()
396 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_read_row()
397 png_read_start_row(png_ptr); in png_read_row()
400 row_info.width = png_ptr->iwidth; /* NOTE: width of current interlaced row */ in png_read_row()
401 row_info.color_type = png_ptr->color_type; in png_read_row()
402 row_info.bit_depth = png_ptr->bit_depth; in png_read_row()
403 row_info.channels = png_ptr->channels; in png_read_row()
404 row_info.pixel_depth = png_ptr->pixel_depth; in png_read_row()
408 if (png_ptr->row_number == 0 && png_ptr->pass == 0) in png_read_row()
412 if ((png_ptr->transformations & PNG_INVERT_MONO) != 0) in png_read_row()
413 png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined"); in png_read_row()
417 if ((png_ptr->transformations & PNG_FILLER) != 0) in png_read_row()
418 png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined"); in png_read_row()
423 if ((png_ptr->transformations & PNG_PACKSWAP) != 0) in png_read_row()
424 png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined"); in png_read_row()
428 if ((png_ptr->transformations & PNG_PACK) != 0) in png_read_row()
429 png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined"); in png_read_row()
433 if ((png_ptr->transformations & PNG_SHIFT) != 0) in png_read_row()
434 png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined"); in png_read_row()
438 if ((png_ptr->transformations & PNG_BGR) != 0) in png_read_row()
439 png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined"); in png_read_row()
443 if ((png_ptr->transformations & PNG_SWAP_BYTES) != 0) in png_read_row()
444 png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined"); in png_read_row()
456 if (png_ptr->interlaced != 0 && in png_read_row()
457 (png_ptr->transformations & PNG_INTERLACE) != 0) in png_read_row()
459 switch (png_ptr->pass) in png_read_row()
462 if (png_ptr->row_number & 0x07) in png_read_row()
465 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
466 png_read_finish_row(png_ptr); in png_read_row()
472 if ((png_ptr->row_number & 0x07) || png_ptr->width < 5) in png_read_row()
475 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
477 png_read_finish_row(png_ptr); in png_read_row()
483 if ((png_ptr->row_number & 0x07) != 4) in png_read_row()
485 if (dsp_row != NULL && (png_ptr->row_number & 4)) in png_read_row()
486 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
488 png_read_finish_row(png_ptr); in png_read_row()
494 if ((png_ptr->row_number & 3) || png_ptr->width < 3) in png_read_row()
497 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
499 png_read_finish_row(png_ptr); in png_read_row()
505 if ((png_ptr->row_number & 3) != 2) in png_read_row()
507 if (dsp_row != NULL && (png_ptr->row_number & 2)) in png_read_row()
508 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
510 png_read_finish_row(png_ptr); in png_read_row()
516 if ((png_ptr->row_number & 1) || png_ptr->width < 2) in png_read_row()
519 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
521 png_read_finish_row(png_ptr); in png_read_row()
528 if ((png_ptr->row_number & 1) == 0) in png_read_row()
530 png_read_finish_row(png_ptr); in png_read_row()
538 if ((png_ptr->mode & PNG_HAVE_IDAT) == 0) in png_read_row()
539 png_error(png_ptr, "Invalid attempt to read row data"); in png_read_row()
542 png_ptr->row_buf[0]=255; /* to force error if no data was found */ in png_read_row()
543 png_read_IDAT_data(png_ptr, png_ptr->row_buf, row_info.rowbytes + 1); in png_read_row()
545 if (png_ptr->row_buf[0] > PNG_FILTER_VALUE_NONE) in png_read_row()
547 if (png_ptr->row_buf[0] < PNG_FILTER_VALUE_LAST) in png_read_row()
548 png_read_filter_row(png_ptr, &row_info, png_ptr->row_buf + 1, in png_read_row()
549 png_ptr->prev_row + 1, png_ptr->row_buf[0]); in png_read_row()
551 png_error(png_ptr, "bad adaptive filter value"); in png_read_row()
559 memcpy(png_ptr->prev_row, png_ptr->row_buf, row_info.rowbytes + 1); in png_read_row()
562 if ((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) != 0 && in png_read_row()
563 (png_ptr->filter_type == PNG_INTRAPIXEL_DIFFERENCING)) in png_read_row()
566 png_do_read_intrapixel(&row_info, png_ptr->row_buf + 1); in png_read_row()
571 if (png_ptr->transformations) in png_read_row()
572 png_do_read_transformations(png_ptr, &row_info); in png_read_row()
576 if (png_ptr->transformed_pixel_depth == 0) in png_read_row()
578 png_ptr->transformed_pixel_depth = row_info.pixel_depth; in png_read_row()
579 if (row_info.pixel_depth > png_ptr->maximum_pixel_depth) in png_read_row()
580 png_error(png_ptr, "sequential row overflow"); in png_read_row()
583 else if (png_ptr->transformed_pixel_depth != row_info.pixel_depth) in png_read_row()
584 png_error(png_ptr, "internal sequential row size calculation error"); in png_read_row()
588 if (png_ptr->interlaced != 0 && in png_read_row()
589 (png_ptr->transformations & PNG_INTERLACE) != 0) in png_read_row()
591 if (png_ptr->pass < 6) in png_read_row()
592 png_do_read_interlace(&row_info, png_ptr->row_buf + 1, png_ptr->pass, in png_read_row()
593 png_ptr->transformations); in png_read_row()
596 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
599 png_combine_row(png_ptr, row, 0/*row*/); in png_read_row()
606 png_combine_row(png_ptr, row, -1/*ignored*/); in png_read_row()
609 png_combine_row(png_ptr, dsp_row, -1/*ignored*/); in png_read_row()
611 png_read_finish_row(png_ptr); in png_read_row()
613 if (png_ptr->read_row_fn != NULL) in png_read_row()
614 (*(png_ptr->read_row_fn))(png_ptr, png_ptr->row_number, png_ptr->pass); in png_read_row()
645 png_read_rows(png_structrp png_ptr, png_bytepp row, in png_read_rows() argument
654 if (png_ptr == NULL) in png_read_rows()
665 png_read_row(png_ptr, rptr, dptr); in png_read_rows()
672 png_read_row(png_ptr, rptr, NULL); in png_read_rows()
680 png_read_row(png_ptr, NULL, dptr); in png_read_rows()
700 png_read_image(png_structrp png_ptr, png_bytepp image) in png_read_image() argument
708 if (png_ptr == NULL) in png_read_image()
712 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_read_image()
714 pass = png_set_interlace_handling(png_ptr); in png_read_image()
716 png_start_read_image(png_ptr); in png_read_image()
720 if (png_ptr->interlaced != 0 && in png_read_image()
721 (png_ptr->transformations & PNG_INTERLACE) == 0) in png_read_image()
727 png_warning(png_ptr, "Interlace handling should be turned on when " in png_read_image()
730 png_ptr->num_rows = png_ptr->height; in png_read_image()
736 pass = png_set_interlace_handling(png_ptr); in png_read_image()
739 if (png_ptr->interlaced) in png_read_image()
740 png_error(png_ptr, in png_read_image()
746 image_height=png_ptr->height; in png_read_image()
753 png_read_row(png_ptr, *rp, NULL); in png_read_image()
766 png_read_end(png_structrp png_ptr, png_inforp info_ptr) in png_read_end() argument
774 if (png_ptr == NULL) in png_read_end()
781 if (png_chunk_unknown_handling(png_ptr, png_IDAT) == 0) in png_read_end()
783 png_read_finish_IDAT(png_ptr); in png_read_end()
787 if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE && in png_read_end()
788 png_ptr->num_palette_max > png_ptr->num_palette) in png_read_end()
789 png_benign_error(png_ptr, "Read palette index exceeding num_palette"); in png_read_end()
794 png_uint_32 length = png_read_chunk_header(png_ptr); in png_read_end()
795 png_uint_32 chunk_name = png_ptr->chunk_name; in png_read_end()
798 png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT; in png_read_end()
801 png_handle_IEND(png_ptr, info_ptr, length); in png_read_end()
804 png_handle_IHDR(png_ptr, info_ptr, length); in png_read_end()
807 png_crc_finish(png_ptr, length); in png_read_end()
810 else if ((keep = png_chunk_unknown_handling(png_ptr, chunk_name)) != 0) in png_read_end()
814 if ((length > 0 && !(png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)) in png_read_end()
815 || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT) != 0) in png_read_end()
816 png_benign_error(png_ptr, ".Too many IDATs found"); in png_read_end()
818 png_handle_unknown(png_ptr, info_ptr, length, keep); in png_read_end()
820 png_ptr->mode |= PNG_HAVE_PLTE; in png_read_end()
832 if ((length > 0 && !(png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)) in png_read_end()
833 || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT) != 0) in png_read_end()
834 png_benign_error(png_ptr, "..Too many IDATs found"); in png_read_end()
836 png_crc_finish(png_ptr, length); in png_read_end()
839 png_handle_PLTE(png_ptr, info_ptr, length); in png_read_end()
843 png_handle_bKGD(png_ptr, info_ptr, length); in png_read_end()
848 png_handle_cHRM(png_ptr, info_ptr, length); in png_read_end()
853 png_handle_eXIf(png_ptr, info_ptr, length); in png_read_end()
858 png_handle_gAMA(png_ptr, info_ptr, length); in png_read_end()
863 png_handle_hIST(png_ptr, info_ptr, length); in png_read_end()
868 png_handle_oFFs(png_ptr, info_ptr, length); in png_read_end()
873 png_handle_pCAL(png_ptr, info_ptr, length); in png_read_end()
878 png_handle_sCAL(png_ptr, info_ptr, length); in png_read_end()
883 png_handle_pHYs(png_ptr, info_ptr, length); in png_read_end()
888 png_handle_sBIT(png_ptr, info_ptr, length); in png_read_end()
893 png_handle_sRGB(png_ptr, info_ptr, length); in png_read_end()
898 png_handle_iCCP(png_ptr, info_ptr, length); in png_read_end()
903 png_handle_sPLT(png_ptr, info_ptr, length); in png_read_end()
908 png_handle_tEXt(png_ptr, info_ptr, length); in png_read_end()
913 png_handle_tIME(png_ptr, info_ptr, length); in png_read_end()
918 png_handle_tRNS(png_ptr, info_ptr, length); in png_read_end()
923 png_handle_zTXt(png_ptr, info_ptr, length); in png_read_end()
928 png_handle_iTXt(png_ptr, info_ptr, length); in png_read_end()
932 png_handle_unknown(png_ptr, info_ptr, length, in png_read_end()
934 } while ((png_ptr->mode & PNG_HAVE_IEND) == 0); in png_read_end()
940 png_read_destroy(png_structrp png_ptr) in png_read_destroy() argument
945 png_destroy_gamma_table(png_ptr); in png_read_destroy()
948 png_free(png_ptr, png_ptr->big_row_buf); in png_read_destroy()
949 png_ptr->big_row_buf = NULL; in png_read_destroy()
950 png_free(png_ptr, png_ptr->big_prev_row); in png_read_destroy()
951 png_ptr->big_prev_row = NULL; in png_read_destroy()
952 png_free(png_ptr, png_ptr->read_buffer); in png_read_destroy()
953 png_ptr->read_buffer = NULL; in png_read_destroy()
956 png_free(png_ptr, png_ptr->palette_lookup); in png_read_destroy()
957 png_ptr->palette_lookup = NULL; in png_read_destroy()
958 png_free(png_ptr, png_ptr->quantize_index); in png_read_destroy()
959 png_ptr->quantize_index = NULL; in png_read_destroy()
962 if ((png_ptr->free_me & PNG_FREE_PLTE) != 0) in png_read_destroy()
964 png_zfree(png_ptr, png_ptr->palette); in png_read_destroy()
965 png_ptr->palette = NULL; in png_read_destroy()
967 png_ptr->free_me &= ~PNG_FREE_PLTE; in png_read_destroy()
971 if ((png_ptr->free_me & PNG_FREE_TRNS) != 0) in png_read_destroy()
973 png_free(png_ptr, png_ptr->trans_alpha); in png_read_destroy()
974 png_ptr->trans_alpha = NULL; in png_read_destroy()
976 png_ptr->free_me &= ~PNG_FREE_TRNS; in png_read_destroy()
979 inflateEnd(&png_ptr->zstream); in png_read_destroy()
982 png_free(png_ptr, png_ptr->save_buffer); in png_read_destroy()
983 png_ptr->save_buffer = NULL; in png_read_destroy()
988 png_free(png_ptr, png_ptr->unknown_chunk.data); in png_read_destroy()
989 png_ptr->unknown_chunk.data = NULL; in png_read_destroy()
993 png_free(png_ptr, png_ptr->chunk_list); in png_read_destroy()
994 png_ptr->chunk_list = NULL; in png_read_destroy()
999 png_free(png_ptr, png_ptr->riffled_palette); in png_read_destroy()
1000 png_ptr->riffled_palette = NULL; in png_read_destroy()
1014 png_structrp png_ptr = NULL; in png_destroy_read_struct() local
1019 png_ptr = *png_ptr_ptr; in png_destroy_read_struct()
1021 if (png_ptr == NULL) in png_destroy_read_struct()
1028 png_destroy_info_struct(png_ptr, end_info_ptr_ptr); in png_destroy_read_struct()
1029 png_destroy_info_struct(png_ptr, info_ptr_ptr); in png_destroy_read_struct()
1032 png_read_destroy(png_ptr); in png_destroy_read_struct()
1033 png_destroy_png_struct(png_ptr); in png_destroy_read_struct()
1037 png_set_read_status_fn(png_structrp png_ptr, png_read_status_ptr read_row_fn) in png_set_read_status_fn() argument
1039 if (png_ptr == NULL) in png_set_read_status_fn()
1042 png_ptr->read_row_fn = read_row_fn; in png_set_read_status_fn()
1049 png_read_png(png_structrp png_ptr, png_inforp info_ptr, in png_read_png() argument
1052 if (png_ptr == NULL || info_ptr == NULL) in png_read_png()
1058 png_read_info(png_ptr, info_ptr); in png_read_png()
1060 png_error(png_ptr, "Image is too high to process with png_read_png()"); in png_read_png()
1076 png_set_scale_16(png_ptr); in png_read_png()
1078 png_app_error(png_ptr, "PNG_TRANSFORM_SCALE_16 not supported"); in png_read_png()
1087 png_set_strip_16(png_ptr); in png_read_png()
1089 png_app_error(png_ptr, "PNG_TRANSFORM_STRIP_16 not supported"); in png_read_png()
1097 png_set_strip_alpha(png_ptr); in png_read_png()
1099 png_app_error(png_ptr, "PNG_TRANSFORM_STRIP_ALPHA not supported"); in png_read_png()
1107 png_set_packing(png_ptr); in png_read_png()
1109 png_app_error(png_ptr, "PNG_TRANSFORM_PACKING not supported"); in png_read_png()
1117 png_set_packswap(png_ptr); in png_read_png()
1119 png_app_error(png_ptr, "PNG_TRANSFORM_PACKSWAP not supported"); in png_read_png()
1129 png_set_expand(png_ptr); in png_read_png()
1131 png_app_error(png_ptr, "PNG_TRANSFORM_EXPAND not supported"); in png_read_png()
1141 png_set_invert_mono(png_ptr); in png_read_png()
1143 png_app_error(png_ptr, "PNG_TRANSFORM_INVERT_MONO not supported"); in png_read_png()
1153 png_set_shift(png_ptr, &info_ptr->sig_bit); in png_read_png()
1155 png_app_error(png_ptr, "PNG_TRANSFORM_SHIFT not supported"); in png_read_png()
1161 png_set_bgr(png_ptr); in png_read_png()
1163 png_app_error(png_ptr, "PNG_TRANSFORM_BGR not supported"); in png_read_png()
1169 png_set_swap_alpha(png_ptr); in png_read_png()
1171 png_app_error(png_ptr, "PNG_TRANSFORM_SWAP_ALPHA not supported"); in png_read_png()
1177 png_set_swap(png_ptr); in png_read_png()
1179 png_app_error(png_ptr, "PNG_TRANSFORM_SWAP_ENDIAN not supported"); in png_read_png()
1186 png_set_invert_alpha(png_ptr); in png_read_png()
1188 png_app_error(png_ptr, "PNG_TRANSFORM_INVERT_ALPHA not supported"); in png_read_png()
1195 png_set_gray_to_rgb(png_ptr); in png_read_png()
1197 png_app_error(png_ptr, "PNG_TRANSFORM_GRAY_TO_RGB not supported"); in png_read_png()
1203 png_set_expand_16(png_ptr); in png_read_png()
1205 png_app_error(png_ptr, "PNG_TRANSFORM_EXPAND_16 not supported"); in png_read_png()
1213 (void)png_set_interlace_handling(png_ptr); in png_read_png()
1219 png_read_update_info(png_ptr, info_ptr); in png_read_png()
1223 png_free_data(png_ptr, info_ptr, PNG_FREE_ROWS, 0); in png_read_png()
1228 info_ptr->row_pointers = png_voidcast(png_bytepp, png_malloc(png_ptr, in png_read_png()
1238 png_malloc(png_ptr, info_ptr->rowbytes)); in png_read_png()
1241 png_read_image(png_ptr, info_ptr->row_pointers); in png_read_png()
1245 png_read_end(png_ptr, info_ptr); in png_read_png()
1310 png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, image, in png_image_read_init() local
1319 if (png_ptr != NULL) in png_image_read_init()
1321 png_infop info_ptr = png_create_info_struct(png_ptr); in png_image_read_init()
1326 png_malloc_warn(png_ptr, (sizeof *control))); in png_image_read_init()
1332 control->png_ptr = png_ptr; in png_image_read_init()
1341 png_destroy_info_struct(png_ptr, &info_ptr); in png_image_read_init()
1344 png_destroy_read_struct(&png_ptr, NULL, NULL); in png_image_read_init()
1355 png_image_format(png_structrp png_ptr) in png_image_format() argument
1359 if ((png_ptr->color_type & PNG_COLOR_MASK_COLOR) != 0) in png_image_format()
1362 if ((png_ptr->color_type & PNG_COLOR_MASK_ALPHA) != 0) in png_image_format()
1370 else if (png_ptr->num_trans > 0) in png_image_format()
1373 if (png_ptr->bit_depth == 16) in png_image_format()
1376 if ((png_ptr->color_type & PNG_COLOR_MASK_PALETTE) != 0) in png_image_format()
1410 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_header() local
1414 png_set_benign_errors(png_ptr, 1/*warn*/); in png_image_read_header()
1416 png_read_info(png_ptr, info_ptr); in png_image_read_header()
1419 image->width = png_ptr->width; in png_image_read_header()
1420 image->height = png_ptr->height; in png_image_read_header()
1423 png_uint_32 format = png_image_format(png_ptr); in png_image_read_header()
1433 if ((format & PNG_FORMAT_FLAG_COLOR) != 0 && ((png_ptr->colorspace.flags in png_image_read_header()
1446 switch (png_ptr->color_type) in png_image_read_header()
1449 cmap_entries = 1U << png_ptr->bit_depth; in png_image_read_header()
1453 cmap_entries = (png_uint_32)png_ptr->num_palette; in png_image_read_header()
1484 image->opaque->png_ptr->io_ptr = file; in png_image_begin_read_from_stdio()
1514 image->opaque->png_ptr->io_ptr = fp; in png_image_begin_read_from_file()
1541 png_image_memory_read(png_structp png_ptr, png_bytep out, size_t need) in png_image_memory_read() argument
1543 if (png_ptr != NULL) in png_image_memory_read()
1545 png_imagep image = png_voidcast(png_imagep, png_ptr->io_ptr); in png_image_memory_read()
1562 png_error(png_ptr, "read beyond end of data"); in png_image_memory_read()
1566 png_error(png_ptr, "invalid memory read"); in png_image_memory_read()
1585 image->opaque->png_ptr->io_ptr = image; in png_image_begin_read_from_memory()
1586 image->opaque->png_ptr->read_data_fn = png_image_memory_read; in png_image_begin_read_from_memory()
1609 png_image_skip_unused_chunks(png_structrp png_ptr) in png_image_skip_unused_chunks() argument
1644 png_set_keep_unknown_chunks(png_ptr, PNG_HANDLE_CHUNK_NEVER, in png_image_skip_unused_chunks()
1648 png_set_keep_unknown_chunks(png_ptr, PNG_HANDLE_CHUNK_AS_DEFAULT, in png_image_skip_unused_chunks()
1668 png_fixed_point g = display->image->opaque->png_ptr->colorspace.gamma; in set_file_encoding()
1716 png_error(display->image->opaque->png_ptr, in decode_gamma()
1773 png_error(image->opaque->png_ptr, "color-map index out of range"); in png_create_colormap_entry()
1873 png_error(image->opaque->png_ptr, "bad encoding (internal error)"); in png_create_colormap_entry()
2096 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_colormap() local
2119 if (((png_ptr->color_type & PNG_COLOR_MASK_ALPHA) != 0 || in png_image_read_colormap()
2120 png_ptr->num_trans > 0) /* alpha in input */ && in png_image_read_colormap()
2127 png_error(png_ptr, in png_image_read_colormap()
2158 if ((png_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) == 0) in png_image_read_colormap()
2165 if (png_ptr->bit_depth == 16 && in png_image_read_colormap()
2167 png_ptr->colorspace.gamma = PNG_GAMMA_LINEAR; in png_image_read_colormap()
2170 png_ptr->colorspace.gamma = PNG_GAMMA_sRGB_INVERSE; in png_image_read_colormap()
2172 png_ptr->colorspace.flags |= PNG_COLORSPACE_HAVE_GAMMA; in png_image_read_colormap()
2180 switch (png_ptr->color_type) in png_image_read_colormap()
2183 if (png_ptr->bit_depth <= 8) in png_image_read_colormap()
2190 cmap_entries = 1U << png_ptr->bit_depth; in png_image_read_colormap()
2192 png_error(png_ptr, "gray[8] color-map: too few entries"); in png_image_read_colormap()
2200 if (png_ptr->num_trans > 0) in png_image_read_colormap()
2202 trans = png_ptr->trans_color.gray; in png_image_read_colormap()
2246 if (png_ptr->bit_depth < 8) in png_image_read_colormap()
2247 png_set_packing(png_ptr); in png_image_read_colormap()
2271 png_error(png_ptr, "gray[16] color-map: too few entries"); in png_image_read_colormap()
2275 if (png_ptr->num_trans > 0) in png_image_read_colormap()
2313 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2369 png_error(png_ptr, "gray+alpha color-map: too few entries"); in png_image_read_colormap()
2403 png_error(png_ptr, "gray-alpha color-map: too few entries"); in png_image_read_colormap()
2422 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2437 png_error(png_ptr, "ga-alpha color-map: too few entries"); in png_image_read_colormap()
2524 png_set_rgb_to_gray_fixed(png_ptr, PNG_ERROR_ACTION_NONE, -1, in png_image_read_colormap()
2531 if ((png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2532 png_ptr->num_trans > 0) && in png_image_read_colormap()
2542 png_error(png_ptr, "rgb[ga] color-map: too few entries"); in png_image_read_colormap()
2556 png_error(png_ptr, "rgb[gray] color-map: too few entries"); in png_image_read_colormap()
2566 if ((png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2567 png_ptr->num_trans > 0) && in png_image_read_colormap()
2568 png_gamma_not_sRGB(png_ptr->colorspace.gamma) != 0) in png_image_read_colormap()
2579 if (png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2580 png_ptr->num_trans > 0) in png_image_read_colormap()
2601 png_ptr->colorspace.gamma)); /* now P_FILE */ in png_image_read_colormap()
2631 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2650 if (png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2651 png_ptr->num_trans > 0) in png_image_read_colormap()
2661 png_error(png_ptr, "rgb+alpha color-map: too few entries"); in png_image_read_colormap()
2710 png_error(png_ptr, "rgb-alpha color-map: too few entries"); in png_image_read_colormap()
2780 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2795 png_error(png_ptr, "rgb color-map: too few entries"); in png_image_read_colormap()
2808 unsigned int num_trans = png_ptr->num_trans; in png_image_read_colormap()
2809 png_const_bytep trans = num_trans > 0 ? png_ptr->trans_alpha : NULL; in png_image_read_colormap()
2810 png_const_colorp colormap = png_ptr->palette; in png_image_read_colormap()
2821 cmap_entries = (unsigned int)png_ptr->num_palette; in png_image_read_colormap()
2826 png_error(png_ptr, "palette color-map: too few entries"); in png_image_read_colormap()
2863 if (png_ptr->bit_depth < 8) in png_image_read_colormap()
2864 png_set_packing(png_ptr); in png_image_read_colormap()
2869 png_error(png_ptr, "invalid PNG color type"); in png_image_read_colormap()
2874 if (expand_tRNS != 0 && png_ptr->num_trans > 0 && in png_image_read_colormap()
2875 (png_ptr->color_type & PNG_COLOR_MASK_ALPHA) == 0) in png_image_read_colormap()
2876 png_set_tRNS_to_alpha(png_ptr); in png_image_read_colormap()
2882 png_set_alpha_mode_fixed(png_ptr, PNG_ALPHA_PNG, PNG_GAMMA_sRGB); in png_image_read_colormap()
2886 if (png_ptr->bit_depth > 8) in png_image_read_colormap()
2887 png_set_scale_16(png_ptr); in png_image_read_colormap()
2892 png_error(png_ptr, "bad data option (internal error)"); in png_image_read_colormap()
2897 png_error(png_ptr, "color map overflow (BAD internal error)"); in png_image_read_colormap()
2931 png_error(png_ptr, "bad processing option (internal error)"); in png_image_read_colormap()
2934 png_error(png_ptr, "bad background index (internal error)"); in png_image_read_colormap()
2949 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_and_map() local
2956 switch (png_ptr->interlaced) in png_image_read_and_map()
2967 png_error(png_ptr, "unknown interlace type"); in png_image_read_and_map()
2983 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_and_map()
3009 png_read_row(png_ptr, inrow, NULL); in png_image_read_and_map()
3139 png_structrp png_ptr = control->png_ptr; in png_image_read_colormapped() local
3144 PNG_SKIP_CHUNKS(png_ptr); in png_image_read_colormapped()
3151 passes = png_set_interlace_handling(png_ptr); in png_image_read_colormapped()
3153 png_read_update_info(png_ptr, info_ptr); in png_image_read_colormapped()
3177 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3187 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3197 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3205 png_error(png_ptr, "bad color-map processing (internal error)"); in png_image_read_colormapped()
3233 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_colormapped()
3238 png_free(png_ptr, row); in png_image_read_colormapped()
3254 png_read_row(png_ptr, row, NULL); in png_image_read_colormapped()
3270 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_composite() local
3273 switch (png_ptr->interlaced) in png_image_read_composite()
3284 png_error(png_ptr, "unknown interlace type"); in png_image_read_composite()
3300 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_composite()
3327 png_read_row(png_ptr, inrow, NULL); in png_image_read_composite()
3397 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_background() local
3408 if ((png_ptr->transformations & PNG_RGB_TO_GRAY) == 0) in png_image_read_background()
3409 png_error(png_ptr, "lost rgb to gray"); in png_image_read_background()
3411 if ((png_ptr->transformations & PNG_COMPOSE) != 0) in png_image_read_background()
3412 png_error(png_ptr, "unexpected compose"); in png_image_read_background()
3414 if (png_get_channels(png_ptr, info_ptr) != 2) in png_image_read_background()
3415 png_error(png_ptr, "lost/gained channels"); in png_image_read_background()
3420 png_error(png_ptr, "unexpected 8-bit transformation"); in png_image_read_background()
3422 switch (png_ptr->interlaced) in png_image_read_background()
3433 png_error(png_ptr, "unknown interlace type"); in png_image_read_background()
3459 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_background()
3488 png_read_row(png_ptr, inrow, NULL); in png_image_read_background()
3533 png_read_row(png_ptr, inrow, NULL); in png_image_read_background()
3598 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_background()
3625 png_read_row(png_ptr, png_voidcast(png_bytep, in png_image_read_background()
3663 png_error(png_ptr, "unexpected bit depth"); in png_image_read_background()
3677 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_direct() local
3690 png_set_expand(png_ptr); in png_image_read_direct()
3694 png_uint_32 base_format = png_image_format(png_ptr) & in png_image_read_direct()
3705 png_set_gray_to_rgb(png_ptr); in png_image_read_direct()
3725 png_set_rgb_to_gray_fixed(png_ptr, PNG_ERROR_ACTION_NONE, in png_image_read_direct()
3746 png_set_alpha_mode_fixed(png_ptr, PNG_ALPHA_PNG, input_gamma_default); in png_image_read_direct()
3790 if (png_muldiv(>est, output_gamma, png_ptr->colorspace.gamma, in png_image_read_direct()
3807 png_set_expand_16(png_ptr); in png_image_read_direct()
3810 png_set_scale_16(png_ptr); in png_image_read_direct()
3834 png_set_strip_alpha(png_ptr); in png_image_read_direct()
3853 png_set_background_fixed(png_ptr, &c, in png_image_read_direct()
3897 png_set_add_alpha(png_ptr, filler, where); in png_image_read_direct()
3908 png_set_alpha_mode_fixed(png_ptr, mode, output_gamma); in png_image_read_direct()
3917 png_set_bgr(png_ptr); in png_image_read_direct()
3940 png_set_swap_alpha(png_ptr); in png_image_read_direct()
3958 png_set_swap(png_ptr); in png_image_read_direct()
3963 png_error(png_ptr, "png_read_image: unsupported transformation"); in png_image_read_direct()
3966 PNG_SKIP_CHUNKS(png_ptr); in png_image_read_direct()
3975 passes = png_set_interlace_handling(png_ptr); in png_image_read_direct()
3977 png_read_update_info(png_ptr, info_ptr); in png_image_read_direct()
3998 png_error(png_ptr, "png_image_read: alpha channel lost"); in png_image_read_direct()
4008 if ((png_ptr->transformations & PNG_BGR) != 0) in png_image_read_direct()
4019 if ((png_ptr->transformations & PNG_SWAP_ALPHA) != 0 || in png_image_read_direct()
4020 ((png_ptr->transformations & PNG_ADD_ALPHA) != 0 && in png_image_read_direct()
4021 (png_ptr->flags & PNG_FLAG_FILLER_AFTER) == 0)) in png_image_read_direct()
4024 png_error(png_ptr, "unexpected alpha swap transformation"); in png_image_read_direct()
4032 png_error(png_ptr, "png_read_image: invalid transformations"); in png_image_read_direct()
4064 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_direct()
4069 png_free(png_ptr, row); in png_image_read_direct()
4077 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_direct()
4082 png_free(png_ptr, row); in png_image_read_direct()
4098 png_read_row(png_ptr, row, NULL); in png_image_read_direct()