Browse Source

contrib: aom: update to 3.8.0

Release v3.8.0 Jelly Bee

2023-11-30 v3.8.0
  This release includes new codec interfaces, compression efficiency and
  perceptual improvements, speedup and memory optimizations and many bug
  fixes. This release is ABI compatible with the last release.

  - New Features
    * New codec controls:
      * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Set the maximum number of
        consecutive frame drops allowed for the frame dropper in 1 pass
        CBR mode.
    * Run-time CPU feature detection for all Arm platforms:
      CRC, DotProd, I8MM and SVE CPU feature presence is detected at run
      time and code paths making use of these features are selected
      dynamically. These code paths provide meaningful performance gains
      for standard bitdepth RTC and VoD encoding: up to 10% and 20%
      respectively, over the Armv8.0-A baseline build.
    * RTC: Frame-dropper support added to the rate control library.
    * RTC Rate control improvements for low bitrate and for SVC.

  - Compression Efficiency Improvements
    * Improved accuracy of cost estimation for loop restoration and
      global motion.
    * Improved selection of loop restoration unit size - full search up
      to (non-realtime) speed 2, retuned static selection at higher
      speeds.
    * RTC Screen content mode: 3-5% bdrate gains across speeds 7 - 10.
    * Good-quality mode: 0.2 - 0.5% bdrate gains across speeds 1 - 4.

  - Perceptual Quality Improvements
    * RTC Screen: Improved visual quality for scrolling.
    * RTC: Improved color quality for both screen and video mode.

  - Speedup and Memory Optimizations
    * Good-quality, single-thread encoder speedups:
      o 15% improvement for speed 5.
      o 12% improvement for speed 6.
    * Arm standard bitdepth VoD (--good):
      o 8% speedup for speeds 0 and 1.
      o 20% speedup for speed 2.
      o 27% speedup for speed 3.
      o 30% speedup for speed 4.
      o 38% speedup for speeds 5 and 6.
    * Arm high bitdepth VoD (--good):
      o 206% speedup for speeds 0 and 1.
      o 180% speedup for speed 2.
      o 51% speedup for speeds 3 and 4.
      o 68% speedup for speed 5.
      o 72% speedup for speed 6.
    * RTC Screen content: 2-6% speedup across speeds 7-10.
    * RTC: 2-3% speedup for temporal layers.
    * RTC: Speedups to reference scaling in nonrd pickmode.
    * Good-quality mode: Simplified global motion estimation, saving
      ~1200 lines of code and 1KB of tables while improving quality.

  - Bug Fixes
    * Fixes to improve libaom stability in case of memory allocation
      failures.
    * Fixes to SIMD functions (x86 AVX2/SSE2 and ARM Neon).
    * b/310457427, b/310766628: Bug fixes to only use rec_sse in CBR
      mode.
pull/162/head
Tristan Matthews 3 years ago
parent
commit
745c1bf5c5
  1. 64
      contrib/src/aom/0001-Use-the-pthread-library-found-by-CMake-in-the-pkg-co.patch
  2. 2
      contrib/src/aom/SHA512SUMS
  3. 3
      contrib/src/aom/rules.mak

64
contrib/src/aom/0001-Use-the-pthread-library-found-by-CMake-in-the-pkg-co.patch

