author | Glenn Randers-Pehrson <glennrp+bmo@gmail.com> |
Wed, 05 Jun 2013 16:50:53 -0400 | |
changeset 134144 | 01458e7eb7071780e726d8ed65994fbffd7c37ff |
parent 134143 | 7df36088f6451bd4f8db0dfa589894abca8e1f78 |
child 134145 | be065b3be5febd4c7ee9081d65817e02f357b115 |
push id | 29069 |
push user | ryanvm@gmail.com |
push date | Wed, 05 Jun 2013 20:50:43 +0000 |
treeherder | mozilla-inbound@01458e7eb707 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | joe |
bugs | 873001 |
milestone | 24.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/media/libpng/CHANGES +++ b/media/libpng/CHANGES @@ -4063,16 +4063,59 @@ Version 1.5.15beta09 [March 13, 2013] Eliminated two warnings from the Intel C compiler. The warnings are technically valid, although a reasonable treatment of division would show it to be incorrect. Version 1.5.15rc01 [March 21, 2013] No changes. Version 1.5.15 [March 28, 2013] + No changes. + +Version 1.5.16beta01 [April 25, 2013] + Corrected a misplaced closing bracket in contrib/libtests/pngvalid.c + (Flavio Medeiros). + Revised stack marking in arm/filter_neon.S and configure.ac. + Ensure that NEON filter stuff is completely disabled when switched 'off'. + Previously the ARM NEON specific files were still built if the option + was switched 'off' as opposed to being explicitly disabled. + Avoid a compiler warning about unused png_ptr in translate_gamma_flags() + +Version 1.5.16beta02 [April 26, 2013] + Revise pngtest.c to skip tests of unsupported features. + Regenerated configure files. + +Version 1.5.16beta03 [April 26, 2013] + Test for 'arm*' not just 'arm' in the host_cpu configure variable. + +Version 1.5.16beta04 [May 1, 2013] + Expanded manual paragraph about writing private chunks, particularly + the need to call png_set_keep_unknown_chunks() when writing them. + +Version 1.5.16beta05 [May 9, 2013] + Updated contrib/pngminus/pnm2png.c (Paul Stewart): + Check for EOF + Ignore "#" delimited comments in input file to pnm2png.c. + Fixed whitespace handling + Added a call to png_set_packing() + Initialize dimension values so if sscanf fails at least we have known + invalid values. + +Version 1.5.16beta06 [May 12, 2013] + Allow contrib/pnminus/pnm2png.c to compile without WRITE_INVERT and WRITE_PACK + supported (writes error message that it can't read P1 or P4 PBM files). + Revised contrib/pngminim/*/makefile to separate CPPFLAGS and CFLAGS, and + to generate pnglibconf.h with the right zlib header files. + Ported contrib/pngminus/pnm2png.c changes back from libpng-1.6.3beta06, + to use unsigned long, not png_uint_32 arguments to sscanf(). + +Version 1.5.16rc01 [May 16, 2013] + No changes. + +Version 1.5.16 [May 23, 2013] Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement to subscribe) or to glennrp at users.sourceforge.net Glenn R-P
--- a/media/libpng/LICENSE +++ b/media/libpng/LICENSE @@ -5,17 +5,17 @@ included in the libpng distribution, the COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.15, March 28, 2013, are +libpng versions 1.2.6, August 15, 2004, through 1.5.16, May 23, 2013, are Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors Cosmin Truta libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are @@ -103,9 +103,9 @@ boxes and the like: Also, the PNG logo (in PNG format, of course) is supplied in the files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -March 28, 2013 +May 23, 2013
--- a/media/libpng/MOZCHANGES +++ b/media/libpng/MOZCHANGES @@ -1,11 +1,13 @@ Changes made to pristine png source by mozilla.org developers. +2013/06/06 -- Synced with libpng-1.5.16 (bug #873001). + 2013/04/11 -- Synced with libpng-1.5.15 (bug #858578). 2013/01/24 -- Synced with libpng-1.5.14 (bug #832487). 2013/01/23 -- Disabled TEXT support in mozpngconf.h (bug #833594). 2012/10/02 -- Synced with libpng-1.5.13 (bug #775662).
--- a/media/libpng/README +++ b/media/libpng/README @@ -1,9 +1,9 @@ -README for libpng version 1.5.15 - March 28, 2013 (shared library 15.0) +README for libpng version 1.5.16 - May 23, 2013 (shared library 15.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. Libpng comes in several distribution formats. Get libpng-*.tar.gz, libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings in the text files, or lpng*.zip if you want DOS-style line endings.
--- a/media/libpng/arm/arm_init.c +++ b/media/libpng/arm/arm_init.c @@ -1,14 +1,14 @@ /* arm_init.c - NEON optimised filter functions * * Copyright (c) 2013 Glenn Randers-Pehrson * Written by Mans Rullgard, 2011. - * Last changed in libpng 1.5.15 [March 28, 2013] + * Last changed in libpng 1.5.16 [May 23, 2013] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h */ /* Below, after checking __linux__, various non-C90 POSIX 1003.1 functions are * called. */ @@ -211,9 +211,9 @@ png_init_filter_functions_neon(png_struc else if (bpp == 4) { pp->read_filter[PNG_FILTER_VALUE_SUB-1] = png_read_filter_row_sub4_neon; pp->read_filter[PNG_FILTER_VALUE_AVG-1] = png_read_filter_row_avg4_neon; pp->read_filter[PNG_FILTER_VALUE_PAETH-1] = png_read_filter_row_paeth4_neon; } } -#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ +#endif /* PNG_ARM_NEON_SUPPORTED */
--- a/media/libpng/arm/filter_neon.S +++ b/media/libpng/arm/filter_neon.S @@ -1,32 +1,32 @@ /* filter_neon.S - NEON optimised filter functions * - * Copyright (c) 2011 Glenn Randers-Pehrson + * Copyright (c) 2013 Glenn Randers-Pehrson * Written by Mans Rullgard, 2011. - * Last changed in libpng 1.5.7 [December 15, 2011] + * Last changed in libpng 1.5.16 [May 23, 2013] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h */ /* This is required to get the symbol renames, which are #defines, and also - * includes the value of PNG_FILTER_OPTIMIZATIONS. + * includes the definition (or not) of PNG_ARM_NEON_SUPPORTED. */ #define PNG_VERSION_INFO_ONLY #include "../pngpriv.h" -#if defined(PNG_FILTER_OPTIMIZATIONS) && defined(__arm__) && \ - defined(__ARM_NEON__) #if defined(__linux__) && defined(__ELF__) .section .note.GNU-stack,"",%progbits /* mark stack as non-executable */ #endif +#ifdef PNG_ARM_NEON_SUPPORTED + #ifdef __ELF__ # define ELF #else # define ELF @ #endif .arch armv7-a .fpu neon @@ -227,9 +227,9 @@ 1: vmov d4, d19 vadd.u8 d3, d3, d7 vst1.32 {d3[0]}, [r1], r4 subs r12, r12, #12 bgt 1b pop {r4,pc} endfunc -#endif /* FILTER_OPTIMIZATIONS && __arm__ && __ARM_NEON__ */ +#endif /* PNG_ARM_NEON_SUPPORTED */
--- a/media/libpng/libpng-manual.txt +++ b/media/libpng/libpng-manual.txt @@ -1,22 +1,22 @@ Libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.15 - March 28, 2013 + libpng version 1.5.16 - May 23, 2013 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2013 Glenn Randers-Pehrson This document is released under the libpng license. For conditions of distribution and use, see the disclaimer and license in png.h Based on: - libpng versions 0.97, January 1998, through 1.5.15 - March 28, 2013 + libpng versions 0.97, January 1998, through 1.5.16 - May 23, 2013 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2013 Glenn Randers-Pehrson libpng 1.0 beta 6 version 0.96 May 28, 1997 Updated and distributed by Andreas Dilger Copyright (c) 1996, 1997 Andreas Dilger libpng 1.0 beta 2 - version 0.88 January 26, 1996 @@ -26,19 +26,17 @@ Libpng-manual.txt - A description on how Updated/rewritten per request in the libpng FAQ Copyright (c) 1995, 1996 Frank J. T. Wojcik December 18, 1995 & January 20, 1996 I. Introduction This file describes how to use and modify the PNG reference library -(known as libpng) for your own use. There are five sections to this -file: introduction, structures, reading, writing, and modification and -configuration notes for various special platforms. In addition to this +(known as libpng) for your own use. In addition to this file, example.c is a good starting point for using the library, as it is heavily commented and should include everything most people will need. We assume that libpng is already installed; see the INSTALL file for instructions on how to install libpng. For examples of libpng usage, see the files "example.c", "pngtest.c", and the files in the "contrib" directory, all of which are included in the libpng distribution. @@ -3032,23 +3030,55 @@ tEXt chunk use RFC 1123 format dates (e. although this isn't a requirement. Unlike the tIME chunk, the "Creation Time" tEXt chunk is not expected to be automatically changed by the software. To facilitate the use of RFC 1123 dates, a function png_convert_to_rfc1123(png_ptr, png_timep) is provided to convert from PNG time to an RFC 1123 format string. Writing unknown chunks -You can use the png_set_unknown_chunks function to queue up chunks -for writing. You give it a chunk name, raw data, and a size; that's -all there is to it. The chunks will be written by the next following -png_write_info_before_PLTE, png_write_info, or png_write_end function. -Any chunks previously read into the info structure's unknown-chunk -list will also be written out in a sequence that satisfies the PNG -specification's ordering rules. +You can use the png_set_unknown_chunks function to queue up private chunks +for writing. You give it a chunk name, location, raw data, and a size. You +also must use png_set_keep_unknown_chunks() to ensure that libpng will +handle them. That's all there is to it. The chunks will be written by the +next following png_write_info_before_PLTE, png_write_info, or png_write_end +function, depending upon the specified location. Any chunks previously +read into the info structure's unknown-chunk list will also be written out +in a sequence that satisfies the PNG specification's ordering rules. + +Here is an example of writing two private chunks, prVt and miNE: + + #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED + /* Set unknown chunk data */ + png_unknown_chunk unk_chunk[2]; + strcpy((char *) unk_chunk[0].name, "prVt"; + unk_chunk[0].data = (unsigned char *) "PRIVATE DATA"; + unk_chunk[0].size = strlen(unk_chunk[0].data)+1; + unk_chunk[0].location = PNG_HAVE_IHDR; + strcpy((char *) unk_chunk[1].name, "miNE"; + unk_chunk[1].data = (unsigned char *) "MY CHUNK DATA"; + unk_chunk[1].size = strlen(unk_chunk[0].data)+1; + unk_chunk[1].location = PNG_AFTER_IDAT; + png_set_unknown_chunks(write_ptr, write_info_ptr, + unk_chunk, 2); + /* Needed because miNE is not safe-to-copy */ + png_set_keep_unknown_chunks(png, PNG_HANDLE_CHUNK_ALWAYS, + (png_bytep) "miNE", 1); + /* Deal with unknown chunk location bug in 1.5.x and earlier */ + png_set_unknown_chunk_location(png, info, 0, PNG_HAVE_IHDR); + png_set_unknown_chunk_location(png, info, 1, PNG_AFTER_IDAT); + # if PNG_LIBPNG_VER < 10500 + /* PNG_AFTER_IDAT writes two copies of the chunk prior to libpng-1.5.0, + * one before IDAT and another after IDAT, so don't use it; only use + * PNG_HAVE_IHDR location. This call resets the location previously + * set by assignment and png_set_unknown_chunk_location() for chunk 1. + */ + png_set_unknown_chunk_location(png, info, 1, PNG_HAVE_IHDR); + # endif + #endif The high-level write interface At this point there are two ways to proceed; through the high-level write interface, or through a sequence of low-level write operations. You can use the high-level interface if your image data is present in the info structure. All defined output transformations are permitted, enabled by the following masks. @@ -4488,21 +4518,21 @@ libpng version since 0.88. In an autoco XII. Source code repository Since about February 2009, version 1.2.34, libpng has been under "git" source control. The git repository was built from old libpng-x.y.z.tar.gz files going back to version 0.70. You can access the git repository (read only) at - git://libpng.git.sourceforge.net/gitroot/libpng - -or you can browse it via "gitweb" at - - http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng + git://git.code.sf.net/p/libpng/code + +or you can browse it with a web browser by selecting the "code" button at + + https://sourceforge.net/projects/libpng/ Patches can be sent to glennrp at users.sourceforge.net or to png-mng-implement at lists.sourceforge.net or you can upload them to the libpng bug tracker at http://libpng.sourceforge.net We also accept patches built from the tar or zip distributions, and @@ -4620,23 +4650,23 @@ with an even number of lower-case hex di We do not use the TAB character for indentation in the C sources. Lines do not exceed 80 characters. Other rules can be inferred by inspecting the libpng source. XIV. Y2K Compliance in libpng -March 28, 2013 +May 23, 2013 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.5.15 are Y2K compliant. It is my belief that earlier +upward through 1.5.16 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer that will hold years up to 65535. The other holds the date in text format, and will hold years up to 9999. The integer is "png_uint_16 year" in png_time_struct.
--- a/media/libpng/png.c +++ b/media/libpng/png.c @@ -9,17 +9,17 @@ * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h */ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_5_15 Your_png_h_is_not_version_1_5_15; +typedef png_libpng_version_1_5_16 Your_png_h_is_not_version_1_5_16; /* Tells libpng that we have already handled the first "num_bytes" bytes * of the PNG file signature. If the PNG data is embedded into another * stream we can set num_bytes = 8 so that libpng will not attempt to read * or write any of the magic bytes before it starts on the IHDR. */ #ifdef PNG_READ_SUPPORTED @@ -653,23 +653,23 @@ png_const_charp PNGAPI png_get_copyright(png_const_structp png_ptr) { PNG_UNUSED(png_ptr) /* Silence compiler warning about unused png_ptr */ #ifdef PNG_STRING_COPYRIGHT return PNG_STRING_COPYRIGHT #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.5.14 - January 24, 2013" PNG_STRING_NEWLINE \ + "libpng version 1.5.16 - May 23, 2013" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE; # else - return "libpng version 1.5.14 - January 24, 2013\ + return "libpng version 1.5.16 - May 23, 2013\ Copyright (c) 1998-2013 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; # endif #endif } /* The following return the library version as a short string in the
--- a/media/libpng/png.h +++ b/media/libpng/png.h @@ -1,22 +1,22 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.15 - March 28, 2013 + * libpng version 1.5.16 - May 23, 2013 * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * * This code is released under the libpng license (See LICENSE, below) * * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.5.15 - March 28, 2013: Glenn + * libpng versions 0.97, January 1998, through 1.5.16 - May 23, 2013: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: * * Due to various miscommunications, unforeseen code incompatibilities * and occasional factors outside the authors' control, version numbering * on the library has not always been consistent and straightforward. * The following table summarizes matters since version 0.89c, which was @@ -179,19 +179,22 @@ * 1.5.11 15 10511 15.so.15.11[.0] * 1.5.12 15 10512 15.so.15.12[.0] * 1.5.13beta01-02 15 10513 15.so.15.13[.0] * 1.5.13rc01 15 10513 15.so.15.13[.0] * 1.5.13 15 10513 15.so.15.13[.0] * 1.5.14beta01-08 15 10514 15.so.15.14[.0] * 1.5.14rc01-03 15 10514 15.so.15.14[.0] * 1.5.14 15 10514 15.so.15.14[.0] - * 1.5.15beta01-10 15 10515 15.so.15.15[.0] + * 1.5.15beta01-09 15 10515 15.so.15.15[.0] * 1.5.15rc01 15 10515 15.so.15.15[.0] * 1.5.15 15 10515 15.so.15.15[.0] + * 1.5.16beta01-06 15 10516 15.so.15.16[.0] + * 1.5.16rc01 15 10516 15.so.15.16[.0] + * 1.5.16 15 10516 15.so.15.16[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be * used for changes in backward compatibility, as it is intended. The * PNG_LIBPNG_VER macro, which is not used within libpng but is available * for applications, is an unsigned integer of the form xyyzz corresponding * to the source version x.y.z (leading zeros in y and z). Beta versions * were given the previous public release number plus a letter, until @@ -213,17 +216,17 @@ /* * COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: * * If you modify libpng you may insert additional notices immediately following * this sentence. * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.15, March 28, 2013, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.16, May 23, 2013, are * Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: * * Cosmin Truta * * libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are * Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are @@ -325,23 +328,23 @@ * * Thanks to Frank J. T. Wojcik for helping with the documentation. */ /* * Y2K compliance in libpng: * ========================= * - * March 28, 2013 + * May 23, 2013 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.5.15 are Y2K compliant. It is my belief that + * upward through 1.5.16 are Y2K compliant. It is my belief that * earlier versions were also Y2K compliant. * * Libpng only has two year fields. One is a 2-byte unsigned integer * that will hold years up to 65535. The other holds the date in text * format, and will hold years up to 9999. * * The integer is * "png_uint_16 year" in png_time_struct. @@ -390,27 +393,27 @@ * with some code on which to build. This file is useful for looking * at the actual function definitions and structure components. * * If you just need to read a PNG file and don't want to read the documentation * skip to the end of this file and read the section entitled 'simplified API'. */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.5.15" +#define PNG_LIBPNG_VER_STRING "1.5.16" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.15 - March 28, 2013\n" + " libpng version 1.5.16 - May 23, 2013\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 5 -#define PNG_LIBPNG_VER_RELEASE 15 +#define PNG_LIBPNG_VER_RELEASE 16 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ #define PNG_LIBPNG_VER_BUILD 0 /* Release Status */ @@ -431,17 +434,17 @@ #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only * version 1.0.0 was mis-numbered 100 instead of 10000). From * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10515 /* 1.5.15 */ +#define PNG_LIBPNG_VER 10516 /* 1.5.16 */ #ifndef MOZPNGCONF_H # include "mozpngconf.h" #endif #ifndef PNG_VERSION_INFO_ONLY # ifndef PNG_BUILDING_SYMBOL_TABLE /* @@ -547,17 +550,17 @@ extern "C" { /* Section 2: type definitions, including structures and compile time * constants. * See pngconf.h for base types that vary by machine/system */ /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_5_15; +typedef char* png_libpng_version_1_5_16; /* Three color definitions. The order of the red, green, and blue, (and the * exact size) is not important, although the size of the fields need to * be png_byte or png_uint_16 (as defined below). */ typedef struct png_color_struct { png_byte red;
--- a/media/libpng/pngconf.h +++ b/media/libpng/pngconf.h @@ -1,12 +1,12 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.5.14 - January 24, 2013 + * libpng version 1.5.16 - May 23, 2013 * * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h
--- a/media/libpng/pngrtran.c +++ b/media/libpng/pngrtran.c @@ -1,12 +1,12 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.5.14 [January 24, 2013] + * Last changed in libpng 1.5.16 [May 23, 2013] * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h * @@ -189,16 +189,18 @@ translate_gamma_flags(png_structp png_pt if (output_gamma == PNG_DEFAULT_sRGB || output_gamma == PNG_FP_1 / PNG_DEFAULT_sRGB) { /* If there is no sRGB support this just sets the gamma to the standard * sRGB value. (This is a side effect of using this function!) */ # ifdef PNG_READ_sRGB_SUPPORTED png_ptr->flags |= PNG_FLAG_ASSUME_sRGB; +# else + PNG_UNUSED(png_ptr) # endif if (is_screen) output_gamma = PNG_GAMMA_sRGB; else output_gamma = PNG_GAMMA_sRGB_INVERSE; } else if (output_gamma == PNG_GAMMA_MAC_18 ||
--- a/media/libpng/pngrutil.c +++ b/media/libpng/pngrutil.c @@ -1,30 +1,28 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.5.15 [March 28, 2013] + * Last changed in libpng 1.5.16 [May 23, 2013] * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer * and license in png.h * * This file contains routines that are only called from within * libpng itself during the course of reading an image. */ #include "pngpriv.h" #ifdef PNG_READ_SUPPORTED -#define png_strtod(p,a,b) strtod(a,b) - png_uint_32 PNGAPI png_get_uint_31(png_structp png_ptr, png_const_bytep buf) { png_uint_32 uval = png_get_uint_32(buf); if (uval > PNG_UINT_31_MAX) png_error(png_ptr, "PNG unsigned integer out of range");
--- a/media/libpng/pngset.c +++ b/media/libpng/pngset.c @@ -1143,28 +1143,28 @@ png_set_next_frame_fcTL(png_structp png_ void /* PRIVATE */ png_ensure_fcTL_is_valid(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) { - if (width + x_offset > png_ptr->first_frame_width || - height + y_offset > png_ptr->first_frame_height) - png_error(png_ptr, "dimensions of a frame are greater than" - "the ones in IHDR"); if (width > PNG_UINT_31_MAX) png_error(png_ptr, "invalid width in fcTL (> 2^31-1)"); if (height > PNG_UINT_31_MAX) png_error(png_ptr, "invalid height in fcTL (> 2^31-1)"); if (x_offset > PNG_UINT_31_MAX) png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)"); if (y_offset > PNG_UINT_31_MAX) png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)"); + if (width + x_offset > png_ptr->first_frame_width || + height + y_offset > png_ptr->first_frame_height) + png_error(png_ptr, "dimensions of a frame in fcTL are greater than" + "those in IHDR"); if (dispose_op != PNG_DISPOSE_OP_NONE && dispose_op != PNG_DISPOSE_OP_BACKGROUND && dispose_op != PNG_DISPOSE_OP_PREVIOUS) png_error(png_ptr, "invalid dispose_op in fcTL"); if (blend_op != PNG_BLEND_OP_SOURCE && blend_op != PNG_BLEND_OP_OVER)