[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