[vlc-commits] [Git][videolan/vlc][3.0.x] contrib: vpx: update to 1.14.1
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Wed Jun 5 08:32:14 UTC 2024
Jean-Baptiste Kempf pushed to branch 3.0.x at VideoLAN / VLC
Commits:
5cf1564d by Tristan Matthews at 2024-06-05T07:39:54+00:00
contrib: vpx: update to 1.14.1
This release includes enhancements and bug fixes.
- Upgrading:
This release is ABI compatible with the previous release.
- Enhancement:
Improved the detection of compiler support for AArch64 extensions,
particularly SVE.
Added vpx_codec_get_global_headers() support for VP9.
- Bug fixes:
Added buffer bounds checks to vpx_writer and vpx_write_bit_buffer.
Fix to GetSegmentationData() crash in aq_mode=0 for RTC rate control.
Fix to alloc for row_base_thresh_freq_fac.
Free row mt memory before freeing cpi->tile_data.
Fix to buffer alloc for vp9_bitstream_worker_data.
Fix to VP8 race issue for multi-thread with pnsr_calc.
Fix to uv width/height in vp9_scale_and_extend_frame_ssse3.
Fix to integer division by zero and overflow in calc_pframe_target_size().
Fix to integer overflow in vpx_img_alloc() & vpx_img_wrap()(CVE-2024-5197).
Fix to UBSan error in vp9_rc_update_framerate().
Fix to UBSan errors in vp8_new_framerate().
Fix to integer overflow in vp8 encodeframe.c.
Handle EINTR from sem_wait().
(cherry picked from commit f7a2b4691b98238b219d5771d7633e4728fb079d)
(cherry picked from commit 3d230a44e93804a71bff8d60f5b67ee095cc96b5)
- - - - -
7 changed files:
- contrib/src/vpx/SHA512SUMS
- contrib/src/vpx/darwin-do-not-overwrite-ld.patch
- contrib/src/vpx/libvpx-android.patch
- contrib/src/vpx/libvpx-darwin-aarch64.patch
- contrib/src/vpx/libvpx-ios.patch
- + contrib/src/vpx/libvpx-remove-bitcode.patch
- contrib/src/vpx/rules.mak
Changes:
=====================================
contrib/src/vpx/SHA512SUMS
=====================================
@@ -1 +1 @@
-49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897 libvpx-1.13.1.tar.gz
+3e3bfad3d035c0bc3db7cb5a194d56d3c90f5963fb1ad527ae5252054e7c48ce2973de1346c97d94b59f7a95d4801bec44214cce10faf123f92b36fca79a8d1e libvpx-1.14.1.tar.gz
=====================================
contrib/src/vpx/darwin-do-not-overwrite-ld.patch
=====================================
@@ -1,6 +1,6 @@
---- libvpx/configure.old 2020-05-13 21:15:06.000000000 +0200
-+++ libvpx/configure 2020-05-13 21:15:28.000000000 +0200
-@@ -758,8 +758,6 @@
+--- libvpx/configure 2024-05-29 16:00:23.000000000 -0400
++++ libvpx-1.14.1-new/configure 2024-06-03 12:04:59.522240757 -0400
+@@ -803,8 +803,6 @@
EOF
;;
esac
=====================================
contrib/src/vpx/libvpx-android.patch
=====================================
@@ -1,17 +1,17 @@
-diff -ruw libvpx-1.13.0/vpx_ports/vpx_ports.mk libvpx-1.13.0-new/vpx_ports/vpx_ports.mk
---- libvpx-1.13.0/vpx_ports/vpx_ports.mk 2023-02-07 20:33:51.000000000 -0500
-+++ libvpx-1.13.0-new/vpx_ports/vpx_ports.mk 2023-03-24 11:42:44.133675374 -0400
-@@ -37,6 +37,7 @@
+diff -ruw libvpx-1.14.0/vpx_ports/vpx_ports.mk libvpx-1.14.0-new/vpx_ports/vpx_ports.mk
+--- libvpx-1.14.0/vpx_ports/vpx_ports.mk 2024-01-09 16:12:22.000000000 -0500
++++ libvpx-1.14.0-new/vpx_ports/vpx_ports.mk 2024-01-24 15:53:33.706974940 -0500
+@@ -42,6 +42,7 @@
+ PORTS_SRCS-$(VPX_ARCH_ARM) += aarch32_cpudetect.c
endif
-
- PORTS_SRCS-$(VPX_ARCH_ARM) += arm_cpudetect.c
+ PORTS_SRCS-$(VPX_ARCH_ARM) += arm_cpudetect.h
+PORTS_SRCS-$(VPX_ARCH_ARM) += cpu-features.c
PORTS_SRCS-$(VPX_ARCH_ARM) += arm.h
PORTS_SRCS-$(VPX_ARCH_PPC) += ppc_cpudetect.c
-diff -ruw libvpx-1.13.0/vpx_ports/x86_abi_support.asm libvpx-1.13.0-new/vpx_ports/x86_abi_support.asm
---- libvpx-1.13.0/vpx_ports/x86_abi_support.asm 2023-03-24 11:46:57.104724909 -0400
-+++ libvpx-1.13.0-new/vpx_ports/x86_abi_support.asm 2023-03-24 11:47:48.824529092 -0400
+diff -ruw libvpx-1.14.0/vpx_ports/x86_abi_support.asm libvpx-1.14.0-new/vpx_ports/x86_abi_support.asm
+--- libvpx-1.14.0/vpx_ports/x86_abi_support.asm 2024-01-09 16:12:22.000000000 -0500
++++ libvpx-1.14.0-new/vpx_ports/x86_abi_support.asm 2024-01-24 15:52:25.911365246 -0500
@@ -414,6 +414,7 @@
; On Android platforms use lrand48 when building postproc routines. Prior to L
=====================================
contrib/src/vpx/libvpx-darwin-aarch64.patch
=====================================
@@ -1,6 +1,6 @@
---- libvpx-1.13.0/build/make/configure.sh 2023-02-07 20:33:51.000000000 -0500
-+++ libvpx-1.13.0-new/build/make/configure.sh 2023-03-24 11:41:25.477967730 -0400
-@@ -1119,7 +1119,7 @@
+--- libvpx-1.14.0/build/make/configure.sh 2024-01-24 14:51:54.835698759 -0500
++++ libvpx-1.14.0-new/build/make/configure.sh 2024-01-24 14:54:28.595456073 -0500
+@@ -1146,7 +1146,7 @@
darwin)
if ! enabled external_build; then
@@ -9,7 +9,7 @@
CXX="$(${XCRUN_FIND} clang++)"
CC="$(${XCRUN_FIND} clang)"
AR="$(${XCRUN_FIND} ar)"
-@@ -1138,7 +1138,7 @@
+@@ -1165,7 +1165,7 @@
add_cflags -arch ${tgt_isa}
add_ldflags -arch ${tgt_isa}
=====================================
contrib/src/vpx/libvpx-ios.patch
=====================================
@@ -1,11 +1,17 @@
---- libvpx-1.13.0/build/make/configure.sh 2023-02-07 20:33:51.000000000 -0500
-+++ libvpx-1.13.0-new/build/make/configure.sh 2023-03-24 11:22:57.841614048 -0400
-@@ -858,103 +858,6 @@
+--- libvpx-1.14.0/build/make/configure.sh 2024-01-09 16:12:22.000000000 -0500
++++ libvpx-1.14.0-new/build/make/configure.sh 2024-01-24 16:12:30.986695507 -0500
+@@ -863,109 +863,6 @@
;;
esac
-- # PIC is probably what we want when building shared libs
+- # Position independent code (PIC) is probably what we want when building
+- # shared libs or position independent executable (PIE) targets.
- enabled shared && soft_enable pic
+- check_cpp << EOF || soft_enable pic
+-#if !(__pie__ || __PIE__)
+-#error Neither __pie__ or __PIE__ are set
+-#endif
+-EOF
-
- # Minimum iOS version for all target platforms (darwin and iphonesimulator).
- # Shared library framework builds are only possible on iOS 8 and later.
@@ -86,7 +92,7 @@
- add_cflags "-mmacosx-version-min=10.15"
- add_ldflags "-mmacosx-version-min=10.15"
- ;;
-- *-darwin2[0-2]-*)
+- *-darwin2[0-3]-*)
- add_cflags "-arch ${toolchain%%-*}"
- add_ldflags "-arch ${toolchain%%-*}"
- ;;
@@ -104,7 +110,7 @@
# Handle Solaris variants. Solaris 10 needs -lposix4
case ${toolchain} in
sparc-solaris-*)
-@@ -1143,12 +1046,6 @@
+@@ -1170,12 +1067,6 @@
add_cflags -isysroot ${alt_libc}
fi
@@ -117,16 +123,3 @@
for d in lib usr/lib usr/lib/system; do
try_dir="${alt_libc}/${d}"
[ -d "${try_dir}" ] && add_ldflags -L"${try_dir}"
-@@ -1133,12 +1037,6 @@
- fi
- ;;
- esac
--
-- if [ "$(show_darwin_sdk_major_version iphoneos)" -gt 8 ]; then
-- check_add_cflags -fembed-bitcode
-- check_add_asflags -fembed-bitcode
-- check_add_ldflags -fembed-bitcode
-- fi
- fi
-
- asm_conversion_cmd="${source_path}/build/make/ads2gas_apple.pl"
=====================================
contrib/src/vpx/libvpx-remove-bitcode.patch
=====================================
@@ -0,0 +1,15 @@
+--- libvpx-1.14.0/build/make/configure.sh 2024-01-24 15:55:34.070346026 -0500
++++ libvpx-1.14.0-new/build/make/configure.sh 2024-01-24 15:57:57.821681598 -0500
+@@ -1090,12 +1090,6 @@
+ fi
+ ;;
+ esac
+-
+- if [ "$(show_darwin_sdk_major_version iphoneos)" -gt 8 ]; then
+- check_add_cflags -fembed-bitcode
+- check_add_asflags -fembed-bitcode
+- check_add_ldflags -fembed-bitcode
+- fi
+ fi
+
+ asm_conversion_cmd="${source_path_mk}/build/make/ads2gas_apple.pl"
=====================================
contrib/src/vpx/rules.mak
=====================================
@@ -1,6 +1,6 @@
# libvpx
-VPX_VERSION := 1.13.1
+VPX_VERSION := 1.14.1
VPX_URL := $(GITHUB)/webmproject/libvpx/archive/v${VPX_VERSION}.tar.gz
PKGS += vpx
@@ -27,6 +27,9 @@ ifeq ($(ARCH),aarch64)
$(APPLY) $(SRC)/vpx/libvpx-darwin-aarch64.patch
endif
endif
+ # Disable automatic addition of -fembed-bitcode for iOS
+ # as it is enabled through --extra-cflags if necessary.
+ $(APPLY) $(SRC)/vpx/libvpx-remove-bitcode.patch
$(MOVE)
DEPS_vpx =
@@ -125,11 +128,19 @@ ifndef HAVE_WIN32
VPX_CONF += --enable-pic
else
VPX_CONF += --extra-cflags="-mstackrealign"
+ifeq ($(ARCH),arm)
+# As of libvpx 1.14.0 we have to explicitly disable runtime CPU detection for Windows armv7
+VPX_CONF += --disable-runtime-cpu-detect
+endif
endif
ifdef HAVE_DARWIN_OS
VPX_CONF += --enable-vp8-decoder --disable-tools
VPX_CONF += --extra-cflags="$(CFLAGS) $(EXTRA_CFLAGS)"
ifdef HAVE_IOS
+ifeq ($(ARCH),arm)
+# As of libvpx 1.14.0 we have to explicitly disable runtime CPU detection for iOS arm7
+VPX_CONF += --disable-runtime-cpu-detect
+endif
VPX_LDFLAGS := -L$(IOS_SDK)/usr/lib -isysroot $(IOS_SDK) $(LDFLAGS)
endif
ifdef HAVE_MACOSX
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5cf1564d338024e9b901e276a7fc7e4f63644419
--
This project does not include diff previews in email notifications.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/5cf1564d338024e9b901e276a7fc7e4f63644419
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list