Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [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