ping.

On 11/5/2024 12:34 AM, Brad Smith wrote:
Here is an update to libvpx 1.15.0.


2024-10-22 v1.15.0 "Wigeon Duck"
   This release includes new codec control for key frame filtering, more Neon
   optimizations, improvements to RTC encoding and bug fixes.

   - Upgrading:
     This release is ABI compatible with the previous release.

     Temporal filtering improvement that can be turned on with the new codec
     control VP9E_SET_KEY_FRAME_FILTERING, which gives 1+% BD-rate saving with
     minimal encoder time increase.

     libwebm is upgraded to libwebm-1.0.0.31-10-g3b63004

   - Enhancement:
     Neon optimization speed up
       1-3% speed up across speed 5 to 10 for RTC
       3% speed up for speed 0 and 1 for VoD in standard bitdepth
       3% and 7% speed up for speed 0 and 1 respectively for VoD in high 
bitdepth
     Scene detection is allowed for all RTC speeds (>=5)
     Support profile guided optimizations

     Delta quantization parameters for UV channels for vp8 is supported in RTC
     rate control library

     Rate control parameters are reset and maximum QP is enforced on scene
     changes in SVC when there is no inter-layer prediction

   - Bug fixes:
     Fix to Uninitialized scalar variable in `vp9_rd_pick_inter_mode_sb()`
     Fix to Integer-overflow in `resize_multistep`
     Fix to Heap-buffer-overflow in `vpx_sad64x64_avx2`
     Fix to Crash in `vpx_sad8x8_sse2`
     Fix to Assertion in `write_modes`
     Support profile guided optimizations
     Fix to Integer-overflow in `encode_frame_to_data_rate`
     Fix to Integer-overflow in `vp9_svc_check_reset_layer_rc_flag`
     Fix to core dump error from /usr/bin/tools/tiny_ssim --help
     Fix to use-of-uninitialized-value in `vp9_setup_tpl_stats`
     Fix to Undefined-shift in `vp9_cyclic_refresh_setup`
     Fix to redundant `&& __GNUC__` preproc check
     Fix to valgrind warning in EncodeAPI.OssFuzz69906
     Fix to Index-out-of-bounds in `vp8_rd_pick_inter_mode`
     Fix to Integer-overflow in `vp8_pick_frame_size`
     Fix to Use-of-uninitialized-value in `vpx_codec_peek_stream_info`
     Fix to log clutters with the message "Warning: Desired height too large"
     Fix to Integer-overflow in `vp9_svc_adjust_avg_frame_qindex`
     Fix to integer overflows caused by huge target bitrate, frame rate, or
     g_timebase numerator or denominator
     Fix to missing license headers
     Fix to build failure for Android Armv7
     Fix to integer overflows in image helpers
     Fix to Integer-overflow in `vp9_calc_iframe_target_size_one_pass_cbr`
     Fix to Heap-buffer-overflow in `vp9_pick_inter_mode`
     Fix to Segv in `vp9_multi_thread_tile_init`
     Fix to Use-of-uninitialized-value in `vp9_row_mt_sync_mem_dealloc`
     Fix to Crash in `mbloop_filter_vertical_edge_c`
     Fix to Check failed in CheckUnwind
     Fix to Heap-buffer-overflow in `write_modes_b` and `vpx_write`
     Fix to Possible signed integer overflow found in `vpx_codec_encode`
     Fix to build conflicts between Abseil and libaom/libvpx in Win ARM64 builds
     Fix to build failures on aarch64
     Fix to Data race in libvpx ARM NEON
     Fix to Heap-buffer-overflow in `scale_plane_1_to_2_phase_0`
     Fix to integer overflow in `encode_mb_row`
     Fix to Floating-point-exception in `vp8_pick_frame_size`
     Fix to Heap-buffer-overflow in `vp9_enc_setup_mi`
     Fix to build failure with --target=arm64-win64-vs17
     Fix to heap-buffer-overflow write in `vpx_img_read()`
     Fix to C vs armv8-linux-gcc encode mismatches for `y4m_360p_10bit_input`
     Fix to Null-dereference READ in `ml_predict_var_rd_partitioning`
     Fix to Heap-buffer-overflow in `vpx_scaled_2d_ssse3`
     Fix to Crash in `convolve_horiz`
     Fix to Ill in `vpx_scaled_2d_ssse3`
     Fix to Global-buffer-overflow in `cost_coeffs`


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/Makefile,v
retrieving revision 1.60
diff -u -p -u -p -r1.60 Makefile
--- Makefile    21 Aug 2024 05:42:20 -0000      1.60
+++ Makefile    4 Nov 2024 02:11:04 -0000
@@ -2,12 +2,11 @@ COMMENT=      Google VP8/VP9 video codec
GH_ACCOUNT= webmproject
  GH_PROJECT=   libvpx
