aom: upgrade 3.13.1 -> 3.14.1

Upstream changes (CHANGELOG):
 * 3.14.0: significant compression-efficiency and perceptual-quality
   improvements for layered image encoding; AOM_TUNE_IQ and
   AOM_TUNE_SSIMULACRA2 now work with inter-frame (good-quality and
   realtime) modes; Variance Boost (deltaq-mode 6) extended. New
   experimental controls AV1E_SET_EXTERNAL_RATE_CONTROL and
   AV1E_GET_GOP_INFO. The in-tree "build" directory was removed and
   build/cmake moved up one level to cmake/; AOMYV12/AOMI420 img fmts
   deprecated. ABI compatible.
 * 3.14.1: bug fixes - NULL deref in validate_img() with 10-bit
   monochrome input; enlarge cx_data buffer to 2.5x uncompressed frame
   size (oss-fuzz). ABI compatible.

Drop both local patches, now upstream in 3.14.1:
 * 0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch -
   3.14.1's subpel_variance_neon.c includes subpel_variance_neon.h which
   declares the previously-implicit prototypes.
 * 0001-cmake-fix-nasm-detection-w-3.0.patch - the "-hO" nasm-3.0
   detection fix is present in cmake/aom_optimization.cmake (the cmake
   dir also moved out of build/ this cycle).

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Khem Raj
2026-07-29 07:13:29 +00:00
parent ce2a27d67c
commit 69d615b17a
3 changed files with 2 additions and 154 deletions
@@ -1,40 +0,0 @@
From 83c37c8bc1f4cd7e604c34df7888c425a8cb6b26 Mon Sep 17 00:00:00 2001
From: James Zern <jzern@google.com>
Date: Tue, 7 Oct 2025 14:08:44 -0700
Subject: [PATCH] cmake: fix nasm detection w/3.0
nasm 3.0 separated Oflags (-Ox) output to `-hO` which is used to
validate the nasm binary. This change is compatible with older versions
(tested with NASM version 2.16.03 & 2.13.02).
Upstream-Status: Backport [https://aomedia-review.googlesource.com/c/aom/+/203481]
Bug: aomedia:448994065
Fixed: aomedia:448994065
Change-Id: I704dcfe39ac6e68bc4d5b9e409fb59a0d277170e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
build/cmake/aom_optimization.cmake | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build/cmake/aom_optimization.cmake b/build/cmake/aom_optimization.cmake
index 9cc34de..2750a0b 100644
--- a/build/cmake/aom_optimization.cmake
+++ b/build/cmake/aom_optimization.cmake
@@ -212,7 +212,7 @@ endfunction()
# Currently checks only for presence of required object formats and support for
# the -Ox argument (multipass optimization).
function(test_nasm)
- execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hf
+ execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hO
OUTPUT_VARIABLE nasm_helptext)
if(NOT "${nasm_helptext}" MATCHES "-Ox")
@@ -220,6 +220,8 @@ function(test_nasm)
FATAL_ERROR "Unsupported nasm: multipass optimization not supported.")
endif()
+ execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hf
+ OUTPUT_VARIABLE nasm_helptext)
if("${AOM_TARGET_CPU}" STREQUAL "x86")
if("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
if(NOT "${nasm_helptext}" MATCHES "macho32")
@@ -1,109 +0,0 @@
From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 23 May 2023 14:59:26 -0700
Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing
functions
Fixes build with clang-15
aom_dsp/arm/subpel_variance_neon.c:121:10: error: call to undeclared function 'aom_variance8x8_neon'; ISO C99 and later do not support implicit function dec
larations [-Wimplicit-function-declaration]
| return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse);
| ^
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
aom_dsp/arm/subpel_variance_neon.c | 76 ++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c
index a05886066c4..ea6bada224d 100644
--- a/aom_dsp/arm/subpel_variance_neon.c
+++ b/aom_dsp/arm/subpel_variance_neon.c
@@ -20,6 +20,82 @@
#include "aom_dsp/variance.h"
#include "aom_dsp/arm/mem_neon.h"
+extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance16x16_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance16x32_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance16x64_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance32x8_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance32x16_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance32x64_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance32x128_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance64x8_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance64x16_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance64x32_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance64x128_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance128x8_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance128x16_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance128x32_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance128x64_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
+extern unsigned int aom_variance128x128_neon(const uint8_t *a, int a_stride,
+ const uint8_t *b, int b_stride,
+ unsigned int *sse);
+
static void var_filter_block2d_bil_w4(const uint8_t *src_ptr, uint8_t *dst_ptr,
int src_stride, int pixel_step,
int dst_height, int filter_offset) {
--
2.40.1
@@ -5,11 +5,8 @@ LICENSE = "BSD-2-Clause AND LicenseRef-AOM-Patent-License-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
"
SRCREV = "d772e334cc724105040382a977ebb10dfd393293"
SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main;tag=v${PV} \
file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch \
file://0001-cmake-fix-nasm-detection-w-3.0.patch \
"
SRCREV = "03087864cf4bea6abb0d28f95cf7843511413d8f"
SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main;tag=v${PV}"
inherit cmake pkgconfig
DEPENDS = " nasm-native"