Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
UPDATE: aom 3.13.1
To:
ports@openbsd.org
Date:
Mon, 3 Nov 2025 23:11:06 -0500

Download raw body.

Thread
  • Brad Smith:

    UPDATE: aom 3.13.1

Here is an update to aom 3.13.1.


2025-09-02 v3.13.0
  This release is ABI compatible with the last release.
  
  The aom_roi_map_t struct, used only by the codec control
  AOME_SET_ROI_MAP, was modified in this release. Since AOME_SET_ROI_MAP
  was unimplemented, aom_roi_map_t was effectively an unused struct.
  Therefore aom_roi_map_t is to be considered as a new struct added in
  this release and this change does not break ABI compatibility.
  
  - New Features
    * New tuning mode AOM_TUNE_SSIMULACRA2 for the AOME_SET_TUNING codec
      control (--tune=ssimulacra2) in all-intra mode. The feature
      detection macro AOM_HAVE_TUNE_SSIMULACRA2, if defined, indicates
      that AOM_TUNE_SSIMULACRA2 is available. AOM_TUNE_SSIMULACRA2 was
      developed to maximize SSIMULACRA 2 scores.
    * New codec control AV1E_SET_SCREEN_CONTENT_DETECTION_MODE
      (--screen-detection-mode).
      This codec control helps select between two screen detection modes:
       * Mode 1: standard (default)
       * Mode 2: anti-aliased text and graphics aware
    * New codec control AV1E_SET_ENABLE_ADAPTIVE_SHARPNESS
      (--enable-adaptive-sharpness). When enabled, it modulates sharpness
      based on frame QP, which helps mitigate blocking artifacts in the
      low to medium quality range.
    * Added low complexity decode mode for 720p vertical videos.
    * ROI feature implemented for RTC: for delta QP, skip encoding, and
      reference selection.
    * External scaling feature for SVC: allow downscaled images to be
      passed into encoder for spatial layers without reconfiguring it.
    * Allow per-frame calculation of PSNR (contribution from Meta).
	
  - Compression Efficiency Improvements
    * Variance Boost is now enabled for tuning modes AOM_TUNE_IQ and
      AOM_TUNE_SSIMULACRA2 at speeds 8 and 9 (2-5% SSIMULACRA 2 BD-Rate
      gains)
    * Several quality/time tradeoff improvements and bug fixes for all
      intra mode speeds 8 and 9.
      * Up to 6.9% SSIMULACRA 2 BD-Rate gains for speed 8
      * Up to 2.2% SSIMULACRA 2 BD-Rate gains for speed 9
	  
  - Perceptual Quality Improvements
    * RTC: Visual quality improvements for screen content mode.
    * RTC: Visual quality improvements for video mode for resolutions >=
      720p.
	  
  - Speedups
    * Optimize intraBC search for better speed/efficiency tradeoffs for
      all intra mode speeds >= 1
    * Optimize intraBC block hashing process
    * RTC Screen: speed feature added to speed 12 for ~2x speedup on
      slide/scene changes, for resolutions >= 720p.
    * ML based speedup improvement on the partition pruning for speed <= 2
	
  - Other Improvements
    * Fixes for RPS (reference picture selection) for RTC: Based on
      av1_discuss issue:
      https://groups.google.com/a/aomedia.org/g/av1-discuss/c/sqFad980SsA
	  
  - Bug Fixes
    * b:421196988: all intra speed 8: overuse of palette mode
      unnecessarily inflating file sizes
    * b:423804955: Improve quality for 4K Screencast
    * webrtc:388070060: Allow per-frame calculation of PSNR
    * b:433046392, b:432035817: Fix to SVC crash triggered with Jitsi
      video conference app.
    * b:419622699: Fix integer overflow in update_buffer_level
    * b:407813259: Fix to update seq_params for number of layers change
    * b:400885218: External scaling for AV1
    * b:391849810: High AV1 frame encode time on slide changes
    * b:399575647: Too aggressive QP backoff at scene changes
    * b:383306740: Quality degradation at horizontal scrolling

