summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch83
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb (renamed from meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb)15
2 files changed, 79 insertions, 19 deletions
diff --git a/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch
index 100507cdec..8a8350ec57 100644
--- a/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch
+++ b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch
@@ -1,6 +1,6 @@
1From c33e07f78982acfb0574a84fb523f8591e55c50e Mon Sep 17 00:00:00 2001 1From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 11 Sep 2022 19:46:28 -0700 3Date: Tue, 23 May 2023 14:59:26 -0700
4Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing 4Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing
5 functions 5 functions
6 6
@@ -11,18 +11,19 @@ larations [-Wimplicit-function-declaration]
11| ^ 11| ^
12 12
13Upstream-Status: Pending 13Upstream-Status: Pending
14
14Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
15--- 16---
16 aom_dsp/arm/subpel_variance_neon.c | 16 ++++++++++++++++ 17 aom_dsp/arm/subpel_variance_neon.c | 76 ++++++++++++++++++++++++++++++
17 1 file changed, 16 insertions(+) 18 1 file changed, 76 insertions(+)
18 19
19diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c 20diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c
20index 4ecf891cbeb..859168ea0c5 100644 21index a05886066c4..ea6bada224d 100644
21--- a/aom_dsp/arm/subpel_variance_neon.c 22--- a/aom_dsp/arm/subpel_variance_neon.c
22+++ b/aom_dsp/arm/subpel_variance_neon.c 23+++ b/aom_dsp/arm/subpel_variance_neon.c
23@@ -20,6 +20,22 @@ 24@@ -20,6 +20,82 @@
24 #include "aom_dsp/aom_filter.h"
25 #include "aom_dsp/variance.h" 25 #include "aom_dsp/variance.h"
26 #include "aom_dsp/arm/mem_neon.h"
26 27
27+extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride, 28+extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride,
28+ const uint8_t *b, int b_stride, 29+ const uint8_t *b, int b_stride,
@@ -32,17 +33,77 @@ index 4ecf891cbeb..859168ea0c5 100644
32+ const uint8_t *b, int b_stride, 33+ const uint8_t *b, int b_stride,
33+ unsigned int *sse); 34+ unsigned int *sse);
34+ 35+
36+extern unsigned int aom_variance16x32_neon(const uint8_t *a, int a_stride,
37+ const uint8_t *b, int b_stride,
38+ unsigned int *sse);
39+
40+extern unsigned int aom_variance16x64_neon(const uint8_t *a, int a_stride,
41+ const uint8_t *b, int b_stride,
42+ unsigned int *sse);
43+
44+extern unsigned int aom_variance32x8_neon(const uint8_t *a, int a_stride,
45+ const uint8_t *b, int b_stride,
46+ unsigned int *sse);
47+
48+extern unsigned int aom_variance32x16_neon(const uint8_t *a, int a_stride,
49+ const uint8_t *b, int b_stride,
50+ unsigned int *sse);
51+
35+extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride, 52+extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride,
36+ const uint8_t *b, int b_stride, 53+ const uint8_t *b, int b_stride,
37+ unsigned int *sse); 54+ unsigned int *sse);
38+ 55+
56+extern unsigned int aom_variance32x64_neon(const uint8_t *a, int a_stride,
57+ const uint8_t *b, int b_stride,
58+ unsigned int *sse);
59+
60+extern unsigned int aom_variance32x128_neon(const uint8_t *a, int a_stride,
61+ const uint8_t *b, int b_stride,
62+ unsigned int *sse);
63+
64+extern unsigned int aom_variance64x8_neon(const uint8_t *a, int a_stride,
65+ const uint8_t *b, int b_stride,
66+ unsigned int *sse);
67+
68+extern unsigned int aom_variance64x16_neon(const uint8_t *a, int a_stride,
69+ const uint8_t *b, int b_stride,
70+ unsigned int *sse);
71+
72+extern unsigned int aom_variance64x32_neon(const uint8_t *a, int a_stride,
73+ const uint8_t *b, int b_stride,
74+ unsigned int *sse);
75+
39+extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride, 76+extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride,
40+ const uint8_t *b, int b_stride, 77+ const uint8_t *b, int b_stride,
41+ unsigned int *sse); 78+ unsigned int *sse);
42+ 79+
43 // Load 2 sets of 4 bytes when alignment is not guaranteed. 80+extern unsigned int aom_variance64x128_neon(const uint8_t *a, int a_stride,
44 static INLINE uint8x8_t load_unaligned_u8(const uint8_t *buf, int stride) { 81+ const uint8_t *b, int b_stride,
45 uint32_t a; 82+ unsigned int *sse);
83+
84+extern unsigned int aom_variance128x8_neon(const uint8_t *a, int a_stride,
85+ const uint8_t *b, int b_stride,
86+ unsigned int *sse);
87+
88+extern unsigned int aom_variance128x16_neon(const uint8_t *a, int a_stride,
89+ const uint8_t *b, int b_stride,
90+ unsigned int *sse);
91+
92+extern unsigned int aom_variance128x32_neon(const uint8_t *a, int a_stride,
93+ const uint8_t *b, int b_stride,
94+ unsigned int *sse);
95+
96+extern unsigned int aom_variance128x64_neon(const uint8_t *a, int a_stride,
97+ const uint8_t *b, int b_stride,
98+ unsigned int *sse);
99+
100+extern unsigned int aom_variance128x128_neon(const uint8_t *a, int a_stride,
101+ const uint8_t *b, int b_stride,
102+ unsigned int *sse);
103+
104 static void var_filter_block2d_bil_w4(const uint8_t *src_ptr, uint8_t *dst_ptr,
105 int src_stride, int pixel_step,
106 int dst_height, int filter_offset) {
46-- 107--
472.37.3 1082.40.1
48 109
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb
index 9cd6f7a9e9..ff7f0d0902 100644
--- a/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb
+++ b/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb
@@ -3,23 +3,22 @@ DESCRIPTION = "Alliance for Open Media AV1 codec library"
3 3
4LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" 4LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ 5LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
6 file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ 6 file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
7 " 7 "
8 8SRCREV = "7ade96172b95adc91a5d85bf80c90989cd543ee8"
9SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ 9SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \
10 file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch \ 10 file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch"
11 "
12
13SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944"
14 11
15S = "${WORKDIR}/git" 12S = "${WORKDIR}/git"
16 13
17inherit cmake pkgconfig 14inherit cmake pkgconfig
18DEPENDS = " yasm-native" 15
16DEPENDS = " nasm-native"
19 17
20EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ 18EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
19 -DAOM_AS_FLAGS=--reproducible \
21 -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ 20 -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
22 " 21 "
23 22CMAKE_VERBOSE = "VERBOSE=1"
24CFLAGS:append:libc-musl = " -D_GNU_SOURCE" 23CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
25EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" 24EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}"