i have a fix for this once this gets commited

On 25/05/26 03:01 -0400, Brad Smith wrote:
> Here is an update to aom 3.14.1.
> 
> Build tested with dependencies, chromium, iridium, ungoogled-chromium
> all fail to build in the same manner.
> 
> ../../third_party/libaom/source/libaom/av1/encoder/encodetxb.c:279:6: error: 
> conflicting types for 'av1_get_nz_map_contexts_c'
>   279 | void av1_get_nz_map_contexts_c(const uint8_t *const levels,
>       |      ^
> ../../third_party/libaom/source/config/linux/arm64-cpu-detect/config/av1_rtcd.h:295:6:
>  note: previous declaration is here
>   295 | void av1_get_nz_map_contexts_c(const uint8_t *const levels, const 
> int16_t *const scan, const uint16_t eob, const TX_SIZE tx_size, const 
> TX_CLASS tx_class, int8_t *const coeff_contexts);
>       |      ^
> 1 error generated.
> 
> 
> 2026-05-22 v3.14.1
>   This release is ABI compatible with the last release. See
>   https://aomedia.googlesource.com/aom/+log/v3.14.0..v3.14.1 for all the
>   commits in this release.
>   
>   - Bug Fixes
>     * b:513603812: NULL Pointer Dereference in validate_img
>       (av1_cx_iface.c) with 10-bit monochrome input
>     * oss-fuzz:514006304: Increase ctx->cx_data_sz to 2.5x uncomp frame
>       size
>         
> 2026-05-12 v3.14.0
>   This release is ABI compatible with the last release.
>   
>   This release includes significant compression efficiency and
>   perceptual quality improvements for layered image encoding, in
>   addition to bug fixes.
>   
>   The `build` directory in the source tree was removed and the original
>   build/cmake directory was moved up one level. If you use the CMake
>   toolchain files in the original build/cmake/toolchains directory,
>   they are now in the cmake/toolchains directory.
>   
>   The unsupported aom_img_fmt_t enum constants AOM_IMG_FMT_AOMYV12 and
>   AOM_IMG_FMT_AOMI420 are deprecated and will be removed in a future
>   release. Do not use them.
>   
>   The new codec controls AV1E_SET_EXTERNAL_RATE_CONTROL (including the
>   new aom_rc_funcs_t struct and the new "aom/aom_ext_ratectrl.h" and
>   "aom/aom_tpl.h" headers) and AV1E_GET_GOP_INFO (including the new
>   aom_gop_info_t struct) have the experimental API status and are NOT
>   part of the stable API. Applications that need the backward
>   compatibility of the stable API must not use
>   AV1E_SET_EXTERNAL_RATE_CONTROL and AV1E_GET_GOP_INFO.
>   
>   - New Features
>     * Tuning modes AOM_TUNE_IQ and AOM_TUNE_SSIMULACRA2 now work with
>       inter-frame encoding modes (good-quality and realtime), enabling
>       efficient layered image encoding.
>     * Variance Boost (deltaq-mode 6) support has been extended to
>       include good-quality and realtime modes.
>     * New value 2 for use_fixed_qp_offsets: disallow the application of
>       per-frame QP offsets, enabling full control of each frame's QP, by
>       adjusting rc_cfg.cq_level between each encoded frame.
>     * Low complexity decode mode (the encoder optimizations that produce
>       encoded bitstreams that can be decoded at low computational
>       complexity) now supports good-quality encoding (speed 1 to 3) for
>       not only vertical videos (608p to 1080p) but also horizontal
>       videos (720p to 1080p).
>     * Realtime encoding with non-zero lookahead is supported, for
>       !REALTME_ONLY_CONFIG.
>     * New AOM_EFLAG_FREEZE_INTERNAL_STATE flag for aom_codec_encode() to
>       encode a frame without updating encoder state such as reference
>       buffers, CDF tables, and rate control state. Useful for
>       speculative encoding.
>     * New aom_matrix_coefficients_t enum constants:
>       - AOM_CICP_MC_IPT_C2 (15): IPT-C2
>       - AOM_CICP_MC_YCGCO_RE (16): YCgCo-Re
>       - AOM_CICP_MC_YCGCO_RO (17): YCgCo-Ro
>     * New aom_metadata_insert_flags_t enum constants for adding
>       layer-specific metadata OBUs:
>       - AOM_MIF_NON_KEY_FRAME_LAYER_SPECIFIC: Adds layer-specific
>         metadata if it's not a keyframe
>       - AOM_MIF_KEY_FRAME_LAYER_SPECIFIC: Adds layer-specific metadata
>         only if it's a keyframe
>       - AOM_MIF_ANY_FRAME_LAYER_SPECIFIC: Adds layer-specific metadata
>         to any type of frame
>     * Experimental: New codec control AV1E_SET_EXTERNAL_RATE_CONTROL to
>       enable an external rate control library. Not part of the stable
>       API.
>     * Experimental: New codec control AV1E_GET_GOP_INFO to get the GOP
>       structure from the encoder. Not part of the stable API.
>     * New codec control AOME_SET_VALIDATE_HBD_INPUT to validate high
>       bitdepth (HBD) input and ensure that every pixel is within the
>       valid range. The corresponding option for aom_codec_set_option()
>       is "validate-hbd-input".
>     * New codec control AOMD_SET_FRAME_SIZE_LIMIT to set the maximum
>       frame size for a decoder
>         
>   - Compression Efficiency Improvements
>     * When encoding 2-layered images with AOM_TUNE_IQ vs. AOM_TUNE_SSIM:
>       - Good-quality mode: up to 15% gains at similar SSIMULACRA 2
>         scores.
>       - Realtime mode: up to 30% gains at similar SSIMULACRA 2 scores.
>     * Enable screen detection mode 2 (anti-aliased text and graphics
>       aware) in all-intra mode.
>     * Some minor quantization matrix formula and delta chroma q tweaks
>       for the AOM_TUNE_SSIMULACRA2 tuning mode, with up to 0.2%
>       SSIMULACRA 2 score efficiency gains.
>     * Re-tune and re-work encoder features, achieving coding gains at
>       each speed level and better coding efficiency vs complexity
>       tradeoff (an estimated 20-30% encoder time reduction with about
>       1-5% vmaf gains).
>     * RTC screen: improvements to quality and scroll detection for high
>       resolutions.
>         
>   - Perceptual Quality Improvements
>     * AOM_TUNE_IQ improves the visual quality of layered image encoding
>       compared to AOM_TUNE_SSIM.
>     * Adaptive sharpness: tweak loop filter sharpness threshold to
>       improve visual quality at QPs 29 and 30.
>     * Improve encoder algorithms in loop restoration, CDEF, temporal
>       filter and rate control, delivering better visual quality.
>         
>   - Speedups
>     * Make Adaptive CDEF more decoder friendly by limiting CDEF
>       application to only regions where high filter strengths are
>       needed.
>     * Encoder complexity is reduced significantly, especially at speed
>       1 to 3.
>     * Further AArch64 SIMD optimization of filtering algorithms,
>       particularly using Armv8.6 Neon I8MM.
>     * Additional tweaks to AArch64 Neon paths for quantization, SAD,
>       subpel variance and intra-predictors.
>         
>   - Bug Fixes
>     * Commit 4cc0867f: fix multithreading crashes when loop restoration
>       filtering is used by the encoder.
>     * Commit 74aaa1ef: fix AOM_SCALING_MODE crashes when compound mask
>       prediction modes are used by the encoder.
>     * b:502030569: Avoid assertion failure in `read_uncompressed_header`
>       triggered by fuzzed input
>     * b:503197490: Fix an integer overflow in target bits calculation
>     * b:503691210: Avoid reference to uninitialized member variables for
>       multi workers.
>     * b:504317456: Handle buffer pointer in LAP mode to avoid overflow
>     * b:502133197: Avoid a bitread assertion failure in
>       get_av1config_from_obu()
> 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/Makefile,v
> retrieving revision 1.34
> diff -u -p -u -p -r1.34 Makefile
> --- Makefile  9 Apr 2026 11:11:07 -0000       1.34
> +++ Makefile  23 May 2026 03:52:46 -0000
> @@ -1,11 +1,11 @@
>  COMMENT=     Alliance for Open Media AV1 video codec
>  
> -V=           3.13.3
> +V=           3.14.1
>  DISTNAME=    libaom-$V
>  PKGNAME=     aom-$V
>  CATEGORIES=  multimedia
>  
> -SHARED_LIBS= aom     6.0
> +SHARED_LIBS= aom     6.1
>  
>  HOMEPAGE=    https://aomedia.org/
>  SITES=               https://storage.googleapis.com/aom-releases/
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/distinfo,v
> retrieving revision 1.28
> diff -u -p -u -p -r1.28 distinfo
> --- distinfo  9 Apr 2026 11:11:07 -0000       1.28
> +++ distinfo  23 May 2026 03:52:46 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (libaom-3.13.3.tar.gz) = RGpK6XQcuPPuuYyUnSX5G0jLK4Vpyul1xLc3OS6QJPw=
> -SIZE (libaom-3.13.3.tar.gz) = 6256836
> +SHA256 (libaom-3.14.1.tar.gz) = RL+Q29I+c01Q5wqMQcKFGTkik4vQ07wu5Wdk0YHVXvU=
> +SIZE (libaom-3.14.1.tar.gz) = 6368868
> Index: patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/multimedia/aom/patches/patch-CMakeLists_txt,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 patch-CMakeLists_txt
> --- patches/patch-CMakeLists_txt      19 Jan 2026 08:58:47 -0000      1.12
> +++ patches/patch-CMakeLists_txt      23 May 2026 03:52:46 -0000
> @@ -1,7 +1,7 @@
>  Index: CMakeLists.txt
>  --- CMakeLists.txt.orig
>  +++ CMakeLists.txt
> -@@ -905,7 +905,7 @@ if(BUILD_SHARED_LIBS)
> +@@ -914,7 +914,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.5
> diff -u -p -u -p -r1.5 patch-aom_ports_ppc_cpudetect_c
> --- patches/patch-aom_ports_ppc_cpudetect_c   19 Jan 2026 08:58:47 -0000      
> 1.5
> +++ patches/patch-aom_ports_ppc_cpudetect_c   23 May 2026 03:52:46 -0000
> @@ -1,3 +1,5 @@
> +Add PowerPC CPU feature detection support for OpenBSD.
> +
>  Index: aom_ports/ppc_cpudetect.c
>  --- aom_ports/ppc_cpudetect.c.orig
>  +++ aom_ports/ppc_cpudetect.c
> Index: patches/patch-build_cmake_aom_configure_cmake
> ===================================================================
> RCS file: patches/patch-build_cmake_aom_configure_cmake
> diff -N patches/patch-build_cmake_aom_configure_cmake
> --- patches/patch-build_cmake_aom_configure_cmake     26 Feb 2025 10:23:52 
> -0000      1.14
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -ARM uses compiler intrinsics, so don't require GNU as.
> -
> -Index: build/cmake/aom_configure.cmake
> ---- build/cmake/aom_configure.cmake.orig
> -+++ build/cmake/aom_configure.cmake
> -@@ -194,6 +194,10 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
> -     if(NOT CMAKE_ASM_COMPILER)
> -       set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} "-c -mimplicit-it=always")
> -     endif()
> -+  elseif(AOM_TARGET_SYSTEM STREQUAL "OpenBSD")
> -+    if(NOT CMAKE_ASM_COMPILER)
> -+      set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
> -+    endif()
> -   else()
> -     if(NOT CMAKE_ASM_COMPILER)
> -       set(CMAKE_ASM_COMPILER as)
> Index: patches/patch-cmake_aom_configure_cmake
> ===================================================================
> RCS file: patches/patch-cmake_aom_configure_cmake
> diff -N patches/patch-cmake_aom_configure_cmake
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-cmake_aom_configure_cmake   23 May 2026 03:52:46 -0000
> @@ -0,0 +1,16 @@
> +ARM uses compiler intrinsics, so don't require GNU as.
> +
> +Index: cmake/aom_configure.cmake
> +--- cmake/aom_configure.cmake.orig
> ++++ cmake/aom_configure.cmake
> +@@ -195,6 +195,10 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
> +     if(NOT CMAKE_ASM_COMPILER)
> +       set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} "-c -mimplicit-it=always")
> +     endif()
> ++  elseif(AOM_TARGET_SYSTEM STREQUAL "OpenBSD")
> ++    if(NOT CMAKE_ASM_COMPILER)
> ++      set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
> ++    endif()
> +   else()
> +     if(NOT CMAKE_ASM_COMPILER)
> +       set(CMAKE_ASM_COMPILER as)

-- 
Regards,
Robert Nagy

Reply via email to