diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-05 10:40:38 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-12-05 13:56:38 +0100 |
commit | 656c9c11b5aa683a9ceee3ce622583224bd74c08 (patch) | |
tree | 0dceff9e12934f38707165ddec79a911cc67ec69 /package/libpng/patches | |
parent | b2cb09290503a5d8324ca535b947261d3565c5f1 (diff) |
libpng: update to latest stable version
Diffstat (limited to 'package/libpng/patches')
-rw-r--r-- | package/libpng/patches/libpng-1.6.19-apng.patch (renamed from package/libpng/patches/libpng-1.6.17-apng.patch) | 278 |
1 files changed, 75 insertions, 203 deletions
diff --git a/package/libpng/patches/libpng-1.6.17-apng.patch b/package/libpng/patches/libpng-1.6.19-apng.patch index 3dfd40c29..6a3f862b3 100644 --- a/package/libpng/patches/libpng-1.6.17-apng.patch +++ b/package/libpng/patches/libpng-1.6.19-apng.patch @@ -1,7 +1,7 @@ -diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h ---- libpng-1.6.17.org/png.h 2015-03-27 07:56:22.460189754 +0900 -+++ libpng-1.6.17/png.h 2015-03-27 07:56:22.536191843 +0900 -@@ -480,6 +480,10 @@ +diff -Naru libpng-1.6.19.org/png.h libpng-1.6.19/png.h +--- libpng-1.6.19.org/png.h 2015-11-15 22:34:42.407615478 +0900 ++++ libpng-1.6.19/png.h 2015-11-15 22:34:42.476617887 +0900 +@@ -334,6 +334,10 @@ # include "pnglibconf.h" #endif @@ -12,7 +12,7 @@ diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h #ifndef PNG_VERSION_INFO_ONLY /* Machine specific configuration. */ # include "pngconf.h" -@@ -570,6 +574,17 @@ +@@ -429,6 +433,17 @@ * See pngconf.h for base types that vary by machine/system */ @@ -30,18 +30,18 @@ diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -@@ -890,6 +905,10 @@ - #define PNG_INFO_sPLT 0x2000 /* ESR, 1.0.6 */ +@@ -750,6 +765,10 @@ #define PNG_INFO_sCAL 0x4000 /* ESR, 1.0.6 */ + #if INT_MAX >= 0x8000 /* else this might break */ #define PNG_INFO_IDAT 0x8000 /* ESR, 1.0.6 */ +#ifdef PNG_APNG_SUPPORTED +#define PNG_INFO_acTL 0x10000 +#define PNG_INFO_fcTL 0x20000 +#endif + #endif /* This is used for the transformation routines, as some of them - * change these values for the row. It also should enable using -@@ -927,6 +946,10 @@ +@@ -788,6 +807,10 @@ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop)); typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop)); @@ -52,7 +52,7 @@ diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h /* The following callback receives png_uint_32 row_number, int pass for the * png_bytep data of the row. When transforming an interlaced image the -@@ -3271,6 +3294,74 @@ +@@ -3108,6 +3131,74 @@ /******************************************************************************* * END OF HARDWARE AND SOFTWARE OPTIONS ******************************************************************************/ @@ -127,7 +127,7 @@ diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h /* Maintainer: Put new public prototypes here ^, in libpng.3, in project * defs, and in scripts/symbols.def. -@@ -3280,7 +3371,11 @@ +@@ -3117,7 +3208,11 @@ * one to use is one more than this.) */ #ifdef PNG_EXPORT_LAST_ORDINAL @@ -139,9 +139,9 @@ diff -Naru libpng-1.6.17.org/png.h libpng-1.6.17/png.h #endif #ifdef __cplusplus -diff -Naru libpng-1.6.17.org/pngget.c libpng-1.6.17/pngget.c ---- libpng-1.6.17.org/pngget.c 2015-03-27 07:56:22.461189782 +0900 -+++ libpng-1.6.17/pngget.c 2015-03-27 07:56:22.537191870 +0900 +diff -Naru libpng-1.6.19.org/pngget.c libpng-1.6.19/pngget.c +--- libpng-1.6.19.org/pngget.c 2015-11-15 22:34:42.408615513 +0900 ++++ libpng-1.6.19/pngget.c 2015-11-15 22:34:42.476617887 +0900 @@ -1216,4 +1216,166 @@ # endif #endif @@ -309,9 +309,9 @@ diff -Naru libpng-1.6.17.org/pngget.c libpng-1.6.17/pngget.c +} +#endif /* PNG_APNG_SUPPORTED */ #endif /* READ || WRITE */ -diff -Naru libpng-1.6.17.org/pnginfo.h libpng-1.6.17/pnginfo.h ---- libpng-1.6.17.org/pnginfo.h 2015-03-27 07:56:22.461189782 +0900 -+++ libpng-1.6.17/pnginfo.h 2015-03-27 07:56:22.537191870 +0900 +diff -Naru libpng-1.6.19.org/pnginfo.h libpng-1.6.19/pnginfo.h +--- libpng-1.6.19.org/pnginfo.h 2015-11-15 22:34:42.408615513 +0900 ++++ libpng-1.6.19/pnginfo.h 2015-11-15 22:34:42.477617922 +0900 @@ -255,5 +255,18 @@ png_bytepp row_pointers; /* the image bits */ #endif @@ -331,10 +331,10 @@ diff -Naru libpng-1.6.17.org/pnginfo.h libpng-1.6.17/pnginfo.h + }; #endif /* PNGINFO_H */ -diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c ---- libpng-1.6.17.org/pngpread.c 2015-03-27 07:56:22.461189782 +0900 -+++ libpng-1.6.17/pngpread.c 2015-03-27 07:56:22.537191870 +0900 -@@ -219,6 +219,109 @@ +diff -Naru libpng-1.6.19.org/pngpread.c libpng-1.6.19/pngpread.c +--- libpng-1.6.19.org/pngpread.c 2015-11-15 22:34:42.409615548 +0900 ++++ libpng-1.6.19/pngpread.c 2015-11-15 22:34:42.477617922 +0900 +@@ -194,6 +194,106 @@ chunk_name = png_ptr->chunk_name; @@ -354,7 +354,6 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c + return; + } + -+ png_push_crc_skip(png_ptr, png_ptr->push_length); + png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; + return; + } @@ -380,7 +379,6 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c + return; + } + -+ png_push_crc_skip(png_ptr, png_ptr->push_length); + png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; + return; + } @@ -432,7 +430,6 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c + } + png_warning(png_ptr, "Skipped (ignored) a chunk " + "between APNG chunks"); -+ png_push_crc_skip(png_ptr, png_ptr->push_length); + png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER; + return; + } @@ -444,7 +441,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c if (chunk_name == png_IDAT) { if ((png_ptr->mode & PNG_AFTER_IDAT) != 0) -@@ -283,6 +386,9 @@ +@@ -258,6 +358,9 @@ else if (chunk_name == png_IDAT) { @@ -454,7 +451,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c png_ptr->idat_size = png_ptr->push_length; png_ptr->process_mode = PNG_READ_IDAT_MODE; png_push_have_info(png_ptr, info_ptr); -@@ -428,6 +534,30 @@ +@@ -403,6 +506,30 @@ png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length); } #endif @@ -485,7 +482,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c else { -@@ -623,7 +753,11 @@ +@@ -533,7 +660,11 @@ png_byte chunk_tag[4]; /* TODO: this code can be commoned up with the same code in push_read */ @@ -497,7 +494,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c png_push_fill_buffer(png_ptr, chunk_length, 4); png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length); png_reset_crc(png_ptr); -@@ -631,17 +765,64 @@ +@@ -541,17 +672,64 @@ png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag); png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; @@ -562,7 +559,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c } if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0) -@@ -714,6 +895,15 @@ +@@ -625,6 +803,15 @@ if (!(buffer_length > 0) || buffer == NULL) png_error(png_ptr, "No IDAT data (internal error)"); @@ -578,7 +575,7 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c /* This routine must process all the data it has been given * before returning, calling the row callback as required to * handle the uncompressed results. -@@ -1163,6 +1353,18 @@ +@@ -1074,6 +1261,18 @@ png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer); } @@ -597,10 +594,10 @@ diff -Naru libpng-1.6.17.org/pngpread.c libpng-1.6.17/pngpread.c png_voidp PNGAPI png_get_progressive_ptr(png_const_structrp png_ptr) { -diff -Naru libpng-1.6.17.org/pngpriv.h libpng-1.6.17/pngpriv.h ---- libpng-1.6.17.org/pngpriv.h 2015-03-27 07:56:22.462189809 +0900 -+++ libpng-1.6.17/pngpriv.h 2015-03-27 07:56:22.538191898 +0900 -@@ -516,6 +516,10 @@ +diff -Naru libpng-1.6.19.org/pngpriv.h libpng-1.6.19/pngpriv.h +--- libpng-1.6.19.org/pngpriv.h 2015-11-15 22:34:42.409615548 +0900 ++++ libpng-1.6.19/pngpriv.h 2015-11-15 22:34:42.477617922 +0900 +@@ -537,6 +537,10 @@ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */ /* 0x4000 (unused) */ #define PNG_IS_READ_STRUCT 0x8000 /* Else is a write struct */ @@ -611,7 +608,7 @@ diff -Naru libpng-1.6.17.org/pngpriv.h libpng-1.6.17/pngpriv.h /* Flags for the transformations the PNG library does on the image data */ #define PNG_BGR 0x0001 -@@ -737,6 +741,16 @@ +@@ -754,6 +758,16 @@ #define png_tRNS PNG_U32(116, 82, 78, 83) #define png_zTXt PNG_U32(122, 84, 88, 116) @@ -628,7 +625,7 @@ diff -Naru libpng-1.6.17.org/pngpriv.h libpng-1.6.17/pngpriv.h /* The following will work on (signed char*) strings, whereas the get_uint_32 * macro will fail on top-bit-set values because of the sign extension. */ -@@ -1440,6 +1454,47 @@ +@@ -1453,6 +1467,47 @@ */ #endif @@ -676,9 +673,9 @@ diff -Naru libpng-1.6.17.org/pngpriv.h libpng-1.6.17/pngpriv.h /* Added at libpng version 1.4.0 */ #ifdef PNG_COLORSPACE_SUPPORTED /* These internal functions are for maintaining the colorspace structure within -diff -Naru libpng-1.6.17.org/pngread.c libpng-1.6.17/pngread.c ---- libpng-1.6.17.org/pngread.c 2015-03-27 07:56:22.463189837 +0900 -+++ libpng-1.6.17/pngread.c 2015-03-27 07:56:22.539191925 +0900 +diff -Naru libpng-1.6.19.org/pngread.c libpng-1.6.19/pngread.c +--- libpng-1.6.19.org/pngread.c 2015-11-15 22:34:42.410615583 +0900 ++++ libpng-1.6.19/pngread.c 2015-11-15 22:34:42.478617957 +0900 @@ -158,6 +158,9 @@ else if (chunk_name == png_IDAT) @@ -780,10 +777,10 @@ diff -Naru libpng-1.6.17.org/pngread.c libpng-1.6.17/pngread.c /* Optional call to update the users info_ptr structure */ void PNGAPI png_read_update_info(png_structrp png_ptr, png_inforp info_ptr) -diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c ---- libpng-1.6.17.org/pngrutil.c 2015-03-27 07:56:22.469190002 +0900 -+++ libpng-1.6.17/pngrutil.c 2015-03-27 07:56:22.541191980 +0900 -@@ -819,6 +819,11 @@ +diff -Naru libpng-1.6.19.org/pngrutil.c libpng-1.6.19/pngrutil.c +--- libpng-1.6.19.org/pngrutil.c 2015-11-15 22:34:42.412615653 +0900 ++++ libpng-1.6.19/pngrutil.c 2015-11-15 22:34:42.480618027 +0900 +@@ -824,6 +824,11 @@ filter_type = buf[11]; interlace_type = buf[12]; @@ -795,7 +792,7 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c /* Set internal variables */ png_ptr->width = width; png_ptr->height = height; -@@ -2702,6 +2707,179 @@ +@@ -2724,6 +2729,179 @@ } #endif @@ -975,7 +972,7 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */ static int -@@ -3960,7 +4138,38 @@ +@@ -3982,7 +4160,38 @@ { uInt avail_in; png_bytep buffer; @@ -1014,7 +1011,7 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c while (png_ptr->idat_size == 0) { png_crc_finish(png_ptr, 0); -@@ -3972,7 +4181,7 @@ +@@ -3994,7 +4203,7 @@ if (png_ptr->chunk_name != png_IDAT) png_error(png_ptr, "Not enough image data"); } @@ -1023,7 +1020,7 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c avail_in = png_ptr->IDAT_read_size; if (avail_in > png_ptr->idat_size) -@@ -4035,6 +4244,9 @@ +@@ -4057,6 +4266,9 @@ png_ptr->mode |= PNG_AFTER_IDAT; png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; @@ -1033,7 +1030,7 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0) png_chunk_benign_error(png_ptr, "Extra compressed data"); -@@ -4473,4 +4685,80 @@ +@@ -4495,4 +4707,80 @@ png_ptr->flags |= PNG_FLAG_ROW_INIT; } @@ -1114,9 +1111,9 @@ diff -Naru libpng-1.6.17.org/pngrutil.c libpng-1.6.17/pngrutil.c +#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +#endif /* PNG_READ_APNG_SUPPORTED */ #endif /* READ */ -diff -Naru libpng-1.6.17.org/pngset.c libpng-1.6.17/pngset.c ---- libpng-1.6.17.org/pngset.c 2015-03-27 07:56:22.469190002 +0900 -+++ libpng-1.6.17/pngset.c 2015-03-27 07:56:22.541191980 +0900 +diff -Naru libpng-1.6.19.org/pngset.c libpng-1.6.19/pngset.c +--- libpng-1.6.19.org/pngset.c 2015-11-15 22:34:42.412615653 +0900 ++++ libpng-1.6.19/pngset.c 2015-11-15 22:34:42.480618027 +0900 @@ -241,6 +241,11 @@ info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth); @@ -1129,7 +1126,7 @@ diff -Naru libpng-1.6.17.org/pngset.c libpng-1.6.17/pngset.c } #ifdef PNG_oFFs_SUPPORTED -@@ -1090,6 +1095,147 @@ +@@ -1094,6 +1099,147 @@ } #endif /* sPLT */ @@ -1277,10 +1274,10 @@ diff -Naru libpng-1.6.17.org/pngset.c libpng-1.6.17/pngset.c #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED static png_byte check_location(png_const_structrp png_ptr, int location) -diff -Naru libpng-1.6.17.org/pngstruct.h libpng-1.6.17/pngstruct.h ---- libpng-1.6.17.org/pngstruct.h 2015-03-27 07:56:22.470190029 +0900 -+++ libpng-1.6.17/pngstruct.h 2015-03-27 07:56:22.541191980 +0900 -@@ -408,6 +408,27 @@ +diff -Naru libpng-1.6.19.org/pngstruct.h libpng-1.6.19/pngstruct.h +--- libpng-1.6.19.org/pngstruct.h 2015-11-15 22:34:42.412615653 +0900 ++++ libpng-1.6.19/pngstruct.h 2015-11-15 22:34:42.480618027 +0900 +@@ -400,6 +400,27 @@ png_byte filter_type; #endif @@ -1308,146 +1305,21 @@ diff -Naru libpng-1.6.17.org/pngstruct.h libpng-1.6.17/pngstruct.h /* New members added in libpng-1.2.0 */ /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ -diff -Naru libpng-1.6.17.org/pngtest.c libpng-1.6.17/pngtest.c ---- libpng-1.6.17.org/pngtest.c 2015-03-27 07:56:22.470190029 +0900 -+++ libpng-1.6.17/pngtest.c 2015-03-27 07:56:22.541191980 +0900 -@@ -849,6 +849,10 @@ - png_uint_32 width, height; - int num_pass = 1, pass; - int bit_depth, color_type; -+#ifdef PNG_APNG_SUPPORTED -+ png_uint_32 num_frames; -+ png_uint_32 num_plays; -+#endif - - row_buf = NULL; - error_parameters.file_name = inname; -@@ -1316,6 +1320,20 @@ - } - } - #endif -+#ifdef PNG_APNG_SUPPORTED -+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) -+ { -+ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays)) -+ { -+ png_byte is_hidden; -+ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)", -+ num_frames, num_plays); -+ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays); -+ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr); -+ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden); -+ } -+ } -+#endif - #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED - { - png_unknown_chunkp unknowns; -@@ -1377,6 +1395,89 @@ - t_misc += (t_stop - t_start); - t_start = t_stop; - #endif -+#ifdef PNG_APNG_SUPPORTED -+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL)) -+ { -+ png_uint_32 frame; -+ for (frame = 0; frame < num_frames; frame++) -+ { -+ png_uint_32 frame_width; -+ png_uint_32 frame_height; -+ png_uint_32 x_offset; -+ png_uint_32 y_offset; -+ png_uint_16 delay_num; -+ png_uint_16 delay_den; -+ png_byte dispose_op; -+ png_byte blend_op; -+ png_read_frame_head(read_ptr, read_info_ptr); -+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL)) -+ { -+ png_get_next_frame_fcTL(read_ptr, read_info_ptr, -+ &frame_width, &frame_height, -+ &x_offset, &y_offset, -+ &delay_num, &delay_den, -+ &dispose_op, &blend_op); -+ } -+ else -+ { -+ frame_width = width; -+ frame_height = height; -+ x_offset = 0; -+ y_offset = 0; -+ delay_num = 1; -+ delay_den = 1; -+ dispose_op = PNG_DISPOSE_OP_NONE; -+ blend_op = PNG_BLEND_OP_SOURCE; -+ } -+#ifdef PNG_WRITE_APNG_SUPPORTED -+ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf, -+ frame_width, frame_height, -+ x_offset, y_offset, -+ delay_num, delay_den, -+ dispose_op, blend_op); -+#endif -+ for (pass = 0; pass < num_pass; pass++) -+ { -+ pngtest_debug1("Writing row data for pass %d", pass); -+ for (y = 0; y < frame_height; y++) -+ { -+#ifndef SINGLE_ROWBUF_ALLOC -+ pngtest_debug2("Allocating row buffer (pass %d, y = %ld)...", pass, y); -+ row_buf = (png_bytep)png_malloc(read_ptr, -+ png_get_rowbytes(read_ptr, read_info_ptr)); -+ pngtest_debug2("0x%08lx (%ld bytes)", (unsigned long)row_buf, -+ png_get_rowbytes(read_ptr, read_info_ptr)); -+#endif /* !SINGLE_ROWBUF_ALLOC */ -+ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1); -+ -+#ifdef PNG_WRITE_SUPPORTED -+#ifdef PNGTEST_TIMING -+ t_stop = (float)clock(); -+ t_decode += (t_stop - t_start); -+ t_start = t_stop; -+#endif -+ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1); -+#ifdef PNGTEST_TIMING -+ t_stop = (float)clock(); -+ t_encode += (t_stop - t_start); -+ t_start = t_stop; -+#endif -+#endif /* PNG_WRITE_SUPPORTED */ -+ -+#ifndef SINGLE_ROWBUF_ALLOC -+ pngtest_debug2("Freeing row buffer (pass %d, y = %ld)", pass, y); -+ png_free(read_ptr, row_buf); -+ row_buf = NULL; -+#endif /* !SINGLE_ROWBUF_ALLOC */ -+ } -+ } -+#ifdef PNG_WRITE_APNG_SUPPORTED -+ png_write_frame_tail(write_ptr, write_info_ptr); -+#endif -+ } -+ } -+ else -+#endif - for (pass = 0; pass < num_pass; pass++) - { - pngtest_debug1("Writing row data for pass %d", pass); -diff -Naru libpng-1.6.17.org/pngwrite.c libpng-1.6.17/pngwrite.c ---- libpng-1.6.17.org/pngwrite.c 2015-03-27 07:56:22.471190057 +0900 -+++ libpng-1.6.17/pngwrite.c 2015-03-27 07:56:22.542192007 +0900 -@@ -127,6 +127,10 @@ - * application continues writing the PNG. So check the 'invalid' flag here - * too. - */ +diff -Naru libpng-1.6.19.org/pngwrite.c libpng-1.6.19/pngwrite.c +--- libpng-1.6.19.org/pngwrite.c 2015-11-15 22:34:42.413615688 +0900 ++++ libpng-1.6.19/pngwrite.c 2015-11-15 22:34:42.481618062 +0900 +@@ -128,6 +128,10 @@ + * the application continues writing the PNG. So check the 'invalid' + * flag here too. + */ +#ifdef PNG_WRITE_APNG_SUPPORTED -+ if (info_ptr->valid & PNG_INFO_acTL) -+ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays); ++ if (info_ptr->valid & PNG_INFO_acTL) ++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays); +#endif #ifdef PNG_GAMMA_SUPPORTED # ifdef PNG_WRITE_gAMA_SUPPORTED if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 && -@@ -359,6 +363,11 @@ +@@ -365,6 +369,11 @@ png_benign_error(png_ptr, "Wrote palette index exceeding num_palette"); #endif @@ -1459,7 +1331,7 @@ diff -Naru libpng-1.6.17.org/pngwrite.c libpng-1.6.17/pngwrite.c /* See if user wants us to write information chunks */ if (info_ptr != NULL) { -@@ -1680,6 +1689,43 @@ +@@ -1450,6 +1459,43 @@ } #endif @@ -1502,10 +1374,10 @@ diff -Naru libpng-1.6.17.org/pngwrite.c libpng-1.6.17/pngwrite.c +#endif /* PNG_WRITE_APNG_SUPPORTED */ #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED - #ifdef PNG_STDIO_SUPPORTED /* currently required for png_image_write_* */ -diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c ---- libpng-1.6.17.org/pngwutil.c 2015-03-27 07:56:22.477190222 +0900 -+++ libpng-1.6.17/pngwutil.c 2015-03-27 07:56:22.543192035 +0900 + # ifdef PNG_STDIO_SUPPORTED /* currently required for png_image_write_* */ +diff -Naru libpng-1.6.19.org/pngwutil.c libpng-1.6.19/pngwutil.c +--- libpng-1.6.19.org/pngwutil.c 2015-11-15 22:34:42.414615723 +0900 ++++ libpng-1.6.19/pngwutil.c 2015-11-15 22:34:42.482618096 +0900 @@ -901,6 +901,11 @@ /* Write the chunk */ png_write_complete_chunk(png_ptr, png_IHDR, buf, (png_size_t)13); @@ -1518,7 +1390,7 @@ diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c if ((png_ptr->do_filter) == PNG_NO_FILTERS) { if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE || -@@ -1079,7 +1084,14 @@ +@@ -1082,7 +1087,14 @@ optimize_cmf(data, png_image_size(png_ptr)); #endif @@ -1533,7 +1405,7 @@ diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c png_ptr->mode |= PNG_HAVE_IDAT; png_ptr->zstream.next_out = data; -@@ -1125,7 +1137,15 @@ +@@ -1128,7 +1140,15 @@ optimize_cmf(data, png_image_size(png_ptr)); #endif @@ -1549,7 +1421,7 @@ diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c png_ptr->zstream.avail_out = 0; png_ptr->zstream.next_out = NULL; png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT; -@@ -1938,6 +1958,82 @@ +@@ -1941,6 +1961,82 @@ } #endif @@ -1632,7 +1504,7 @@ diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c /* Initializes the row writing capability of libpng */ void /* PRIVATE */ png_write_start_row(png_structrp png_ptr) -@@ -3028,4 +3124,39 @@ +@@ -2706,4 +2802,39 @@ } #endif /* WRITE_FLUSH */ } @@ -1672,9 +1544,9 @@ diff -Naru libpng-1.6.17.org/pngwutil.c libpng-1.6.17/pngwutil.c +} +#endif /* PNG_WRITE_APNG_SUPPORTED */ #endif /* WRITE */ -diff -Naru libpng-1.6.17.org/scripts/symbols.def libpng-1.6.17/scripts/symbols.def ---- libpng-1.6.17.org/scripts/symbols.def 2015-03-27 07:56:22.482190359 +0900 -+++ libpng-1.6.17/scripts/symbols.def 2015-03-27 07:56:22.548192172 +0900 +diff -Naru libpng-1.6.19.org/scripts/symbols.def libpng-1.6.19/scripts/symbols.def +--- libpng-1.6.19.org/scripts/symbols.def 2015-11-15 22:34:42.419615897 +0900 ++++ libpng-1.6.19/scripts/symbols.def 2015-11-15 22:34:42.486618236 +0900 @@ -249,3 +249,23 @@ png_set_check_for_invalid_index @242 png_get_palette_max @243 |