15#ifdef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED
19#ifdef PNG_WRITE_SUPPORTED
21#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
27 if (
info_ptr->unknown_chunks_num != 0)
34 up < info_ptr->unknown_chunks +
info_ptr->unknown_chunks_num;
41#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
57 ((up->
name[3] & 0x20) ||
86 png_debug(1,
"in png_write_info_before_PLTE");
96#ifdef PNG_MNG_FEATURES_SUPPORTED
98 png_ptr->mng_features_permitted != 0)
101 "MNG features are not allowed in a PNG datastream");
102 png_ptr->mng_features_permitted = 0;
131#ifdef PNG_GAMMA_SUPPORTED
132# ifdef PNG_WRITE_gAMA_SUPPORTED
140#ifdef PNG_COLORSPACE_SUPPORTED
144# ifdef PNG_WRITE_iCCP_SUPPORTED
148# ifdef PNG_WRITE_sRGB_SUPPORTED
151 "profile matches sRGB but writing iCCP instead");
157# ifdef PNG_WRITE_sRGB_SUPPORTED
162# ifdef PNG_WRITE_sRGB_SUPPORTED
169#ifdef PNG_WRITE_sBIT_SUPPORTED
174#ifdef PNG_COLORSPACE_SUPPORTED
175# ifdef PNG_WRITE_cHRM_SUPPORTED
183#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
194#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_sPLT_SUPPORTED)
212#ifdef PNG_WRITE_tRNS_SUPPORTED
215#ifdef PNG_WRITE_INVERT_ALPHA_SUPPORTED
226 for (
j = 0;
j<jend; ++
j)
228 (png_byte)(255 -
info_ptr->trans_alpha[
j]);
235#ifdef PNG_WRITE_bKGD_SUPPORTED
240#ifdef PNG_WRITE_eXIf_SUPPORTED
245#ifdef PNG_WRITE_hIST_SUPPORTED
250#ifdef PNG_WRITE_oFFs_SUPPORTED
256#ifdef PNG_WRITE_pCAL_SUPPORTED
263#ifdef PNG_WRITE_sCAL_SUPPORTED
269#ifdef PNG_WRITE_pHYs_SUPPORTED
275#ifdef PNG_WRITE_tIME_SUPPORTED
283#ifdef PNG_WRITE_sPLT_SUPPORTED
289#ifdef PNG_WRITE_TEXT_SUPPORTED
293 png_debug2(2,
"Writing header text chunk %d, type %d",
i,
298#ifdef PNG_WRITE_iTXt_SUPPORTED
319#ifdef PNG_WRITE_zTXt_SUPPORTED
332#ifdef PNG_WRITE_tEXt_SUPPORTED
347#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
368#ifdef PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED
376#ifdef PNG_WRITE_TEXT_SUPPORTED
379#ifdef PNG_WRITE_tIME_SUPPORTED
386#ifdef PNG_WRITE_TEXT_SUPPORTED
390 png_debug2(2,
"Writing trailer text chunk %d, type %d",
i,
395#ifdef PNG_WRITE_iTXt_SUPPORTED
415#ifdef PNG_WRITE_zTXt_SUPPORTED
428#ifdef PNG_WRITE_tEXt_SUPPORTED
441#ifdef PNG_WRITE_eXIf_SUPPORTED
446#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
463#ifdef PNG_WRITE_FLUSH_SUPPORTED
464# ifdef PNG_WRITE_FLUSH_AFTER_IEND_SUPPORTED
470#ifdef PNG_CONVERT_tIME_SUPPORTED
472png_convert_from_struct_tm(
png_timep ptime,
const struct tm * ttime)
474 png_debug(1,
"in png_convert_from_struct_tm");
477 ptime->
month = (png_byte)(ttime->tm_mon + 1);
478 ptime->
day = (png_byte)ttime->tm_mday;
479 ptime->
hour = (png_byte)ttime->tm_hour;
480 ptime->
minute = (png_byte)ttime->tm_min;
481 ptime->second = (png_byte)ttime->tm_sec;
485png_convert_from_time_t(
png_timep ptime, time_t ttime)
489 png_debug(1,
"in png_convert_from_time_t");
492 png_convert_from_struct_tm(ptime, tbuf);
499 png_error_ptr error_fn, png_error_ptr warn_fn),
PNG_ALLOCATED)
501#ifndef PNG_USER_MEM_SUPPORTED
505 return png_create_write_struct_2(user_png_ver, error_ptr, error_fn,
512 png_error_ptr error_fn, png_error_ptr warn_fn,
png_voidp mem_ptr,
513 png_malloc_ptr malloc_fn, png_free_ptr free_fn),
PNG_ALLOCATED)
516 error_fn, warn_fn, mem_ptr, malloc_fn, free_fn);
532 png_ptr->zlib_window_bits = 15;
535#ifdef PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
538 png_ptr->zlib_text_mem_level = 8;
539 png_ptr->zlib_text_window_bits = 15;
548#ifdef PNG_BENIGN_WRITE_ERRORS_SUPPORTED
612#ifdef PNG_WRITE_INTERLACING_SUPPORTED
621 for (pass = 0; pass < num_pass; pass++)
624 for (
i = 0, rp = image;
i <
png_ptr->height;
i++, rp++)
631#ifdef PNG_MNG_FEATURES_SUPPORTED
636 png_debug(1,
"in png_do_write_intrapixel");
656 for (
i = 0, rp = row;
i < row_width;
i++, rp += bytes_per_pixel)
658 *(rp) = (png_byte)(*rp - *(rp + 1));
659 *(rp + 2) = (png_byte)(*(rp + 2) - *(rp + 1));
663#ifdef PNG_WRITE_16BIT_SUPPORTED
678 for (
i = 0, rp = row;
i < row_width;
i++, rp += bytes_per_pixel)
685 *(rp ) = (png_byte)(
red >> 8);
686 *(rp + 1) = (png_byte)
red;
687 *(rp + 4) = (png_byte)(
blue >> 8);
688 *(rp + 5) = (png_byte)
blue;
706 png_debug2(1,
"in png_write_row (row %u, pass %d)",
715 "png_write_info was never called before png_write_row");
718#if !defined(PNG_WRITE_INVERT_SUPPORTED) && defined(PNG_READ_INVERT_SUPPORTED)
723#if !defined(PNG_WRITE_FILLER_SUPPORTED) && defined(PNG_READ_FILLER_SUPPORTED)
727#if !defined(PNG_WRITE_PACKSWAP_SUPPORTED) && \
728 defined(PNG_READ_PACKSWAP_SUPPORTED)
731 "PNG_WRITE_PACKSWAP_SUPPORTED is not defined");
734#if !defined(PNG_WRITE_PACK_SUPPORTED) && defined(PNG_READ_PACK_SUPPORTED)
739#if !defined(PNG_WRITE_SHIFT_SUPPORTED) && defined(PNG_READ_SHIFT_SUPPORTED)
744#if !defined(PNG_WRITE_BGR_SUPPORTED) && defined(PNG_READ_BGR_SUPPORTED)
749#if !defined(PNG_WRITE_SWAP_SUPPORTED) && defined(PNG_READ_SWAP_SUPPORTED)
757#ifdef PNG_WRITE_INTERLACING_SUPPORTED
759 if (
png_ptr->interlaced != 0 &&
765 if ((
png_ptr->row_number & 0x07) != 0)
781 if ((
png_ptr->row_number & 0x07) != 4)
797 if ((
png_ptr->row_number & 0x03) != 2)
813 if ((
png_ptr->row_number & 0x01) == 0)
844#ifdef PNG_WRITE_INTERLACING_SUPPORTED
851 if (row_info.
width == 0)
859#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED
861 if (
png_ptr->transformations != 0)
872#ifdef PNG_MNG_FEATURES_SUPPORTED
886 png_do_write_intrapixel(&row_info,
png_ptr->row_buf + 1);
891#ifdef PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED
905#ifdef PNG_WRITE_FLUSH_SUPPORTED
951#ifdef PNG_WRITE_FILTER_SUPPORTED
960#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
981 png_debug(1,
"in png_destroy_write_struct");
983 if (png_ptr_ptr !=
NULL)
1007#ifdef PNG_MNG_FEATURES_SUPPORTED
1017#ifdef PNG_WRITE_FILTER_SUPPORTED
1026#ifdef PNG_WRITE_FILTER_SUPPORTED
1040 png_ptr->do_filter = (png_byte)filters;
break;
1047#ifdef PNG_WRITE_FILTER_SUPPORTED
1083 "png_set_filter: UP/AVG/PAETH cannot be added after start");
1111 if (num_filters > 1)
1118 png_ptr->do_filter = (png_byte)filters;
1125#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
1127#ifdef PNG_FLOATING_POINT_SUPPORTED
1141#ifdef PNG_FIXED_POINT_SUPPORTED
1156#ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
1160 png_debug(1,
"in png_set_compression_level");
1171 png_debug(1,
"in png_set_compression_mem_level");
1176 png_ptr->zlib_mem_level = mem_level;
1182 png_debug(1,
"in png_set_compression_strategy");
1190 png_ptr->zlib_strategy = strategy;
1208 if (window_bits > 15)
1214 else if (window_bits < 8)
1220 png_ptr->zlib_window_bits = window_bits;
1226 png_debug(1,
"in png_set_compression_method");
1242#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
1246 png_debug(1,
"in png_set_text_compression_level");
1251 png_ptr->zlib_text_level = level;
1257 png_debug(1,
"in png_set_text_compression_mem_level");
1262 png_ptr->zlib_text_mem_level = mem_level;
1268 png_debug(1,
"in png_set_text_compression_strategy");
1273 png_ptr->zlib_text_strategy = strategy;
1285 if (window_bits > 15)
1291 else if (window_bits < 8)
1297 png_ptr->zlib_text_window_bits = window_bits;
1303 png_debug(1,
"in png_set_text_compression_method");
1322 png_ptr->write_row_fn = write_row_fn;
1325#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
1328 write_user_transform_fn)
1330 png_debug(1,
"in png_set_write_user_transform_fn");
1336 png_ptr->write_user_transform_fn = write_user_transform_fn;
1341#ifdef PNG_INFO_IMAGE_SUPPORTED
1344 int transforms,
voidp params)
1362#ifdef PNG_WRITE_INVERT_SUPPORTED
1372#ifdef PNG_WRITE_SHIFT_SUPPORTED
1381#ifdef PNG_WRITE_PACK_SUPPORTED
1389#ifdef PNG_WRITE_SWAP_ALPHA_SUPPORTED
1402#ifdef PNG_WRITE_FILLER_SUPPORTED
1407 "PNG_TRANSFORM_STRIP_FILLER: BEFORE+AFTER not supported");
1422#ifdef PNG_WRITE_BGR_SUPPORTED
1430#ifdef PNG_WRITE_SWAP_SUPPORTED
1438#ifdef PNG_WRITE_PACKSWAP_SUPPORTED
1446#ifdef PNG_WRITE_INVERT_ALPHA_SUPPORTED
1465#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
1468png_image_write_init(png_imagep image)
1471 png_safe_error, png_safe_warning);
1501 return png_image_error(image,
"png_image_write_: out of memory");
1512 int convert_to_8bit;
1515 ptrdiff_t row_bytes;
1521} png_image_write_control;
1528png_write_image_16bit(
png_voidp argument)
1530 png_image_write_control *display =
png_voidcast(png_image_write_control*,
1532 png_imagep
image = display->image;
1536 display->first_row);
1539 unsigned int channels = (
image->format & PNG_FORMAT_FLAG_COLOR) != 0 ?
1544 if ((
image->format & PNG_FORMAT_FLAG_ALPHA) != 0)
1546# ifdef PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED
1547 if ((
image->format & PNG_FORMAT_FLAG_AFIRST) != 0)
1554 aindex = (
int)channels;
1556 aindex = (
int)channels;
1574 while (out_ptr < row_end)
1580 out_ptr[aindex] = alpha;
1587 if (alpha > 0 && alpha < 65535)
1588 reciprocal = ((0xffff<<15)+(alpha>>1))/alpha;
1602 if (component >= alpha)
1608 else if (component > 0 && alpha < 65535)
1615 *out_ptr++ = component;
1639# define UNP_RECIPROCAL(alpha) ((((0xffff*0xff)<<7)+((alpha)>>1))/(alpha))
1655 if (component >= alpha || alpha < 128)
1661 else if (component > 0)
1670 component *= reciprocal;
1679 return (png_byte)PNG_sRGB_FROM_LINEAR(component);
1689 png_image_write_control *display =
png_voidcast(png_image_write_control*,
1691 png_imagep
image = display->image;
1695 display->first_row);
1698 unsigned int channels = (
image->format & PNG_FORMAT_FLAG_COLOR) != 0 ?
1701 if ((
image->format & PNG_FORMAT_FLAG_ALPHA) != 0)
1706# ifdef PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED
1707 if ((
image->format & PNG_FORMAT_FLAG_AFIRST) != 0)
1716 aindex = (
int)channels;
1726 while (out_ptr < row_end)
1729 png_byte alphabyte = (png_byte)
PNG_DIV257(alpha);
1734 out_ptr[aindex] = alphabyte;
1736 if (alphabyte > 0 && alphabyte < 255)
1737 reciprocal = UNP_RECIPROCAL(alpha);
1741 *out_ptr++ = png_unpremultiply(*in_ptr++, alpha, reciprocal);
1750 display->local_row));
1767 while (out_ptr < row_end)
1772 *out_ptr++ = (png_byte)PNG_sRGB_FROM_LINEAR(component);
1784png_image_set_PLTE(png_image_write_control *display)
1786 png_imagep
image = display->image;
1787 const void *cmap = display->colormap;
1788 int entries =
image->colormap_entries > 256 ? 256 :
1793 unsigned int channels = PNG_IMAGE_SAMPLE_CHANNELS(
format);
1795# if defined(PNG_FORMAT_BGR_SUPPORTED) &&\
1796 defined(PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED)
1797 int afirst = (
format & PNG_FORMAT_FLAG_AFIRST) != 0 &&
1798 (
format & PNG_FORMAT_FLAG_ALPHA) != 0;
1803# ifdef PNG_FORMAT_BGR_SUPPORTED
1804 int bgr = (
format & PNG_FORMAT_FLAG_BGR) != 0 ? 2 : 0;
1813 memset(tRNS, 255, (
sizeof tRNS));
1814 memset(palette, 0, (
sizeof palette));
1816 for (
i=num_trans=0;
i<entries; ++
i)
1821 if ((
format & PNG_FORMAT_FLAG_LINEAR) != 0)
1825 entry += (
unsigned int)
i * channels;
1827 if ((channels & 1) != 0)
1831 palette[
i].
blue = (png_byte)PNG_sRGB_FROM_LINEAR(255 *
1833 palette[
i].
green = (png_byte)PNG_sRGB_FROM_LINEAR(255 *
1835 palette[
i].
red = (png_byte)PNG_sRGB_FROM_LINEAR(255 *
1841 (png_byte)PNG_sRGB_FROM_LINEAR(255 * *entry);
1846 png_uint_16 alpha = entry[afirst ? 0 : channels-1];
1847 png_byte alphabyte = (png_byte)
PNG_DIV257(alpha);
1854 if (alphabyte > 0 && alphabyte < 255)
1855 reciprocal = (((0xffff*0xff)<<7)+(alpha>>1))/alpha;
1857 tRNS[
i] = alphabyte;
1858 if (alphabyte < 255)
1863 palette[
i].
blue = png_unpremultiply(entry[afirst + (2 ^ bgr)],
1865 palette[
i].
green = png_unpremultiply(entry[afirst + 1], alpha,
1867 palette[
i].
red = png_unpremultiply(entry[afirst + bgr], alpha,
1873 png_unpremultiply(entry[afirst], alpha, reciprocal);
1881 entry += (
unsigned int)
i * channels;
1886 tRNS[
i] = entry[afirst ? 0 : 3];
1891 palette[
i].
blue = entry[afirst + (2 ^ bgr)];
1892 palette[
i].
green = entry[afirst + 1];
1893 palette[
i].
red = entry[afirst + bgr];
1897 tRNS[
i] = entry[1 ^ afirst];
1932 png_image_write_control *display =
png_voidcast(png_image_write_control*,
1934 png_imagep
image = display->image;
1940 int colormap = (
format & PNG_FORMAT_FLAG_COLORMAP);
1941 int linear = !colormap && (
format & PNG_FORMAT_FLAG_LINEAR);
1942 int alpha = !colormap && (
format & PNG_FORMAT_FLAG_ALPHA);
1943 int write_16bit =
linear && (display->convert_to_8bit == 0);
1945# ifdef PNG_BENIGN_ERRORS_SUPPORTED
1954 unsigned int channels = PNG_IMAGE_PIXEL_CHANNELS(
image->format);
1956 if (
image->width <= 0x7fffffffU/channels)
1961 if (display->row_stride == 0)
1962 display->row_stride = (
png_int_32)png_row_stride;
1964 if (display->row_stride < 0)
1970 if (
check >= png_row_stride)
1976 if (
image->height > 0xffffffffU/png_row_stride)
1981 png_error(
image->opaque->png_ptr,
"supplied row stride too small");
1989 if ((
format & PNG_FORMAT_FLAG_COLORMAP) != 0)
1991 if (display->colormap !=
NULL &&
image->colormap_entries > 0)
1996 entries > 16 ? 8 : (entries > 4 ? 4 : (entries > 2 ? 2 : 1)),
2000 png_image_set_PLTE(display);
2005 "no color-map for color-mapped image");
2010 write_16bit ? 16 : 8,
2021 if (write_16bit != 0)
2026 if ((
image->flags & PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB) == 0)
2036 else if ((
image->flags & PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB) == 0)
2053 if (write_16bit != 0)
2061# ifdef PNG_SIMPLIFIED_WRITE_BGR_SUPPORTED
2062 if ((
format & PNG_FORMAT_FLAG_BGR) != 0)
2064 if (colormap == 0 && (
format & PNG_FORMAT_FLAG_COLOR) != 0)
2066 format &= ~PNG_FORMAT_FLAG_BGR;
2070# ifdef PNG_SIMPLIFIED_WRITE_AFIRST_SUPPORTED
2071 if ((
format & PNG_FORMAT_FLAG_AFIRST) != 0)
2073 if (colormap == 0 && (
format & PNG_FORMAT_FLAG_ALPHA) != 0)
2075 format &= ~PNG_FORMAT_FLAG_AFIRST;
2082 if (colormap != 0 &&
image->colormap_entries <= 16)
2087 PNG_FORMAT_FLAG_ALPHA | PNG_FORMAT_FLAG_COLORMAP)) != 0)
2092 ptrdiff_t row_bytes = display->row_stride;
2098 row += (
image->height-1) * (-row_bytes);
2100 display->first_row =
row;
2101 display->row_bytes = row_bytes;
2105 if ((
image->flags & PNG_IMAGE_FLAG_FAST) != 0)
2113# ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
2114 png_set_compression_level(
png_ptr, 3);
2122 if ((linear != 0 && alpha != 0 ) ||
2123 (colormap == 0 && display->convert_to_8bit != 0))
2129 display->local_row =
row;
2130 if (write_16bit != 0)
2131 result = png_safe_execute(image, png_write_image_16bit, display);
2133 result = png_safe_execute(image, png_write_image_8bit, display);
2134 display->local_row =
NULL;
2149 ptrdiff_t row_bytes = display->row_bytes;
2167 png_image_write_control *display =
png_voidcast(png_image_write_control*,
2172 if (
size <= ((png_alloc_size_t)-1) - ob)
2177 if (display->memory_bytes >= ob+
size)
2181 display->output_bytes = ob+
size;
2196png_image_write_memory(
png_voidp argument)
2198 png_image_write_control *display =
png_voidcast(png_image_write_control*,
2206 image_memory_write, image_memory_flush);
2208 return png_image_write_main(display);
2212png_image_write_to_memory(png_imagep image,
void *memory,
2213 png_alloc_size_t *
PNG_RESTRICT memory_bytes,
int convert_to_8bit,
2214 const void *buffer,
png_int_32 row_stride,
const void *colormap)
2217 if (image !=
NULL &&
image->version == PNG_IMAGE_VERSION)
2219 if (memory_bytes !=
NULL && buffer !=
NULL)
2227 if (png_image_write_init(image) != 0)
2229 png_image_write_control display;
2232 memset(&display, 0, (
sizeof display));
2233 display.image =
image;
2235 display.row_stride = row_stride;
2236 display.colormap = colormap;
2237 display.convert_to_8bit = convert_to_8bit;
2239 display.memory_bytes = *memory_bytes;
2240 display.output_bytes = 0;
2242 result = png_safe_execute(image, png_image_write_memory, &display);
2243 png_image_free(image);
2251 if (memory !=
NULL && display.output_bytes > *memory_bytes)
2254 *memory_bytes = display.output_bytes;
2265 return png_image_error(image,
2266 "png_image_write_to_memory: invalid argument");
2269 else if (image !=
NULL)
2270 return png_image_error(image,
2271 "png_image_write_to_memory: incorrect PNG_IMAGE_VERSION");
2277#ifdef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED
2279png_image_write_to_stdio(png_imagep image, FILE *
file,
int convert_to_8bit,
2280 const void *buffer,
png_int_32 row_stride,
const void *colormap)
2283 if (image !=
NULL &&
image->version == PNG_IMAGE_VERSION)
2287 if (png_image_write_init(image) != 0)
2289 png_image_write_control display;
2298 memset(&display, 0, (
sizeof display));
2299 display.image =
image;
2301 display.row_stride = row_stride;
2302 display.colormap = colormap;
2303 display.convert_to_8bit = convert_to_8bit;
2305 result = png_safe_execute(image, png_image_write_main, &display);
2306 png_image_free(image);
2315 return png_image_error(image,
2316 "png_image_write_to_stdio: invalid argument");
2319 else if (image !=
NULL)
2320 return png_image_error(image,
2321 "png_image_write_to_stdio: incorrect PNG_IMAGE_VERSION");
2328png_image_write_to_file(png_imagep image,
const char *file_name,
2329 int convert_to_8bit,
const void *buffer,
png_int_32 row_stride,
2330 const void *colormap)
2333 if (image !=
NULL &&
image->version == PNG_IMAGE_VERSION)
2335 if (file_name !=
NULL && buffer !=
NULL)
2337 FILE *fp = fopen(file_name,
"wb");
2341 if (png_image_write_to_stdio(image, fp, convert_to_8bit, buffer,
2342 row_stride, colormap) != 0)
2347 if (fflush(fp) == 0 && ferror(fp) == 0)
2349 if (fclose(fp) == 0)
2361 (
void)remove(file_name);
2365 return png_image_error(image, strerror(
error));
2372 (
void)remove(file_name);
2378 return png_image_error(image, strerror(errno));
2382 return png_image_error(image,
2383 "png_image_write_to_file: invalid argument");
2386 else if (image !=
NULL)
2387 return png_image_error(image,
2388 "png_image_write_to_file: incorrect PNG_IMAGE_VERSION");
#define check(expr)
Definition blargg_source.h:32
register unsigned j
Definition inflate.c:1576
int y
Definition inflate.c:1588
register unsigned i
Definition inflate.c:1575
JBLOCKROW output_row
Definition jpegint.h:376
int JSAMPARRAY int int num_rows
Definition jpegint.h:375
JSAMPIMAGE data
Definition jpeglib.h:945
#define PNG_FUNCTION(type, name, args, attributes)
#define PNG_TRANSFORM_SWAP_ENDIAN
#define PNG_UNUSED(param)
#define PNG_HAVE_PNG_SIGNATURE
#define PNG_TEXT_COMPRESSION_zTXt_WR
#define PNG_Z_DEFAULT_STRATEGY
Definition juce_PNGLoader.cpp:260
#define png_error(s1, s2)
#define PNG_ROWBYTES(pixel_bits, width)
#define PNG_TRANSFORM_INVERT_ALPHA
#define PNG_COLORSPACE_FROM_gAMA
Definition juce_PNGLoader.cpp:136
#define PNG_INTRAPIXEL_DIFFERENCING
#define PNG_TEXT_Z_DEFAULT_COMPRESSION
Definition juce_PNGLoader.cpp:254
#define PNG_FILLER_BEFORE
#define PNG_TRANSFORM_PACKING
#define PNG_WRITE_INTERLACING_SUPPORTED
Definition juce_PNGLoader.cpp:186
#define PNG_COLOR_TYPE_RGB
#define PNG_COLORSPACE_INVALID
Definition juce_PNGLoader.cpp:141
#define PNG_MAX_PALETTE_LENGTH
#define PNG_TRANSFORM_SWAP_ALPHA
#define PNG_FLAG_BENIGN_ERRORS_WARN
#define PNG_COLORSPACE_FROM_cHRM
Definition juce_PNGLoader.cpp:137
#define PNG_TRANSFORM_INVERT_MONO
#define PNG_TEXT_COMPRESSION_zTXt
#define PNG_USER_TRANSFORM
#define png_debug1(a, b, c)
Definition juce_PNGLoader.cpp:278
#define png_debug2(a, b, c, d)
Definition juce_PNGLoader.cpp:279
#define PNG_COLOR_TYPE_RGB_ALPHA
#define PNG_FLAG_MNG_FILTER_64
#define PNG_Z_DEFAULT_COMPRESSION
Definition juce_PNGLoader.cpp:258
#define PNG_WROTE_INFO_BEFORE_PLTE
#define PNG_TRANSFORM_PACKSWAP
#define PNG_TEXT_COMPRESSION_NONE
#define png_debug(a, b)
Definition juce_PNGLoader.cpp:277
#define PNG_TEXT_COMPRESSION_NONE_WR
#define PNG_FLAG_APP_WARNINGS_WARN
#define PNG_ZBUF_SIZE
Definition juce_PNGLoader.cpp:257
#define PNG_FILTER_VALUE_AVG
#define PNG_COLOR_MASK_COLOR
#define PNG_TRANSFORM_STRIP_FILLER_AFTER
#define PNG_TEXT_Z_DEFAULT_STRATEGY
Definition juce_PNGLoader.cpp:255
#define PNG_FILTER_VALUE_UP
#define PNG_TRANSFORM_BGR
#define PNG_TRANSFORM_STRIP_FILLER_BEFORE
#define PNG_FLAG_ZSTREAM_INITIALIZED
#define PNG_GAMMA_sRGB_INVERSE
#define PNG_FILTER_TYPE_BASE
#define PNG_HANDLE_CHUNK_NEVER
#define PNG_COLOR_MASK_ALPHA
#define PNG_HANDLE_CHUNK_ALWAYS
#define PNG_sRGB_INTENT_PERCEPTUAL
#define png_voidcast(type, value)
#define PNG_COLOR_TYPE_PALETTE
#define PNG_FILTER_VALUE_PAETH
#define PNG_LIBPNG_VER_STRING
#define PNG_FILTER_VALUE_NONE
#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY
#define PNG_INTERLACE_NONE
#define PNG_COMPRESSION_TYPE_BASE
#define PNG_FILTER_VALUE_SUB
#define PNG_HANDLE_CHUNK_AS_DEFAULT
#define PNG_TRANSFORM_SHIFT
float control
Definition lilv_test.c:1462
const Colour blue
Definition juce_Colours.h:52
@ linear
Definition juce_DryWetMixer.h:33
JOCTET * buffer
Definition juce_JPEGLoader.cpp:302
size_t png_alloc_size_t
Definition juce_PNGLoader.cpp:558
@ image
Definition juce_AccessibilityRole.h:42
@ row
Definition juce_AccessibilityRole.h:53
void PNGAPI png_destroy_info_struct(png_const_structrp png_ptr, png_infopp info_ptr_ptr)
Definition png.c:386
int PNGAPI png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep chunk_name)
Definition png.c:926
png_struct * png_structp
Definition png.h:440
png_const_structrp png_const_inforp double double double double double double double double double *blue_Z png_const_structrp png_const_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point *int_blue_Z png_const_structrp png_inforp double double double double double double double double double blue_Z png_const_structrp png_inforp png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point png_fixed_point int_blue_Z png_const_structrp png_const_inforp png_fixed_point *int_file_gamma png_set_gAMA_fixed
Definition png.h:2003
struct png_row_info_struct png_row_info
png_info ** png_infopp
Definition png.h:455
png_structrp png_ptr
Definition png.h:1082
png_time * png_timep
Definition png.h:608
png_set_filter_heuristics_fixed
Definition png.h:1487
png_row_info * png_row_infop
Definition png.h:763
png_structrp int int num_weights
Definition png.h:1488
png_structrp int png_fixed_point red
Definition png.h:1083
struct png_color_struct png_color
png_structrp int heuristic_method
Definition png.h:1488
png_struct ** png_structpp
Definition png.h:441
const png_info *PNG_RESTRICT png_const_inforp
Definition png.h:471
png_structrp int int png_const_fixed_point_p filter_weights
Definition png.h:1489
png_info * png_infop
Definition png.h:453
const png_unknown_chunk * png_const_unknown_chunkp
Definition png.h:638
png_info *PNG_RESTRICT png_inforp
Definition png.h:470
png_uint_32
Definition png.h:1938
png_struct *PNG_RESTRICT png_structrp
Definition png.h:468
png_const_structrp png_const_inforp info_ptr
Definition png.h:1939
const png_byte * png_const_bytep
Definition pngconf.h:580
const png_uint_16 * png_const_uint_16p
Definition pngconf.h:586
png_byte * png_bytep
Definition pngconf.h:579
png_byte ** png_bytepp
Definition pngconf.h:606
png_uint_16 * png_uint_16p
Definition pngconf.h:585
void * png_voidp
Definition pngconf.h:577
const void * png_const_voidp
Definition pngconf.h:578
const png_fixed_point * png_const_fixed_point_p
Definition pngconf.h:592
const char * png_const_charp
Definition pngconf.h:590
void PNGAPI png_benign_error(png_const_structrp png_ptr, png_const_charp error_message)
Definition pngerror.c:362
void png_app_warning(png_const_structrp png_ptr, png_const_charp error_message)
Definition pngerror.c:392
void PNGAPI png_warning(png_const_structrp png_ptr, png_const_charp warning_message)
Definition pngerror.c:216
void png_app_error(png_const_structrp png_ptr, png_const_charp error_message)
Definition pngerror.c:405
size_t PNGAPI png_get_rowbytes(png_const_structrp png_ptr, png_const_inforp info_ptr)
Definition pngget.c:30
void PNGAPI png_free(png_const_structrp png_ptr, png_voidp ptr)
Definition pngmem.c:232
void png_destroy_png_struct(png_structrp png_ptr)
Definition pngmem.c:25
const png_double * png_const_doublep
Definition pngpriv.h:374
png_int_32(PNGAPI png_get_int_32)(png_const_bytep buf)
Definition pngrutil.c:84
png_uint_16(PNGAPI png_get_uint_16)(png_const_bytep buf)
Definition pngrutil.c:102
void PNGAPI png_set_benign_errors(png_structrp png_ptr, int allowed)
Definition pngset.c:1671
void PNGAPI png_set_IHDR(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_type, int compression_type, int filter_type)
Definition pngset.c:254
void PNGAPI png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr, png_const_colorp palette, int num_palette)
Definition pngset.c:572
void PNGFAPI png_set_cHRM_fixed(png_const_structrp png_ptr, png_inforp info_ptr, png_fixed_point white_x, png_fixed_point white_y, png_fixed_point red_x, png_fixed_point red_y, png_fixed_point green_x, png_fixed_point green_y, png_fixed_point blue_x, png_fixed_point blue_y)
Definition pngset.c:40
void PNGAPI png_set_sRGB(png_const_structrp png_ptr, png_inforp info_ptr, int srgb_intent)
Definition pngset.c:653
void PNGAPI png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr, png_const_bytep trans_alpha, int num_trans, png_const_color_16p trans_color)
Definition pngset.c:994
void PNGAPI png_set_filler(png_structrp png_ptr, png_uint_32 filler, int filler_loc)
Definition pngtrans.c:120
void png_do_check_palette_indexes(png_structrp png_ptr, png_row_infop row_info)
Definition pngtrans.c:699
void PNGAPI png_set_bgr(png_structrp png_ptr)
Definition pngtrans.c:21
void PNGAPI png_set_swap(png_structrp png_ptr)
Definition pngtrans.c:35
void PNGAPI png_set_packswap(png_structrp png_ptr)
Definition pngtrans.c:70
void PNGAPI png_set_invert_mono(png_structrp png_ptr)
Definition pngtrans.c:250
void PNGAPI png_set_packing(png_structrp png_ptr)
Definition pngtrans.c:50
void PNGAPI png_set_shift(png_structrp png_ptr, png_const_color_8p true_bits)
Definition pngtrans.c:84
void PNGAPI png_set_invert_alpha(png_structrp png_ptr)
Definition pngtrans.c:237
int PNGAPI png_set_interlace_handling(png_structrp png_ptr)
Definition pngtrans.c:99
void PNGAPI png_set_swap_alpha(png_structrp png_ptr)
Definition pngtrans.c:223
void PNGAPI png_set_write_fn(png_structrp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)
Definition pngwio.c:122
void png_flush(png_structrp png_ptr)
Definition pngwio.c:71
void PNGAPI png_write_png(png_structrp png_ptr, png_inforp info_ptr, int transforms, voidp params)
Definition pngwrite.c:1343
static void png_write_destroy(png_structrp png_ptr)
Definition pngwrite.c:939
void PNGAPI png_set_write_status_fn(png_structrp png_ptr, png_write_status_ptr write_row_fn)
Definition pngwrite.c:1317
void PNGAPI png_write_info(png_structrp png_ptr, png_const_inforp info_ptr)
Definition pngwrite.c:192
void PNGAPI png_write_info_before_PLTE(png_structrp png_ptr, png_const_inforp info_ptr)
Definition pngwrite.c:84
void PNGAPI png_set_flush(png_structrp png_ptr, int nrows)
Definition pngwrite.c:908
void PNGAPI png_set_write_user_transform_fn(png_structrp png_ptr, png_user_transform_ptr write_user_transform_fn)
Definition pngwrite.c:1327
void PNGAPI png_set_text_compression_mem_level(png_structrp png_ptr, int mem_level)
Definition pngwrite.c:1255
void PNGAPI png_set_filter(png_structrp png_ptr, int method, int filters)
Definition pngwrite.c:1000
void PNGAPI png_set_filter_heuristics(png_structrp png_ptr, int heuristic_method, int num_weights, png_const_doublep filter_weights, png_const_doublep filter_costs)
Definition pngwrite.c:1129
void PNGAPI png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
Definition pngwrite.c:979
static void write_unknown_chunks(png_structrp png_ptr, png_const_inforp info_ptr, unsigned int where)
Definition pngwrite.c:24
void PNGAPI png_write_row(png_structrp png_ptr, png_const_bytep row)
Definition pngwrite.c:698
void PNGAPI png_write_end(png_structrp png_ptr, png_inforp info_ptr)
Definition pngwrite.c:358
void PNGAPI png_set_text_compression_strategy(png_structrp png_ptr, int strategy)
Definition pngwrite.c:1266
void PNGAPI png_write_flush(png_structrp png_ptr)
Definition pngwrite.c:920
void PNGAPI png_write_rows(png_structrp png_ptr, png_bytepp row, png_uint_32 num_rows)
Definition pngwrite.c:579
void PNGAPI png_set_text_compression_method(png_structrp png_ptr, int method)
Definition pngwrite.c:1301
void PNGAPI png_write_image(png_structrp png_ptr, png_bytepp image)
Definition pngwrite.c:601
void PNGAPI png_set_text_compression_window_bits(png_structrp png_ptr, int window_bits)
Definition pngwrite.c:1280
void PNGAPI png_set_text_compression_level(png_structrp png_ptr, int level)
Definition pngwrite.c:1244
void png_do_write_transformations(png_structrp png_ptr, png_row_infop row_info)
Definition pngwtran.c:513
void png_write_finish_row(png_structrp png_ptr)
Definition pngwutil.c:2005
void png_write_sRGB(png_structrp png_ptr, int srgb_intent)
Definition pngwutil.c:1099
void png_free_buffer_list(png_structrp png_ptr, png_compression_bufferp *listp)
Definition pngwutil.c:439
void png_write_sCAL_s(png_structrp png_ptr, int unit, png_const_charp width, png_const_charp height)
Definition pngwutil.c:1809
void png_write_iCCP(png_structrp png_ptr, png_const_charp name, png_const_bytep profile)
Definition pngwutil.c:1117
void png_write_hIST(png_structrp png_ptr, png_const_uint_16p hist, int num_hist)
Definition pngwutil.c:1499
void PNGAPI png_write_sig(png_structrp png_ptr)
Definition pngwutil.c:51
void png_write_IEND(png_structrp png_ptr)
Definition pngwutil.c:1073
void png_write_oFFs(png_structrp png_ptr, png_int_32 x_offset, png_int_32 y_offset, int unit_type)
Definition pngwutil.c:1724
void png_write_gAMA_fixed(png_structrp png_ptr, png_fixed_point file_gamma)
Definition pngwutil.c:1084
void png_write_sBIT(png_structrp png_ptr, png_const_color_8p sbit, int color_type)
Definition pngwutil.c:1263
void png_write_PLTE(png_structrp png_ptr, png_const_colorp palette, png_uint_32 num_pal)
Definition pngwutil.c:842
void png_write_bKGD(png_structrp png_ptr, png_const_color_16p back, int color_type)
Definition pngwutil.c:1414
void PNGAPI png_write_chunk(png_structrp png_ptr, png_const_bytep chunk_string, png_const_bytep data, size_t length)
Definition pngwutil.c:192
void png_write_sPLT(png_structrp png_ptr, png_const_sPLT_tp spalette)
Definition pngwutil.c:1179
void png_write_zTXt(png_structrp png_ptr, png_const_charp key, png_const_charp text, int compression)
Definition pngwutil.c:1573
void png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
Definition pngwutil.c:2096
void png_compress_IDAT(png_structrp png_ptr, png_const_bytep input, png_alloc_size_t input_len, int flush)
Definition pngwutil.c:931
void png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
Definition pngwutil.c:2550
void png_write_tIME(png_structrp png_ptr, png_const_timep mod_time)
Definition pngwutil.c:1863
void png_write_IHDR(png_structrp png_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int compression_type, int filter_type, int interlace_type)
Definition pngwutil.c:672
void png_write_tRNS(png_structrp png_ptr, png_const_bytep trans_alpha, png_const_color_16p tran, int num_trans, int color_type)
Definition pngwutil.c:1348
void png_write_cHRM_fixed(png_structrp png_ptr, const png_xy *xy)
Definition pngwutil.c:1322
void png_write_pCAL(png_structrp png_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_const_charp units, png_charpp params)
Definition pngwutil.c:1744
void png_write_start_row(png_structrp png_ptr)
Definition pngwutil.c:1890
void png_write_pHYs(png_structrp png_ptr, png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit, int unit_type)
Definition pngwutil.c:1839
void png_write_iTXt(png_structrp png_ptr, int compression, png_const_charp key, png_const_charp lang, png_const_charp lang_key, png_const_charp text)
Definition pngwutil.c:1624
void png_write_tEXt(png_structrp png_ptr, png_const_charp key, png_const_charp text, size_t text_len)
Definition pngwutil.c:1530
png_byte blue
Definition png.h:481
png_byte red
Definition png.h:479
png_byte green
Definition png.h:480
png_uint_32 width
Definition png.h:755
png_byte color_type
Definition png.h:757
png_byte bit_depth
Definition png.h:758
png_byte pixel_depth
Definition png.h:760
png_byte channels
Definition png.h:759
size_t rowbytes
Definition png.h:756
png_byte month
Definition png.h:602
png_uint_16 year
Definition png.h:601
png_byte hour
Definition png.h:604
png_byte minute
Definition png.h:605
png_byte day
Definition png.h:603
png_byte * data
Definition png.h:624
size_t size
Definition png.h:625
png_byte name[5]
Definition png.h:623
png_byte location
Definition png.h:633
return c
Definition crypt.c:175
memcpy(hh, h, RAND_HEAD_LEN)
int result
Definition process.c:1455
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396
struct zdirent * file
Definition win32.c:1500
static ZCONST char Far * method[NUM_METHODS]
Definition zipinfo.c:1008
_WDL_CSTRING_PREFIX void INT_PTR const char * format
Definition wdlcstring.h:263
#define deflateEnd
Definition zconf.h:27
#define voidp
Definition zconf.h:72
#define Z_SYNC_FLUSH
Definition zlib.h:165