packages: libpng/libpng-apng.patch, libpng/libpng.spec - up to 1.4.1

arekm arekm at pld-linux.org
Mon Mar 1 22:34:34 CET 2010


Author: arekm                        Date: Mon Mar  1 21:34:34 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 1.4.1

---- Files affected:
packages/libpng:
   libpng-apng.patch (1.11 -> 1.12) , libpng.spec (1.180 -> 1.181) 

---- Diffs:

================================================================
Index: packages/libpng/libpng-apng.patch
diff -u packages/libpng/libpng-apng.patch:1.11 packages/libpng/libpng-apng.patch:1.12
--- packages/libpng/libpng-apng.patch:1.11	Thu Jan 28 10:48:16 2010
+++ packages/libpng/libpng-apng.patch	Mon Mar  1 22:34:29 2010
@@ -2,7 +2,7 @@
 ===================================================================
 --- pngread.c
 +++ pngread.c
-@@ -292,6 +292,11 @@
+@@ -300,6 +300,11 @@
  #ifdef PNG_READ_zTXt_SUPPORTED
        PNG_zTXt;
  #endif
@@ -14,7 +14,7 @@
        png_uint_32 length = png_read_chunk_header(png_ptr);
        PNG_CONST png_bytep chunk_name = png_ptr->chunk_name;
  
-@@ -335,6 +340,9 @@
+@@ -343,6 +348,9 @@
                    !(png_ptr->mode & PNG_HAVE_PLTE))
              png_error(png_ptr, "Missing PLTE before IDAT");
  
@@ -24,7 +24,7 @@
           png_ptr->idat_size = length;
           png_ptr->mode |= PNG_HAVE_IDAT;
           break;
-@@ -407,12 +415,95 @@
+@@ -415,12 +423,95 @@
        else if (!png_memcmp(chunk_name, png_iTXt, 4))
           png_handle_iTXt(png_ptr, info_ptr, length);
  #endif
@@ -120,7 +120,7 @@
  /* Optional call to update the users info_ptr structure */
  void PNGAPI
  png_read_update_info(png_structp png_ptr, png_infop info_ptr)
-@@ -453,6 +544,10 @@
+@@ -461,6 +552,10 @@
  png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
  {
     PNG_IDAT;
@@ -131,7 +131,7 @@
     PNG_CONST int png_pass_dsp_mask[7] = {0xff, 0x0f, 0xff, 0x33, 0xff, 0x55,
        0xff};
     PNG_CONST int png_pass_mask[7] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff};
-@@ -585,13 +680,39 @@
+@@ -596,13 +691,39 @@
     {
        if (!(png_ptr->zstream.avail_in))
        {
@@ -173,7 +173,7 @@
           }
           png_ptr->zstream.avail_in = (uInt)png_ptr->zbuf_size;
           png_ptr->zstream.next_in = png_ptr->zbuf;
-@@ -609,6 +730,9 @@
+@@ -620,6 +741,9 @@
              png_benign_error(png_ptr, "Extra compressed data");
           png_ptr->mode |= PNG_AFTER_IDAT;
           png_ptr->flags |= PNG_FLAG_ZLIB_FINISHED;
@@ -183,7 +183,7 @@
           break;
        }
        if (ret != Z_OK)
-@@ -864,6 +988,11 @@
+@@ -875,6 +999,11 @@
  #ifdef PNG_READ_zTXt_SUPPORTED
        PNG_zTXt;
  #endif
@@ -195,7 +195,7 @@
        png_uint_32 length = png_read_chunk_header(png_ptr);
        PNG_CONST png_bytep chunk_name = png_ptr->chunk_name;
  
-@@ -963,6 +1092,14 @@
+@@ -974,6 +1103,14 @@
        else if (!png_memcmp(chunk_name, png_iTXt, 4))
           png_handle_iTXt(png_ptr, info_ptr, length);
  #endif
@@ -386,7 +386,7 @@
 ===================================================================
 --- png.h
 +++ png.h
-@@ -861,6 +861,19 @@
+@@ -888,6 +888,19 @@
     png_fixed_point int_y_blue PNG_DEPSTRUCT;
  #endif
  
@@ -406,7 +406,7 @@
  } png_info;
  
  typedef png_info FAR * png_infop;
-@@ -958,6 +971,10 @@
+@@ -985,6 +998,10 @@
  #define PNG_INFO_sPLT 0x2000   /* ESR, 1.0.6 */
  #define PNG_INFO_sCAL 0x4000   /* ESR, 1.0.6 */
  #define PNG_INFO_IDAT 0x8000L  /* ESR, 1.0.6 */
