瀏覽代碼

Merge pull request #107155 from akien-mga/libpng-1.6.48

libpng: Update to 1.6.48 (+ cleanup thirdparty docs)
Rémi Verschelde 1 月之前
父節點
當前提交
8037b7ecae

+ 22 - 17
COPYRIGHT.txt

@@ -169,21 +169,21 @@ Comment: Temporal Anti-Aliasing resolve implementation
 Copyright: 2016, Panos Karabelas
 Copyright: 2016, Panos Karabelas
 License: Expat
 License: Expat
 
 
-Files: thirdparty/accesskit/*
-Comment: AccessKit
-Copyright: 2023, The AccessKit Authors.
-License: Expat
-
 Files: servers/rendering/renderer_rd/shaders/smaa_blending.glsl
 Files: servers/rendering/renderer_rd/shaders/smaa_blending.glsl
  servers/rendering/renderer_rd/shaders/smaa_weight_calculation.glsl
  servers/rendering/renderer_rd/shaders/smaa_weight_calculation.glsl
  servers/rendering/renderer_rd/shaders/smaa_edge_detection.glsl
  servers/rendering/renderer_rd/shaders/smaa_edge_detection.glsl
  thirdparty/smaa/*
  thirdparty/smaa/*
 Comment: Subpixel Morphological Antialiasing
 Comment: Subpixel Morphological Antialiasing
-Copyright: 2013 Jorge Jimenez ([email protected])
- 2013 Jose I. Echevarria ([email protected])
- 2013 Belen Masia ([email protected])
- 2013 Fernando Navarro ([email protected])
- 2013 Diego Gutierrez ([email protected])
+Copyright: 2013, Jorge Jimenez
+ 2013, Jose I. Echevarria
+ 2013, Belen Masia
+ 2013, Fernando Navarro
+ 2013, Diego Gutierrez
+License: Expat
+
+Files: thirdparty/accesskit/*
+Comment: AccessKit
+Copyright: 2023, The AccessKit Authors.
 License: Expat
 License: Expat
 
 
 Files: thirdparty/amd-fsr/*
 Files: thirdparty/amd-fsr/*
@@ -305,7 +305,7 @@ Comment: Graphite engine
 Copyright: 2010, SIL International
 Copyright: 2010, SIL International
 License: Expat
 License: Expat
 
 
-Files: thirdparty/grisu2/grisu2.h
+Files: thirdparty/grisu2/*
 Comment: Grisu2 float serialization algorithm
 Comment: Grisu2 float serialization algorithm
 Copyright: 2009, Florian Loitsch
 Copyright: 2009, Florian Loitsch
  2018-2023, The simdjson authors
  2018-2023, The simdjson authors
@@ -551,6 +551,11 @@ Comment: SPIRV-Reflect
 Copyright: 2017-2022, Google Inc.
 Copyright: 2017-2022, Google Inc.
 License: Apache-2.0
 License: Apache-2.0
 
 
+Files: thirdparty/swappy-frame-pacing/*
+Comment: Swappy
+Copyright: 2019, The Android Open Source Project
+License: Apache-2.0
+
 Files: thirdparty/thorvg/*
 Files: thirdparty/thorvg/*
 Comment: ThorVG
 Comment: ThorVG
 Copyright: 2020-2024, The ThorVG Project
 Copyright: 2020-2024, The ThorVG Project
@@ -599,15 +604,15 @@ Copyright: 2008-2012, Kristian Høgsberg
 License: Expat
 License: Expat
 
 
 Files: thirdparty/wayland-protocols/*
 Files: thirdparty/wayland-protocols/*
-Comment: Wayland protocols that add functionality not available in the core protocol
+Comment: Wayland protocols
 Copyright: 2008-2013, Kristian Høgsberg
 Copyright: 2008-2013, Kristian Høgsberg
   2010-2013, Intel Corporation
   2010-2013, Intel Corporation
-  2013,      Rafael Antognolli
-  2013,      Jasper St. Pierre
-  2014,      Jonas Ådahl
-  2014,      Jason Ekstrand
+  2013, Rafael Antognolli
+  2013, Jasper St. Pierre
+  2014, Jonas Ådahl
+  2014, Jason Ekstrand
   2014-2015, Collabora, Ltd.
   2014-2015, Collabora, Ltd.
-  2015,      Red Hat Inc.
+  2015, Red Hat Inc.
 License: Expat
 License: Expat
 
 
 Files: thirdparty/wslay/*
 Files: thirdparty/wslay/*

+ 28 - 2
thirdparty/README.md

@@ -504,7 +504,7 @@ Patches:
 ## libjpeg-turbo
 ## libjpeg-turbo
 
 
 - Upstream: https://github.com/libjpeg-turbo/libjpeg-turbo
 - Upstream: https://github.com/libjpeg-turbo/libjpeg-turbo
-- Version: git (20ade4dea9589515a69793e447a6c6220b464535, 2024)
+- Version: 3.1.0 (20ade4dea9589515a69793e447a6c6220b464535, 2024)
 - License: BSD-3-Clause and IJG
 - License: BSD-3-Clause and IJG
 
 
 Files extracted from upstream source:
 Files extracted from upstream source:
@@ -520,6 +520,7 @@ Patches:
 - `0002-disable-16bitlossless.patch` (GH-104347)
 - `0002-disable-16bitlossless.patch` (GH-104347)
 - `0003-remove-bmp-ppm-support.patch` (GH-104347)
 - `0003-remove-bmp-ppm-support.patch` (GH-104347)
 
 
+
 ## libktx
 ## libktx
 
 
 - Upstream: https://github.com/KhronosGroup/KTX-Software
 - Upstream: https://github.com/KhronosGroup/KTX-Software
@@ -560,7 +561,7 @@ Files extracted from upstream source:
 ## libpng
 ## libpng
 
 
 - Upstream: http://libpng.org/pub/png/libpng.html
 - Upstream: http://libpng.org/pub/png/libpng.html
-- Version: 1.6.47 (872555f4ba910252783af1507f9e7fe1653be252, 2025)
+- Version: 1.6.48 (ea127968204cc5d10f3fc9250c306b9e8cbd9b80, 2025)
 - License: libpng/zlib
 - License: libpng/zlib
 
 
 Files extracted from upstream source:
 Files extracted from upstream source:
@@ -929,6 +930,18 @@ and solve conflicts and also enrich the feature set originally
 proposed by these libraries and better integrate them with Godot.
 proposed by these libraries and better integrate them with Godot.
 
 
 
 
+## smaa
+
+- Upstream: https://github.com/iryoku/smaa
+- Version: git (71c806a838bdd7d517df19192a20f0c61b3ca29d, 2013)
+- License: MIT
+
+Files extracted from upstream source:
+
+- `LICENSE`
+- Textures generated using the Python scripts in the `Scripts` folder
+
+
 ## spirv-cross
 ## spirv-cross
 
 
 - Upstream: https://github.com/KhronosGroup/SPIRV-Cross
 - Upstream: https://github.com/KhronosGroup/SPIRV-Cross
@@ -966,6 +979,19 @@ Patches:
 - `0002-zero-size-for-sc-sized-arrays.patch` (GH-94985)
 - `0002-zero-size-for-sc-sized-arrays.patch` (GH-94985)
 
 
 
 
+## swappy-frame-pacing
+
+- Upstream: https://android.googlesource.com/platform/frameworks/opt/gamesdk/ via https://github.com/godotengine/godot-swappy
+- Version: git (1198bb06b041e2df5d42cc5cf18fac81fcefa03f, 2025)
+- License: Apache 2.0
+
+Files extracted from upstream source:
+
+- `include/common/`
+- `include/swappy/{swappy_common.h,swappyVk.h}`
+- `LICENSE`
+
+
 ## thorvg
 ## thorvg
 
 
 - Upstream: https://github.com/thorvg/thorvg
 - Upstream: https://github.com/thorvg/thorvg

+ 4 - 4
thirdparty/libpng/arm/arm_init.c

@@ -35,14 +35,14 @@
 #ifndef PNG_ARM_NEON_FILE
 #ifndef PNG_ARM_NEON_FILE
 #  if defined(__aarch64__) || defined(_M_ARM64)
 #  if defined(__aarch64__) || defined(_M_ARM64)
      /* ARM Neon is expected to be unconditionally available on ARM64. */
      /* ARM Neon is expected to be unconditionally available on ARM64. */
