* [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