@ -1,64 +0,0 @@
From 8c4905abedc2ae7ca507ff2933721ca29ec3a9eb Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@videolan.org>
Date: Wed, 13 Sep 2023 11:19:02 -0400
Subject: [PATCH] Use the pthread library found by CMake in the pkg-config file
It may be empty on some platforms (Android)
See https://cmake.org/cmake/help/latest/module/FindThreads.html for
explanation of the CMake variable.
We already use CMAKE_USE_PTHREADS_INIT to check whether it detected
pthread usage. And HAVE_PTHREAD_H is to to its value.
Change-Id: I93a20ea4f7d0687bfa436de07eac7660c8f1e425
---
build/cmake/aom_install.cmake | 2 +-
build/cmake/pkg_config.cmake | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/build/cmake/aom_install.cmake b/build/cmake/aom_install.cmake
index b02c7b9..2c263e9 100644
--- a/build/cmake/aom_install.cmake
+++ b/build/cmake/aom_install.cmake
@@ -46,12 +46,12 @@ macro(setup_aom_install_targets)
-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
-DCMAKE_PROJECT_NAME=${CMAKE_PROJECT_NAME}
+ -DCMAKE_THREAD_LIBS_INIT=${CMAKE_THREAD_LIBS_INIT}
-DCONFIG_MULTITHREAD=${CONFIG_MULTITHREAD}
-DCONFIG_TUNE_VMAF=${CONFIG_TUNE_VMAF}
-DCONFIG_TUNE_BUTTERAUGLI=${CONFIG_TUNE_BUTTERAUGLI}
-DCONFIG_SALIENCY_MAP=${CONFIG_SALIENCY_MAP}
-DCONFIG_TFLITE=${CONFIG_TFLITE}
- -DHAVE_PTHREAD_H=${HAVE_PTHREAD_H}
-P
"${AOM_ROOT}/build/cmake/pkg_config.cmake"
COMMENT "Writing aom.pc"
diff --git a/build/cmake/pkg_config.cmake b/build/cmake/pkg_config.cmake
index e8fff2e..d3ba67b 100644
--- a/build/cmake/pkg_config.cmake
+++ b/build/cmake/pkg_config.cmake
@@ -13,7 +13,7 @@ cmake_minimum_required(VERSION 3.5)
set(REQUIRED_ARGS "AOM_ROOT" "AOM_CONFIG_DIR" "CMAKE_INSTALL_PREFIX"
"CMAKE_INSTALL_BINDIR" "CMAKE_INSTALL_INCLUDEDIR"
"CMAKE_INSTALL_LIBDIR" "CMAKE_PROJECT_NAME"
- "CONFIG_MULTITHREAD" "HAVE_PTHREAD_H")
+ "CONFIG_MULTITHREAD")
foreach(arg ${REQUIRED_ARGS})
if("${${arg}}" STREQUAL "")
@@ -60,8 +60,8 @@ if(CONFIG_TUNE_BUTTERAUGLI)
endif()
file(APPEND "${pkgconfig_file}" "\nConflicts:\n")
file(APPEND "${pkgconfig_file}" "Libs: -L\${libdir} -l${pkg_name}\n")
-if(CONFIG_MULTITHREAD AND HAVE_PTHREAD_H)
- file(APPEND "${pkgconfig_file}" "Libs.private: -lm -lpthread\n")
+if(CONFIG_MULTITHREAD AND CMAKE_THREAD_LIBS_INIT)
+ file(APPEND "${pkgconfig_file}" "Libs.private: -lm ${CMAKE_THREAD_LIBS_INIT}\n")
else()
file(APPEND "${pkgconfig_file}" "Libs.private: -lm\n")
endif()
--
2.39.2

2
contrib/src/aom/SHA512SUMS

@ -1 +1 @@
b763a877db26dcaddea5513825900917e55bc131bf78a83f941f1e74b534a514cb599fb64c3ac18a8202ac0a72c511dfef6eeff21dfbe59ed9816887ca3ec5f3 libaom-3.7.0.tar.gz
201a3ef00c0de3f90ed2486b306b836ec3e5c891c0ea05cb4607523f084f957849d38cd1e2684c05af2a93180a1b151ccc7a99ba8d5d52a84d8cb17cb25b0e8a libaom-3.8.0.tar.gz

3
contrib/src/aom/rules.mak

@ -1,5 +1,5 @@
# aom
AOM_VERSION := 3.7.0
AOM_VERSION := 3.8.0
AOM_URL := https://storage.googleapis.com/aom-releases/libaom-$(AOM_VERSION).tar.gz
PKGS += aom
@ -14,7 +14,6 @@ $(TARBALLS)/libaom-$(AOM_VERSION).tar.gz:
aom: libaom-$(AOM_VERSION).tar.gz .sum-aom
$(UNPACK)
$(APPLY) $(SRC)/aom/0001-Use-the-pthread-library-found-by-CMake-in-the-pkg-co.patch
$(APPLY) $(SRC)/aom/0002-cmake-win-fix-asm-flag-appending.patch
$(MOVE)

Loading…
Cancel
Save