-#    error "PNG_ARM_NEON_CHECK_SUPPORTED must not be defined on ARM64"
+#    error PNG_ARM_NEON_CHECK_SUPPORTED must not be defined on ARM64
 #  elif defined(__ARM_NEON__) || defined(__ARM_NEON)
 #  elif defined(__ARM_NEON__) || defined(__ARM_NEON)
      /* ARM Neon is expected to be available on the target CPU architecture. */
      /* ARM Neon is expected to be available on the target CPU architecture. */
-#    error "PNG_ARM_NEON_CHECK_SUPPORTED must not be defined on this CPU arch"
+#    error PNG_ARM_NEON_CHECK_SUPPORTED must not be defined on this CPU arch
 #  elif defined(__linux__)
 #  elif defined(__linux__)
 #    define PNG_ARM_NEON_FILE "contrib/arm-neon/linux.c"
 #    define PNG_ARM_NEON_FILE "contrib/arm-neon/linux.c"
 #  else
 #  else
-#    error "No support for run-time ARM Neon checking; use compile-time options"
+#    error No support for run-time ARM Neon checking; use compile-time options
 #  endif
 #  endif
 #endif
 #endif
 
 
@@ -53,7 +53,7 @@ static int png_have_neon(png_structp png_ptr);
 #endif /* PNG_ARM_NEON_CHECK_SUPPORTED */
 #endif /* PNG_ARM_NEON_CHECK_SUPPORTED */
 
 
 #ifndef PNG_ALIGNED_MEMORY_SUPPORTED
 #ifndef PNG_ALIGNED_MEMORY_SUPPORTED
-#  error "ALIGNED_MEMORY is required; set: -DPNG_ALIGNED_MEMORY_SUPPORTED"
+#  error ALIGNED_MEMORY is required; please define PNG_ALIGNED_MEMORY_SUPPORTED
 #endif
 #endif
 
 
 void
 void

+ 5 - 7
thirdparty/libpng/png.c

@@ -13,7 +13,7 @@
 #include "pngpriv.h"
 #include "pngpriv.h"
 
 
 /* Generate a compiler error if there is an old png.h in the search path. */
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_47 Your_png_h_is_not_version_1_6_47;
+typedef png_libpng_version_1_6_48 Your_png_h_is_not_version_1_6_48;
 
 
 /* Sanity check the chunks definitions - PNG_KNOWN_CHUNKS from pngpriv.h and the
 /* Sanity check the chunks definitions - PNG_KNOWN_CHUNKS from pngpriv.h and the
  * corresponding macro definitions.  This causes a compile time failure if
  * corresponding macro definitions.  This causes a compile time failure if
@@ -700,7 +700,7 @@ png_get_io_ptr(png_const_structrp png_ptr)
  * function of your own because "FILE *" isn't necessarily available.
  * function of your own because "FILE *" isn't necessarily available.
  */
  */
 void PNGAPI
 void PNGAPI
