Here is an update to libvpx 1.15.1.
2025-01-09 v1.15.1 "Wigeon Duck" This release bumps up the SO major version and fixes the language about ABI compatibility in the previous release changelog. Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/libvpx/Makefile,v retrieving revision 1.61 diff -u -p -u -p -r1.61 Makefile --- Makefile 24 Nov 2024 08:38:14 -0000 1.61 +++ Makefile 12 Apr 2025 08:51:55 -0000 @@ -2,11 +2,11 @@ COMMENT= Google VP8/VP9 video codec GH_ACCOUNT= webmproject GH_PROJECT= libvpx -GH_TAGNAME= v1.15.0 +GH_TAGNAME= v1.15.1 EPOCH= 0 CATEGORIES= multimedia -SHARED_LIBS= vpx 18.0 +SHARED_LIBS= vpx 19.0 HOMEPAGE= https://www.webmproject.org/ Index: distinfo =================================================================== RCS file: /cvs/ports/multimedia/libvpx/distinfo,v retrieving revision 1.26 diff -u -p -u -p -r1.26 distinfo --- distinfo 24 Nov 2024 08:38:14 -0000 1.26 +++ distinfo 12 Apr 2025 08:51:55 -0000 @@ -1,2 +1,2 @@ -SHA256 (libvpx-1.15.0.tar.gz) = 6TXt7X2BYxpTi/rnA/0eKTqtHH/TQHugBEDJUQXSAR4= -SIZE (libvpx-1.15.0.tar.gz) = 5629622 +SHA256 (libvpx-1.15.1.tar.gz) = bLpmGyKlUrrXKb0rUt9fDVfRS5eJIZ1G049zyCHTqZA= +SIZE (libvpx-1.15.1.tar.gz) = 5630041 Index: patches/patch-configure =================================================================== RCS file: /cvs/ports/multimedia/libvpx/patches/patch-configure,v retrieving revision 1.27 diff -u -p -u -p -r1.27 patch-configure --- patches/patch-configure 24 Nov 2024 08:38:14 -0000 1.27 +++ patches/patch-configure 12 Apr 2025 08:51:55 -0000 @@ -1,7 +1,7 @@ Index: configure --- configure.orig +++ configure -@@ -126,7 +126,9 @@ all_platforms="${all_platforms} loongarch32-linux-gcc" +@@ -127,7 +127,9 @@ all_platforms="${all_platforms} loongarch32-linux-gcc" all_platforms="${all_platforms} loongarch64-linux-gcc" all_platforms="${all_platforms} mips32-linux-gcc" all_platforms="${all_platforms} mips64-linux-gcc" @@ -11,7 +11,7 @@ Index: configure all_platforms="${all_platforms} sparc-solaris-gcc" all_platforms="${all_platforms} x86-android-gcc" all_platforms="${all_platforms} x86-darwin8-gcc" -@@ -187,7 +189,7 @@ for t in ${all_targets}; do +@@ -189,7 +191,7 @@ for t in ${all_targets}; do [ -f "${source_path}/${t}.mk" ] && enable_feature ${t} done @@ -20,7 +20,7 @@ Index: configure die "diff missing: Try installing diffutils via your package manager." fi -@@ -202,19 +204,6 @@ if [ "`cd \"${source_path}\" && pwd`" != "`pwd`" ]; th +@@ -204,19 +206,6 @@ if [ "`cd \"${source_path}\" && pwd`" != "`pwd`" ]; th fi fi @@ -40,7 +40,7 @@ Index: configure # disable codecs when their source directory does not exist [ -d "${source_path}/vp8" ] || disable_codec vp8 [ -d "${source_path}/vp9" ] || disable_codec vp9 -@@ -562,7 +551,7 @@ process_detect() { +@@ -564,7 +553,7 @@ process_detect() { # here rather than at option parse time because the target auto-detect # magic happens after the command line has been parsed. case "${tgt_os}" in Index: patches/patch-vpx_ports_aarch32_cpudetect_c =================================================================== RCS file: /cvs/ports/multimedia/libvpx/patches/patch-vpx_ports_aarch32_cpudetect_c,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-vpx_ports_aarch32_cpudetect_c --- patches/patch-vpx_ports_aarch32_cpudetect_c 24 Nov 2024 08:38:14 -0000 1.3 +++ patches/patch-vpx_ports_aarch32_cpudetect_c 12 Apr 2025 08:51:55 -0000 @@ -1,4 +1,4 @@ -Allow ARM CPU runtime detection code to build on OpenBSD. +Add ARM CPU feature detection support for OpenBSD. Index: vpx_ports/aarch32_cpudetect.c --- vpx_ports/aarch32_cpudetect.c.orig Index: patches/patch-vpx_ports_ppc_cpudetect_c =================================================================== RCS file: /cvs/ports/multimedia/libvpx/patches/patch-vpx_ports_ppc_cpudetect_c,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-vpx_ports_ppc_cpudetect_c --- patches/patch-vpx_ports_ppc_cpudetect_c 11 Mar 2022 19:39:22 -0000 1.2 +++ patches/patch-vpx_ports_ppc_cpudetect_c 12 Apr 2025 08:51:55 -0000 @@ -1,31 +1,70 @@ -Allow PowerPC CPU runtime detection code to build on OpenBSD. +Add PowerPC CPU feature detection support for OpenBSD. Index: vpx_ports/ppc_cpudetect.c --- vpx_ports/ppc_cpudetect.c.orig +++ vpx_ports/ppc_cpudetect.c -@@ -8,16 +8,19 @@ +@@ -8,11 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ -+#if defined(__linux__) - #include <fcntl.h> +-#include <fcntl.h> #include <unistd.h> #include <stdint.h> - #include <asm/cputable.h> - #include <linux/auxvec.h> -+#endif +-#include <asm/cputable.h> +-#include <linux/auxvec.h> #include "./vpx_config.h" #include "vpx_ports/ppc.h" +@@ -35,6 +32,12 @@ static int cpu_env_mask(void) { + return env && *env ? (int)strtol(env, NULL, 0) : ~0; + } - #if CONFIG_RUNTIME_CPU_DETECT +#if defined(__linux__) - static int cpu_env_flags(int *flags) { - char *env; - env = getenv("VPX_SIMD_CAPS"); -@@ -77,4 +80,5 @@ out_close: - // If there is no RTCD the function pointers are not used and can not be - // changed. - int ppc_simd_caps(void) { return 0; } ++ ++#include <fcntl.h> ++#include <asm/cputable.h> ++#include <linux/auxvec.h> ++ + int ppc_simd_caps(void) { + int flags; + int mask; +@@ -71,6 +74,39 @@ int ppc_simd_caps(void) { + } + out_close: + close(fd); ++ return flags & mask; ++} ++ ++#elif defined(__OpenBSD__) ++ ++#include <sys/auxv.h> ++ ++// Define hwcap values ourselves: building with an old auxv header where these ++// hwcap values are not defined should not prevent features from being enabled. ++#define VPX_PPC_HWCAP_VSX (1 << 7) ++ ++int ppc_simd_caps(void) { ++ int flags; ++ int mask; ++ ++ // If VPX_SIMD_CAPS is set then allow only those capabilities. ++ if (!cpu_env_flags(&flags)) { ++ return flags; ++ } ++ ++ mask = cpu_env_mask(); ++ ++#ifdef __OpenBSD__ ++ unsigned long hwcap = 0; ++ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap)); ++#else ++ unsigned long hwcap = getauxval(AT_HWCAP); +#endif - #endif // CONFIG_RUNTIME_CPU_DETECT ++#if HAVE_VSX ++ if (hwcap & VPX_PPC_HWCAP_VSX) { ++ flags |= HAS_VSX; ++ } ++#endif // HAVE_VSX + return flags & mask; + } + #else