-GH_TAGNAME=    v1.14.1
-REVISION=      0
+GH_TAGNAME=    v1.15.0
  EPOCH=                0
  CATEGORIES=   multimedia
-SHARED_LIBS= vpx 17.0
+SHARED_LIBS=   vpx     18.0
HOMEPAGE= https://www.webmproject.org/ Index: distinfo
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/distinfo,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 distinfo
--- distinfo    22 Jun 2024 09:33:22 -0000      1.25
+++ distinfo    4 Nov 2024 02:11:04 -0000
@@ -1,2 +1,2 @@
-SHA256 (libvpx-1.14.1.tar.gz) = kBdHJU2Ap5N8kz0DvXxdQejmyIPgZl+tyxclQhZ8eXc=
-SIZE (libvpx-1.14.1.tar.gz) = 5614104
+SHA256 (libvpx-1.15.0.tar.gz) = 6TXt7X2BYxpTi/rnA/0eKTqtHH/TQHugBEDJUQXSAR4=
+SIZE (libvpx-1.15.0.tar.gz) = 5629622
Index: patches/patch-build_make_Makefile
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/patches/patch-build_make_Makefile,v
retrieving revision 1.18
diff -u -p -u -p -r1.18 patch-build_make_Makefile
--- patches/patch-build_make_Makefile   29 Feb 2024 09:43:31 -0000      1.18
+++ patches/patch-build_make_Makefile   4 Nov 2024 02:11:04 -0000
@@ -1,7 +1,7 @@
  Index: build/make/Makefile
  --- build/make/Makefile.orig
  +++ build/make/Makefile
-@@ -333,9 +333,7 @@ define so_template
+@@ -335,9 +335,7 @@ define so_template
   # This needs further abstraction for dealing with non-GNU linkers.
   $(1):
        $(if $(quiet),@echo "    [LD] $$@")
@@ -12,7 +12,7 @@ Index: build/make/Makefile
               -Wl,--version-script,$$(EXPORTS_FILE) -o $$@ \
               $$(filter %.o,$$^) $$(extralibs)
   endef
-@@ -420,7 +418,7 @@ LIBS=$(call enabled,LIBS)
+@@ -422,7 +420,7 @@ LIBS=$(call enabled,LIBS)
   .libs: $(LIBS)
        @touch $@
   $(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call 
archive_template,$(lib))))
Index: patches/patch-build_make_configure_sh
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/patches/patch-build_make_configure_sh,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 patch-build_make_configure_sh
--- patches/patch-build_make_configure_sh       22 Jun 2024 09:33:22 -0000      
1.12
+++ patches/patch-build_make_configure_sh       4 Nov 2024 02:11:04 -0000
@@ -1,7 +1,7 @@
  Index: build/make/configure.sh
  --- build/make/configure.sh.orig
  +++ build/make/configure.sh
-@@ -735,8 +735,8 @@ post_process_cmdline() {
+@@ -742,8 +742,8 @@ post_process_cmdline() {
   }
setup_gnu_toolchain() {
@@ -12,7 +12,7 @@ Index: build/make/configure.sh
     AR=${AR:-${CROSS}ar}
     LD=${LD:-${CROSS}${link_with_cc:-ld}}
     AS=${AS:-${CROSS}as}
-@@ -780,7 +780,7 @@ check_xcode_minimum_version() {
+@@ -786,7 +786,7 @@ check_xcode_minimum_version() {
process_common_toolchain() {
     if [ -z "$toolchain" ]; then
@@ -21,7 +21,7 @@ Index: build/make/configure.sh
       # detect tgt_isa
       case "$gcctarget" in
         aarch64*)
-@@ -1028,7 +1028,7 @@ EOF
+@@ -1042,7 +1042,7 @@ EOF
         asm_conversion_cmd="cat"
         case ${tgt_cc} in
           gcc)
@@ -30,7 +30,7 @@ Index: build/make/configure.sh
             setup_gnu_toolchain
             arch_int=${tgt_isa##armv}
             arch_int=${arch_int%%te}
-@@ -1275,7 +1275,7 @@ EOF
+@@ -1297,7 +1297,7 @@ EOF
;;
       mips*)
@@ -39,7 +39,7 @@ Index: build/make/configure.sh
         setup_gnu_toolchain
         tune_cflags="-mtune="
         if enabled dspr2; then
-@@ -1326,7 +1326,7 @@ EOF
+@@ -1348,7 +1348,7 @@ EOF
         check_add_asflags -KPIC
         ;;
       ppc64le*)
@@ -48,7 +48,7 @@ Index: build/make/configure.sh
         setup_gnu_toolchain
         # Do not enable vsx by default.
         # https://bugs.chromium.org/p/webm/issues/detail?id=1522
-@@ -1383,7 +1383,7 @@ EOF
+@@ -1405,7 +1405,7 @@ EOF
             esac
             ;;
           gcc*)
@@ -57,7 +57,7 @@ Index: build/make/configure.sh
             tune_cflags="-march="
             setup_gnu_toolchain
             #for 32 bit x86 builds, -O3 did not turn on this flag
-@@ -1514,7 +1514,7 @@ EOF
+@@ -1536,7 +1536,7 @@ EOF
         esac
         ;;
       loongarch*)