-png_init_io(png_structrp png_ptr, png_FILE_p fp)
+png_init_io(png_structrp png_ptr, FILE *fp)
 {
 {
    png_debug(1, "in png_init_io");
    png_debug(1, "in png_init_io");
 
 
@@ -815,7 +815,7 @@ png_get_copyright(png_const_structrp png_ptr)
    return PNG_STRING_COPYRIGHT
    return PNG_STRING_COPYRIGHT
 #else
 #else
    return PNG_STRING_NEWLINE \
    return PNG_STRING_NEWLINE \
-      "libpng version 1.6.47" PNG_STRING_NEWLINE \
+      "libpng version 1.6.48" PNG_STRING_NEWLINE \
       "Copyright (c) 2018-2025 Cosmin Truta" PNG_STRING_NEWLINE \
       "Copyright (c) 2018-2025 Cosmin Truta" PNG_STRING_NEWLINE \
       "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
       "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
       PNG_STRING_NEWLINE \
       PNG_STRING_NEWLINE \
@@ -1491,7 +1491,7 @@ png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
 }
 }
 #endif /* COLORSPACE */
 #endif /* COLORSPACE */
 
 
-#ifdef PNG_iCCP_SUPPORTED
+#ifdef PNG_READ_iCCP_SUPPORTED
 /* Error message generation */
 /* Error message generation */
 static char
 static char
 png_icc_tag_char(png_uint_32 byte)
 png_icc_tag_char(png_uint_32 byte)
@@ -1567,9 +1567,7 @@ png_icc_profile_error(png_const_structrp png_ptr, png_const_charp name,
 
 
    return 0;
    return 0;
 }
 }
-#endif /* iCCP */
 
 
-#ifdef PNG_READ_iCCP_SUPPORTED
 /* Encoded value of D50 as an ICC XYZNumber.  From the ICC 2010 spec the value
 /* Encoded value of D50 as an ICC XYZNumber.  From the ICC 2010 spec the value
  * is XYZ(0.9642,1.0,0.8249), which scales to:
  * is XYZ(0.9642,1.0,0.8249), which scales to:
  *
  *
@@ -3969,7 +3967,7 @@ png_image_free_function(png_voidp argument)
 #  ifdef PNG_STDIO_SUPPORTED
 #  ifdef PNG_STDIO_SUPPORTED
       if (cp->owned_file != 0)
       if (cp->owned_file != 0)
       {
       {
-         FILE *fp = png_voidcast(FILE*, cp->png_ptr->io_ptr);
+         FILE *fp = png_voidcast(FILE *, cp->png_ptr->io_ptr);
          cp->owned_file = 0;
          cp->owned_file = 0;
 
 
          /* Ignore errors here. */
          /* Ignore errors here. */

+ 10 - 10
thirdparty/libpng/png.h

@@ -1,6 +1,6 @@
 /* png.h - header file for PNG reference library
 /* png.h - header file for PNG reference library
  *
  *
- * libpng version 1.6.47
+ * libpng version 1.6.48
  *
  *
  * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
@@ -14,7 +14,7 @@
  *   libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
  *   libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
  *   libpng versions 0.97, January 1998, through 1.6.35, July 2018:
  *   libpng versions 0.97, January 1998, through 1.6.35, July 2018:
  *     Glenn Randers-Pehrson
  *     Glenn Randers-Pehrson
- *   libpng versions 1.6.36, December 2018, through 1.6.47, February 2025:
+ *   libpng versions 1.6.36, December 2018, through 1.6.48, April 2025:
  *     Cosmin Truta
  *     Cosmin Truta
  *   See also "Contributing Authors", below.
  *   See also "Contributing Authors", below.
  */
  */
@@ -238,7 +238,7 @@
  *    ...
  *    ...
  *    1.5.30                  15    10530  15.so.15.30[.0]
  *    1.5.30                  15    10530  15.so.15.30[.0]
  *    ...
  *    ...
- *    1.6.47                  16    10647  16.so.16.47[.0]
+ *    1.6.48                  16    10648  16.so.16.48[.0]
  *
  *
  *    Henceforth the source version will match the shared-library major and
  *    Henceforth the source version will match the shared-library major and
  *    minor numbers; the shared-library major version number will be used for
  *    minor numbers; the shared-library major version number will be used for
@@ -274,7 +274,7 @@
  */
  */
 
 
 /* Version information for png.h - this should match the version in png.c */
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.6.47"
+#define PNG_LIBPNG_VER_STRING "1.6.48"
 #define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
 #define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
 
 
 /* The versions of shared library builds should stay in sync, going forward */
 /* The versions of shared library builds should stay in sync, going forward */
@@ -285,7 +285,7 @@
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
 #define PNG_LIBPNG_VER_MAJOR   1
 #define PNG_LIBPNG_VER_MAJOR   1
 #define PNG_LIBPNG_VER_MINOR   6
 #define PNG_LIBPNG_VER_MINOR   6
