diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-05-21 22:27:39 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-05-23 15:03:51 -0700 |
commit | ef89ac9f217d7ff966a2724a60721c8d9adc89bc (patch) | |
tree | cc05ee428921b8081a54d695647595012a619e3c /meta-multimedia | |
parent | fcdb991b8015e77353517fb327d0def2a23b0173 (diff) | |
download | meta-openembedded-ef89ac9f217d7ff966a2724a60721c8d9adc89bc.tar.gz |
aom: Upgrade to 3.6.1
Switch to using nasm instead of yasm on x86 builds for asm
optimizations. This is to enable reproducible builds even though yasm is
preferred but it encodes FILE directive in ELF to absolute path of asm
files and results in buildpath warnings, there is no way to remove it
without editing the final binaries. nasm provides --reproducible option
to handle it nicely
License-Update: Fixes a typo [1]
[1] https://aomedia.googlesource.com/aom/+/f97c63026174df67bc08c75fa72bf0ad01ca1a98
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r-- | meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch | 83 | ||||
-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 100507cde..8a8350ec5 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 @@ | |||
1 | From c33e07f78982acfb0574a84fb523f8591e55c50e Mon Sep 17 00:00:00 2001 | 1 | From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 11 Sep 2022 19:46:28 -0700 | 3 | Date: Tue, 23 May 2023 14:59:26 -0700 |
4 | Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing | 4 | Subject: [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 | ||
13 | Upstream-Status: Pending | 13 | Upstream-Status: Pending |
14 | |||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 15 | Signed-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 | ||
19 | diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c | 20 | diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c |
20 | index 4ecf891cbeb..859168ea0c5 100644 | 21 | index 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 | -- |
47 | 2.37.3 | 108 | 2.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 9cd6f7a9e..ff7f0d090 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 | ||
4 | LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" | 4 | LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" |
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ |
6 | file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ | 6 | file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \ |
7 | " | 7 | " |
8 | 8 | SRCREV = "7ade96172b95adc91a5d85bf80c90989cd543ee8" | |
9 | SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ | 9 | SRC_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 | |||
13 | SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944" | ||
14 | 11 | ||
15 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
16 | 13 | ||
17 | inherit cmake pkgconfig | 14 | inherit cmake pkgconfig |
18 | DEPENDS = " yasm-native" | 15 | |
16 | DEPENDS = " nasm-native" | ||
19 | 17 | ||
20 | EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ | 18 | EXTRA_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 | 22 | CMAKE_VERBOSE = "VERBOSE=1" | |
24 | CFLAGS:append:libc-musl = " -D_GNU_SOURCE" | 23 | CFLAGS:append:libc-musl = " -D_GNU_SOURCE" |
25 | EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" | 24 | EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" |