Lines Matching refs:png_ptr
29 png_structp png_ptr = png_create_png_struct(user_png_ver, error_ptr, variable
44 png_structp png_ptr = png_create_png_struct(user_png_ver, error_ptr,
48 if (png_ptr != NULL)
50 png_ptr->mode = PNG_IS_READ_STRUCT;
56 png_ptr->IDAT_read_size = PNG_IDAT_READ_SIZE;
60 png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN;
66 png_ptr->flags |= PNG_FLAG_APP_WARNINGS_WARN;
74 png_set_read_fn(png_ptr, NULL, NULL);
77 return png_ptr;
91 png_read_info(png_structrp png_ptr, png_inforp info_ptr) in png_read_info() argument
99 if (png_ptr == NULL || info_ptr == NULL) in png_read_info()
103 png_read_sig(png_ptr, info_ptr); in png_read_info()
107 png_uint_32 length = png_read_chunk_header(png_ptr); in png_read_info()
108 png_uint_32 chunk_name = png_ptr->chunk_name; in png_read_info()
115 if (!(png_ptr->mode & PNG_HAVE_IHDR)) in png_read_info()
116 png_chunk_error(png_ptr, "Missing IHDR before IDAT"); in png_read_info()
118 else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE && in png_read_info()
119 !(png_ptr->mode & PNG_HAVE_PLTE)) in png_read_info()
120 png_chunk_error(png_ptr, "Missing PLTE before IDAT"); in png_read_info()
122 else if (png_ptr->mode & PNG_AFTER_IDAT) in png_read_info()
123 png_chunk_benign_error(png_ptr, "Too many IDATs found"); in png_read_info()
125 png_ptr->mode |= PNG_HAVE_IDAT; in png_read_info()
128 else if (png_ptr->mode & PNG_HAVE_IDAT) in png_read_info()
129 png_ptr->mode |= PNG_AFTER_IDAT; in png_read_info()
135 png_handle_IHDR(png_ptr, info_ptr, length); in png_read_info()
138 png_handle_IEND(png_ptr, info_ptr, length); in png_read_info()
141 else if ((keep = png_chunk_unknown_handling(png_ptr, chunk_name)) != 0) in png_read_info()
143 png_handle_unknown(png_ptr, info_ptr, length, keep); in png_read_info()
146 png_ptr->mode |= PNG_HAVE_PLTE; in png_read_info()
150 png_ptr->idat_size = 0; /* It has been consumed */ in png_read_info()
156 png_handle_PLTE(png_ptr, info_ptr, length); in png_read_info()
160 png_ptr->idat_size = length; in png_read_info()
166 png_handle_bKGD(png_ptr, info_ptr, length); in png_read_info()
171 png_handle_cHRM(png_ptr, info_ptr, length); in png_read_info()
176 png_handle_gAMA(png_ptr, info_ptr, length); in png_read_info()
181 png_handle_hIST(png_ptr, info_ptr, length); in png_read_info()
186 png_handle_oFFs(png_ptr, info_ptr, length); in png_read_info()
191 png_handle_pCAL(png_ptr, info_ptr, length); in png_read_info()
196 png_handle_sCAL(png_ptr, info_ptr, length); in png_read_info()
201 png_handle_pHYs(png_ptr, info_ptr, length); in png_read_info()
206 png_handle_sBIT(png_ptr, info_ptr, length); in png_read_info()
211 png_handle_sRGB(png_ptr, info_ptr, length); in png_read_info()
216 png_handle_iCCP(png_ptr, info_ptr, length); in png_read_info()
221 png_handle_sPLT(png_ptr, info_ptr, length); in png_read_info()
226 png_handle_tEXt(png_ptr, info_ptr, length); in png_read_info()
231 png_handle_tIME(png_ptr, info_ptr, length); in png_read_info()
236 png_handle_tRNS(png_ptr, info_ptr, length); in png_read_info()
241 png_handle_zTXt(png_ptr, info_ptr, length); in png_read_info()
246 png_handle_iTXt(png_ptr, info_ptr, length); in png_read_info()
250 png_handle_unknown(png_ptr, info_ptr, length, in png_read_info()
258 png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) in png_read_update_info() argument
262 if (png_ptr != NULL) in png_read_update_info()
264 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_read_update_info()
266 png_read_start_row(png_ptr); in png_read_update_info()
269 png_read_transform_info(png_ptr, info_ptr); in png_read_update_info()
277 png_app_error(png_ptr, in png_read_update_info()
289 png_start_read_image(png_structrp png_ptr) in png_start_read_image() argument
293 if (png_ptr != NULL) in png_start_read_image()
295 if ((png_ptr->flags & PNG_FLAG_ROW_INIT) == 0) in png_start_read_image()
296 png_read_start_row(png_ptr); in png_start_read_image()
300 png_app_error(png_ptr, in png_start_read_image()
308 png_read_row(png_structrp png_ptr, png_bytep row, png_bytep dsp_row) in png_read_row() argument
312 if (png_ptr == NULL) in png_read_row()
316 (unsigned long)png_ptr->row_number, png_ptr->pass); in png_read_row()
321 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT)) in png_read_row()
322 png_read_start_row(png_ptr); in png_read_row()
325 row_info.width = png_ptr->iwidth; /* NOTE: width of current interlaced row */ in png_read_row()
326 row_info.color_type = png_ptr->color_type; in png_read_row()
327 row_info.bit_depth = png_ptr->bit_depth; in png_read_row()
328 row_info.channels = png_ptr->channels; in png_read_row()
329 row_info.pixel_depth = png_ptr->pixel_depth; in png_read_row()
332 if (png_ptr->row_number == 0 && png_ptr->pass == 0) in png_read_row()
336 if (png_ptr->transformations & PNG_INVERT_MONO) in png_read_row()
337 png_warning(png_ptr, "PNG_READ_INVERT_SUPPORTED is not defined"); in png_read_row()
341 if (png_ptr->transformations & PNG_FILLER) in png_read_row()
342 png_warning(png_ptr, "PNG_READ_FILLER_SUPPORTED is not defined"); in png_read_row()
347 if (png_ptr->transformations & PNG_PACKSWAP) in png_read_row()
348 png_warning(png_ptr, "PNG_READ_PACKSWAP_SUPPORTED is not defined"); in png_read_row()
352 if (png_ptr->transformations & PNG_PACK) in png_read_row()
353 png_warning(png_ptr, "PNG_READ_PACK_SUPPORTED is not defined"); in png_read_row()
357 if (png_ptr->transformations & PNG_SHIFT) in png_read_row()
358 png_warning(png_ptr, "PNG_READ_SHIFT_SUPPORTED is not defined"); in png_read_row()
362 if (png_ptr->transformations & PNG_BGR) in png_read_row()
363 png_warning(png_ptr, "PNG_READ_BGR_SUPPORTED is not defined"); in png_read_row()
367 if (png_ptr->transformations & PNG_SWAP_BYTES) in png_read_row()
368 png_warning(png_ptr, "PNG_READ_SWAP_SUPPORTED is not defined"); in png_read_row()
379 if (png_ptr->interlaced && (png_ptr->transformations & PNG_INTERLACE)) in png_read_row()
381 switch (png_ptr->pass) in png_read_row()
384 if (png_ptr->row_number & 0x07) in png_read_row()
387 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
388 png_read_finish_row(png_ptr); in png_read_row()
394 if ((png_ptr->row_number & 0x07) || png_ptr->width < 5) in png_read_row()
397 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
399 png_read_finish_row(png_ptr); in png_read_row()
405 if ((png_ptr->row_number & 0x07) != 4) in png_read_row()
407 if (dsp_row != NULL && (png_ptr->row_number & 4)) in png_read_row()
408 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
410 png_read_finish_row(png_ptr); in png_read_row()
416 if ((png_ptr->row_number & 3) || png_ptr->width < 3) in png_read_row()
419 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
421 png_read_finish_row(png_ptr); in png_read_row()
427 if ((png_ptr->row_number & 3) != 2) in png_read_row()
429 if (dsp_row != NULL && (png_ptr->row_number & 2)) in png_read_row()
430 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
432 png_read_finish_row(png_ptr); in png_read_row()
438 if ((png_ptr->row_number & 1) || png_ptr->width < 2) in png_read_row()
441 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
443 png_read_finish_row(png_ptr); in png_read_row()
450 if (!(png_ptr->row_number & 1)) in png_read_row()
452 png_read_finish_row(png_ptr); in png_read_row()
460 if (!(png_ptr->mode & PNG_HAVE_IDAT)) in png_read_row()
461 png_error(png_ptr, "Invalid attempt to read row data"); in png_read_row()
464 png_read_IDAT_data(png_ptr, png_ptr->row_buf, row_info.rowbytes + 1); in png_read_row()
466 if (png_ptr->row_buf[0] > PNG_FILTER_VALUE_NONE) in png_read_row()
468 if (png_ptr->row_buf[0] < PNG_FILTER_VALUE_LAST) in png_read_row()
469 png_read_filter_row(png_ptr, &row_info, png_ptr->row_buf + 1, in png_read_row()
470 png_ptr->prev_row + 1, png_ptr->row_buf[0]); in png_read_row()
472 png_error(png_ptr, "bad adaptive filter value"); in png_read_row()
480 memcpy(png_ptr->prev_row, png_ptr->row_buf, row_info.rowbytes + 1); in png_read_row()
483 if ((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) && in png_read_row()
484 (png_ptr->filter_type == PNG_INTRAPIXEL_DIFFERENCING)) in png_read_row()
487 png_do_read_intrapixel(&row_info, png_ptr->row_buf + 1); in png_read_row()
493 if (png_ptr->transformations) in png_read_row()
494 png_do_read_transformations(png_ptr, &row_info); in png_read_row()
498 if (png_ptr->transformed_pixel_depth == 0) in png_read_row()
500 png_ptr->transformed_pixel_depth = row_info.pixel_depth; in png_read_row()
501 if (row_info.pixel_depth > png_ptr->maximum_pixel_depth) in png_read_row()
502 png_error(png_ptr, "sequential row overflow"); in png_read_row()
505 else if (png_ptr->transformed_pixel_depth != row_info.pixel_depth) in png_read_row()
506 png_error(png_ptr, "internal sequential row size calculation error"); in png_read_row()
510 if (png_ptr->interlaced && in png_read_row()
511 (png_ptr->transformations & PNG_INTERLACE)) in png_read_row()
513 if (png_ptr->pass < 6) in png_read_row()
514 png_do_read_interlace(&row_info, png_ptr->row_buf + 1, png_ptr->pass, in png_read_row()
515 png_ptr->transformations); in png_read_row()
518 png_combine_row(png_ptr, dsp_row, 1/*display*/); in png_read_row()
521 png_combine_row(png_ptr, row, 0/*row*/); in png_read_row()
528 png_combine_row(png_ptr, row, -1/*ignored*/); in png_read_row()
531 png_combine_row(png_ptr, dsp_row, -1/*ignored*/); in png_read_row()
533 png_read_finish_row(png_ptr); in png_read_row()
535 if (png_ptr->read_row_fn != NULL) in png_read_row()
536 (*(png_ptr->read_row_fn))(png_ptr, png_ptr->row_number, png_ptr->pass); in png_read_row()
567 png_read_rows(png_structrp png_ptr, png_bytepp row, in png_read_rows() argument
576 if (png_ptr == NULL) in png_read_rows()
587 png_read_row(png_ptr, rptr, dptr); in png_read_rows()
594 png_read_row(png_ptr, rptr, NULL); in png_read_rows()
602 png_read_row(png_ptr, NULL, dptr); in png_read_rows()
622 png_read_image(png_structrp png_ptr, png_bytepp image) in png_read_image() argument
630 if (png_ptr == NULL) in png_read_image()
634 if (!(png_ptr->flags & PNG_FLAG_ROW_INIT)) in png_read_image()
636 pass = png_set_interlace_handling(png_ptr); in png_read_image()
638 png_start_read_image(png_ptr); in png_read_image()
642 if (png_ptr->interlaced && !(png_ptr->transformations & PNG_INTERLACE)) in png_read_image()
648 png_warning(png_ptr, "Interlace handling should be turned on when " in png_read_image()
651 png_ptr->num_rows = png_ptr->height; in png_read_image()
657 pass = png_set_interlace_handling(png_ptr); in png_read_image()
660 if (png_ptr->interlaced) in png_read_image()
661 png_error(png_ptr, in png_read_image()
667 image_height=png_ptr->height; in png_read_image()
674 png_read_row(png_ptr, *rp, NULL); in png_read_image()
687 png_read_end(png_structrp png_ptr, png_inforp info_ptr) in png_read_end() argument
695 if (png_ptr == NULL) in png_read_end()
702 if (!png_chunk_unknown_handling(png_ptr, png_IDAT)) in png_read_end()
704 png_read_finish_IDAT(png_ptr); in png_read_end()
708 if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE && in png_read_end()
709 png_ptr->num_palette_max > png_ptr->num_palette) in png_read_end()
710 png_benign_error(png_ptr, "Read palette index exceeding num_palette"); in png_read_end()
715 png_uint_32 length = png_read_chunk_header(png_ptr); in png_read_end()
716 png_uint_32 chunk_name = png_ptr->chunk_name; in png_read_end()
719 png_handle_IHDR(png_ptr, info_ptr, length); in png_read_end()
722 png_handle_IEND(png_ptr, info_ptr, length); in png_read_end()
725 else if ((keep = png_chunk_unknown_handling(png_ptr, chunk_name)) != 0) in png_read_end()
729 if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT)) in png_read_end()
730 png_benign_error(png_ptr, "Too many IDATs found"); in png_read_end()
732 png_handle_unknown(png_ptr, info_ptr, length, keep); in png_read_end()
734 png_ptr->mode |= PNG_HAVE_PLTE; in png_read_end()
743 if ((length > 0) || (png_ptr->mode & PNG_HAVE_CHUNK_AFTER_IDAT)) in png_read_end()
744 png_benign_error(png_ptr, "Too many IDATs found"); in png_read_end()
746 png_crc_finish(png_ptr, length); in png_read_end()
749 png_handle_PLTE(png_ptr, info_ptr, length); in png_read_end()
753 png_handle_bKGD(png_ptr, info_ptr, length); in png_read_end()
758 png_handle_cHRM(png_ptr, info_ptr, length); in png_read_end()
763 png_handle_gAMA(png_ptr, info_ptr, length); in png_read_end()
768 png_handle_hIST(png_ptr, info_ptr, length); in png_read_end()
773 png_handle_oFFs(png_ptr, info_ptr, length); in png_read_end()
778 png_handle_pCAL(png_ptr, info_ptr, length); in png_read_end()
783 png_handle_sCAL(png_ptr, info_ptr, length); in png_read_end()
788 png_handle_pHYs(png_ptr, info_ptr, length); in png_read_end()
793 png_handle_sBIT(png_ptr, info_ptr, length); in png_read_end()
798 png_handle_sRGB(png_ptr, info_ptr, length); in png_read_end()
803 png_handle_iCCP(png_ptr, info_ptr, length); in png_read_end()
808 png_handle_sPLT(png_ptr, info_ptr, length); in png_read_end()
813 png_handle_tEXt(png_ptr, info_ptr, length); in png_read_end()
818 png_handle_tIME(png_ptr, info_ptr, length); in png_read_end()
823 png_handle_tRNS(png_ptr, info_ptr, length); in png_read_end()
828 png_handle_zTXt(png_ptr, info_ptr, length); in png_read_end()
833 png_handle_iTXt(png_ptr, info_ptr, length); in png_read_end()
837 png_handle_unknown(png_ptr, info_ptr, length, in png_read_end()
839 } while (!(png_ptr->mode & PNG_HAVE_IEND)); in png_read_end()
845 png_read_destroy(png_structrp png_ptr) in png_read_destroy() argument
850 png_destroy_gamma_table(png_ptr); in png_read_destroy()
853 png_free(png_ptr, png_ptr->big_row_buf); in png_read_destroy()
854 png_free(png_ptr, png_ptr->big_prev_row); in png_read_destroy()
855 png_free(png_ptr, png_ptr->read_buffer); in png_read_destroy()
858 png_free(png_ptr, png_ptr->palette_lookup); in png_read_destroy()
859 png_free(png_ptr, png_ptr->quantize_index); in png_read_destroy()
862 if (png_ptr->free_me & PNG_FREE_PLTE) in png_read_destroy()
863 png_zfree(png_ptr, png_ptr->palette); in png_read_destroy()
864 png_ptr->free_me &= ~PNG_FREE_PLTE; in png_read_destroy()
868 if (png_ptr->free_me & PNG_FREE_TRNS) in png_read_destroy()
869 png_free(png_ptr, png_ptr->trans_alpha); in png_read_destroy()
870 png_ptr->free_me &= ~PNG_FREE_TRNS; in png_read_destroy()
873 inflateEnd(&png_ptr->zstream); in png_read_destroy()
876 png_free(png_ptr, png_ptr->save_buffer); in png_read_destroy()
881 png_free(png_ptr, png_ptr->unknown_chunk.data); in png_read_destroy()
885 png_free(png_ptr, png_ptr->chunk_list); in png_read_destroy()
899 png_structrp png_ptr = NULL; in png_destroy_read_struct() local
904 png_ptr = *png_ptr_ptr; in png_destroy_read_struct()
906 if (png_ptr == NULL) in png_destroy_read_struct()
913 png_destroy_info_struct(png_ptr, end_info_ptr_ptr); in png_destroy_read_struct()
914 png_destroy_info_struct(png_ptr, info_ptr_ptr); in png_destroy_read_struct()
917 png_read_destroy(png_ptr); in png_destroy_read_struct()
918 png_destroy_png_struct(png_ptr); in png_destroy_read_struct()
922 png_set_read_status_fn(png_structrp png_ptr, png_read_status_ptr read_row_fn) in png_set_read_status_fn() argument
924 if (png_ptr == NULL) in png_set_read_status_fn()
927 png_ptr->read_row_fn = read_row_fn; in png_set_read_status_fn()
934 png_read_png(png_structrp png_ptr, png_inforp info_ptr, in png_read_png() argument
940 if (png_ptr == NULL || info_ptr == NULL) in png_read_png()
946 png_read_info(png_ptr, info_ptr); in png_read_png()
948 png_error(png_ptr, "Image is too high to process with png_read_png()"); in png_read_png()
960 png_set_scale_16(png_ptr); in png_read_png()
970 png_set_strip_16(png_ptr); in png_read_png()
978 png_set_strip_alpha(png_ptr); in png_read_png()
986 png_set_packing(png_ptr); in png_read_png()
994 png_set_packswap(png_ptr); in png_read_png()
1004 if ((png_ptr->bit_depth < 8) || in png_read_png()
1005 (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE) || in png_read_png()
1006 (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))) in png_read_png()
1007 png_set_expand(png_ptr); in png_read_png()
1017 png_set_invert_mono(png_ptr); in png_read_png()
1026 && png_get_valid(png_ptr, info_ptr, PNG_INFO_sBIT)) in png_read_png()
1030 png_get_sBIT(png_ptr, info_ptr, &sig_bit); in png_read_png()
1031 png_set_shift(png_ptr, sig_bit); in png_read_png()
1038 png_set_bgr(png_ptr); in png_read_png()
1044 png_set_swap_alpha(png_ptr); in png_read_png()
1050 png_set_swap(png_ptr); in png_read_png()
1057 png_set_invert_alpha(png_ptr); in png_read_png()
1064 png_set_gray_to_rgb(png_ptr); in png_read_png()
1070 png_set_expand_16(png_ptr); in png_read_png()
1078 (void)png_set_interlace_handling(png_ptr); in png_read_png()
1084 png_read_update_info(png_ptr, info_ptr); in png_read_png()
1088 png_free_data(png_ptr, info_ptr, PNG_FREE_ROWS, 0); in png_read_png()
1093 info_ptr->row_pointers = (png_bytepp)png_malloc(png_ptr, in png_read_png()
1101 info_ptr->row_pointers[row] = (png_bytep)png_malloc(png_ptr, in png_read_png()
1102 png_get_rowbytes(png_ptr, info_ptr)); in png_read_png()
1105 png_read_image(png_ptr, info_ptr->row_pointers); in png_read_png()
1109 png_read_end(png_ptr, info_ptr); in png_read_png()
1177 png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, image, in png_image_read_init() local
1186 if (png_ptr != NULL) in png_image_read_init()
1188 png_infop info_ptr = png_create_info_struct(png_ptr); in png_image_read_init()
1193 png_malloc_warn(png_ptr, (sizeof *control))); in png_image_read_init()
1199 control->png_ptr = png_ptr; in png_image_read_init()
1208 png_destroy_info_struct(png_ptr, &info_ptr); in png_image_read_init()
1211 png_destroy_read_struct(&png_ptr, NULL, NULL); in png_image_read_init()
1222 png_image_format(png_structrp png_ptr) in png_image_format() argument
1226 if (png_ptr->color_type & PNG_COLOR_MASK_COLOR) in png_image_format()
1229 if (png_ptr->color_type & PNG_COLOR_MASK_ALPHA) in png_image_format()
1237 else if (png_ptr->num_trans > 0) in png_image_format()
1240 if (png_ptr->bit_depth == 16) in png_image_format()
1243 if (png_ptr->color_type & PNG_COLOR_MASK_PALETTE) in png_image_format()
1277 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_header() local
1280 png_set_benign_errors(png_ptr, 1/*warn*/); in png_image_read_header()
1281 png_read_info(png_ptr, info_ptr); in png_image_read_header()
1284 image->width = png_ptr->width; in png_image_read_header()
1285 image->height = png_ptr->height; in png_image_read_header()
1288 png_uint_32 format = png_image_format(png_ptr); in png_image_read_header()
1298 if ((format & PNG_FORMAT_FLAG_COLOR) != 0 && ((png_ptr->colorspace.flags in png_image_read_header()
1311 switch (png_ptr->color_type) in png_image_read_header()
1314 cmap_entries = 1U << png_ptr->bit_depth; in png_image_read_header()
1318 cmap_entries = png_ptr->num_palette; in png_image_read_header()
1349 image->opaque->png_ptr->io_ptr = file; in png_image_begin_read_from_stdio()
1379 image->opaque->png_ptr->io_ptr = fp; in png_image_begin_read_from_file()
1406 png_image_memory_read(png_structp png_ptr, png_bytep out, png_size_t need) in png_image_memory_read() argument
1408 if (png_ptr != NULL) in png_image_memory_read()
1410 png_imagep image = png_voidcast(png_imagep, png_ptr->io_ptr); in png_image_memory_read()
1427 png_error(png_ptr, "read beyond end of data"); in png_image_memory_read()
1431 png_error(png_ptr, "invalid memory read"); in png_image_memory_read()
1450 image->opaque->png_ptr->io_ptr = image; in png_image_begin_read_from_memory()
1451 image->opaque->png_ptr->read_data_fn = png_image_memory_read; in png_image_begin_read_from_memory()
1474 png_image_skip_unused_chunks(png_structrp png_ptr) in png_image_skip_unused_chunks() argument
1502 png_set_keep_unknown_chunks(png_ptr, PNG_HANDLE_CHUNK_NEVER, in png_image_skip_unused_chunks()
1506 png_set_keep_unknown_chunks(png_ptr, PNG_HANDLE_CHUNK_AS_DEFAULT, in png_image_skip_unused_chunks()
1526 png_fixed_point g = display->image->opaque->png_ptr->colorspace.gamma; in set_file_encoding()
1573 png_error(display->image->opaque->png_ptr, in decode_gamma()
1630 png_error(image->opaque->png_ptr, "color-map index out of range"); in png_create_colormap_entry()
1728 png_error(image->opaque->png_ptr, "bad encoding (internal error)"); in png_create_colormap_entry()
1949 const png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_colormap() local
1972 if (((png_ptr->color_type & PNG_COLOR_MASK_ALPHA) != 0 || in png_image_read_colormap()
1973 png_ptr->num_trans > 0) /* alpha in input */ && in png_image_read_colormap()
1980 png_error(png_ptr, in png_image_read_colormap()
2011 if ((png_ptr->colorspace.flags & PNG_COLORSPACE_HAVE_GAMMA) == 0) in png_image_read_colormap()
2018 if (png_ptr->bit_depth == 16 && in png_image_read_colormap()
2020 png_ptr->colorspace.gamma = PNG_GAMMA_LINEAR; in png_image_read_colormap()
2023 png_ptr->colorspace.gamma = PNG_GAMMA_sRGB_INVERSE; in png_image_read_colormap()
2025 png_ptr->colorspace.flags |= PNG_COLORSPACE_HAVE_GAMMA; in png_image_read_colormap()
2033 switch (png_ptr->color_type) in png_image_read_colormap()
2036 if (png_ptr->bit_depth <= 8) in png_image_read_colormap()
2043 cmap_entries = 1U << png_ptr->bit_depth; in png_image_read_colormap()
2045 png_error(png_ptr, "gray[8] color-map: too few entries"); in png_image_read_colormap()
2053 if (png_ptr->num_trans > 0) in png_image_read_colormap()
2055 trans = png_ptr->trans_color.gray; in png_image_read_colormap()
2099 if (png_ptr->bit_depth < 8) in png_image_read_colormap()
2100 png_set_packing(png_ptr); in png_image_read_colormap()
2124 png_error(png_ptr, "gray[16] color-map: too few entries"); in png_image_read_colormap()
2128 if (png_ptr->num_trans > 0) in png_image_read_colormap()
2166 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2216 png_error(png_ptr, "gray+alpha color-map: too few entries"); in png_image_read_colormap()
2250 png_error(png_ptr, "gray-alpha color-map: too few entries"); in png_image_read_colormap()
2269 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2284 png_error(png_ptr, "ga-alpha color-map: too few entries"); in png_image_read_colormap()
2364 png_set_rgb_to_gray_fixed(png_ptr, PNG_ERROR_ACTION_NONE, -1, in png_image_read_colormap()
2371 if ((png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2372 png_ptr->num_trans > 0) && in png_image_read_colormap()
2382 png_error(png_ptr, "rgb[ga] color-map: too few entries"); in png_image_read_colormap()
2396 png_error(png_ptr, "rgb[gray] color-map: too few entries"); in png_image_read_colormap()
2406 if ((png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2407 png_ptr->num_trans > 0) && in png_image_read_colormap()
2408 png_gamma_not_sRGB(png_ptr->colorspace.gamma)) in png_image_read_colormap()
2419 if (png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2420 png_ptr->num_trans > 0) in png_image_read_colormap()
2441 png_ptr->colorspace.gamma)); /* now E_FILE */ in png_image_read_colormap()
2471 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2490 if (png_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || in png_image_read_colormap()
2491 png_ptr->num_trans > 0) in png_image_read_colormap()
2501 png_error(png_ptr, "rgb+alpha color-map: too few entries"); in png_image_read_colormap()
2550 png_error(png_ptr, "rgb-alpha color-map: too few entries"); in png_image_read_colormap()
2620 png_set_background_fixed(png_ptr, &c, in png_image_read_colormap()
2635 png_error(png_ptr, "rgb color-map: too few entries"); in png_image_read_colormap()
2648 unsigned int num_trans = png_ptr->num_trans; in png_image_read_colormap()
2649 png_const_bytep trans = num_trans > 0 ? png_ptr->trans_alpha : NULL; in png_image_read_colormap()
2650 png_const_colorp colormap = png_ptr->palette; in png_image_read_colormap()
2661 cmap_entries = png_ptr->num_palette; in png_image_read_colormap()
2666 png_error(png_ptr, "palette color-map: too few entries"); in png_image_read_colormap()
2703 if (png_ptr->bit_depth < 8) in png_image_read_colormap()
2704 png_set_packing(png_ptr); in png_image_read_colormap()
2709 png_error(png_ptr, "invalid PNG color type"); in png_image_read_colormap()
2715 if (expand_tRNS && png_ptr->num_trans > 0 && in png_image_read_colormap()
2716 (png_ptr->color_type & PNG_COLOR_MASK_ALPHA) == 0) in png_image_read_colormap()
2717 png_set_tRNS_to_alpha(png_ptr); in png_image_read_colormap()
2722 png_error(png_ptr, "bad data option (internal error)"); in png_image_read_colormap()
2727 png_set_alpha_mode_fixed(png_ptr, PNG_ALPHA_PNG, PNG_GAMMA_sRGB); in png_image_read_colormap()
2731 if (png_ptr->bit_depth > 8) in png_image_read_colormap()
2732 png_set_scale_16(png_ptr); in png_image_read_colormap()
2737 png_error(png_ptr, "color map overflow (BAD internal error)"); in png_image_read_colormap()
2771 png_error(png_ptr, "bad processing option (internal error)"); in png_image_read_colormap()
2774 png_error(png_ptr, "bad background index (internal error)"); in png_image_read_colormap()
2789 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_and_map() local
2796 switch (png_ptr->interlaced) in png_image_read_and_map()
2808 png_error(png_ptr, "unknown interlace type"); in png_image_read_and_map()
2824 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_and_map()
2850 png_read_row(png_ptr, inrow, NULL); in png_image_read_and_map()
2980 png_structrp png_ptr = control->png_ptr; in png_image_read_colormapped() local
2985 PNG_SKIP_CHUNKS(png_ptr); in png_image_read_colormapped()
2992 passes = png_set_interlace_handling(png_ptr); in png_image_read_colormapped()
2994 png_read_update_info(png_ptr, info_ptr); in png_image_read_colormapped()
3018 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3028 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3038 png_ptr->screen_gamma == PNG_GAMMA_sRGB && in png_image_read_colormapped()
3047 png_error(png_ptr, "bad color-map processing (internal error)"); in png_image_read_colormapped()
3075 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_colormapped()
3080 png_free(png_ptr, row); in png_image_read_colormapped()
3096 png_read_row(png_ptr, row, NULL); in png_image_read_colormapped()
3112 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_composite() local
3115 switch (png_ptr->interlaced) in png_image_read_composite()
3127 png_error(png_ptr, "unknown interlace type"); in png_image_read_composite()
3142 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_composite()
3169 png_read_row(png_ptr, inrow, NULL); in png_image_read_composite()
3239 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_background() local
3250 if ((png_ptr->transformations & PNG_RGB_TO_GRAY) == 0) in png_image_read_background()
3251 png_error(png_ptr, "lost rgb to gray"); in png_image_read_background()
3253 if ((png_ptr->transformations & PNG_COMPOSE) != 0) in png_image_read_background()
3254 png_error(png_ptr, "unexpected compose"); in png_image_read_background()
3256 if (png_get_channels(png_ptr, info_ptr) != 2) in png_image_read_background()
3257 png_error(png_ptr, "lost/gained channels"); in png_image_read_background()
3262 png_error(png_ptr, "unexpected 8-bit transformation"); in png_image_read_background()
3264 switch (png_ptr->interlaced) in png_image_read_background()
3276 png_error(png_ptr, "unknown interlace type"); in png_image_read_background()
3279 switch (png_get_bit_depth(png_ptr, info_ptr)) in png_image_read_background()
3282 png_error(png_ptr, "unexpected bit depth"); in png_image_read_background()
3302 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_background()
3331 png_read_row(png_ptr, inrow, NULL); in png_image_read_background()
3376 png_read_row(png_ptr, inrow, NULL); in png_image_read_background()
3437 if (png_ptr->interlaced == PNG_INTERLACE_ADAM7) in png_image_read_background()
3464 png_read_row(png_ptr, png_voidcast(png_bytep, in png_image_read_background()
3511 png_structrp png_ptr = image->opaque->png_ptr; in png_image_read_direct() local
3524 png_set_expand(png_ptr); in png_image_read_direct()
3528 png_uint_32 base_format = png_image_format(png_ptr) & in png_image_read_direct()
3539 png_set_gray_to_rgb(png_ptr); in png_image_read_direct()
3559 png_set_rgb_to_gray_fixed(png_ptr, PNG_ERROR_ACTION_NONE, in png_image_read_direct()
3580 png_set_alpha_mode_fixed(png_ptr, PNG_ALPHA_PNG, input_gamma_default); in png_image_read_direct()
3618 if (png_muldiv(>est, output_gamma, png_ptr->colorspace.gamma, in png_image_read_direct()
3635 png_set_expand_16(png_ptr); in png_image_read_direct()
3638 png_set_scale_16(png_ptr); in png_image_read_direct()
3662 png_set_strip_alpha(png_ptr); in png_image_read_direct()
3681 png_set_background_fixed(png_ptr, &c, in png_image_read_direct()
3725 png_set_add_alpha(png_ptr, filler, where); in png_image_read_direct()
3736 png_set_alpha_mode_fixed(png_ptr, mode, output_gamma); in png_image_read_direct()
3745 png_set_bgr(png_ptr); in png_image_read_direct()
3768 png_set_swap_alpha(png_ptr); in png_image_read_direct()
3786 png_set_swap(png_ptr); in png_image_read_direct()
3791 png_error(png_ptr, "png_read_image: unsupported transformation"); in png_image_read_direct()
3794 PNG_SKIP_CHUNKS(png_ptr); in png_image_read_direct()
3803 passes = png_set_interlace_handling(png_ptr); in png_image_read_direct()
3805 png_read_update_info(png_ptr, info_ptr); in png_image_read_direct()
3826 png_error(png_ptr, "png_image_read: alpha channel lost"); in png_image_read_direct()
3832 if (png_ptr->transformations & PNG_BGR) in png_image_read_direct()
3843 if ((png_ptr->transformations & PNG_SWAP_ALPHA) != 0 || in png_image_read_direct()
3844 ((png_ptr->transformations & PNG_ADD_ALPHA) != 0 && in png_image_read_direct()
3845 (png_ptr->flags & PNG_FLAG_FILLER_AFTER) == 0)) in png_image_read_direct()
3848 png_error(png_ptr, "unexpected alpha swap transformation"); in png_image_read_direct()
3856 png_error(png_ptr, "png_read_image: invalid transformations"); in png_image_read_direct()
3888 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_direct()
3893 png_free(png_ptr, row); in png_image_read_direct()
3901 png_voidp row = png_malloc(png_ptr, png_get_rowbytes(png_ptr, info_ptr)); in png_image_read_direct()
3906 png_free(png_ptr, row); in png_image_read_direct()
3922 png_read_row(png_ptr, row, NULL); in png_image_read_direct()