-#define PNG_LIBPNG_VER_RELEASE 47
+#define PNG_LIBPNG_VER_RELEASE 48
 
 
 /* This should be zero for a public release, or non-zero for a
 /* This should be zero for a public release, or non-zero for a
  * development version.
  * development version.
@@ -316,7 +316,7 @@
  * From version 1.0.1 it is:
  * From version 1.0.1 it is:
  * XXYYZZ, where XX=major, YY=minor, ZZ=release
  * XXYYZZ, where XX=major, YY=minor, ZZ=release
  */
  */
-#define PNG_LIBPNG_VER 10647 /* 1.6.47 */
+#define PNG_LIBPNG_VER 10648 /* 1.6.48 */
 
 
 /* Library configuration: these options cannot be changed after
 /* Library configuration: these options cannot be changed after
  * the library has been built.
  * the library has been built.
@@ -426,7 +426,7 @@ extern "C" {
 /* This triggers a compiler error in png.c, if png.c and png.h
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  * do not agree upon the version number.
  */
  */
-typedef char* png_libpng_version_1_6_47;
+typedef char* png_libpng_version_1_6_48;
 
 
 /* Basic control structions.  Read libpng-manual.txt or libpng.3 for more info.
 /* Basic control structions.  Read libpng-manual.txt or libpng.3 for more info.
  *
  *
@@ -1570,7 +1570,7 @@ PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr,
 
 
 #ifdef PNG_STDIO_SUPPORTED
 #ifdef PNG_STDIO_SUPPORTED
 /* Initialize the input/output for the PNG file to the default functions. */
 /* Initialize the input/output for the PNG file to the default functions. */
-PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp));
+PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, FILE *fp));
 #endif
 #endif
 
 
 /* Replace the (error and abort), and warning functions with user
 /* Replace the (error and abort), and warning functions with user
@@ -3088,7 +3088,7 @@ PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image,
     */
     */
 
 
 PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image,
 PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image,
-   FILE* file));
+   FILE *file));
    /* The PNG header is read from the stdio FILE object. */
    /* The PNG header is read from the stdio FILE object. */
 #endif /* STDIO */
 #endif /* STDIO */
 
 
@@ -3163,7 +3163,7 @@ PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image,
 PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
 PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
    int convert_to_8_bit, const void *buffer, png_int_32 row_stride,
    int convert_to_8_bit, const void *buffer, png_int_32 row_stride,
    const void *colormap));
    const void *colormap));
-   /* Write the image to the given (FILE*). */
+   /* Write the image to the given FILE object. */
 #endif /* SIMPLIFIED_WRITE_STDIO */
 #endif /* SIMPLIFIED_WRITE_STDIO */
 
 
 /* With all write APIs if image is in one of the linear formats with 16-bit
 /* With all write APIs if image is in one of the linear formats with 16-bit

+ 20 - 27
thirdparty/libpng/pngconf.h

@@ -1,6 +1,6 @@
 /* pngconf.h - machine-configurable file for libpng
 /* pngconf.h - machine-configurable file for libpng
  *
  *
- * libpng version 1.6.47
+ * libpng version 1.6.48
  *
  *
  * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
@@ -219,25 +219,13 @@
   /* NOTE: PNGCBAPI always defaults to PNGCAPI. */
   /* NOTE: PNGCBAPI always defaults to PNGCAPI. */
 
 
 #  if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
 #  if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
-#     error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed"
+#     error PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed
 #  endif
 #  endif
 
 
-#  if (defined(_MSC_VER) && _MSC_VER < 800) ||\
-      (defined(__BORLANDC__) && __BORLANDC__ < 0x500)
-   /* older Borland and MSC
-    * compilers used '__export' and required this to be after
-    * the type.
-    */
-#    ifndef PNG_EXPORT_TYPE
-#      define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
-#    endif
-#    define PNG_DLL_EXPORT __export
-#  else /* newer compiler */
-#    define PNG_DLL_EXPORT __declspec(dllexport)
-#    ifndef PNG_DLL_IMPORT
-#      define PNG_DLL_IMPORT __declspec(dllimport)
-#    endif
-#  endif /* compiler */
+#  define PNG_DLL_EXPORT __declspec(dllexport)
+#  ifndef PNG_DLL_IMPORT
+#    define PNG_DLL_IMPORT __declspec(dllimport)
+#  endif
 
 
 #else /* !Windows */
 #else /* !Windows */
 #  if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
 #  if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
@@ -479,7 +467,7 @@
 #if CHAR_BIT == 8 && UCHAR_MAX == 255
 #if CHAR_BIT == 8 && UCHAR_MAX == 255
    typedef unsigned char png_byte;
    typedef unsigned char png_byte;
 #else
 #else
-#  error "libpng requires 8-bit bytes"
+#  error libpng requires 8-bit bytes
 #endif
 #endif
 
 
 #if INT_MIN == -32768 && INT_MAX == 32767
 #if INT_MIN == -32768 && INT_MAX == 32767
@@ -487,7 +475,7 @@
 #elif SHRT_MIN == -32768 && SHRT_MAX == 32767
 #elif SHRT_MIN == -32768 && SHRT_MAX == 32767
    typedef short png_int_16;
    typedef short png_int_16;
 #else
 #else
-#  error "libpng requires a signed 16-bit type"
+#  error libpng requires a signed 16-bit integer type
 #endif
 #endif
 
 
 #if UINT_MAX == 65535
 #if UINT_MAX == 65535
@@ -495,7 +483,7 @@
 #elif USHRT_MAX == 65535
 #elif USHRT_MAX == 65535
    typedef unsigned short png_uint_16;
    typedef unsigned short png_uint_16;
 #else
 #else
