* [FFmpeg-devel] [PATCH 1/2] aarch64: Stop using asm/hwcap.h for the HWCAP_* detection
@ 2023-10-18 12:05 Martin Storsjö
2023-10-18 12:05 ` [FFmpeg-devel] [PATCH 2/2] aarch64: Only enable extensions in the intended files/regions Martin Storsjö
0 siblings, 1 reply; 3+ messages in thread
From: Martin Storsjö @ 2023-10-18 12:05 UTC (permalink / raw)
To: ffmpeg-devel
Including sys/auxv.h should be enough (it pulls in bits/hwcap.h,
which provides the same defines).
---
configure | 2 --
libavutil/aarch64/cpu.c | 3 +--
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/configure b/configure
index bc0c0bd4e4..4ab20c54ec 100755
--- a/configure
+++ b/configure
@@ -2202,7 +2202,6 @@ HAVE_LIST_PUB="
HEADERS_LIST="
arpa_inet_h
- asm_hwcap_h
asm_types_h
cdio_paranoia_h
cdio_paranoia_paranoia_h
@@ -6453,7 +6452,6 @@ check_headers io.h
enabled libdrm &&
check_headers linux/dma-buf.h
-check_headers asm/hwcap.h
check_headers linux/perf_event.h
check_headers libcrystalhd/libcrystalhd_if.h
check_headers malloc.h
diff --git a/libavutil/aarch64/cpu.c b/libavutil/aarch64/cpu.c
index 2803b31443..bd780e8591 100644
--- a/libavutil/aarch64/cpu.c
+++ b/libavutil/aarch64/cpu.c
@@ -20,9 +20,8 @@
#include "libavutil/cpu_internal.h"
#include "config.h"
-#if (defined(__linux__) || defined(__ANDROID__)) && HAVE_GETAUXVAL && HAVE_ASM_HWCAP_H
+#if (defined(__linux__) || defined(__ANDROID__)) && HAVE_GETAUXVAL
#include <stdint.h>
-#include <asm/hwcap.h>
#include <sys/auxv.h>
#define get_cpu_feature_reg(reg, val) \
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* [FFmpeg-devel] [PATCH 2/2] aarch64: Only enable extensions in the intended files/regions
2023-10-18 12:05 [FFmpeg-devel] [PATCH 1/2] aarch64: Stop using asm/hwcap.h for the HWCAP_* detection Martin Storsjö
@ 2023-10-18 12:05 ` Martin Storsjö
2023-10-24 12:06 ` Martin Storsjö
0 siblings, 1 reply; 3+ messages in thread
From: Martin Storsjö @ 2023-10-18 12:05 UTC (permalink / raw)
To: ffmpeg-devel
This eases actual development of the assembly functions, by only
allowing extension instructions within the sections that explicitly
enable them, instead of having all extensions enabled everywhere.
---
libavcodec/aarch64/hevcdsp_epel_neon.S | 3 ++-
libavcodec/aarch64/hevcdsp_qpel_neon.S | 2 ++
libavutil/aarch64/asm.S | 16 ++++++++++++++--
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S
index edaf39ed92..e398e6ac9d 100644
--- a/libavcodec/aarch64/hevcdsp_epel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_epel_neon.S
@@ -339,6 +339,7 @@ function ff_hevc_put_hevc_epel_uni_v64_8_neon, export=1
endfunc
#if HAVE_I8MM
+ENABLE_I8MM
.macro EPEL_H_HEADER
movrel x5, epel_filters
@@ -1963,7 +1964,7 @@ function ff_hevc_put_hevc_epel_uni_w_hv64_8_neon_i8mm, export=1
ret
endfunc
-
+DISABLE_I8MM
#endif
diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S b/libavcodec/aarch64/hevcdsp_qpel_neon.S
index 1212eae63d..e131b92a98 100644
--- a/libavcodec/aarch64/hevcdsp_qpel_neon.S
+++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S
@@ -1558,6 +1558,7 @@ function ff_hevc_put_hevc_qpel_uni_w_v64_8_neon, export=1
endfunc
#if HAVE_I8MM
+ENABLE_I8MM
.macro calc_all2
calc v30, v31, v16, v18, v20, v22, v24, v26, v28, v30, v17, v19, v21, v23, v25, v27, v29, v31
@@ -3395,4 +3396,5 @@ function ff_hevc_put_hevc_qpel_uni_w_hv64_8_neon_i8mm, export=1
ret
endfunc
+DISABLE_I8MM
#endif // HAVE_I8MM
diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S
index 8589cf74fc..1840f9fb01 100644
--- a/libavutil/aarch64/asm.S
+++ b/libavutil/aarch64/asm.S
@@ -41,12 +41,24 @@
#endif
#if HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE
- .arch_extension dotprod
+#define ENABLE_DOTPROD .arch_extension dotprod
+#define DISABLE_DOTPROD .arch_extension nodotprod
+#else
+#define ENABLE_DOTPROD
+#define DISABLE_DOTPROD
#endif
+
#if HAVE_AS_ARCHEXT_I8MM_DIRECTIVE
- .arch_extension i8mm
+#define ENABLE_I8MM .arch_extension i8mm
+#define DISABLE_I8MM .arch_extension noi8mm
+#else
+#define ENABLE_I8MM
+#define DISABLE_I8MM
#endif
+DISABLE_DOTPROD
+DISABLE_I8MM
+
/* Support macros for
* - Armv8.3-A Pointer Authentication and
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] aarch64: Only enable extensions in the intended files/regions
2023-10-18 12:05 ` [FFmpeg-devel] [PATCH 2/2] aarch64: Only enable extensions in the intended files/regions Martin Storsjö
@ 2023-10-24 12:06 ` Martin Storsjö
0 siblings, 0 replies; 3+ messages in thread
From: Martin Storsjö @ 2023-10-24 12:06 UTC (permalink / raw)
To: ffmpeg-devel
On Wed, 18 Oct 2023, Martin Storsjö wrote:
> This eases actual development of the assembly functions, by only
> allowing extension instructions within the sections that explicitly
> enable them, instead of having all extensions enabled everywhere.
> ---
> libavcodec/aarch64/hevcdsp_epel_neon.S | 3 ++-
> libavcodec/aarch64/hevcdsp_qpel_neon.S | 2 ++
> libavutil/aarch64/asm.S | 16 ++++++++++++++--
> 3 files changed, 18 insertions(+), 3 deletions(-)
Pushed.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-10-24 12:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-18 12:05 [FFmpeg-devel] [PATCH 1/2] aarch64: Stop using asm/hwcap.h for the HWCAP_* detection Martin Storsjö
2023-10-18 12:05 ` [FFmpeg-devel] [PATCH 2/2] aarch64: Only enable extensions in the intended files/regions Martin Storsjö
2023-10-24 12:06 ` Martin Storsjö
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git