Tested on aarch64.


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/aom/Makefile,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 Makefile
--- Makefile	7 Jul 2025 10:14:03 -0000	1.30
+++ Makefile	1 Nov 2025 03:40:48 -0000
@@ -1,6 +1,6 @@
 COMMENT=	Alliance for Open Media AV1 video codec
 
-V=		3.12.1
+V=		3.13.1
 DISTNAME=	libaom-$V
 PKGNAME=	aom-$V
 CATEGORIES=	multimedia
Index: distinfo
===================================================================
RCS file: /cvs/ports/multimedia/aom/distinfo,v
retrieving revision 1.25
diff -u -p -u -p -r1.25 distinfo
--- distinfo	7 Jul 2025 10:14:03 -0000	1.25
+++ distinfo	1 Nov 2025 03:40:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (libaom-3.12.1.tar.gz) = npd1GA3sff1hp54AvaOAnUOJGu5rLjMf9/JphiB+oi4=
-SIZE (libaom-3.12.1.tar.gz) = 5497367
+SHA256 (libaom-3.13.1.tar.gz) = GeRaWnGS1pBWUimYPa2QDna1E6AjBsEgU/uaJiy+yn0=
+SIZE (libaom-3.13.1.tar.gz) = 6253958
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/multimedia/aom/patches/patch-CMakeLists_txt,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt	7 Jul 2025 10:14:03 -0000	1.11
+++ patches/patch-CMakeLists_txt	1 Nov 2025 03:40:48 -0000
@@ -1,7 +1,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -861,7 +861,7 @@ if(BUILD_SHARED_LIBS)
+@@ -905,7 +905,7 @@ if(BUILD_SHARED_LIBS)
    # https://clang.llvm.org/docs/AddressSanitizer.html#usage. Similarly, see
    # https://clang.llvm.org/docs/MemorySanitizer.html#usage.
    if(NOT
Index: patches/patch-aom_ports_ppc_cpudetect_c
===================================================================
RCS file: /cvs/ports/multimedia/aom/patches/patch-aom_ports_ppc_cpudetect_c,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 patch-aom_ports_ppc_cpudetect_c
--- patches/patch-aom_ports_ppc_cpudetect_c	26 Feb 2025 10:23:52 -0000	1.4
+++ patches/patch-aom_ports_ppc_cpudetect_c	1 Nov 2025 03:40:48 -0000
@@ -3,19 +3,25 @@ Add PowerPC CPU feature detection suppor
 Index: aom_ports/ppc_cpudetect.c
 --- aom_ports/ppc_cpudetect.c.orig
 +++ aom_ports/ppc_cpudetect.c
-@@ -9,11 +9,8 @@
+@@ -9,7 +9,6 @@
   * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
   */
  
 -#include <fcntl.h>
  #include <unistd.h>
  #include <stdint.h>
--#include <asm/cputable.h>
--#include <linux/auxvec.h>
  
- #include "config/aom_config.h"
+@@ -18,9 +17,6 @@
+ #include "aom_ports/ppc.h"
  
-@@ -37,6 +34,12 @@ static int cpu_env_mask(void) {
+ #if CONFIG_RUNTIME_CPU_DETECT
+-#include <asm/cputable.h>
+-#include <linux/auxvec.h>
+-
+ static int cpu_env_flags(int *flags) {
+   char *env;
+   env = getenv("AOM_SIMD_CAPS");
+@@ -38,6 +34,12 @@ static int cpu_env_mask(void) {
    return env && *env ? (int)strtol(env, NULL, 0) : ~0;
  }
  
@@ -28,7 +34,7 @@ Index: aom_ports/ppc_cpudetect.c
  int ppc_simd_caps(void) {
    int flags;
    int mask;
-@@ -75,7 +78,40 @@ out_close:
+@@ -76,7 +78,40 @@ out_close:
    close(fd);
    return flags & mask;
  }