-#  error "libpng requires an unsigned 16-bit type"
+#  error libpng requires an unsigned 16-bit integer type
 #endif
 #endif
 
 
 #if INT_MIN < -2147483646 && INT_MAX > 2147483646
 #if INT_MIN < -2147483646 && INT_MAX > 2147483646
@@ -503,7 +491,7 @@
 #elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
 #elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
    typedef long int png_int_32;
    typedef long int png_int_32;
 #else
 #else
-#  error "libpng requires a signed 32-bit (or more) type"
+#  error libpng requires a signed 32-bit (or longer) integer type
 #endif
 #endif
 
 
 #if UINT_MAX > 4294967294U
 #if UINT_MAX > 4294967294U
@@ -511,7 +499,7 @@
 #elif ULONG_MAX > 4294967294U
 #elif ULONG_MAX > 4294967294U
    typedef unsigned long int png_uint_32;
    typedef unsigned long int png_uint_32;
 #else
 #else
-#  error "libpng requires an unsigned 32-bit (or more) type"
+#  error libpng requires an unsigned 32-bit (or longer) integer type
 #endif
 #endif
 
 
 /* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t.
 /* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t.
@@ -592,10 +580,6 @@ typedef const png_fixed_point * png_const_fixed_point_p;
 typedef size_t                * png_size_tp;
 typedef size_t                * png_size_tp;
 typedef const size_t          * png_const_size_tp;
 typedef const size_t          * png_const_size_tp;
 
 
-#ifdef PNG_STDIO_SUPPORTED
-typedef FILE            * png_FILE_p;
-#endif
-
 #ifdef PNG_FLOATING_POINT_SUPPORTED
 #ifdef PNG_FLOATING_POINT_SUPPORTED
 typedef double       * png_doublep;
 typedef double       * png_doublep;
 typedef const double * png_const_doublep;
 typedef const double * png_const_doublep;
@@ -617,6 +601,15 @@ typedef double          * * png_doublepp;
 /* Pointers to pointers to pointers; i.e., pointer to array */
 /* Pointers to pointers to pointers; i.e., pointer to array */
 typedef char            * * * png_charppp;
 typedef char            * * * png_charppp;
 
 
+#ifdef PNG_STDIO_SUPPORTED
+/* With PNG_STDIO_SUPPORTED it was possible to use I/O streams that were
+ * not necessarily stdio FILE streams, to allow building Windows applications
+ * before Win32 and Windows CE applications before WinCE 3.0, but that kind
+ * of support has long been discontinued.
+ */
+typedef FILE            * png_FILE_p; /* [Deprecated] */
+#endif
+
 #endif /* PNG_BUILDING_SYMBOL_TABLE */
 #endif /* PNG_BUILDING_SYMBOL_TABLE */
 
 
 #endif /* PNGCONF_H */
 #endif /* PNGCONF_H */

+ 6 - 2
thirdparty/libpng/pngdebug.h

@@ -1,6 +1,6 @@
-/* pngdebug.h - Debugging macros for libpng, also used in pngtest.c
+/* pngdebug.h - internal debugging macros for libpng
  *
  *
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2013 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2013 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -10,6 +10,10 @@
  * and license in png.h
  * and license in png.h
  */
  */
 
 
+#ifndef PNGPRIV_H
+#  error This file must not be included by applications; please include <png.h>
+#endif
+
 /* Define PNG_DEBUG at compile time for debugging information.  Higher
 /* Define PNG_DEBUG at compile time for debugging information.  Higher
  * numbers for PNG_DEBUG mean more debugging information.  This has
  * numbers for PNG_DEBUG mean more debugging information.  This has
  * only been added since version 0.95 so it is not implemented throughout
  * only been added since version 0.95 so it is not implemented throughout

+ 1 - 1
thirdparty/libpng/pngerror.c

@@ -1,6 +1,6 @@
 /* pngerror.c - stub functions for i/o and memory allocation
 /* pngerror.c - stub functions for i/o and memory allocation
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 1 - 1
thirdparty/libpng/pngget.c

@@ -1,6 +1,6 @@
 /* pngget.c - retrieval of values from info struct
 /* pngget.c - retrieval of values from info struct
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 14 - 37
thirdparty/libpng/pnginfo.h

@@ -1,6 +1,6 @@
-/* pnginfo.h - header file for PNG reference library
+/* pnginfo.h - internal structures for libpng
  *
  *
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2013,2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2013,2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -10,43 +10,20 @@
  * and license in png.h
  * and license in png.h
  */
  */
 
 