@@ -66,7 +66,7 @@ Index: build/make/configure.sh
         setup_gnu_toolchain
enabled lsx && check_inline_asm lsx '"vadd.b $vr0, $vr1, $vr1"'
-@@ -1523,7 +1523,7 @@ EOF
+@@ -1545,7 +1545,7 @@ EOF
         enabled lasx && soft_enable runtime_cpu_detect
         ;;
       *-gcc|generic-gnu)
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/patches/patch-configure,v
retrieving revision 1.26
diff -u -p -u -p -r1.26 patch-configure
--- patches/patch-configure     29 Feb 2024 09:43:31 -0000      1.26
+++ patches/patch-configure     4 Nov 2024 02:11:04 -0000
@@ -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
-@@ -560,7 +549,7 @@ process_detect() {
+@@ -562,7 +551,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-examples_mk
===================================================================
RCS file: /cvs/ports/multimedia/libvpx/patches/patch-examples_mk,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 patch-examples_mk
--- patches/patch-examples_mk   29 Feb 2024 09:43:31 -0000      1.12
+++ patches/patch-examples_mk   4 Nov 2024 02:11:04 -0000
@@ -1,7 +1,7 @@
  Index: examples.mk
  --- examples.mk.orig
  +++ examples.mk
-@@ -333,7 +333,7 @@ else
+@@ -315,7 +315,7 @@ else
   SHARED_LIB_SUF=.so
   endif
   endif
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.2
diff -u -p -u -p -r1.2 patch-vpx_ports_aarch32_cpudetect_c
--- patches/patch-vpx_ports_aarch32_cpudetect_c 21 Aug 2024 05:42:20 -0000      
1.2
+++ patches/patch-vpx_ports_aarch32_cpudetect_c 4 Nov 2024 02:11:04 -0000
@@ -7,8 +7,8 @@ Index: vpx_ports/aarch32_cpudetect.c
     return flags;
   }
--#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
-+#elif defined(__linux__) || defined(__OpenBSD__)  // end 
defined(AOM_USE_ANDROID_CPU_FEATURES)
+-#elif defined(__linux__)  // end defined(VPX_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__OpenBSD__)  // end 
defined(VPX_USE_ANDROID_CPU_FEATURES)
#include <sys/auxv.h> Index: patches/patch-vpx_ports_aarch64_cpudetect_c
===================================================================
RCS file: 
/cvs/ports/multimedia/libvpx/patches/patch-vpx_ports_aarch64_cpudetect_c,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 patch-vpx_ports_aarch64_cpudetect_c
--- patches/patch-vpx_ports_aarch64_cpudetect_c 21 Aug 2024 05:42:20 -0000      
1.3
+++ patches/patch-vpx_ports_aarch64_cpudetect_c 4 Nov 2024 02:11:04 -0000
@@ -3,7 +3,7 @@ Add AArch64 CPU feature detection suppor
  Index: vpx_ports/aarch64_cpudetect.c
  --- vpx_ports/aarch64_cpudetect.c.orig
  +++ vpx_ports/aarch64_cpudetect.c
-@@ -91,7 +91,7 @@ static int arm_get_cpu_caps(void) {
+@@ -120,7 +120,7 @@ static int arm_get_cpu_caps(void) {
     return flags;
   }
@@ -12,23 +12,24 @@ Index: vpx_ports/aarch64_cpudetect.c #include <sys/auxv.h> -@@ -103,9 +103,19 @@ static int arm_get_cpu_caps(void) {
-
+@@ -134,10 +134,20 @@ static int arm_get_cpu_caps(void) {
   static int arm_get_cpu_caps(void) {
     int flags = 0;
+ #if HAVE_NEON_DOTPROD || HAVE_SVE
  +#ifdef __OpenBSD__
  +  unsigned long hwcap = 0;
  +  elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
  +#else
     unsigned long hwcap = getauxval(AT_HWCAP);
  +#endif
- #if HAVE_NEON_I8MM
+ #endif  // HAVE_NEON_DOTPROD || HAVE_SVE
+ #if HAVE_NEON_I8MM || HAVE_SVE2
  +#ifdef __OpenBSD__
  +  unsigned long hwcap2 = 0;
  +  elf_aux_info(AT_HWCAP2, &hwcap2, sizeof(hwcap2));
  +#else
     unsigned long hwcap2 = getauxval(AT_HWCAP2);
  +#endif
- #endif  // HAVE_NEON_I8MM
+ #endif  // HAVE_NEON_I8MM || HAVE_SVE2
   #if HAVE_NEON
     flags |= HAS_NEON;  // Neon is mandatory in Armv8.0-A.

Reply via email to