Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libpng16 for openSUSE:Factory checked in at 2026-01-06 17:41:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libpng16 (Old) and /work/SRC/openSUSE:Factory/.libpng16.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libpng16" Tue Jan 6 17:41:19 2026 rev:61 rq:1325377 version:1.6.53 Changes: -------- --- /work/SRC/openSUSE:Factory/libpng16/libpng16.changes 2025-12-08 11:52:35.098045526 +0100 +++ /work/SRC/openSUSE:Factory/.libpng16.new.1928/libpng16.changes 2026-01-06 17:41:26.021887443 +0100 @@ -1,0 +2,9 @@ +Sun Dec 28 23:12:09 UTC 2025 - Dirk Müller <[email protected]> + +- update to 1.6.53: + * Fixed a build failure on RISC-V RVV caused by a misspelled + intrinsic. + * Fixed a build failure with CMake 4.1 or newer, on Windows, + when using Visual C++ without MASM installed. + +------------------------------------------------------------------- Old: ---- libpng-1.6.52.tar.gz New: ---- libpng-1.6.53.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libpng16.spec ++++++ --- /var/tmp/diff_new_pack.oPYlP6/_old 2026-01-06 17:41:27.329941114 +0100 +++ /var/tmp/diff_new_pack.oPYlP6/_new 2026-01-06 17:41:27.353942098 +0100 @@ -1,7 +1,7 @@ # # spec file for package libpng16 # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %define asan_build 0 %define major 1 %define minor 6 -%define micro 52 +%define micro 53 %define branch %{major}%{minor} %define libname libpng%{branch}-%{branch} %define debug_package_requires %{libname} = %{version}-%{release} ++++++ libpng-1.6.52.tar.gz -> libpng-1.6.53.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/ANNOUNCE new/libpng-1.6.53/ANNOUNCE --- old/libpng-1.6.52/ANNOUNCE 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/ANNOUNCE 2025-12-05 22:46:38.000000000 +0100 @@ -1,4 +1,4 @@ -libpng 1.6.52 - December 3, 2025 +libpng 1.6.53 - December 5, 2025 ================================ This is a public release of libpng, intended for use in production code. @@ -9,10 +9,10 @@ Source files: - * libpng-1.6.52.tar.xz (LZMA-compressed, recommended) - * libpng-1.6.52.tar.gz (deflate-compressed) - * lpng1652.7z (LZMA-compressed) - * lpng1652.zip (deflate-compressed) + * libpng-1.6.53.tar.xz (LZMA-compressed, recommended) + * libpng-1.6.53.tar.gz (deflate-compressed) + * lpng1653.7z (LZMA-compressed) + * lpng1653.zip (deflate-compressed) Other information: @@ -22,18 +22,14 @@ * TRADEMARK.md -Changes from version 1.6.51 to version 1.6.52 +Changes from version 1.6.52 to version 1.6.53 --------------------------------------------- - * Fixed CVE-2025-66293 (high severity): - Out-of-bounds read in `png_image_read_composite`. - (Reported by flyfish101 <[email protected]>.) - * Fixed the Paeth filter handling in the RISC-V RVV implementation. - (Reported by Filip Wasil; fixed by Liang Junzhao.) - * Improved the performance of the RISC-V RVV implementation. - (Contributed by Liang Junzhao.) - * Added allocation failure fuzzing to oss-fuzz. - (Contributed by Philippe Antoine.) + * Fixed a build failure on RISC-V RVV caused by a misspelled intrinsic. + (Contributed by Alexander Smorkalov.) + * Fixed a build failure with CMake 4.1 or newer, on Windows, when using + Visual C++ without MASM installed. + (Reported by Andrew Tribick; fixed by Luis Caro Campos.) Send comments/corrections/commendations to png-mng-implement at lists.sf.net. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/AUTHORS new/libpng-1.6.53/AUTHORS --- old/libpng-1.6.52/AUTHORS 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/AUTHORS 2025-12-05 22:46:38.000000000 +0100 @@ -5,6 +5,7 @@ Authors, for copyright and licensing purposes. * Adam Richter + * Alexander Smorkalov * Andreas Dilger * Chris Blume * Cosmin Truta @@ -57,7 +58,7 @@ * Samsung Group - Filip Wasil * SpacemiT Hangzhou Technology, Co. - - Liang Junzhao + - Liang Junzhao (梁俊钊) The build projects, the build scripts, the test scripts, and other files in the "projects", "scripts" and "tests" directories, have diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/CHANGES new/libpng-1.6.53/CHANGES --- old/libpng-1.6.52/CHANGES 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/CHANGES 2025-12-05 22:46:38.000000000 +0100 @@ -6315,6 +6315,12 @@ Added allocation failure fuzzing to oss-fuzz. (Contributed by Philippe Antoine.) +Version 1.6.53 [December 5, 2025] + Fixed a build failure on RISC-V RVV caused by a misspelled intrinsic. + (Contributed by Alexander Smorkalov.) + Fixed a build failure with CMake 4.1 or newer, on Windows, when using + Visual C++ without MASM installed. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net. Subscription is required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/CMakeLists.txt new/libpng-1.6.53/CMakeLists.txt --- old/libpng-1.6.52/CMakeLists.txt 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/CMakeLists.txt 2025-12-05 22:46:38.000000000 +0100 @@ -18,7 +18,7 @@ set(PNGLIB_MAJOR 1) set(PNGLIB_MINOR 6) -set(PNGLIB_REVISION 52) +set(PNGLIB_REVISION 53) set(PNGLIB_SUBREVISION 0) #set(PNGLIB_SUBREVISION "git") set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_REVISION}) @@ -27,7 +27,7 @@ project(libpng VERSION ${PNGLIB_VERSION} - LANGUAGES C ASM) + LANGUAGES C) include(CheckCSourceCompiles) include(CheckLibraryExists) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/README new/libpng-1.6.53/README --- old/libpng-1.6.52/README 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/README 2025-12-05 22:46:38.000000000 +0100 @@ -1,4 +1,4 @@ -README for libpng version 1.6.52 +README for libpng version 1.6.53 ================================ See the note about version numbers near the top of `png.h`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/configure new/libpng-1.6.53/configure --- old/libpng-1.6.52/configure 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/configure 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for libpng 1.6.52. +# Generated by GNU Autoconf 2.72 for libpng 1.6.53. # # Report bugs to <[email protected]>. # @@ -614,8 +614,8 @@ # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.6.52' -PACKAGE_STRING='libpng 1.6.52' +PACKAGE_VERSION='1.6.53' +PACKAGE_STRING='libpng 1.6.53' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1424,7 +1424,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures libpng 1.6.52 to adapt to many kinds of systems. +'configure' configures libpng 1.6.53 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1495,7 +1495,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.6.52:";; + short | recursive ) echo "Configuration of libpng 1.6.53:";; esac cat <<\_ACEOF @@ -1698,7 +1698,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.6.52 +libpng configure 1.6.53 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -1961,7 +1961,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpng $as_me 1.6.52, which was +It was created by libpng $as_me 1.6.53, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3446,7 +3446,7 @@ # Define the identity of the package. PACKAGE='libpng' - VERSION='1.6.52' + VERSION='1.6.53' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3665,10 +3665,10 @@ -PNGLIB_VERSION=1.6.52 +PNGLIB_VERSION=1.6.53 PNGLIB_MAJOR=1 PNGLIB_MINOR=6 -PNGLIB_RELEASE=52 +PNGLIB_RELEASE=53 @@ -16406,7 +16406,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpng $as_me 1.6.52, which was +This file was extended by libpng $as_me 1.6.53, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16474,7 +16474,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -libpng config.status 1.6.52 +libpng config.status 1.6.53 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/configure.ac new/libpng-1.6.53/configure.ac --- old/libpng-1.6.52/configure.ac 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/configure.ac 2025-12-05 22:46:38.000000000 +0100 @@ -25,7 +25,7 @@ dnl Version number stuff here: -AC_INIT([libpng],[1.6.52],[[email protected]]) +AC_INIT([libpng],[1.6.53],[[email protected]]) AC_CONFIG_MACRO_DIR([scripts/autoconf]) # libpng does not follow GNU file name conventions (hence 'foreign') @@ -46,10 +46,10 @@ dnl AM_PREREQ([1.11.2]) dnl stop configure from automagically running automake -PNGLIB_VERSION=1.6.52 +PNGLIB_VERSION=1.6.53 PNGLIB_MAJOR=1 PNGLIB_MINOR=6 -PNGLIB_RELEASE=52 +PNGLIB_RELEASE=53 dnl End of version number stuff diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/contrib/oss-fuzz/build.sh new/libpng-1.6.53/contrib/oss-fuzz/build.sh --- old/libpng-1.6.52/contrib/oss-fuzz/build.sh 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/contrib/oss-fuzz/build.sh 2025-12-05 22:46:38.000000000 +0100 @@ -42,6 +42,15 @@ -o $OUT/libpng_read_fuzzer \ -lFuzzingEngine .libs/libpng16.a -lz +# wrapper script to duplicate target, run with env var NALLOC_FREQ=32 +# having a separate target with allocations failures +cat << EOF > $OUT/libpng_read_fuzzer_nalloc +#!/bin/sh +# LLVMFuzzerTestOneInput for fuzzer detection. +this_dir=\$(dirname "\$0") +NALLOC_FREQ=32 \$this_dir/libpng_read_fuzzer \$@ +EOF + # add seed corpus. find $SRC/libpng -name "*.png" | grep -v crashers | \ xargs zip $OUT/libpng_read_fuzzer_seed_corpus.zip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/libpng-manual.txt new/libpng-1.6.53/libpng-manual.txt --- old/libpng-1.6.52/libpng-manual.txt 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/libpng-manual.txt 2025-12-05 22:46:38.000000000 +0100 @@ -9,7 +9,7 @@ Based on: - libpng version 1.6.36, December 2018, through 1.6.52 - December 2025 + libpng version 1.6.36, December 2018, through 1.6.53 - December 2025 Updated and distributed by Cosmin Truta Copyright (c) 2018-2025 Cosmin Truta diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/libpng.3 new/libpng-1.6.53/libpng.3 --- old/libpng-1.6.52/libpng.3 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/libpng.3 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "December 3, 2025" +.TH LIBPNG 3 "December 5, 2025" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.6.52 +libpng \- Portable Network Graphics (PNG) Reference Library 1.6.53 .SH SYNOPSIS \fB#include <png.h>\fP @@ -528,7 +528,7 @@ Based on: - libpng version 1.6.36, December 2018, through 1.6.52 - December 2025 + libpng version 1.6.36, December 2018, through 1.6.53 - December 2025 Updated and distributed by Cosmin Truta Copyright (c) 2018-2025 Cosmin Truta diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/libpngpf.3 new/libpng-1.6.53/libpngpf.3 --- old/libpng-1.6.52/libpngpf.3 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/libpngpf.3 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "December 3, 2025" +.TH LIBPNGPF 3 "December 5, 2025" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.6.52 +libpng \- Portable Network Graphics (PNG) Reference Library 1.6.53 .SH SYNOPSIS \fB#include "pngpriv.h"\fP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/png.5 new/libpng-1.6.53/png.5 --- old/libpng-1.6.52/png.5 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/png.5 2025-12-05 22:46:38.000000000 +0100 @@ -1,4 +1,4 @@ -.TH PNG 5 "December 3, 2025" +.TH PNG 5 "December 5, 2025" .SH NAME png \- Portable Network Graphics (PNG) format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/png.c new/libpng-1.6.53/png.c --- old/libpng-1.6.52/png.c 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/png.c 2025-12-05 22:46:38.000000000 +0100 @@ -13,7 +13,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_52 Your_png_h_is_not_version_1_6_52; +typedef png_libpng_version_1_6_53 Your_png_h_is_not_version_1_6_53; /* Sanity check the chunks definitions - PNG_KNOWN_CHUNKS from pngpriv.h and the * corresponding macro definitions. This causes a compile time failure if @@ -817,7 +817,7 @@ return PNG_STRING_COPYRIGHT #else return PNG_STRING_NEWLINE \ - "libpng version 1.6.52" PNG_STRING_NEWLINE \ + "libpng version 1.6.53" PNG_STRING_NEWLINE \ "Copyright (c) 2018-2025 Cosmin Truta" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \ PNG_STRING_NEWLINE \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/png.h new/libpng-1.6.53/png.h --- old/libpng-1.6.52/png.h 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/png.h 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.52 + * libpng version 1.6.53 * * Copyright (c) 2018-2025 Cosmin Truta * 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.97, January 1998, through 1.6.35, July 2018: * Glenn Randers-Pehrson - * libpng versions 1.6.36, December 2018, through 1.6.52, December 2025: + * libpng versions 1.6.36, December 2018, through 1.6.53, December 2025: * Cosmin Truta * See also "Contributing Authors", below. */ @@ -238,7 +238,7 @@ * ... * 1.5.30 15 10530 15.so.15.30[.0] * ... - * 1.6.52 16 10651 16.so.16.52[.0] + * 1.6.53 16 10651 16.so.16.53[.0] * * Henceforth the source version will match the shared-library major and * 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 */ -#define PNG_LIBPNG_VER_STRING "1.6.52" +#define PNG_LIBPNG_VER_STRING "1.6.53" #define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n" /* 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: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 6 -#define PNG_LIBPNG_VER_RELEASE 52 +#define PNG_LIBPNG_VER_RELEASE 53 /* This should be zero for a public release, or non-zero for a * development version. @@ -316,7 +316,7 @@ * From version 1.0.1 it is: * XXYYZZ, where XX=major, YY=minor, ZZ=release */ -#define PNG_LIBPNG_VER 10652 /* 1.6.52 */ +#define PNG_LIBPNG_VER 10653 /* 1.6.53 */ /* Library configuration: these options cannot be changed after * the library has been built. @@ -426,7 +426,7 @@ /* 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_6_52; +typedef char* png_libpng_version_1_6_53; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/pngconf.h new/libpng-1.6.53/pngconf.h --- old/libpng-1.6.52/pngconf.h 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/pngconf.h 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ /* pngconf.h - machine-configurable file for libpng * - * libpng version 1.6.52 + * libpng version 1.6.53 * * Copyright (c) 2018-2025 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/pngread.c new/libpng-1.6.53/pngread.c --- old/libpng-1.6.52/pngread.c 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/pngread.c 2025-12-05 22:46:38.000000000 +0100 @@ -3278,7 +3278,7 @@ /* Clamp to the valid range to defend against * unforeseen cases where the data might be sRGB * instead of linear premultiplied. - * (Belt-and-suspenders for GitHub Issue #764.) + * (Belt-and-suspenders for CVE-2025-66293.) */ if (component > 255*65535) component = 255*65535; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/pngtest.c new/libpng-1.6.53/pngtest.c --- old/libpng-1.6.52/pngtest.c 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/pngtest.c 2025-12-05 22:46:38.000000000 +0100 @@ -50,7 +50,7 @@ #define STDERR stdout /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_52 Your_png_h_is_not_version_1_6_52; +typedef png_libpng_version_1_6_53 Your_png_h_is_not_version_1_6_53; /* Ensure that all version numbers in png.h are consistent with one another. */ #if (PNG_LIBPNG_VER != PNG_LIBPNG_VER_MAJOR * 10000 + \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/riscv/filter_rvv_intrinsics.c new/libpng-1.6.53/riscv/filter_rvv_intrinsics.c --- old/libpng-1.6.52/riscv/filter_rvv_intrinsics.c 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/riscv/filter_rvv_intrinsics.c 2025-12-05 22:46:38.000000000 +0100 @@ -2,9 +2,11 @@ * * Copyright (c) 2023 Google LLC * Written by Manfred SCHLAEGL, 2022 - * Dragoș Tiselice <[email protected]>, May 2023. - * Filip Wasil <[email protected]>, March 2025. - * Liang Junzhao <[email protected]>, November 2025. + * Revised by: + * - Dragoș Tiselice <[email protected]>, May 2023 + * - Filip Wasil <[email protected]>, March 2025 + * - Liang Junzhao <[email protected]>, November 2025 + * - Alexander Smorkalov <[email protected]>, December 2025 * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer @@ -142,7 +144,7 @@ x = __riscv_vle8_v_u8m1(row, vl); /* a = (a + b) / 2, round to zero with vxrm = 2 */ - a = __riscv_vaaddu_wx_u8m1(a, b, 2, vl); + a = __riscv_vaaddu_vv_u8m1(a, b, 2, vl); /* a += x */ a = __riscv_vadd_vv_u8m1(a, x, vl); @@ -175,47 +177,6 @@ PNG_UNUSED(prev_row) } -#define MIN_CHUNK_LEN 256 -#define MAX_CHUNK_LEN 2048 - -static inline vuint8m1_t -prefix_sum(vuint8m1_t chunk, unsigned char* carry, size_t vl, - size_t max_chunk_len) -{ - size_t r; - - for (r = 1; r < MIN_CHUNK_LEN; r <<= 1) - { - vbool8_t shift_mask = __riscv_vmsgeu_vx_u8m1_b8(__riscv_vid_v_u8m1(vl), r, vl); - chunk = __riscv_vadd_vv_u8m1_mu(shift_mask, chunk, chunk, __riscv_vslideup_vx_u8m1(__riscv_vundefined_u8m1(), chunk, r, vl), vl); - } - - for (r = MIN_CHUNK_LEN; r < MAX_CHUNK_LEN && r < max_chunk_len; r <<= 1) - { - vbool8_t shift_mask = __riscv_vmsgeu_vx_u8m1_b8(__riscv_vid_v_u8m1(vl), r, vl); - chunk = __riscv_vadd_vv_u8m1_mu(shift_mask, chunk, chunk, __riscv_vslideup_vx_u8m1(__riscv_vundefined_u8m1(), chunk, r, vl), vl); - } - - chunk = __riscv_vadd_vx_u8m1(chunk, *carry, vl); - *carry = __riscv_vmv_x_s_u8m1_u8(__riscv_vslidedown_vx_u8m1(chunk, vl - 1, vl)); - - return chunk; -} - -static inline vint16m1_t -abs_diff(vuint16m1_t a, vuint16m1_t b, size_t vl) -{ - vint16m1_t diff = __riscv_vreinterpret_v_u16m1_i16m1(__riscv_vsub_vv_u16m1(a, b, vl)); - vbool16_t mask = __riscv_vmslt_vx_i16m1_b16(diff, 0, vl); - return __riscv_vrsub_vx_i16m1_m(mask, diff, 0, vl); -} - -static inline vint16m1_t -abs_sum(vint16m1_t a, vint16m1_t b, size_t vl) -{ - return __riscv_vadd_vv_i16m1(a, b, vl); -} - static inline void png_read_filter_row_paeth_rvv(size_t len, size_t bpp, unsigned char* row, const unsigned char* prev) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/scripts/cmake/AUTHORS.md new/libpng-1.6.53/scripts/cmake/AUTHORS.md --- old/libpng-1.6.52/scripts/cmake/AUTHORS.md 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/scripts/cmake/AUTHORS.md 2025-12-05 22:46:38.000000000 +0100 @@ -31,6 +31,7 @@ * Jon Creighton * Joost Nieuwenhuijse * Kyle Bentley + * Luis Caro Campos * Martin Storsjö * Owen Rudge * Philip Lowman diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/scripts/libpng-config-head.in new/libpng-1.6.53/scripts/libpng-config-head.in --- old/libpng-1.6.52/scripts/libpng-config-head.in 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/scripts/libpng-config-head.in 2025-12-05 22:46:38.000000000 +0100 @@ -11,7 +11,7 @@ # Modeled after libxml-config. -version=1.6.52 +version=1.6.53 prefix="" libdir="" libs="" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/scripts/libpng.pc.in new/libpng-1.6.53/scripts/libpng.pc.in --- old/libpng-1.6.52/scripts/libpng.pc.in 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/scripts/libpng.pc.in 2025-12-05 22:46:38.000000000 +0100 @@ -5,6 +5,6 @@ Name: libpng Description: Loads and saves PNG files -Version: 1.6.52 +Version: 1.6.53 Libs: -L${libdir} -lpng16 Cflags: -I${includedir} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libpng-1.6.52/scripts/pnglibconf.h.prebuilt new/libpng-1.6.53/scripts/pnglibconf.h.prebuilt --- old/libpng-1.6.52/scripts/pnglibconf.h.prebuilt 2025-12-03 20:48:14.000000000 +0100 +++ new/libpng-1.6.53/scripts/pnglibconf.h.prebuilt 2025-12-05 22:46:38.000000000 +0100 @@ -1,6 +1,6 @@ /* pnglibconf.h - library build configuration */ -/* libpng version 1.6.52 */ +/* libpng version 1.6.53 */ /* Copyright (c) 2018-2025 Cosmin Truta */ /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