- /* png_info is a structure that holds the information in a PNG file so
- * that the application can find out the characteristics of the image.
- * If you are reading the file, this structure will tell you what is
- * in the PNG file.  If you are writing the file, fill in the information
- * you want to put into the PNG file, using png_set_*() functions, then
- * call png_write_info().
- *
- * The names chosen should be very close to the PNG specification, so
- * consult that document for information about the meaning of each field.
- *
- * With libpng < 0.95, it was only possible to directly set and read the
- * the values in the png_info_struct, which meant that the contents and
- * order of the values had to remain fixed.  With libpng 0.95 and later,
- * however, there are now functions that abstract the contents of
- * png_info_struct from the application, so this makes it easier to use
- * libpng with dynamic libraries, and even makes it possible to use
- * libraries that don't have all of the libpng ancillary chunk-handing
- * functionality.  In libpng-1.5.0 this was moved into a separate private
- * file that is not visible to applications.
+#ifndef PNGPRIV_H
+#  error This file must not be included by applications; please include <png.h>
+#endif
+
+/* INTERNAL, PRIVATE definition of a PNG.
  *
  *
- * The following members may have allocated storage attached that should be
- * cleaned up before the structure is discarded: palette, trans, text,
- * pcal_purpose, pcal_units, pcal_params, hist, iccp_name, iccp_profile,
- * splt_palettes, scal_unit, row_pointers, and unknowns.   By default, these
- * are automatically freed when the info structure is deallocated, if they were
- * allocated internally by libpng.  This behavior can be changed by means
- * of the png_data_freer() function.
+ * png_info is a modifiable description of a PNG datastream.  The fields inside
+ * this structure are accessed through png_get_<CHUNK>() functions and modified
+ * using png_set_<CHUNK>() functions.
  *
  *
- * More allocation details: all the chunk-reading functions that
- * change these members go through the corresponding png_set_*
- * functions.  A function to clear these members is available: see
- * png_free_data().  The png_set_* functions do not depend on being
- * able to point info structure members to any of the storage they are
- * passed (they make their own copies), EXCEPT that the png_set_text
- * functions use the same storage passed to them in the text_ptr or
- * itxt_ptr structure argument, and the png_set_rows and png_set_unknowns
- * functions do not make their own copies.
+ * Some functions in libpng do directly access members of png_info.  However,
+ * this should be avoided.  png_struct objects contain members which hold
+ * caches, sometimes optimised, of the values from png_info objects, and
+ * png_info is not passed to the functions which read and write image data.
  */
  */
 #ifndef PNGINFO_H
 #ifndef PNGINFO_H
 #define PNGINFO_H
 #define PNGINFO_H

+ 1 - 1
thirdparty/libpng/pnglibconf.h

@@ -1,6 +1,6 @@
 /* pnglibconf.h - library build configuration */
 /* pnglibconf.h - library build configuration */
 
 
-/* libpng version 1.6.47 */
+/* libpng version 1.6.48 */
 
 
 /* Copyright (c) 2018-2025 Cosmin Truta */
 /* Copyright (c) 2018-2025 Cosmin Truta */
 /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
 /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */

+ 1 - 1
thirdparty/libpng/pngmem.c

@@ -1,6 +1,6 @@
 /* pngmem.c - stub functions for memory allocation
 /* pngmem.c - stub functions for memory allocation
  *
  *
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2014,2016 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2014,2016 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 1 - 1
thirdparty/libpng/pngpread.c

@@ -1,6 +1,6 @@
 /* pngpread.c - read a png file in push mode
 /* pngpread.c - read a png file in push mode
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 23 - 17
thirdparty/libpng/pngpriv.h

@@ -1,6 +1,6 @@
 /* pngpriv.h - private declarations for use inside libpng
 /* pngpriv.h - private declarations for use inside libpng
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -19,8 +19,20 @@
  * they should be well aware of the issues that may arise from doing so.
  * they should be well aware of the issues that may arise from doing so.
  */
  */
 
 
+
+/* pngpriv.h must be included first in each translation unit inside libpng.
+ * On the other hand, it must not be included at all, directly or indirectly,
+ * by any application code that uses the libpng API.
+ */
 #ifndef PNGPRIV_H
 #ifndef PNGPRIV_H
-#define PNGPRIV_H
+#  define PNGPRIV_H
+#else
+#  error Duplicate inclusion of pngpriv.h; please check the libpng source files
+#endif
+
+#if defined(PNG_H) || defined(PNGCONF_H) || defined(PNGLCONF_H)
+#  error This file must not be included by applications; please include <png.h>
+#endif
 
 
 /* Feature Test Macros.  The following are defined here to ensure that correctly
 /* Feature Test Macros.  The following are defined here to ensure that correctly
  * implemented libraries reveal the APIs libpng needs to build and hide those
  * implemented libraries reveal the APIs libpng needs to build and hide those
@@ -57,7 +69,6 @@
  */
  */
 #if defined(HAVE_CONFIG_H) && !defined(PNG_NO_CONFIG_H)
 #if defined(HAVE_CONFIG_H) && !defined(PNG_NO_CONFIG_H)
 #  include <config.h>
 #  include <config.h>
-
    /* Pick up the definition of 'restrict' from config.h if it was read: */
    /* Pick up the definition of 'restrict' from config.h if it was read: */
 #  define PNG_RESTRICT restrict
 #  define PNG_RESTRICT restrict
 #endif
 #endif
@@ -67,9 +78,7 @@
  * are not internal definitions may be required.  This is handled below just
  * are not internal definitions may be required.  This is handled below just
  * before png.h is included, but load the configuration now if it is available.
  * before png.h is included, but load the configuration now if it is available.
  */
  */
-#ifndef PNGLCONF_H
-#  include "pnglibconf.h"
-#endif
+#include "pnglibconf.h"
 
 
 /* Local renames may change non-exported API functions from png.h */
 /* Local renames may change non-exported API functions from png.h */
 #if defined(PNG_PREFIX) && !defined(PNGPREFIX_H)
 #if defined(PNG_PREFIX) && !defined(PNGPREFIX_H)
@@ -991,17 +1000,15 @@
  * must match that used in the build, or we must be using pnglibconf.h.prebuilt:
  * must match that used in the build, or we must be using pnglibconf.h.prebuilt:
  */
  */
 #if PNG_ZLIB_VERNUM != 0 && PNG_ZLIB_VERNUM != ZLIB_VERNUM
 #if PNG_ZLIB_VERNUM != 0 && PNG_ZLIB_VERNUM != ZLIB_VERNUM
