diff --git a/libpng-1.6.29-apng.patch b/libpng-1.6.31-apng.patch similarity index 89% rename from libpng-1.6.29-apng.patch rename to libpng-1.6.31-apng.patch index 9dad1bb..2bd2b5d 100644 --- a/libpng-1.6.29-apng.patch +++ b/libpng-1.6.31-apng.patch @@ -1,6 +1,6 @@ -diff -Naru libpng-1.6.29.org/png.h libpng-1.6.29/png.h ---- libpng-1.6.29.org/png.h 2017-03-23 20:32:44.633865246 +0900 -+++ libpng-1.6.29/png.h 2017-03-23 20:32:44.681864878 +0900 +diff -Naru libpng-1.6.31.org/png.h libpng-1.6.31/png.h +--- libpng-1.6.31.org/png.h 2017-07-29 10:08:06.209574100 +0900 ++++ libpng-1.6.31/png.h 2017-07-29 10:50:19.591317483 +0900 @@ -361,6 +361,10 @@ # include "pnglibconf.h" #endif @@ -30,18 +30,18 @@ diff -Naru libpng-1.6.29.org/png.h libpng-1.6.29/png.h /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -@@ -776,6 +791,10 @@ - #define PNG_INFO_sPLT 0x2000U /* ESR, 1.0.6 */ +@@ -777,6 +792,10 @@ #define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */ #define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */ + #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */ +#ifdef PNG_APNG_SUPPORTED -+#define PNG_INFO_acTL 0x10000U -+#define PNG_INFO_fcTL 0x20000U ++#define PNG_INFO_acTL 0x20000U ++#define PNG_INFO_fcTL 0x40000U +#endif /* This is used for the transformation routines, as some of them * change these values for the row. It also should enable using -@@ -813,6 +832,10 @@ +@@ -814,6 +833,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,97 +52,97 @@ diff -Naru libpng-1.6.29.org/png.h libpng-1.6.29/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 -@@ -3244,6 +3267,74 @@ +@@ -3250,6 +3273,74 @@ /******************************************************************************* * END OF HARDWARE AND SOFTWARE OPTIONS ******************************************************************************/ +#ifdef PNG_APNG_SUPPORTED -+PNG_EXPORT(246, png_uint_32, png_get_acTL, (png_structp png_ptr, ++PNG_EXPORT(248, png_uint_32, png_get_acTL, (png_structp png_ptr, + png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays)); + -+PNG_EXPORT(247, png_uint_32, png_set_acTL, (png_structp png_ptr, ++PNG_EXPORT(249, png_uint_32, png_set_acTL, (png_structp png_ptr, + png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays)); + -+PNG_EXPORT(248, png_uint_32, png_get_num_frames, (png_structp png_ptr, ++PNG_EXPORT(250, png_uint_32, png_get_num_frames, (png_structp png_ptr, + png_infop info_ptr)); + -+PNG_EXPORT(249, png_uint_32, png_get_num_plays, (png_structp png_ptr, ++PNG_EXPORT(251, png_uint_32, png_get_num_plays, (png_structp png_ptr, + png_infop info_ptr)); + -+PNG_EXPORT(250, png_uint_32, png_get_next_frame_fcTL, ++PNG_EXPORT(252, png_uint_32, png_get_next_frame_fcTL, + (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, + png_uint_32 *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_EXPORT(251, png_uint_32, png_set_next_frame_fcTL, ++PNG_EXPORT(253, png_uint_32, png_set_next_frame_fcTL, + (png_structp png_ptr, png_infop info_ptr, png_uint_32 width, + png_uint_32 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_EXPORT(252, png_uint_32, png_get_next_frame_width, ++PNG_EXPORT(254, png_uint_32, png_get_next_frame_width, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(253, png_uint_32, png_get_next_frame_height, ++PNG_EXPORT(255, png_uint_32, png_get_next_frame_height, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(254, png_uint_32, png_get_next_frame_x_offset, ++PNG_EXPORT(256, png_uint_32, png_get_next_frame_x_offset, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(255, png_uint_32, png_get_next_frame_y_offset, ++PNG_EXPORT(257, png_uint_32, png_get_next_frame_y_offset, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(256, png_uint_16, png_get_next_frame_delay_num, ++PNG_EXPORT(258, png_uint_16, png_get_next_frame_delay_num, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(257, png_uint_16, png_get_next_frame_delay_den, ++PNG_EXPORT(259, png_uint_16, png_get_next_frame_delay_den, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(258, png_byte, png_get_next_frame_dispose_op, ++PNG_EXPORT(260, png_byte, png_get_next_frame_dispose_op, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(259, png_byte, png_get_next_frame_blend_op, ++PNG_EXPORT(261, png_byte, png_get_next_frame_blend_op, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(260, png_byte, png_get_first_frame_is_hidden, ++PNG_EXPORT(262, png_byte, png_get_first_frame_is_hidden, + (png_structp png_ptr, png_infop info_ptr)); -+PNG_EXPORT(261, png_uint_32, png_set_first_frame_is_hidden, ++PNG_EXPORT(263, png_uint_32, png_set_first_frame_is_hidden, + (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden)); + +#ifdef PNG_READ_APNG_SUPPORTED -+PNG_EXPORT(262, void, png_read_frame_head, (png_structp png_ptr, ++PNG_EXPORT(264, void, png_read_frame_head, (png_structp png_ptr, + png_infop info_ptr)); +#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -+PNG_EXPORT(263, void, png_set_progressive_frame_fn, (png_structp png_ptr, ++PNG_EXPORT(265, void, png_set_progressive_frame_fn, (png_structp png_ptr, + png_progressive_frame_ptr frame_info_fn, + png_progressive_frame_ptr frame_end_fn)); +#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +#endif /* PNG_READ_APNG_SUPPORTED */ + +#ifdef PNG_WRITE_APNG_SUPPORTED -+PNG_EXPORT(264, void, png_write_frame_head, (png_structp png_ptr, ++PNG_EXPORT(266, void, png_write_frame_head, (png_structp png_ptr, + png_infop info_ptr, png_bytepp row_pointers, + png_uint_32 width, png_uint_32 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_EXPORT(265, void, png_write_frame_tail, (png_structp png_ptr, ++PNG_EXPORT(267, void, png_write_frame_tail, (png_structp png_ptr, + png_infop info_ptr)); +#endif /* PNG_WRITE_APNG_SUPPORTED */ +#endif /* PNG_APNG_SUPPORTED */ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project * defs, and in scripts/symbols.def. -@@ -3253,7 +3344,11 @@ +@@ -3259,7 +3350,11 @@ * one to use is one more than this.) */ #ifdef PNG_EXPORT_LAST_ORDINAL +#ifdef PNG_APNG_SUPPORTED -+ PNG_EXPORT_LAST_ORDINAL(265); ++ PNG_EXPORT_LAST_ORDINAL(267); +#else - PNG_EXPORT_LAST_ORDINAL(245); + PNG_EXPORT_LAST_ORDINAL(247); +#endif /* PNG_APNG_SUPPORTED */ #endif #ifdef __cplusplus -diff -Naru libpng-1.6.29.org/pngget.c libpng-1.6.29/pngget.c ---- libpng-1.6.29.org/pngget.c 2017-03-23 20:32:44.633865246 +0900 -+++ libpng-1.6.29/pngget.c 2017-03-23 20:32:44.681864878 +0900 -@@ -1216,4 +1216,166 @@ +diff -Naru libpng-1.6.31.org/pngget.c libpng-1.6.31/pngget.c +--- libpng-1.6.31.org/pngget.c 2017-07-29 10:08:06.209574100 +0900 ++++ libpng-1.6.31/pngget.c 2017-07-29 10:50:19.582316721 +0900 +@@ -1234,4 +1234,166 @@ # endif #endif @@ -309,10 +309,10 @@ diff -Naru libpng-1.6.29.org/pngget.c libpng-1.6.29/pngget.c +} +#endif /* PNG_APNG_SUPPORTED */ #endif /* READ || WRITE */ -diff -Naru libpng-1.6.29.org/pnginfo.h libpng-1.6.29/pnginfo.h ---- libpng-1.6.29.org/pnginfo.h 2017-03-23 20:32:44.634865239 +0900 -+++ libpng-1.6.29/pnginfo.h 2017-03-23 20:32:44.681864878 +0900 -@@ -255,5 +255,18 @@ +diff -Naru libpng-1.6.31.org/pnginfo.h libpng-1.6.31/pnginfo.h +--- libpng-1.6.31.org/pnginfo.h 2017-07-29 10:08:06.210574185 +0900 ++++ libpng-1.6.31/pnginfo.h 2017-07-29 10:50:19.582316721 +0900 +@@ -260,5 +260,18 @@ png_bytepp row_pointers; /* the image bits */ #endif @@ -331,9 +331,9 @@ diff -Naru libpng-1.6.29.org/pnginfo.h libpng-1.6.29/pnginfo.h + }; #endif /* PNGINFO_H */ -diff -Naru libpng-1.6.29.org/pngpread.c libpng-1.6.29/pngpread.c ---- libpng-1.6.29.org/pngpread.c 2017-03-23 20:32:44.634865239 +0900 -+++ libpng-1.6.29/pngpread.c 2017-03-23 20:32:44.682864871 +0900 +diff -Naru libpng-1.6.31.org/pngpread.c libpng-1.6.31/pngpread.c +--- libpng-1.6.31.org/pngpread.c 2017-06-30 16:42:16.781952082 +0900 ++++ libpng-1.6.31/pngpread.c 2017-07-29 10:50:19.582316721 +0900 @@ -194,6 +194,106 @@ chunk_name = png_ptr->chunk_name; @@ -594,10 +594,10 @@ diff -Naru libpng-1.6.29.org/pngpread.c libpng-1.6.29/pngpread.c png_voidp PNGAPI png_get_progressive_ptr(png_const_structrp png_ptr) { -diff -Naru libpng-1.6.29.org/pngpriv.h libpng-1.6.29/pngpriv.h ---- libpng-1.6.29.org/pngpriv.h 2017-03-23 20:32:44.634865239 +0900 -+++ libpng-1.6.29/pngpriv.h 2017-03-23 20:32:44.682864871 +0900 -@@ -616,6 +616,10 @@ +diff -Naru libpng-1.6.31.org/pngpriv.h libpng-1.6.31/pngpriv.h +--- libpng-1.6.31.org/pngpriv.h 2017-07-29 10:08:06.210574185 +0900 ++++ libpng-1.6.31/pngpriv.h 2017-07-29 10:50:19.582316721 +0900 +@@ -628,6 +628,10 @@ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */ /* 0x4000U (unused) */ #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */ @@ -608,7 +608,7 @@ diff -Naru libpng-1.6.29.org/pngpriv.h libpng-1.6.29/pngpriv.h /* Flags for the transformations the PNG library does on the image data */ #define PNG_BGR 0x0001U -@@ -851,6 +855,16 @@ +@@ -864,6 +868,16 @@ #define png_tRNS PNG_U32(116, 82, 78, 83) #define png_zTXt PNG_U32(122, 84, 88, 116) @@ -625,7 +625,7 @@ diff -Naru libpng-1.6.29.org/pngpriv.h libpng-1.6.29/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. */ -@@ -1609,6 +1623,47 @@ +@@ -1627,6 +1641,47 @@ */ #endif @@ -673,9 +673,9 @@ diff -Naru libpng-1.6.29.org/pngpriv.h libpng-1.6.29/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.29.org/pngread.c libpng-1.6.29/pngread.c ---- libpng-1.6.29.org/pngread.c 2017-03-23 20:32:44.635865231 +0900 -+++ libpng-1.6.29/pngread.c 2017-03-23 20:32:44.683864863 +0900 +diff -Naru libpng-1.6.31.org/pngread.c libpng-1.6.31/pngread.c +--- libpng-1.6.31.org/pngread.c 2017-07-29 10:08:06.211574269 +0900 ++++ libpng-1.6.31/pngread.c 2017-07-29 10:50:19.582316721 +0900 @@ -161,6 +161,9 @@ else if (chunk_name == png_IDAT) @@ -777,9 +777,9 @@ diff -Naru libpng-1.6.29.org/pngread.c libpng-1.6.29/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.29.org/pngrutil.c libpng-1.6.29/pngrutil.c ---- libpng-1.6.29.org/pngrutil.c 2017-03-23 20:32:44.636865223 +0900 -+++ libpng-1.6.29/pngrutil.c 2017-03-23 20:32:44.684864855 +0900 +diff -Naru libpng-1.6.31.org/pngrutil.c libpng-1.6.31/pngrutil.c +--- libpng-1.6.31.org/pngrutil.c 2017-07-29 10:08:06.212574354 +0900 ++++ libpng-1.6.31/pngrutil.c 2017-07-29 10:50:19.583316806 +0900 @@ -861,6 +861,11 @@ filter_type = buf[11]; interlace_type = buf[12]; @@ -792,7 +792,7 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c /* Set internal variables */ png_ptr->width = width; png_ptr->height = height; -@@ -2761,6 +2766,179 @@ +@@ -2802,6 +2807,179 @@ } #endif @@ -972,7 +972,7 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */ static int -@@ -4022,7 +4200,38 @@ +@@ -4069,7 +4247,38 @@ { uInt avail_in; png_bytep buffer; @@ -1011,7 +1011,7 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c while (png_ptr->idat_size == 0) { png_crc_finish(png_ptr, 0); -@@ -4034,7 +4243,7 @@ +@@ -4081,7 +4290,7 @@ if (png_ptr->chunk_name != png_IDAT) png_error(png_ptr, "Not enough image data"); } @@ -1020,7 +1020,7 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c avail_in = png_ptr->IDAT_read_size; if (avail_in > png_ptr->idat_size) -@@ -4097,6 +4306,9 @@ +@@ -4144,6 +4353,9 @@ png_ptr->mode |= PNG_AFTER_IDAT; png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED; @@ -1030,7 +1030,7 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0) png_chunk_benign_error(png_ptr, "Extra compressed data"); -@@ -4535,4 +4747,80 @@ +@@ -4582,4 +4794,80 @@ png_ptr->flags |= PNG_FLAG_ROW_INIT; } @@ -1111,10 +1111,10 @@ diff -Naru libpng-1.6.29.org/pngrutil.c libpng-1.6.29/pngrutil.c +#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ +#endif /* PNG_READ_APNG_SUPPORTED */ #endif /* READ */ -diff -Naru libpng-1.6.29.org/pngset.c libpng-1.6.29/pngset.c ---- libpng-1.6.29.org/pngset.c 2017-03-23 20:32:44.636865223 +0900 -+++ libpng-1.6.29/pngset.c 2017-03-23 20:32:44.684864855 +0900 -@@ -241,6 +241,11 @@ +diff -Naru libpng-1.6.31.org/pngset.c libpng-1.6.31/pngset.c +--- libpng-1.6.31.org/pngset.c 2017-07-29 10:08:06.212574354 +0900 ++++ libpng-1.6.31/pngset.c 2017-07-29 10:50:19.587317145 +0900 +@@ -274,6 +274,11 @@ info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth); info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width); @@ -1126,7 +1126,7 @@ diff -Naru libpng-1.6.29.org/pngset.c libpng-1.6.29/pngset.c } #ifdef PNG_oFFs_SUPPORTED -@@ -1110,6 +1115,147 @@ +@@ -1144,6 +1149,147 @@ } #endif /* sPLT */ @@ -1274,9 +1274,9 @@ diff -Naru libpng-1.6.29.org/pngset.c libpng-1.6.29/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.29.org/pngstruct.h libpng-1.6.29/pngstruct.h ---- libpng-1.6.29.org/pngstruct.h 2017-03-23 20:32:44.636865223 +0900 -+++ libpng-1.6.29/pngstruct.h 2017-03-23 20:32:44.684864855 +0900 +diff -Naru libpng-1.6.31.org/pngstruct.h libpng-1.6.31/pngstruct.h +--- libpng-1.6.31.org/pngstruct.h 2017-07-29 10:08:06.212574354 +0900 ++++ libpng-1.6.31/pngstruct.h 2017-07-29 10:50:19.583316806 +0900 @@ -403,6 +403,27 @@ png_byte filter_type; #endif @@ -1305,9 +1305,9 @@ diff -Naru libpng-1.6.29.org/pngstruct.h libpng-1.6.29/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.29.org/pngtest.c libpng-1.6.29/pngtest.c ---- libpng-1.6.29.org/pngtest.c 2017-03-23 20:32:44.637865216 +0900 -+++ libpng-1.6.29/pngtest.c 2017-03-23 20:32:44.684864855 +0900 +diff -Naru libpng-1.6.31.org/pngtest.c libpng-1.6.31/pngtest.c +--- libpng-1.6.31.org/pngtest.c 2017-07-29 10:08:06.212574354 +0900 ++++ libpng-1.6.31/pngtest.c 2017-07-29 10:50:19.583316806 +0900 @@ -874,6 +874,10 @@ volatile int num_passes; int pass; @@ -1319,7 +1319,7 @@ diff -Naru libpng-1.6.29.org/pngtest.c libpng-1.6.29/pngtest.c row_buf = NULL; error_parameters.file_name = inname; -@@ -1358,6 +1362,22 @@ +@@ -1366,6 +1370,22 @@ } } #endif @@ -1342,7 +1342,7 @@ diff -Naru libpng-1.6.29.org/pngtest.c libpng-1.6.29/pngtest.c #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED { png_unknown_chunkp unknowns; -@@ -1434,6 +1454,110 @@ +@@ -1442,6 +1462,110 @@ t_misc += (t_stop - t_start); t_start = t_stop; #endif @@ -1453,9 +1453,9 @@ diff -Naru libpng-1.6.29.org/pngtest.c libpng-1.6.29/pngtest.c for (pass = 0; pass < num_passes; pass++) { # ifdef calc_pass_height -diff -Naru libpng-1.6.29.org/pngwrite.c libpng-1.6.29/pngwrite.c ---- libpng-1.6.29.org/pngwrite.c 2017-03-23 20:32:44.637865216 +0900 -+++ libpng-1.6.29/pngwrite.c 2017-03-23 20:32:44.685864847 +0900 +diff -Naru libpng-1.6.31.org/pngwrite.c libpng-1.6.31/pngwrite.c +--- libpng-1.6.31.org/pngwrite.c 2017-07-29 10:08:06.213574438 +0900 ++++ libpng-1.6.31/pngwrite.c 2017-07-29 10:50:19.584316891 +0900 @@ -128,6 +128,10 @@ * the application continues writing the PNG. So check the 'invalid' * flag here too. @@ -1523,9 +1523,9 @@ diff -Naru libpng-1.6.29.org/pngwrite.c libpng-1.6.29/pngwrite.c #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED /* Initialize the write structure - general purpose utility. */ -diff -Naru libpng-1.6.29.org/pngwutil.c libpng-1.6.29/pngwutil.c ---- libpng-1.6.29.org/pngwutil.c 2017-03-23 20:32:44.638865208 +0900 -+++ libpng-1.6.29/pngwutil.c 2017-03-23 20:32:44.685864847 +0900 +diff -Naru libpng-1.6.31.org/pngwutil.c libpng-1.6.31/pngwutil.c +--- libpng-1.6.31.org/pngwutil.c 2017-07-29 10:08:06.213574438 +0900 ++++ libpng-1.6.31/pngwutil.c 2017-07-29 10:50:19.597317991 +0900 @@ -822,6 +822,11 @@ /* Write the chunk */ png_write_complete_chunk(png_ptr, png_IHDR, buf, (png_size_t)13); @@ -1538,38 +1538,45 @@ diff -Naru libpng-1.6.29.org/pngwutil.c libpng-1.6.29/pngwutil.c if ((png_ptr->do_filter) == PNG_NO_FILTERS) { if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE || -@@ -1003,7 +1008,14 @@ +@@ -1003,8 +1008,17 @@ optimize_cmf(data, png_image_size(png_ptr)); #endif -+# ifdef PNG_WRITE_APNG_SUPPORTED -+ if (png_ptr->num_frames_written == 0) -+# endif - png_write_complete_chunk(png_ptr, png_IDAT, data, size); -+# ifdef PNG_WRITE_APNG_SUPPORTED -+ else -+ png_write_fdAT(png_ptr, data, size); -+# endif /* PNG_WRITE_APNG_SUPPORTED */ +- if (size > 0) +- png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++ if (size > 0) ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ { ++ if (png_ptr->num_frames_written == 0) ++#endif ++ png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ else ++ png_write_fdAT(png_ptr, data, size); ++ } ++#endif /* PNG_WRITE_APNG_SUPPORTED */ png_ptr->mode |= PNG_HAVE_IDAT; png_ptr->zstream.next_out = data; -@@ -1049,7 +1061,15 @@ - optimize_cmf(data, png_image_size(png_ptr)); +@@ -1051,7 +1065,17 @@ #endif -+# ifdef PNG_WRITE_APNG_SUPPORTED + if (size > 0) ++#ifdef PNG_WRITE_APNG_SUPPORTED ++ { + if (png_ptr->num_frames_written == 0) -+# endif - png_write_complete_chunk(png_ptr, png_IDAT, data, size); -+# ifdef PNG_WRITE_APNG_SUPPORTED ++#endif + png_write_complete_chunk(png_ptr, png_IDAT, data, size); ++#ifdef PNG_WRITE_APNG_SUPPORTED + else + png_write_fdAT(png_ptr, data, size); -+# endif /* PNG_WRITE_APNG_SUPPORTED */ ++ } ++#endif /* PNG_WRITE_APNG_SUPPORTED */ + png_ptr->zstream.avail_out = 0; png_ptr->zstream.next_out = NULL; png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT; -@@ -1863,6 +1883,82 @@ +@@ -1896,6 +1920,82 @@ } #endif @@ -1652,7 +1659,7 @@ diff -Naru libpng-1.6.29.org/pngwutil.c libpng-1.6.29/pngwutil.c /* Initializes the row writing capability of libpng */ void /* PRIVATE */ png_write_start_row(png_structrp png_ptr) -@@ -2757,4 +2853,39 @@ +@@ -2790,4 +2890,39 @@ } #endif /* WRITE_FLUSH */ } @@ -1692,30 +1699,30 @@ diff -Naru libpng-1.6.29.org/pngwutil.c libpng-1.6.29/pngwutil.c +} +#endif /* PNG_WRITE_APNG_SUPPORTED */ #endif /* WRITE */ -diff -Naru libpng-1.6.29.org/scripts/symbols.def libpng-1.6.29/scripts/symbols.def ---- libpng-1.6.29.org/scripts/symbols.def 2017-03-23 20:32:44.642865177 +0900 -+++ libpng-1.6.29/scripts/symbols.def 2017-03-23 20:32:44.690864809 +0900 -@@ -250,3 +250,23 @@ - png_get_palette_max @243 - png_set_option @244 +diff -Naru libpng-1.6.31.org/scripts/symbols.def libpng-1.6.31/scripts/symbols.def +--- libpng-1.6.31.org/scripts/symbols.def 2017-07-29 10:08:06.215574607 +0900 ++++ libpng-1.6.31/scripts/symbols.def 2017-07-29 10:50:19.584316891 +0900 +@@ -252,3 +252,23 @@ png_image_write_to_memory @245 -+ png_get_acTL @246 -+ png_set_acTL @247 -+ png_get_num_frames @248 -+ png_get_num_plays @249 -+ png_get_next_frame_fcTL @250 -+ png_set_next_frame_fcTL @251 -+ png_get_next_frame_width @252 -+ png_get_next_frame_height @253 -+ png_get_next_frame_x_offset @254 -+ png_get_next_frame_y_offset @255 -+ png_get_next_frame_delay_num @256 -+ png_get_next_frame_delay_den @257 -+ png_get_next_frame_dispose_op @258 -+ png_get_next_frame_blend_op @259 -+ png_get_first_frame_is_hidden @260 -+ png_set_first_frame_is_hidden @261 -+ png_read_frame_head @262 -+ png_set_progressive_frame_fn @263 -+ png_write_frame_head @264 -+ png_write_frame_tail @265 + png_get_eXIf @246 + png_set_eXIf @247 ++ png_get_acTL @248 ++ png_set_acTL @249 ++ png_get_num_frames @250 ++ png_get_num_plays @251 ++ png_get_next_frame_fcTL @252 ++ png_set_next_frame_fcTL @253 ++ png_get_next_frame_width @254 ++ png_get_next_frame_height @255 ++ png_get_next_frame_x_offset @256 ++ png_get_next_frame_y_offset @257 ++ png_get_next_frame_delay_num @258 ++ png_get_next_frame_delay_den @259 ++ png_get_next_frame_dispose_op @260 ++ png_get_next_frame_blend_op @261 ++ png_get_first_frame_is_hidden @262 ++ png_set_first_frame_is_hidden @263 ++ png_read_frame_head @264 ++ png_set_progressive_frame_fn @265 ++ png_write_frame_head @266 ++ png_write_frame_tail @267 diff --git a/libpng.spec b/libpng.spec index f6d24c9..e9c290f 100644 --- a/libpng.spec +++ b/libpng.spec @@ -1,7 +1,7 @@ %define apiver %(echo %version | cut -d. -f1-2 | tr -d .) Name: libpng -Version: 1.6.29 -Release: 2mamba +Version: 1.6.31 +Release: 1mamba Summary: A library of functions for manipulating PNG image format files Group: System/Libraries Vendor: openmamba @@ -126,6 +126,9 @@ ln -s libpng%{apiver}.so %{buildroot}%{_prefix}/lib/libpng.so %endif %changelog +* Mon Aug 07 2017 Automatic Build System 1.6.31-1mamba +- automatic version update by autodist + * Fri Aug 04 2017 Silvan Calarco 1.6.29-2mamba - relink with /lib64/libpthread.so.0 for IFUNC symbol longjmp