pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [pkgsrc-2025Q4] pkgsrc/multimedia/libvpx
Module Name: pkgsrc
Committed By: maya
Date: Wed Feb 18 15:57:51 UTC 2026
Modified Files:
pkgsrc/multimedia/libvpx [pkgsrc-2025Q4]: Makefile distinfo
pkgsrc/multimedia/libvpx/patches [pkgsrc-2025Q4]: patch-libs.mk
Added Files:
pkgsrc/multimedia/libvpx/patches [pkgsrc-2025Q4]:
patch-vp9_vp9__cx__iface.c
Log Message:
Pullup ticket #7051 - requested by gutteridge
multimedia/libvpx: Security fix
Revisions pulled up:
- multimedia/libvpx/Makefile 1.109-1.110
- multimedia/libvpx/distinfo 1.55-1.56
- multimedia/libvpx/patches/patch-libs.mk 1.8
- multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c 1.1
---
Module Name: pkgsrc
Committed By: adam
Date: Mon Feb 16 11:30:11 UTC 2026
Modified Files:
pkgsrc/multimedia/libvpx: Makefile distinfo
pkgsrc/multimedia/libvpx/patches: patch-libs.mk
Log Message:
libvpx: updated to 1.16.0
v1.16.0 "Xenonetta Duck"
This release includes Arm SVE2 and Neon optimizations for 12-tap filters,
AVX512 implementations for SAD, support for per-frame and per-spatial-layer
PSNR calculation, and numerous bug fixes.
- Upgrading:
This release is ABI incompatible with the previous release.
Unit tests require C++17 to build.
Support for 32-bit iOS targets (armv7, armv7s, and i386) has been removed.
- Enhancement:
Optimized Arm SVE2 and Neon implementations for 12-tap convolution filters.
Optimized Neon High Bitdepth (HBD) SAD and sad_avg functions.
Added Arm Neon DotProd and I8MM implementations for vpx_convolve12.
Added AVX512 implementations for SAD64 and sad_skip functions.
Added SSSE3 and AVX2 implementations for 12-tap temporal filter prediction.
Added support for per-frame and per-spatial-layer PSNR calculation.
Adjusted temporal filter strength to improve visual quality and reduce block
artifacts.
Added support for darwin24 (macOS 15) and darwin25 (macOS 26).
libwebm is upgraded to commit b4f01ea.
- Bug fixes:
Fix to heap buffer overflow in vp9_deblock, vp9_post_proc_frame, and
vp9_pack_bitstream.
Fix to integer overflow in vp9_highbd_post_proc, vp9_rc_regulate_q,
tiny_ssim, and vp9_calc_pframe_target_size_one_pass_cbr.
Fix to use-of-uninitialized-value in vp9_highbd_post_proc, mfqe, and
vp8_datarate_test.
Fix to out-of-bounds in log_tile_cols_from_picsize_level.
Fix to double free on initialization failure in vpx_codec_enc_init_multi.
Fix to division-by-zero crash in vpxenc with 0 FPS numerator input.
Fix to various build failures for Arm/SVE2, macOS cross-compilation, and
Xcode 16.
---
Module Name: pkgsrc
Committed By: gutteridge
Date: Tue Feb 17 01:53:46 UTC 2026
Modified Files:
pkgsrc/multimedia/libvpx: Makefile distinfo
Added Files:
pkgsrc/multimedia/libvpx/patches: patch-vp9_vp9__cx__iface.c
Log Message:
libvpx: apply upstream commit related to CVE-2026-2447
To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.108.4.1 pkgsrc/multimedia/libvpx/Makefile
cvs rdiff -u -r1.54 -r1.54.4.1 pkgsrc/multimedia/libvpx/distinfo
cvs rdiff -u -r1.7 -r1.7.28.1 pkgsrc/multimedia/libvpx/patches/patch-libs.mk
cvs rdiff -u -r0 -r1.1.2.2 \
pkgsrc/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/multimedia/libvpx/Makefile
diff -u pkgsrc/multimedia/libvpx/Makefile:1.108 pkgsrc/multimedia/libvpx/Makefile:1.108.4.1
--- pkgsrc/multimedia/libvpx/Makefile:1.108 Mon Jul 14 10:44:45 2025
+++ pkgsrc/multimedia/libvpx/Makefile Wed Feb 18 15:57:51 2026
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.108 2025/07/14 10:44:45 adam Exp $
+# $NetBSD: Makefile,v 1.108.4.1 2026/02/18 15:57:51 maya Exp $
-DISTNAME= libvpx-1.15.2
+DISTNAME= libvpx-1.16.0
+PKGREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= ${MASTER_SITE_GITHUB:=webmproject/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@@ -10,8 +11,8 @@ HOMEPAGE= https://chromium.googlesource.
COMMENT= On2 VP8/VP9 video codec library from Google
LICENSE= modified-bsd
+USE_CXX_FEATURES= c++11
USE_LANGUAGES= c c++
-USE_CXX_FEATURES+= c++11
USE_LIBTOOL= yes
USE_TOOLS+= gmake bash:build perl:build
HAS_CONFIGURE= yes
Index: pkgsrc/multimedia/libvpx/distinfo
diff -u pkgsrc/multimedia/libvpx/distinfo:1.54 pkgsrc/multimedia/libvpx/distinfo:1.54.4.1
--- pkgsrc/multimedia/libvpx/distinfo:1.54 Mon Jul 14 10:44:45 2025
+++ pkgsrc/multimedia/libvpx/distinfo Wed Feb 18 15:57:51 2026
@@ -1,10 +1,11 @@
-$NetBSD: distinfo,v 1.54 2025/07/14 10:44:45 adam Exp $
+$NetBSD: distinfo,v 1.54.4.1 2026/02/18 15:57:51 maya Exp $
-BLAKE2s (libvpx-1.15.2.tar.gz) = c471130dbcc2c50f95e09038df77cf5db0ef21443915cc85443a353848ee31a1
-SHA512 (libvpx-1.15.2.tar.gz) = 824fe8719e4115ec359ae0642f5e1cea051d458f09eb8c24d60858cf082f66e411215e23228173ab154044bafbdfbb2d93b589bb726f55b233939b91f928aae0
-Size (libvpx-1.15.2.tar.gz) = 5630368 bytes
+BLAKE2s (libvpx-1.16.0.tar.gz) = 17341f5c9ce829528b4df6b3287470492041fbea5de712c19459102dfe35cb41
+SHA512 (libvpx-1.16.0.tar.gz) = 07f5e352411d6c0be331706d1835ac89bafbeddcbbac5542b473323766e9e974f4f68b33590f2aa50a7d8d69468a642b508cbb0a7c49a82c9933b07820f9c9d9
+Size (libvpx-1.16.0.tar.gz) = 5635379 bytes
SHA1 (patch-build_make_Makefile) = f36e7addd3e26536e80f806e1bf759a9a72b4ce8
SHA1 (patch-build_make_configure.sh) = ef4247ed3712ed81654f465f813160685dc09e8b
SHA1 (patch-configure) = aeb5bfd9d58b06b4f2fdbdb8c73b03339de313e7
SHA1 (patch-examples.mk) = 17410f43ff9952d616be3211ca697f37c107610a
-SHA1 (patch-libs.mk) = 9ddc9cb6c09c9eefce59072c2a657bc5b7e1d295
+SHA1 (patch-libs.mk) = 4fe233a421ee6f998b2cd0328b66b1d759706a5f
+SHA1 (patch-vp9_vp9__cx__iface.c) = 9a3e4e2c68f2a6aede22c502b07450a7f5d43e48
Index: pkgsrc/multimedia/libvpx/patches/patch-libs.mk
diff -u pkgsrc/multimedia/libvpx/patches/patch-libs.mk:1.7 pkgsrc/multimedia/libvpx/patches/patch-libs.mk:1.7.28.1
--- pkgsrc/multimedia/libvpx/patches/patch-libs.mk:1.7 Fri Jul 15 11:04:33 2022
+++ pkgsrc/multimedia/libvpx/patches/patch-libs.mk Wed Feb 18 15:57:51 2026
@@ -1,18 +1,20 @@
-$NetBSD: patch-libs.mk,v 1.7 2022/07/15 11:04:33 adam Exp $
+$NetBSD: patch-libs.mk,v 1.7.28.1 2026/02/18 15:57:51 maya Exp $
Do not install debug library.
---- libs.mk.orig 2022-06-28 19:00:48.000000000 +0000
+--- libs.mk.orig 2026-01-08 16:01:40.000000000 +0000
+++ libs.mk
-@@ -187,7 +187,6 @@ INSTALL-LIBS-$(CONFIG_SHARED) += $(forea
+@@ -190,9 +190,6 @@ INSTALL-LIBS-$(CONFIG_SHARED) += $(forea
endif
else
INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a
+-ifeq ($(CONFIG_STATIC),yes)
-INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(LIBSUBDIR)/libvpx_g.a
+-endif
endif
- ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_RATE_CTRL),yesyes)
-@@ -297,8 +296,8 @@ endif # ifeq ($(CONFIG_MSVS),yes)
+ CODEC_SRCS=$(call enabled,CODEC_SRCS)
+@@ -297,8 +294,8 @@ endif # ifeq ($(CONFIG_MSVS),yes)
else # ifeq ($(CONFIG_EXTERNAL_BUILD),yes)
LIBVPX_OBJS=$(call objs, $(filter-out $(ASM_INCLUDES), $(CODEC_SRCS)))
OBJS-yes += $(LIBVPX_OBJS)
@@ -23,7 +25,7 @@ Do not install debug library.
# Updating version info.
# https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
-@@ -414,15 +413,15 @@ CLEAN-OBJS += vpx.pc
+@@ -414,8 +411,8 @@ CLEAN-OBJS += vpx.pc
ifeq ($(CONFIG_ENCODERS),yes)
RC_RTC_OBJS=$(call objs,$(RC_RTC_SRCS))
OBJS-yes += $(RC_RTC_OBJS)
@@ -33,13 +35,15 @@ Do not install debug library.
+ $(BUILD_PFX)libvpxrc.a: $(RC_RTC_OBJS)
endif
- ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_RATE_CTRL),yesyes)
- SIMPLE_ENCODE_OBJS=$(call objs,$(SIMPLE_ENCODE_SRCS))
- OBJS-yes += $(SIMPLE_ENCODE_OBJS)
-- LIBS-yes += $(BUILD_PFX)libsimple_encode.a $(BUILD_PFX)libsimple_encode_g.a
-- $(BUILD_PFX)libsimple_encode_g.a: $(SIMPLE_ENCODE_OBJS)
-+ LIBS-yes += $(BUILD_PFX)libsimple_encode.a
-+ $(BUILD_PFX)libsimple_encode.a: $(SIMPLE_ENCODE_OBJS)
- endif
-
endif # ifeq ($(CONFIG_EXTERNAL_BUILD),yes)
+@@ -634,8 +631,8 @@ GTEST_INCLUDES := -I$(SRC_PATH_BARE)/thi
+ GTEST_INCLUDES += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
+ $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES)
+ OBJS-yes += $(GTEST_OBJS)
+-LIBS-yes += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a
+-$(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS)
++LIBS-yes += $(BUILD_PFX)libgtest.a
++$(BUILD_PFX)libgtest.a: $(GTEST_OBJS)
+
+ LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS)))
+ $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES)
Added files:
Index: pkgsrc/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c
diff -u /dev/null pkgsrc/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c:1.1.2.2
--- /dev/null Wed Feb 18 15:57:51 2026
+++ pkgsrc/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c Wed Feb 18 15:57:51 2026
@@ -0,0 +1,64 @@
+$NetBSD: patch-vp9_vp9__cx__iface.c,v 1.1.2.2 2026/02/18 15:57:51 maya Exp $
+
+Apply upstream commit related to CVE-2026-2447.
+https://github.com/webmproject/libvpx/commit/d5f35ac8d93cba7f7a3f7ddb8f9dc8bd28f785e1
+
+--- vp9/vp9_cx_iface.c.orig 2026-01-08 16:01:40.000000000 +0000
++++ vp9/vp9_cx_iface.c
+@@ -8,7 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
+ #include <limits.h>
++#include <stddef.h>
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -122,6 +124,7 @@ struct vpx_codec_alg_priv {
+ VP9_COMP *cpi;
+ unsigned char *cx_data;
+ size_t cx_data_sz;
++ // pending_cx_data either is a null pointer or points into the cx_data buffer.
+ unsigned char *pending_cx_data;
+ size_t pending_cx_data_sz;
+ int pending_frame_count;
+@@ -1252,8 +1255,12 @@ static int write_superframe_index(vpx_codec_alg_priv_t
+
+ // Write the index
+ index_sz = 2 + (mag + 1) * ctx->pending_frame_count;
+- if (ctx->pending_cx_data_sz + index_sz < ctx->cx_data_sz) {
+- uint8_t *x = ctx->pending_cx_data + ctx->pending_cx_data_sz;
++ unsigned char *cx_data_end = ctx->cx_data + ctx->cx_data_sz;
++ unsigned char *pending_cx_data_end =
++ ctx->pending_cx_data + ctx->pending_cx_data_sz;
++ ptrdiff_t space_remaining = cx_data_end - pending_cx_data_end;
++ if (index_sz <= space_remaining) {
++ uint8_t *x = pending_cx_data_end;
+ int i, j;
+ #ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA
+ uint8_t marker_test = 0xc0;
+@@ -1284,6 +1291,8 @@ static int write_superframe_index(vpx_codec_alg_priv_t
+ #ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA
+ index_sz += index_sz_test;
+ #endif
++ } else {
++ index_sz = 0;
+ }
+ return index_sz;
+ }
+@@ -1612,9 +1621,12 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_pr
+ ctx->pending_frame_sizes[ctx->pending_frame_count++] = size;
+ ctx->pending_frame_magnitude |= size;
+ ctx->pending_cx_data_sz += size;
+- // write the superframe only for the case when
+- if (!ctx->output_cx_pkt_cb.output_cx_pkt)
++ // write the superframe only for the case when the callback function
++ // for getting per-layer packets is not registered.
++ if (!ctx->output_cx_pkt_cb.output_cx_pkt) {
+ size += write_superframe_index(ctx);
++ assert(size <= cx_data_sz);
++ }
+ pkt.data.frame.buf = ctx->pending_cx_data;
+ pkt.data.frame.sz = ctx->pending_cx_data_sz;
+ ctx->pending_cx_data = NULL;
Home |
Main Index |
Thread Index |
Old Index