-#  error ZLIB_VERNUM != PNG_ZLIB_VERNUM \
-      "-I (include path) error: see the notes in pngpriv.h"
-   /* This means that when pnglibconf.h was built the copy of zlib.h that it
-    * used is not the same as the one being used here.  Because the build of
-    * libpng makes decisions to use inflateInit2 and inflateReset2 based on the
-    * zlib version number and because this affects handling of certain broken
-    * PNG files the -I directives must match.
+#  error The include path of <zlib.h> is incorrect
+   /* When pnglibconf.h was built, the copy of zlib.h that it used was not the
+    * same as the one being used here.  Considering how libpng makes decisions
+    * to use the zlib API based on the zlib version number, the -I options must
+    * match.
     *
     *
-    * The most likely explanation is that you passed a -I in CFLAGS. This will
-    * not work; all the preprocessor directives and in particular all the -I
-    * directives must be in CPPFLAGS.
+    * A possible cause of this mismatch is that you passed an -I option in
+    * CFLAGS, which is unlikely to work.  All the preprocessor options, and all
+    * the -I options in particular, should be in CPPFLAGS.
     */
     */
 #endif
 #endif
 
 
@@ -2162,4 +2169,3 @@ PNG_INTERNAL_FUNCTION(int,
 #endif
 #endif
 
 
 #endif /* PNG_VERSION_INFO_ONLY */
 #endif /* PNG_VERSION_INFO_ONLY */
-#endif /* PNGPRIV_H */

+ 1 - 1
thirdparty/libpng/pngread.c

@@ -1328,7 +1328,7 @@ png_image_read_header(png_voidp argument)
 
 
 #ifdef PNG_STDIO_SUPPORTED
 #ifdef PNG_STDIO_SUPPORTED
 int PNGAPI
 int PNGAPI
-png_image_begin_read_from_stdio(png_imagep image, FILE* file)
+png_image_begin_read_from_stdio(png_imagep image, FILE *file)
 {
 {
    if (image != NULL && image->version == PNG_IMAGE_VERSION)
    if (image != NULL && image->version == PNG_IMAGE_VERSION)
    {
    {

+ 2 - 2
thirdparty/libpng/pngrio.c

@@ -1,6 +1,6 @@
 /* pngrio.c - functions for data input
 /* pngrio.c - functions for data input
  *
  *
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -56,7 +56,7 @@ png_default_read_data(png_structp png_ptr, png_bytep data, size_t length)
    /* fread() returns 0 on error, so it is OK to store this in a size_t
    /* fread() returns 0 on error, so it is OK to store this in a size_t
     * instead of an int, which is what fread() actually returns.
     * instead of an int, which is what fread() actually returns.
     */
     */
-   check = fread(data, 1, length, png_voidcast(png_FILE_p, png_ptr->io_ptr));
+   check = fread(data, 1, length, png_voidcast(FILE *, png_ptr->io_ptr));
 
 
    if (check != length)
    if (check != length)
       png_error(png_ptr, "Read Error");
       png_error(png_ptr, "Read Error");

+ 1 - 1
thirdparty/libpng/pngrtran.c

@@ -1,6 +1,6 @@
 /* pngrtran.c - transforms the data in a row for PNG readers
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 1 - 1
thirdparty/libpng/pngrutil.c

@@ -1,6 +1,6 @@
 /* pngrutil.c - utilities to read a PNG file
 /* pngrutil.c - utilities to read a PNG file
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 8 - 11
thirdparty/libpng/pngset.c

@@ -300,17 +300,14 @@ png_set_mDCV(png_const_structrp png_ptr, png_inforp info_ptr,
     double maxDL, double minDL)
     double maxDL, double minDL)
 {
 {
    png_set_mDCV_fixed(png_ptr, info_ptr,
    png_set_mDCV_fixed(png_ptr, info_ptr,
-      /* The ITU approach is to scale by 50,000, not 100,000 so just divide
-       * the input values by 2 and use png_fixed:
-       */
-      png_fixed(png_ptr, white_x / 2, "png_set_mDCV(white(x))"),
-      png_fixed(png_ptr, white_y / 2, "png_set_mDCV(white(y))"),
-      png_fixed(png_ptr, red_x / 2, "png_set_mDCV(red(x))"),
-      png_fixed(png_ptr, red_y / 2, "png_set_mDCV(red(y))"),
-      png_fixed(png_ptr, green_x / 2, "png_set_mDCV(green(x))"),
-      png_fixed(png_ptr, green_y / 2, "png_set_mDCV(green(y))"),
-      png_fixed(png_ptr, blue_x / 2, "png_set_mDCV(blue(x))"),
-      png_fixed(png_ptr, blue_y / 2, "png_set_mDCV(blue(y))"),
+      png_fixed(png_ptr, white_x, "png_set_mDCV(white(x))"),
+      png_fixed(png_ptr, white_y, "png_set_mDCV(white(y))"),
+      png_fixed(png_ptr, red_x, "png_set_mDCV(red(x))"),
+      png_fixed(png_ptr, red_y, "png_set_mDCV(red(y))"),
+      png_fixed(png_ptr, green_x, "png_set_mDCV(green(x))"),
+      png_fixed(png_ptr, green_y, "png_set_mDCV(green(y))"),
+      png_fixed(png_ptr, blue_x, "png_set_mDCV(blue(x))"),
+      png_fixed(png_ptr, blue_y, "png_set_mDCV(blue(y))"),
       png_fixed_ITU(png_ptr, maxDL, "png_set_mDCV(maxDL)"),
       png_fixed_ITU(png_ptr, maxDL, "png_set_mDCV(maxDL)"),
       png_fixed_ITU(png_ptr, minDL, "png_set_mDCV(minDL)"));
       png_fixed_ITU(png_ptr, minDL, "png_set_mDCV(minDL)"));
 }
 }

+ 5 - 7
thirdparty/libpng/pngstruct.h

@@ -1,6 +1,6 @@
-/* pngstruct.h - header file for PNG reference library
+/* pngstruct.h - internal structures for libpng
  *
  *
- * Copyright (c) 2018-2022 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -10,11 +10,9 @@
  * and license in png.h
  * and license in png.h
  */
  */
 
 
-/* The structure that holds the information to read and write PNG files.
- * The only people who need to care about what is inside of this are the
- * people who will be modifying the library for their own special needs.
- * It should NOT be accessed directly by an application.
- */
+#ifndef PNGPRIV_H
+#  error This file must not be included by applications; please include <png.h>
+#endif
 
 
 #ifndef PNGSTRUCT_H
 #ifndef PNGSTRUCT_H
 #define PNGSTRUCT_H
 #define PNGSTRUCT_H

+ 4 - 4
thirdparty/libpng/pngwio.c

@@ -1,6 +1,6 @@
 /* pngwio.c - functions for data output
 /* pngwio.c - functions for data output
  *
  *
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2014,2016,2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2014,2016,2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -54,7 +54,7 @@ png_default_write_data(png_structp png_ptr, png_bytep data, size_t length)
    if (png_ptr == NULL)
    if (png_ptr == NULL)
       return;
       return;
 
 
-   check = fwrite(data, 1, length, (png_FILE_p)(png_ptr->io_ptr));
+   check = fwrite(data, 1, length, (FILE *)png_ptr->io_ptr);
 
 
    if (check != length)
    if (check != length)
       png_error(png_ptr, "Write Error");
       png_error(png_ptr, "Write Error");
@@ -77,12 +77,12 @@ png_flush(png_structrp png_ptr)
 void PNGCBAPI
 void PNGCBAPI
 png_default_flush(png_structp png_ptr)
 png_default_flush(png_structp png_ptr)
 {
 {
-   png_FILE_p io_ptr;
+   FILE *io_ptr;
 
 
    if (png_ptr == NULL)
    if (png_ptr == NULL)
       return;
       return;
 
 
-   io_ptr = png_voidcast(png_FILE_p, (png_ptr->io_ptr));
+   io_ptr = png_voidcast(FILE *, png_ptr->io_ptr);
    fflush(io_ptr);
    fflush(io_ptr);
 }
 }
 #  endif
 #  endif

+ 1 - 1
thirdparty/libpng/pngwrite.c

@@ -2333,7 +2333,7 @@ int PNGAPI
 png_image_write_to_stdio(png_imagep image, FILE *file, int convert_to_8bit,
 png_image_write_to_stdio(png_imagep image, FILE *file, int convert_to_8bit,
     const void *buffer, png_int_32 row_stride, const void *colormap)
     const void *buffer, png_int_32 row_stride, const void *colormap)
 {
 {
-   /* Write the image to the given (FILE*). */
+   /* Write the image to the given FILE object. */
    if (image != NULL && image->version == PNG_IMAGE_VERSION)
    if (image != NULL && image->version == PNG_IMAGE_VERSION)
    {
    {
       if (file != NULL && buffer != NULL)
       if (file != NULL && buffer != NULL)

+ 1 - 1
thirdparty/libpng/pngwutil.c

@@ -1,6 +1,6 @@
 /* pngwutil.c - utilities to write a PNG file
 /* pngwutil.c - utilities to write a PNG file
  *
  *
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1996-1997 Andreas Dilger
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

+ 1 - 1
thirdparty/libpng/powerpc/filter_vsx_intrinsics.c

@@ -23,7 +23,7 @@
 #if PNG_POWERPC_VSX_OPT > 0
 #if PNG_POWERPC_VSX_OPT > 0
 
 
 #ifndef __VSX__
 #ifndef __VSX__
-#  error "This code requires VSX support (POWER7 and later). Please provide -mvsx compiler flag."
+#  error This code requires VSX support (POWER7 and later); please compile with -mvsx
 #endif
 #endif
 
 
 #define vec_ld_unaligned(vec,data) vec = vec_vsx_ld(0,data)
 #define vec_ld_unaligned(vec,data) vec = vec_vsx_ld(0,data)

+ 1 - 1
thirdparty/libpng/powerpc/powerpc_init.c

@@ -46,7 +46,7 @@ static int png_have_vsx(png_structp png_ptr);
 #include PNG_POWERPC_VSX_FILE
 #include PNG_POWERPC_VSX_FILE
 
 
 #else  /* PNG_POWERPC_VSX_FILE */
 #else  /* PNG_POWERPC_VSX_FILE */
-#  error "PNG_POWERPC_VSX_FILE undefined: no support for run-time POWERPC VSX checks"
+#  error PNG_POWERPC_VSX_FILE undefined: no support for run-time POWERPC VSX checks
 #endif /* PNG_POWERPC_VSX_FILE */
 #endif /* PNG_POWERPC_VSX_FILE */
 #endif /* PNG_POWERPC_VSX_CHECK_SUPPORTED */
 #endif /* PNG_POWERPC_VSX_CHECK_SUPPORTED */
 
 

+ 215 - 0
thirdparty/swappy-frame-pacing/LICENSE

@@ -0,0 +1,215 @@
+   Copyright 2019 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+   	       	     	        Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.