Home | History | Annotate | Download | only in libpng16

Lines Matching full:png_ptr

25 png_set_bKGD(png_const_structrp png_ptr, png_inforp info_ptr,
30 if (png_ptr == NULL || info_ptr == NULL || background == NULL)
40 png_set_cHRM_fixed(png_const_structrp png_ptr, png_inforp info_ptr,
49 if (png_ptr == NULL || info_ptr == NULL)
61 if (png_colorspace_set_chromaticities(png_ptr, &info_ptr->colorspace, &xy,
65 png_colorspace_sync_info(png_ptr, info_ptr);
69 png_set_cHRM_XYZ_fixed(png_const_structrp png_ptr, png_inforp info_ptr,
80 if (png_ptr == NULL || info_ptr == NULL)
93 if (png_colorspace_set_endpoints(png_ptr, &info_ptr->colorspace,
97 png_colorspace_sync_info(png_ptr, info_ptr);
102 png_set_cHRM(png_const_structrp png_ptr, png_inforp info_ptr,
106 png_set_cHRM_fixed(png_ptr, info_ptr,
107 png_fixed(png_ptr, white_x, "cHRM White X"),
108 png_fixed(png_ptr, white_y, "cHRM White Y"),
109 png_fixed(png_ptr, red_x, "cHRM Red X"),
110 png_fixed(png_ptr, red_y, "cHRM Red Y"),
111 png_fixed(png_ptr, green_x, "cHRM Green X"),
112 png_fixed(png_ptr, green_y, "cHRM Green Y"),
113 png_fixed(png_ptr, blue_x, "cHRM Blue X"),
114 png_fixed(png_ptr, blue_y, "cHRM Blue Y"));
118 png_set_cHRM_XYZ(png_const_structrp png_ptr, png_inforp info_ptr, double red_X,
122 png_set_cHRM_XYZ_fixed(png_ptr, info_ptr,
123 png_fixed(png_ptr, red_X, "cHRM Red X"),
124 png_fixed(png_ptr, red_Y, "cHRM Red Y"),
125 png_fixed(png_ptr, red_Z, "cHRM Red Z"),
126 png_fixed(png_ptr, green_X, "cHRM Green X"),
127 png_fixed(png_ptr, green_Y, "cHRM Green Y"),
128 png_fixed(png_ptr, green_Z, "cHRM Green Z"),
129 png_fixed(png_ptr, blue_X, "cHRM Blue X"),
130 png_fixed(png_ptr, blue_Y, "cHRM Blue Y"),
131 png_fixed(png_ptr, blue_Z, "cHRM Blue Z"));
139 png_set_gAMA_fixed(png_const_structrp png_ptr, png_inforp info_ptr,
144 if (png_ptr == NULL || info_ptr == NULL)
147 png_colorspace_set_gamma(png_ptr, &info_ptr->colorspace, file_gamma);
148 png_colorspace_sync_info(png_ptr, info_ptr);
153 png_set_gAMA(png_const_structrp png_ptr, png_inforp info_ptr, double file_gamma)
155 png_set_gAMA_fixed(png_ptr, info_ptr, png_fixed(png_ptr, file_gamma,
163 png_set_hIST(png_const_structrp png_ptr, png_inforp info_ptr,
170 if (png_ptr == NULL || info_ptr == NULL)
176 png_warning(png_ptr,
182 png_free_data(png_ptr, info_ptr, PNG_FREE_HIST, 0);
187 info_ptr->hist = png_voidcast(png_uint_16p, png_malloc_warn(png_ptr,
192 png_warning(png_ptr, "Insufficient memory for hIST chunk data");
207 png_set_IHDR(png_const_structrp png_ptr, png_inforp info_ptr,
214 if (png_ptr == NULL || info_ptr == NULL)
225 png_check_IHDR (png_ptr, info_ptr->width, info_ptr->height,
248 png_set_oFFs(png_const_structrp png_ptr, png_inforp info_ptr,
253 if (png_ptr == NULL || info_ptr == NULL)
265 png_set_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,
274 if (png_ptr == NULL || info_ptr == NULL || purpose == NULL || units == NULL
287 png_chunk_report(png_ptr, "Invalid pCAL equation type",
294 png_chunk_report(png_ptr, "Invalid pCAL parameter count",
305 png_chunk_report(png_ptr, "Invalid format for pCAL parameter",
312 png_malloc_warn(png_ptr, length));
316 png_chunk_report(png_ptr, "Insufficient memory for pCAL purpose",
334 png_malloc_warn(png_ptr, length));
338 png_warning(png_ptr, "Insufficient memory for pCAL units");
345 info_ptr->pcal_params = png_voidcast(png_charpp, png_malloc_warn(png_ptr,
350 png_warning(png_ptr, "Insufficient memory for pCAL params");
363 info_ptr->pcal_params[i] = (png_charp)png_malloc_warn(png_ptr, length);
367 png_warning(png_ptr, "Insufficient memory for pCAL parameter");
382 png_set_sCAL_s(png_const_structrp png_ptr, png_inforp info_ptr,
389 if (png_ptr == NULL || info_ptr == NULL)
396 png_error(png_ptr, "Invalid sCAL unit");
400 png_error(png_ptr, "Invalid sCAL width");
404 png_error(png_ptr, "Invalid sCAL height");
413 png_malloc_warn(png_ptr, lengthw));
417 png_warning(png_ptr, "Memory allocation failed while processing sCAL");
429 png_malloc_warn(png_ptr, lengthh));
433 png_free (png_ptr, info_ptr->scal_s_width);
436 png_warning(png_ptr, "Memory allocation failed while processing sCAL");
449 png_set_sCAL(png_const_structrp png_ptr, png_inforp info_ptr, int unit,
456 png_warning(png_ptr, "Invalid sCAL width ignored");
459 png_warning(png_ptr, "Invalid sCAL height ignored");
467 png_ascii_from_fp(png_ptr, swidth, (sizeof swidth), width,
469 png_ascii_from_fp(png_ptr, sheight, (sizeof sheight), height,
472 png_set_sCAL_s(png_ptr, info_ptr, unit, swidth, sheight);
479 png_set_sCAL_fixed(png_const_structrp png_ptr, png_inforp info_ptr, int unit,
486 png_warning(png_ptr, "Invalid sCAL width ignored");
489 png_warning(png_ptr, "Invalid sCAL height ignored");
497 png_ascii_from_fixed(png_ptr, swidth, (sizeof swidth), width);
498 png_ascii_from_fixed(png_ptr, sheight, (sizeof sheight), height);
500 png_set_sCAL_s(png_ptr, info_ptr, unit, swidth, sheight);
508 png_set_pHYs(png_const_structrp png_ptr, png_inforp info_ptr,
513 if (png_ptr == NULL || info_ptr == NULL)
524 png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr,
532 if (png_ptr == NULL || info_ptr == NULL)
541 png_error(png_ptr, "Invalid palette length");
545 png_warning(png_ptr, "Invalid palette length");
554 && (png_ptr->mng_features_permitted & PNG_FLAG_MNG_EMPTY_PLTE) == 0
558 png_error(png_ptr, "Invalid palette");
561 /* It may not actually be necessary to set png_ptr->palette here;
568 png_free_data(png_ptr, info_ptr, PNG_FREE_PLTE, 0);
574 png_ptr->palette = png_voidcast(png_colorp, png_calloc(png_ptr,
578 memcpy(png_ptr->palette, palette, num_palette * (sizeof (png_color)));
579 info_ptr->palette = png_ptr->palette;
580 info_ptr->num_palette = png_ptr->num_palette = (png_uint_16)num_palette;
589 png_set_sBIT(png_const_structrp png_ptr, png_inforp info_ptr,
594 if (png_ptr == NULL || info_ptr == NULL || sig_bit == NULL)
604 png_set_sRGB(png_const_structrp png_ptr, png_inforp info_ptr, int srgb_intent)
608 if (png_ptr == NULL || info_ptr == NULL)
611 (void)png_colorspace_set_sRGB(png_ptr, &info_ptr->colorspace, srgb_intent);
612 png_colorspace_sync_info(png_ptr, info_ptr);
616 png_set_sRGB_gAMA_and_cHRM(png_const_structrp png_ptr, png_inforp info_ptr,
621 if (png_ptr == NULL || info_ptr == NULL)
624 if (png_colorspace_set_sRGB(png_ptr, &info_ptr->colorspace,
632 png_colorspace_sync_info(png_ptr, info_ptr);
639 png_set_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,
649 if (png_ptr == NULL || info_ptr == NULL || name == NULL || profile == NULL)
653 png_app_error(png_ptr, "Invalid iCCP compression method");
659 * write case it has not yet been stored in png_ptr.
662 int result = png_colorspace_set_ICC(png_ptr, &info_ptr->colorspace, name,
665 png_colorspace_sync_info(png_ptr, info_ptr);
677 new_iccp_name = png_voidcast(png_charp, png_malloc_warn(png_ptr, length));
681 png_benign_error(png_ptr, "Insufficient memory to process iCCP chunk");
688 png_malloc_warn(png_ptr, proflen));
692 png_free(png_ptr, new_iccp_name);
693 png_benign_error(png_ptr,
701 png_free_data(png_ptr, info_ptr, PNG_FREE_ICCP, 0);
713 png_set_text(png_const_structrp png_ptr, png_inforp info_ptr,
717 ret = png_set_text_2(png_ptr, info_ptr, text_ptr, num_text);
720 png_error(png_ptr, "Insufficient memory to store text");
724 png_set_text_2(png_const_structrp png_ptr, png_inforp info_ptr,
729 png_debug1(1, "in %lx storage function", png_ptr == NULL ? 0xabadca11U :
730 (unsigned long)png_ptr->chunk_name);
732 if (png_ptr == NULL || info_ptr == NULL || num_text <= 0 || text_ptr == NULL)
762 new_text = png_voidcast(png_textp,png_realloc_array(png_ptr,
769 png_chunk_report(png_ptr, "too many text chunks",
775 png_free(png_ptr, info_ptr->text);
797 png_chunk_report(png_ptr, "text compression mode is out of range",
829 png_chunk_report(png_ptr, "iTXt chunk not supported",
853 textp->key = png_voidcast(png_charp,png_malloc_base(png_ptr,
858 png_chunk_report(png_ptr, "text chunk: out of memory",
919 png_set_tIME(png_const_structrp png_ptr, png_inforp info_ptr,
924 if (png_ptr == NULL || info_ptr == NULL || mod_time == NULL ||
925 (png_ptr->mode & PNG_WROTE_tIME) != 0)
933 png_warning(png_ptr, "Ignoring invalid time value");
945 png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr,
950 if (png_ptr == NULL || info_ptr == NULL)
956 /* It may not actually be necessary to set png_ptr->trans_alpha here;
965 png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
971 png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH));
975 png_ptr->trans_alpha = info_ptr->trans_alpha;
991 png_warning(png_ptr,
1014 png_set_sPLT(png_const_structrp png_ptr,
1027 if (png_ptr == NULL || info_ptr == NULL || nentries <= 0 || entries == NULL)
1033 np = png_voidcast(png_sPLT_tp,png_realloc_array(png_ptr,
1040 png_chunk_report(png_ptr, "too many sPLT chunks", PNG_CHUNK_WRITE_ERROR);
1045 png_free(png_ptr, info_ptr->splt_palettes);
1059 png_app_error(png_ptr, "png_set_sPLT: invalid sPLT");
1070 np->name = png_voidcast(png_charp, png_malloc_base(png_ptr, length));
1081 np->entries = png_voidcast(png_sPLT_entryp, png_malloc_array(png_ptr,
1086 png_free(png_ptr, np->name);
1108 png_chunk_report(png_ptr, "sPLT out of memory", PNG_CHUNK_WRITE_ERROR);
1114 check_location(png_const_structrp png_ptr, int location)
1122 if (location == 0 && (png_ptr->mode & PNG_IS_READ_STRUCT) == 0)
1125 png_app_warning(png_ptr,
1128 location = (png_byte)(png_ptr->mode &
1136 png_ptr, "invalid location in png_set_unknown_chunks");
1151 png_set_unknown_chunks(png_const_structrp png_ptr,
1156 if (png_ptr == NULL || info_ptr == NULL || num_unknowns <= 0 ||
1168 if ((png_ptr->mode & PNG_IS_READ_STRUCT) != 0)
1170 png_app_error(png_ptr, "no unknown chunk support on read");
1177 if ((png_ptr->mode & PNG_IS_READ_STRUCT) == 0)
1179 png_app_error(png_ptr, "no unknown chunk support on write");
1190 np = png_voidcast(png_unknown_chunkp, png_realloc_array(png_ptr,
1196 png_chunk_report(png_ptr, "too many unknown chunks",
1202 png_free(png_ptr, info_ptr->unknown_chunks);
1215 np->location = check_location(png_ptr, unknowns->location);
1226 png_malloc_base(png_ptr, unknowns->size));
1230 png_chunk_report(png_ptr, "unknown chunk: out of memory",
1250 png_set_unknown_chunk_location(png_const_structrp png_ptr, png_inforp info_ptr,
1258 if (png_ptr != NULL && info_ptr != NULL && chunk >= 0 &&
1263 png_app_error(png_ptr, "invalid unknown chunk location");
1273 check_location(png_ptr, location);
1280 png_permit_mng_features (png_structrp png_ptr, png_uint_32 mng_features)
1284 if (png_ptr == NULL)
1287 png_ptr->mng_features_permitted = mng_features & PNG_ALL_MNG_FEATURES;
1289 return png_ptr->mng_features_permitted;
1323 png_set_keep_unknown_chunks(png_structrp png_ptr, int keep,
1329 if (png_ptr == NULL)
1334 png_app_error(png_ptr, "png_set_keep_unknown_chunks: invalid keep");
1341 png_ptr->unknown_default = keep;
1384 png_app_error(png_ptr, "png_set_keep_unknown_chunks: no chunk list");
1392 old_num_chunks = png_ptr->num_chunk_list;
1393 if (png_ptr->chunk_list == NULL)
1400 png_app_error(png_ptr, "png_set_keep_unknown_chunks: too many chunks");
1411 new_list = png_voidcast(png_bytep, png_malloc(png_ptr,
1415 memcpy(new_list, png_ptr->chunk_list, 5*old_num_chunks);
1419 new_list = png_ptr->chunk_list;
1457 if (png_ptr->chunk_list != new_list)
1458 png_free(png_ptr, new_list);
1467 png_ptr->num_chunk_list = num_chunks;
1469 if (png_ptr->chunk_list != new_list)
1471 if (png_ptr->chunk_list != NULL)
1472 png_free(png_ptr, png_ptr->chunk_list);
1474 png_ptr->chunk_list = new_list;
1481 png_set_read_user_chunk_fn(png_structrp png_ptr, png_voidp user_chunk_ptr,
1486 if (png_ptr == NULL)
1489 png_ptr->read_user_chunk_fn = read_user_chunk_fn;
1490 png_ptr->user_chunk_ptr = user_chunk_ptr;
1496 png_set_rows(png_const_structrp png_ptr, png_inforp info_ptr,
1501 if (png_ptr == NULL || info_ptr == NULL)
1506 png_free_data(png_ptr, info_ptr, PNG_FREE_ROWS, 0);
1516 png_set_compression_buffer_size(png_structrp png_ptr, png_size_t size)
1518 if (png_ptr == NULL)
1522 png_error(png_ptr, "invalid compression buffer size");
1525 if ((png_ptr->mode & PNG_IS_READ_STRUCT) != 0)
1527 png_ptr->IDAT_read_size = (png_uint_32)size; /* checked above */
1533 if ((png_ptr->mode & PNG_IS_READ_STRUCT) == 0)
1535 if (png_ptr->zowner != 0)
1537 png_warning(png_ptr,
1549 png_warning(png_ptr,
1560 png_warning(png_ptr,
1566 if (png_ptr->zbuffer_size != size)
1568 png_free_buffer_list(png_ptr, &png_ptr->zbuffer_list);
1569 png_ptr->zbuffer_size = (uInt)size;
1576 png_set_invalid(png_const_structrp png_ptr, png_inforp info_ptr, int mask)
1578 if (png_ptr != NULL && info_ptr != NULL)
1586 png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max,
1593 if (png_ptr == NULL)
1596 png_ptr->user_width_max = user_width_max;
1597 png_ptr->user_height_max = user_height_max;
1602 png_set_chunk_cache_max (png_structrp png_ptr, png_uint_32 user_chunk_cache_max)
1604 if (png_ptr != NULL)
1605 png_ptr->user_chunk_cache_max = user_chunk_cache_max;
1610 png_set_chunk_malloc_max (png_structrp png_ptr,
1613 if (png_ptr != NULL)
1614 png_ptr->user_chunk_malloc_max = user_chunk_malloc_max;
1621 png_set_benign_errors(png_structrp png_ptr, int allowed)
1632 png_ptr->flags |= PNG_FLAG_BENIGN_ERRORS_WARN |
1636 png_ptr->flags &= ~(PNG_FLAG_BENIGN_ERRORS_WARN |
1651 png_set_check_for_invalid_index(png_structrp png_ptr, int allowed)
1656 png_ptr->num_palette_max = 0;
1659 png_ptr->num_palette_max = -1;
1676 png_check_keyword(png_structrp png_ptr, png_const_charp key, png_bytep new_key)
1730 png_warning(png_ptr, "keyword truncated");
1739 png_formatted_warning(png_ptr, p, "keyword \"@1\": bad character '0x@2'");