Merge tag 'v3.13.0' into main

Release v3.13.0 Opaline

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

Bug: 441135035
Change-Id: I205cbdbe1bdcfae8e1dbb431c72ce9ae82cb7c61
diff --git a/.mailmap b/.mailmap
index e34285c..543d40b 100644
--- a/.mailmap
+++ b/.mailmap
@@ -111,5 +111,6 @@
 Yaowu Xu <yaowu@google.com> <yaowu@YAOWU2-W.ad.corp.google.com>
 Yaowu Xu <yaowu@google.com> <yaowu@xuyaowu.com>
 Yaowu Xu <yaowu@google.com> <yaowu@yaowu-macbookpro.roam.corp.google.com>
+Yunqing Wang <yunqingwang@google.com>
 Zhipin Deng <zhipin.deng@intel.com>
 Zoe Liu <zoeliu@gmail.com> <zoeliu@google.com>
diff --git a/AUTHORS b/AUTHORS
index a12d6b25..72dd76c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -11,6 +11,7 @@
 Alexander Bokov <alexanderbokov@google.com>
 Alexander Voronov <avoronov@graphics.cs.msu.ru>
 Aℓex Converse <aconverse@google.com>
+Alex Faxa <alexanderfaxa@google.com>
 Alexis Ballier <aballier@gentoo.org>
 Alex Peterson <petersonab@google.com>
 Alok Ahuja <waveletcoeff@gmail.com>
@@ -35,6 +36,7 @@
 Athulya Raj Raji Mohini <AthulyaRaj.RajiMohini@arm.com>
 Attila Nagy <attilanagy@google.com>
 Balaji Anandapadmanaban <balaji.anandapadmanaban@arm.com>
+bmarques1995 <testebash@outlook.com>
 Bohan Li <bohanli@google.com>
 Brennan Shacklett <bshacklett@mozilla.com>
 Brion Vibber <bvibber@wikimedia.org>
@@ -127,8 +129,10 @@
 Jeff Faust <jfaust@google.com>
 Jeff Muizelaar <jmuizelaar@mozilla.com>
 Jeff Petkau <jpet@chromium.org>
+Jeremy Dorfman <jdorfman@google.com>
 Jerome Jiang <jianj@google.com>
 jerry <jerytsai@andestech.com>
+Jerry Tsai <jerytsai@andestech.com>
 Jia Jia <jia.jia@linaro.org>
 Jian Zhou <zhoujian@fb.com>
 Jim Bankoski <jimbankoski@google.com>
@@ -148,6 +152,7 @@
 Julio Barba <juliobbv@gmail.com>
 Justin Clift <justin@salasaga.org>
 Justin Lebar <justin.lebar@gmail.com>
+Kalamatee <kalamatee@gmail.com>
 Katsuhisa Yuasa <berupon@gmail.com>
 Kavi Ramamurthy <kavii@google.com>
 KO Myung-Hun <komh@chollian.net>
@@ -155,6 +160,7 @@
 Krishna Malladi <kmalladi@google.com>
 Kwanghoon Son <kwangson@yahoo.com>
 Kyle Siefring <siekyleb@amazon.com>
+Kyle Swanson <kswanson@netflix.com>
 Larisa Markeeva <lmarkeeva@google.com>
 Lauren Partin <lpartin@google.com>
 Lawrence Velázquez <larryv@macports.org>
@@ -225,6 +231,7 @@
 Peter Kasting <pkasting@chromium.org>
 Philip Jägenstedt <philipj@opera.com>
 Philippe Antoine <p.antoine@catenacyber.fr>
+Philipp Hancke <phancke@meta.com>
 Pradeep Kumar <pradeep.kumar@intel.corp-partner.google.com>
 Priit Laes <plaes@plaes.org>
 Qiu Jianlin <jianlin.qiu@intel.com>
diff --git a/CHANGELOG b/CHANGELOG
index 89d7a99..b7de2bf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,4 @@
-2025-mm-dd next version
+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
@@ -9,19 +9,25 @@
 
   - 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.
+      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
+       * 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
@@ -32,14 +38,37 @@
       * 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
 
 2025-04-11 v3.12.1
   This release includes several bug fixes. This release is ABI
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 382abf9..c7c513b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,9 +58,9 @@
 # We set SO_FILE_VERSION = [c-a].a.r
 #
 # The VERSION number in project() should be updated when these variables are.
-set(LT_CURRENT 15)
-set(LT_REVISION 1)
-set(LT_AGE 12)
+set(LT_CURRENT 16)
+set(LT_REVISION 0)
+set(LT_AGE 13)
 math(EXPR SO_VERSION "${LT_CURRENT} - ${LT_AGE}")
 set(SO_FILE_VERSION "${SO_VERSION}.${LT_AGE}.${LT_REVISION}")
 unset(LT_CURRENT)