Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
Re: UPDATE: aom 3.10.0
To:
ports@openbsd.org
Date:
Wed, 2 Oct 2024 22:56:28 -0400

Download raw body.

Thread
ping.

On 2024-08-30 6:14 a.m., Brad Smith wrote:
> Here is an update to aom 3.10.0.
>
>
> 2024-08-27 v3.10.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.
>
>    The definitions of the internal macros AOM_INLINE and AOM_FORCE_INLINE
>    have been removed from the public header aom/aom_integer.h.
>
>    - New Features
>      * New codec controls:
>        * AV1E_SET_AUTO_TILES
>        * AV1E_GET_HIGH_MOTION_CONTENT_SCREEN_RTC
>        * AV1E_SET_POSTENCODE_DROP_RTC: Post encode frame drop feature.
>        * AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR
>      * New key-value pair for aom_codec_set_option():
>        * "auto-tiles": equivalent to the new codec control
>          AV1E_SET_AUTO_TILES.
>
>    - Deprecated Features
>      * Deprecated codec control:
>        * AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR: Use the new codec control
>          AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR instead.
>      * The sframe_mode field in the aom_codec_enc_cfg_t struct is not
>        implemented.
>
>    - Compression Efficiency Improvements
>      * BD-rate gain of 0.7 - 1.3% (by enabling global motion tool) for
>        speed 5 and speed 6 with ~5% encode time increase.
>      * RTC speed 11 video: ~3-5% BD-rate gain for VGA and QVGA.
>
>    - Perceptual Quality Improvements
>      * RTC quality improvements for slide changes and scrolling content.
>
>    - Speedup and Memory Optimizations
>      * RTC screen content speedups:
>        * ~2x speedup for high motion content for speed 11.
>        * ~2x speedup on key frame coding for speed >= 10.
>      * Arm: Significant uplifts in speed in this release (vs v3.9.1) have
>        come from tuning the various convolutions according to filter size
>        (doing 8-tap when only 2-tap is required is inefficient) and also
>        deploying Armv8.6 USMMLA instructions in 6-tap and 12-tap standard
>        bitdepth convolutions.
>        * Standard bitdepth RTC:
>          * speed 5: +5%
>          * speed 6: +4%
>          * speed 7: +5%
>          * speed 8: +4%
>          * speed 9: +6%
>          * speed 10: +6%
>        * Standard bitdepth VoD:
>          * speed 0: +9%
>          * speed 1: +12%
>          * speed 2: +9%
>          * speed 3: +3%
>          * speed 4: +3%
>          * speed 5: -9% (expected due to global motion changes)
>          * speed 6: -3% (expected due to global motion changes)
>        * High bitdepth VoD:
>          * speed 0: +4%
>          * speed 1: +19%
>          * speed 2: +23%
>          * speed 3: +1%
>          * speed 4: +1%
>          * speed 5: -8% (expected due to global motion changes)
>          * speed 6: -3% (expected due to global motion changes)
>        * Standard bitdepth 2x1 horizontal super-resolution/scaling
>          encoding: +101%
>
>    - Other Improvements
>      * Reduce bit rate overshoot on slide content.
>
>    - Bug Fixes
>      * rtc: Bug fix for active_maps with sb_size=128.
>      * b:343429036: rtc: Fix source_sad setting near boundary.
>      * Fix to QP for temporal enhancement after key frame.
>      * b:343429192: rtc: Condition QP adjustment on rc->q_1/2_frame > 0.
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/Makefile,v
> retrieving revision 1.26
> diff -u -p -u -p -r1.26 Makefile
> --- Makefile	21 Aug 2024 05:41:23 -0000	1.26
> +++ Makefile	30 Aug 2024 07:33:57 -0000
> @@ -1,12 +1,11 @@
>   COMMENT=	Alliance for Open Media AV1 video codec
>   
> -V=		3.9.1
> +V=		3.10.0
>   DISTNAME=	libaom-$V
>   PKGNAME=	aom-$V
> -REVISION=	0
>   CATEGORIES=	multimedia
>   
> -SHARED_LIBS=	aom	4.2
> +SHARED_LIBS=	aom	4.3
>   
>   HOMEPAGE=	https://aomedia.org/
>   SITES=		https://storage.googleapis.com/aom-releases/
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/distinfo,v
> retrieving revision 1.21
> diff -u -p -u -p -r1.21 distinfo
> --- distinfo	22 Jun 2024 09:32:46 -0000	1.21
> +++ distinfo	30 Aug 2024 07:33:57 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (libaom-3.9.1.tar.gz) = 26mfwcKKqt4o3aWYIRZrL6kcBhYtG8mf3g3arXzsxQ4=
> -SIZE (libaom-3.9.1.tar.gz) = 5524048
> +SHA256 (libaom-3.10.0.tar.gz) = Vcy2gW+0t9UI2WqVtunMPSwK4Ef5+UfbugNyC1bYljE=
> +SIZE (libaom-3.10.0.tar.gz) = 5445319
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/patches/patch-CMakeLists_txt,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 patch-CMakeLists_txt
> --- patches/patch-CMakeLists_txt	7 May 2024 15:01:42 -0000	1.7
> +++ patches/patch-CMakeLists_txt	30 Aug 2024 07:33:57 -0000
> @@ -1,7 +1,7 @@
>   Index: CMakeLists.txt
>   --- CMakeLists.txt.orig
>   +++ CMakeLists.txt
> -@@ -829,7 +829,8 @@ if(BUILD_SHARED_LIBS)
> +@@ -853,7 +853,8 @@ if(BUILD_SHARED_LIBS)
>      # https://clang.llvm.org/docs/MemorySanitizer.html#usage.
>      if(NOT WIN32
>         AND NOT APPLE
> Index: patches/patch-build_cmake_aom_configure_cmake
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/patches/patch-build_cmake_aom_configure_cmake,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 patch-build_cmake_aom_configure_cmake
> --- patches/patch-build_cmake_aom_configure_cmake	5 Mar 2024 17:39:35 -0000	1.12
> +++ patches/patch-build_cmake_aom_configure_cmake	30 Aug 2024 07:33:57 -0000
> @@ -5,7 +5,7 @@ Index: build/cmake/aom_configure.cmake
>   +++ build/cmake/aom_configure.cmake
>   @@ -192,6 +192,10 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
>        if(NOT CMAKE_ASM_COMPILER)
> -       set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} -c -mimplicit-it=always)
> +       set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} "-c -mimplicit-it=always")
>        endif()
>   +  elseif(AOM_TARGET_SYSTEM STREQUAL "OpenBSD")
>   +    if(NOT CMAKE_ASM_COMPILER)
>