@@ -417,7 +417,7 @@
  
  /* This is used for the transformation routines, as some of them
   * change these values for the row.  It also should enable using
-@@ -998,6 +1015,10 @@
+@@ -1026,6 +1043,10 @@
  typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop));
  typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep,
     png_uint_32, int));
@@ -428,7 +428,7 @@
  #endif
  
  #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
-@@ -1320,6 +1341,39 @@
+@@ -1445,6 +1466,39 @@
     png_uint_32 user_chunk_cache_max PNG_DEPSTRUCT;
  #endif
  
@@ -468,7 +468,7 @@
  /* New member added in libpng-1.0.25 and 1.2.17 */
  #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED
     /* Storage for unknown chunk that the library doesn't recognize. */
-@@ -1648,6 +1702,18 @@
+@@ -1773,6 +1827,18 @@
  extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr,
     png_bytepp image));
  
@@ -487,7 +487,7 @@
  /* Write the end of the PNG file. */
  extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr,
     png_infop info_ptr));
-@@ -1891,6 +1957,11 @@
+@@ -2017,6 +2083,11 @@
     png_voidp progressive_ptr,
     png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
     png_progressive_end_ptr end_fn));
@@ -499,7 +499,7 @@
  
  /* Returns the user pointer associated with the push read functions */
  extern PNG_EXPORT(png_voidp,png_get_progressive_ptr)
-@@ -2317,6 +2388,59 @@
+@@ -2443,6 +2514,53 @@
  #endif
  #endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */
  
@@ -523,12 +523,6 @@
 +   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));
-+extern PNG_EXPORT(void,png_ensure_fcTL_is_valid)
-+   PNGARG((png_structp png_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));
 +extern PNG_EXPORT(png_uint_32,png_get_next_frame_width)
 +   PNGARG((png_structp png_ptr, png_infop info_ptr));
 +extern PNG_EXPORT(png_uint_32,png_get_next_frame_height)
@@ -625,7 +619,7 @@
  /* These are the functions that do the transformations */
  #ifdef PNG_READ_FILLER_SUPPORTED
  PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info,
-@@ -735,6 +769,18 @@
+@@ -736,6 +770,25 @@
     png_uint_32 length));
  #endif
  
@@ -640,6 +634,13 @@
 +PNG_EXTERN void png_ensure_sequence_number PNGARG((png_structp png_ptr, 
 +   png_uint_32 length));
 +#endif
++#ifdef PNG_APNG_SUPPORTED
++PNG_EXTERN void png_ensure_fcTL_is_valid PNGARG((png_structp png_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));
++#endif
 +
  PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr,
     png_infop info_ptr, png_uint_32 length));
@@ -648,7 +649,7 @@
 ===================================================================
 --- pngwrite.c
 +++ pngwrite.c
-@@ -56,6 +56,10 @@
+@@ -57,6 +57,10 @@
     /* The rest of these check to see if the valid field has the appropriate
      * flag set, and if it does, writes the chunk.
      */
@@ -659,7 +660,7 @@
  #ifdef PNG_WRITE_gAMA_SUPPORTED
     if (info_ptr->valid & PNG_INFO_gAMA)
     {
-@@ -318,6 +322,10 @@
+@@ -319,6 +323,10 @@
        return;
     if (!(png_ptr->mode & PNG_HAVE_IDAT))
        png_error(png_ptr, "No IDATs written into file");
@@ -670,7 +671,7 @@
  
     /* See if user wants us to write information chunks */
     if (info_ptr != NULL)
-@@ -1451,4 +1459,39 @@
+@@ -1454,4 +1462,39 @@
     params = params;
  }
  #endif
@@ -714,7 +715,7 @@
 ===================================================================
 --- pngconf.h
 +++ pngconf.h
-@@ -845,6 +845,10 @@
+@@ -869,6 +869,10 @@
  #  define PNG_READ_tRNS_SUPPORTED
  #  define PNG_tRNS_SUPPORTED
  #endif
@@ -725,7 +726,7 @@
  #ifndef PNG_NO_READ_zTXt
  #  define PNG_READ_zTXt_SUPPORTED
  #  define PNG_zTXt_SUPPORTED
-@@ -1002,6 +1006,14 @@
+@@ -1028,6 +1032,14 @@
  #    define PNG_TEXT_SUPPORTED
  #  endif
  #endif
@@ -870,7 +871,7 @@
        png_ptr->idat_size = png_ptr->push_length;
        png_ptr->mode |= PNG_HAVE_IDAT;
        png_ptr->process_mode = PNG_READ_IDAT_MODE;
-@@ -555,6 +660,38 @@
+@@ -557,6 +662,38 @@
     }
  
  #endif
@@ -909,7 +910,7 @@
     else
     {
        if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-@@ -729,11 +866,15 @@
+@@ -736,11 +873,15 @@
  png_push_read_IDAT(png_structp png_ptr)
  {
     PNG_IDAT;
@@ -926,7 +927,7 @@
        {
           png_push_save_buffer(png_ptr);
           return;
-@@ -745,15 +886,62 @@
+@@ -752,15 +893,62 @@
        png_crc_read(png_ptr, png_ptr->chunk_name, 4);
        png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
  
@@ -990,7 +991,7 @@
     }
     if (png_ptr->idat_size && png_ptr->save_buffer_size)
     {
-@@ -1710,6 +1898,17 @@
+@@ -1716,6 +1904,17 @@
     png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
  }
  
@@ -1171,7 +1172,7 @@
 ===================================================================
 --- pngrutil.c
 +++ pngrutil.c
-@@ -423,6 +423,11 @@
+@@ -434,6 +434,11 @@
     filter_type = buf[11];
     interlace_type = buf[12];
  
@@ -1183,7 +1184,7 @@
     /* Set internal variables */
     png_ptr->width = width;
     png_ptr->height = height;
-@@ -2294,6 +2299,168 @@
+@@ -2318,6 +2323,168 @@
  }
  #endif
  
@@ -1248,6 +1249,8 @@
 +    
 +    png_debug(1, "in png_handle_fcTL");
 +    
++    png_ensure_sequence_number(png_ptr, length);
++    
 +    if (!(png_ptr->mode & PNG_HAVE_IHDR))
 +    {
 +        png_error(png_ptr, "Missing IHDR before fcTL");
@@ -1258,24 +1261,22 @@
 +        * but correct. PNG_HAVE_IDAT is unset before the frame head is read
 +        * i can't think of a better message */
 +        png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
-+        png_crc_finish(png_ptr, length);
++        png_crc_finish(png_ptr, length-4);
 +        return;
 +    }
 +    else if (png_ptr->mode & PNG_HAVE_fcTL)
 +    {
 +        png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
-+        png_crc_finish(png_ptr, length);
++        png_crc_finish(png_ptr, length-4);
 +        return;
 +    }
 +    else if (length != 26)
 +    {
 +        png_warning(png_ptr, "fcTL with invalid length skipped");
-+        png_crc_finish(png_ptr, length);
++        png_crc_finish(png_ptr, length-4);
 +        return;
 +    }
 +    
-+    png_ensure_sequence_number(png_ptr, length);
-+    
 +    png_crc_read(png_ptr, data, 22);
 +    png_crc_finish(png_ptr, 0);
 +    
@@ -1352,7 +1353,7 @@
  /* This function is called when we haven't found a handler for a
     chunk.  If there isn't a problem with the chunk itself (ie bad
     chunk name, CRC, or a critical chunk), the chunk is silently ignored
-@@ -3333,4 +3500,82 @@
+@@ -3353,4 +3520,73 @@
  
     png_ptr->flags |= PNG_FLAG_ROW_INIT;
  }
@@ -1396,7 +1397,6 @@
 +
 +    /* offset to next interlace block in the y direction */
 +    const int FARDATA png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
-+    png_uint_32 row_bytes;
 +    
 +    if (png_ptr->interlaced)
 +    {
@@ -1410,28 +1410,20 @@
 +                           png_pass_inc[png_ptr->pass] - 1 -
 +                           png_pass_start[png_ptr->pass]) /
 +                           png_pass_inc[png_ptr->pass];
-+
-+        row_bytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->iwidth) + 1;
-+
-+        png_ptr->irowbytes = (png_size_t)row_bytes;
-+        if((png_uint_32)png_ptr->irowbytes != row_bytes)
-+            png_error(png_ptr, "png_progressive_read_reset(): Rowbytes "
-+                               "overflow");
 +    }
 +    else
 +    {
 +        png_ptr->num_rows = png_ptr->height;
 +        png_ptr->iwidth = png_ptr->width;
-+        png_ptr->irowbytes = png_ptr->rowbytes + 1;
 +    }
-+
 +    png_ptr->flags &= ~PNG_FLAG_ZLIB_FINISHED;
 +    if (inflateReset(&(png_ptr->zstream)) != Z_OK)
 +        png_error(png_ptr, "inflateReset failed");
 +    png_ptr->zstream.avail_in = 0;
 +    png_ptr->zstream.next_in = 0;
 +    png_ptr->zstream.next_out = png_ptr->row_buf;
-+    png_ptr->zstream.avail_out = (uInt)png_ptr->irowbytes;
++    png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth,
++        png_ptr->iwidth) + 1;
 +}
 +#endif /* PNG_READ_APNG_SUPPORTED */
  #endif /* PNG_READ_SUPPORTED */
@@ -1439,7 +1431,7 @@
 ===================================================================
 --- pngwutil.c
 +++ pngwutil.c
-@@ -538,6 +538,11 @@
+@@ -539,6 +539,11 @@
     /* Write the chunk */
     png_write_chunk(png_ptr, (png_bytep)png_IHDR, buf, (png_size_t)13);
  
@@ -1451,7 +1443,7 @@
     /* Initialize zlib with PNG info */
     png_ptr->zstream.zalloc = png_zalloc;
     png_ptr->zstream.zfree = png_zfree;
-@@ -658,6 +663,9 @@
+@@ -661,6 +666,9 @@
  png_write_IDAT(png_structp png_ptr, png_bytep data, png_size_t length)
  {
     PNG_IDAT;
@@ -1461,7 +1453,7 @@
  
     png_debug(1, "in png_write_IDAT");
  
-@@ -702,7 +710,28 @@
+@@ -705,7 +713,28 @@
              "Invalid zlib compression method or flags in IDAT");
     }
  
@@ -1490,7 +1482,7 @@
     png_ptr->mode |= PNG_HAVE_IDAT;
  }
  
-@@ -1709,6 +1738,66 @@
+@@ -1712,6 +1741,66 @@
  }
  #endif
  
@@ -1557,7 +1549,7 @@
  /* Initializes the row writing capability of libpng */
  void /* PRIVATE */
  png_write_start_row(png_structp png_ptr)
-@@ -2110,8 +2199,8 @@
+@@ -2113,8 +2202,8 @@
  #ifndef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
    if (png_ptr->row_number == 0 && filter_to_do == PNG_ALL_FILTERS)
    {
@@ -1568,7 +1560,7 @@
    }
  #endif 
  
-@@ -2780,4 +2869,39 @@
+@@ -2783,4 +2872,39 @@
     }
  #endif
  }
@@ -1612,7 +1604,7 @@
 ===================================================================
 --- pngrtran.c
 +++ pngrtran.c
-@@ -1320,7 +1320,7 @@
+@@ -1325,7 +1325,7 @@
         * pixels.  This check added to libpng-1.2.19
         */
  #if (PNG_WARN_UNINITIALIZED_ROW==1)

================================================================
Index: packages/libpng/libpng.spec
diff -u packages/libpng/libpng.spec:1.180 packages/libpng/libpng.spec:1.181
--- packages/libpng/libpng.spec:1.180	Fri Feb  5 22:40:55 2010
+++ packages/libpng/libpng.spec	Mon Mar  1 22:34:29 2010
@@ -8,13 +8,13 @@
 Summary(pt_BR.UTF-8):	Biblioteca PNG
 Summary(tr.UTF-8):	PNG kitaplığı
 Name:		libpng
-Version:	1.4.0
-Release:	2
+Version:	1.4.1
+Release:	1
 Epoch:		2
 License:	distributable
 Group:		Libraries
 Source0:	http://downloads.sourceforge.net/libpng/%{name}-%{version}.tar.xz
-# Source0-md5:	2ce652ebe1589d7b2357aa6d0eccd07c
+# Source0-md5:	d4cb0236cce9ce8ff49a22994a01f9e0
 Patch0:		%{name}-pngminus.patch
 # http://littlesvr.ca/apng/diff/%{name}-%{version}-apng.patch | dos2unix
 Patch1:		%{name}-apng.patch
@@ -212,6 +212,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.181  2010/03/01 21:34:29  arekm
+- up to 1.4.1
+
 Revision 1.180  2010/02/05 21:40:55  arekm
 - run test suite
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libpng/libpng-apng.patch?r1=1.11&r2=1.12&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libpng/libpng.spec?r1=1.180&r2=1.181&f=u



More information about the pld-cvs-commit mailing list