The branch, master has been updated
via 59d75bf9e46938c694729dabf7db17646f1116ba (commit)
via d5a47bf2b30afceff58a624dcc4142c18d70cbf9 (commit)
via 7356981bec3a55e62b6ccc1b82ff036cebb9c108 (commit)
via eccf130fdbcf719566d3ffb5e780d89776b77c23 (commit)
via ba94177242806ddf48e305ac52eee09a337a4a3b (commit)
via 65b4feb782ed5a8ba196d25564720f4f14c076a9 (commit)
from 1d1643b42a62af07fcb77ad6c9992dd41f4e04af (commit)
- Log -----------------------------------------------------------------
commit 59d75bf9e46938c694729dabf7db17646f1116ba
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 21:26:31 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
avutil/x86/Makefile: Only compile ASM init files when X86ASM is enabled
To do so, simply add these init files to X86ASM-OBJS instead of OBJS
in the Makefile. The former is already used for the actual assembly
files, but using them for the C init files just works, because the build
system uses file extensions to derive whether it is a C or a NASM file.
This avoids compiling unused function stubs and also reduces our
reliance on DCE: We don't add %if checks to the asm files except
for AVX, AVX2, FMA3, FMA4, XOP and AVX512, so all the MMX-SSE4
functions will be available. It also allows to remove HAVE_X86ASM checks
in these init files.
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/libavutil/aes.c b/libavutil/aes.c
index 80f8a2253d..de7144fab8 100644
--- a/libavutil/aes.c
+++ b/libavutil/aes.c
@@ -237,7 +237,7 @@ int av_aes_init(AVAES *a, const uint8_t *key, int key_bits,
int decrypt)
a->rounds = rounds;
a->crypt = decrypt ? aes_decrypt : aes_encrypt;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_init_aes_x86(a, decrypt);
#endif
diff --git a/libavutil/fixed_dsp.c b/libavutil/fixed_dsp.c
index 95f0eb2595..74cefdb145 100644
--- a/libavutil/fixed_dsp.c
+++ b/libavutil/fixed_dsp.c
@@ -165,7 +165,7 @@ AVFixedDSPContext * avpriv_alloc_fixed_dsp(int bit_exact)
#if ARCH_RISCV
ff_fixed_dsp_init_riscv(fdsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_fixed_dsp_init_x86(fdsp);
#endif
diff --git a/libavutil/float_dsp.c b/libavutil/float_dsp.c
index f38ad565cf..5bfa1008d1 100644
--- a/libavutil/float_dsp.c
+++ b/libavutil/float_dsp.c
@@ -159,7 +159,7 @@ av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int
bit_exact)
ff_float_dsp_init_ppc(fdsp, bit_exact);
#elif ARCH_RISCV
ff_float_dsp_init_riscv(fdsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_float_dsp_init_x86(fdsp);
#elif ARCH_MIPS
ff_float_dsp_init_mips(fdsp);
diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c
index 7b88738e2d..681482dc08 100644
--- a/libavutil/imgutils.c
+++ b/libavutil/imgutils.c
@@ -362,7 +362,7 @@ void av_image_copy_plane_uc_from(uint8_t *dst, ptrdiff_t
dst_linesize,
{
int ret = -1;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ret = ff_image_copy_plane_uc_from_x86(dst, dst_linesize, src, src_linesize,
bytewidth, height);
#endif
diff --git a/libavutil/lls.c b/libavutil/lls.c
index fe8f55976d..27168009c5 100644
--- a/libavutil/lls.c
+++ b/libavutil/lls.c
@@ -114,7 +114,7 @@ av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
m->evaluate_lls = evaluate_lls;
#if ARCH_RISCV
ff_init_lls_riscv(m);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_init_lls_x86(m);
#endif
}
diff --git a/libavutil/pixelutils.c b/libavutil/pixelutils.c
index 820889a143..8e91f0a2cc 100644
--- a/libavutil/pixelutils.c
+++ b/libavutil/pixelutils.c
@@ -86,7 +86,7 @@ av_pixelutils_sad_fn av_pixelutils_get_sad_fn(int w_bits, int
h_bits, int aligne
if (w_bits != h_bits) // only squared sad for now
return NULL;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_pixelutils_sad_init_x86(sad, aligned);
#endif
diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile
index 8cfd646108..4e1b4b1176 100644
--- a/libavutil/x86/Makefile
+++ b/libavutil/x86/Makefile
@@ -1,23 +1,14 @@
-OBJS += x86/aes_init.o \
- x86/cpu.o \
- x86/fixed_dsp_init.o \
- x86/float_dsp_init.o \
- x86/imgutils_init.o \
- x86/lls_init.o \
-
-OBJS-$(HAVE_X86ASM) += x86/tx_float_init.o \
-
-OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils_init.o \
+OBJS += x86/cpu.o \
EMMS_OBJS_$(HAVE_MMX_INLINE)_$(HAVE_MMX_EXTERNAL)_$(HAVE_MM_EMPTY) = x86/emms.o
-X86ASM-OBJS += x86/aes.o \
- x86/cpuid.o \
- $(EMMS_OBJS__yes_) \
- x86/fixed_dsp.o \
- x86/float_dsp.o \
- x86/imgutils.o \
- x86/lls.o \
- x86/tx_float.o \
+X86ASM-OBJS += x86/aes.o x86/aes_init.o \
+ x86/cpuid.o \
+ $(EMMS_OBJS__yes_) \
+ x86/fixed_dsp.o x86/fixed_dsp_init.o \
+ x86/float_dsp.o x86/float_dsp_init.o \
+ x86/imgutils.o x86/imgutils_init.o \
+ x86/lls.o x86/lls_init.o \
+ x86/tx_float.o x86/tx_float_init.o \
-X86ASM-OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils.o \
+X86ASM-OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils.o x86/pixelutils_init.o
commit d5a47bf2b30afceff58a624dcc4142c18d70cbf9
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 21:04:33 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
swresample/x86/Makefile: Only compile ASM init files when X86ASM is enabled
To do so, simply add these init files to X86ASM-OBJS instead of OBJS
in the Makefile. The former is already used for the actual assembly
files, but using them for the C init files just works, because the build
system uses file extensions to derive whether it is a C or a NASM file.
This avoids compiling unused function stubs and also reduces our
reliance on DCE: We don't add %if checks to the asm files except
for AVX, AVX2, FMA3, FMA4, XOP and AVX512, so all the MMX-SSE4
functions will be available. It also allows to remove HAVE_X86ASM checks
in these init files.
(x86/ops.c has already been put in X86ASM-OBJS.)
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/libswresample/resample_dsp.c b/libswresample/resample_dsp.c
index 611f44373f..96f567fe32 100644
--- a/libswresample/resample_dsp.c
+++ b/libswresample/resample_dsp.c
@@ -68,7 +68,7 @@ void swri_resample_dsp_init(ResampleContext *c)
break;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
swri_resample_dsp_x86_init(c);
#elif ARCH_ARM
swri_resample_dsp_arm_init(c);
diff --git a/libswresample/x86/Makefile b/libswresample/x86/Makefile
index fa0641f03f..c0655bb8a8 100644
--- a/libswresample/x86/Makefile
+++ b/libswresample/x86/Makefile
@@ -1,9 +1,8 @@
-X86ASM-OBJS += x86/audio_convert.o\
- x86/rematrix.o\
- x86/resample.o\
-
-OBJS += x86/audio_convert_init.o\
- x86/rematrix_init.o\
- x86/resample_init.o\
+X86ASM-OBJS += x86/audio_convert.o \
+ x86/audio_convert_init.o \
+ x86/rematrix.o \
+ x86/rematrix_init.o \
+ x86/resample.o \
+ x86/resample_init.o \
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
diff --git a/libswresample/x86/rematrix_init.c
b/libswresample/x86/rematrix_init.c
index 89ec362d62..88f27f5e93 100644
--- a/libswresample/x86/rematrix_init.c
+++ b/libswresample/x86/rematrix_init.c
@@ -32,7 +32,6 @@ D(float, avx)
D(int16, sse2)
av_cold int swri_rematrix_init_x86(struct SwrContext *s){
-#if HAVE_X86ASM
int mm_flags = av_get_cpu_flags();
int nb_in = s->used_ch_layout.nb_channels;
int nb_out = s->out.ch_count;
@@ -79,7 +78,6 @@ av_cold int swri_rematrix_init_x86(struct SwrContext *s){
memcpy(s->native_simd_matrix, s->native_matrix, num * sizeof(float));
s->native_simd_one.f = s->native_one.f;
}
-#endif
return 0;
}
commit 7356981bec3a55e62b6ccc1b82ff036cebb9c108
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 20:51:13 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
avfilter/x86/Makefile: Only compile ASM init files when X86ASM is enabled
To do so, simply add these init files to X86ASM-OBJS instead of OBJS
in the Makefile. The former is already used for the actual assembly
files, but using them for the C init files just works, because the build
system uses file extensions to derive whether it is a C or a NASM file.
This avoids compiling unused function stubs and also reduces our
reliance on DCE: We don't add %if checks to the asm files except
for AVX, AVX2, FMA3, FMA4, XOP and AVX512, so all the MMX-SSE4
functions will be available. It also allows to remove HAVE_X86ASM checks
in these init files.
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/libavfilter/af_afirdsp.h b/libavfilter/af_afirdsp.h
index ac68447323..4ca859dfd2 100644
--- a/libavfilter/af_afirdsp.h
+++ b/libavfilter/af_afirdsp.h
@@ -77,7 +77,7 @@ av_unused static void ff_afir_init(AudioFIRDSPContext *dsp)
#if ARCH_RISCV
ff_afir_init_riscv(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_afir_init_x86(dsp);
#endif
}
diff --git a/libavfilter/af_anlmdn.c b/libavfilter/af_anlmdn.c
index b1944fb2d7..ce91eb1cfd 100644
--- a/libavfilter/af_anlmdn.c
+++ b/libavfilter/af_anlmdn.c
@@ -116,7 +116,7 @@ void ff_anlmdn_init(AudioNLMDNDSPContext *dsp)
dsp->compute_distance_ssd = compute_distance_ssd_c;
dsp->compute_cache = compute_cache_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_anlmdn_init_x86(dsp);
#endif
}
diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c
index 471bffeceb..603b92f4af 100644
--- a/libavfilter/af_volume.c
+++ b/libavfilter/af_volume.c
@@ -236,7 +236,7 @@ static av_cold void volume_init(VolumeContext *vol)
break;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_volume_init_x86(vol);
#endif
}
diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c
index abfae1f8fb..428e8bff65 100644
--- a/libavfilter/avf_showcqt.c
+++ b/libavfilter/avf_showcqt.c
@@ -1415,7 +1415,7 @@ static int config_output(AVFilterLink *outlink)
s->update_sono = update_sono_yuv;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_showcqt_init_x86(s);
#endif
diff --git a/libavfilter/bwdifdsp.c b/libavfilter/bwdifdsp.c
index e87fe414e0..58e18f0a92 100644
--- a/libavfilter/bwdifdsp.c
+++ b/libavfilter/bwdifdsp.c
@@ -218,7 +218,7 @@ av_cold void ff_bwdif_init_filter_line(BWDIFDSPContext *s,
int bit_depth)
s->filter_edge = ff_bwdif_filter_edge_c;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_bwdif_init_x86(s, bit_depth);
#elif ARCH_AARCH64
ff_bwdif_init_aarch64(s, bit_depth);
diff --git a/libavfilter/colorspacedsp.c b/libavfilter/colorspacedsp.c
index 72207ffaf3..9c51385ded 100644
--- a/libavfilter/colorspacedsp.c
+++ b/libavfilter/colorspacedsp.c
@@ -143,7 +143,7 @@ void ff_colorspacedsp_init(ColorSpaceDSPContext *dsp)
dsp->multiply3x3 = multiply3x3_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_colorspacedsp_x86_init(dsp);
#endif
}
diff --git a/libavfilter/convolution.h b/libavfilter/convolution.h
index 1196c1fcdf..f88b708fab 100644
--- a/libavfilter/convolution.h
+++ b/libavfilter/convolution.h
@@ -132,7 +132,7 @@ static inline void ff_sobel_init(ConvolutionContext *s, int
depth, int nb_planes
if (s->depth > 8)
for (int i = 0; i < 4; i++)
s->filter[i] = filter16_sobel;
-#if ARCH_X86_64
+#if ARCH_X86_64 && HAVE_X86ASM
ff_sobel_init_x86(s, depth, nb_planes);
#endif
}
diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 84d8e44035..fa6f1375a3 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -502,7 +502,7 @@ static int config_audio_output(AVFilterLink *outlink)
return AVERROR(ENOMEM);
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_ebur128_init_x86(&ebur128->dsp, nb_channels);
#endif
return 0;
diff --git a/libavfilter/psnr.c b/libavfilter/psnr.c
index a6b7f5969c..89a205f5cf 100644
--- a/libavfilter/psnr.c
+++ b/libavfilter/psnr.c
@@ -58,7 +58,7 @@ static uint64_t sse_line_16bit(const uint8_t *_main_line,
const uint8_t *_ref_li
void ff_psnr_init(PSNRDSPContext *dsp, int bpp)
{
dsp->sse_line = bpp > 8 ? sse_line_16bit : sse_line_8bit;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_psnr_init_x86(dsp, bpp);
#endif
}
diff --git a/libavfilter/scene_sad.c b/libavfilter/scene_sad.c
index 05dd97e055..56177ced76 100644
--- a/libavfilter/scene_sad.c
+++ b/libavfilter/scene_sad.c
@@ -59,7 +59,7 @@ void ff_scene_sad_c(SCENE_SAD_PARAMS)
ff_scene_sad_fn ff_scene_sad_get_fn(int depth)
{
ff_scene_sad_fn sad = NULL;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
sad = ff_scene_sad_get_fn_x86(depth);
#endif
if (!sad) {
diff --git a/libavfilter/vf_atadenoise.c b/libavfilter/vf_atadenoise.c
index cdebdb7f14..f443d34de8 100644
--- a/libavfilter/vf_atadenoise.c
+++ b/libavfilter/vf_atadenoise.c
@@ -426,7 +426,7 @@ static int config_input(AVFilterLink *inlink)
}
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_atadenoise_init_x86(&s->dsp, depth, s->algorithm, s->sigma);
#endif
diff --git a/libavfilter/vf_blackdetect.h b/libavfilter/vf_blackdetect.h
index 48350568a9..e51beda3a4 100644
--- a/libavfilter/vf_blackdetect.h
+++ b/libavfilter/vf_blackdetect.h
@@ -61,7 +61,7 @@ static unsigned count_pixels16_c(const uint8_t *src,
ptrdiff_t stride,
static inline ff_blackdetect_fn ff_blackdetect_get_fn(int depth)
{
ff_blackdetect_fn fn = NULL;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
fn = ff_blackdetect_get_fn_x86(depth);
#endif
diff --git a/libavfilter/vf_blend_init.h b/libavfilter/vf_blend_init.h
index 297ca0514f..4ee0b94ba5 100644
--- a/libavfilter/vf_blend_init.h
+++ b/libavfilter/vf_blend_init.h
@@ -190,7 +190,7 @@ av_unused static void ff_blend_init(FilterParams *param,
int depth)
param->blend = depth > 8 ? depth > 16 ? blend_copybottom_32 :
blend_copybottom_16 : blend_copybottom_8;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_blend_init_x86(param, depth);
#endif
}
diff --git a/libavfilter/vf_colordetectdsp.h b/libavfilter/vf_colordetectdsp.h
index 7a57e7aa73..ca4727b589 100644
--- a/libavfilter/vf_colordetectdsp.h
+++ b/libavfilter/vf_colordetectdsp.h
@@ -208,7 +208,7 @@ ff_color_detect_dsp_init(FFColorDetectDSPContext *dsp, int
depth,
#if ARCH_AARCH64
ff_color_detect_dsp_init_aarch64(dsp, depth, color_range);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_color_detect_dsp_init_x86(dsp, depth, color_range);
#endif
}
diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c
index 1f4efea9aa..ce42df2cde 100644
--- a/libavfilter/vf_convolution.c
+++ b/libavfilter/vf_convolution.c
@@ -800,7 +800,7 @@ static int param_init(AVFilterContext *ctx)
s->filter[p] = filter16_7x7;
}
}
-#if CONFIG_CONVOLUTION_FILTER && ARCH_X86_64
+#if CONFIG_CONVOLUTION_FILTER && ARCH_X86_64 && HAVE_X86ASM
ff_convolution_init_x86(s);
#endif
} else if (!strcmp(ctx->filter->name, "prewitt")) {
diff --git a/libavfilter/vf_eq.h b/libavfilter/vf_eq.h
index 156f6c61fe..ab5e98e83f 100644
--- a/libavfilter/vf_eq.h
+++ b/libavfilter/vf_eq.h
@@ -121,7 +121,7 @@ void ff_eq_init_x86(EQContext *eq);
av_unused static void ff_eq_init(EQContext *eq)
{
eq->process = process_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_eq_init_x86(eq);
#endif
}
diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
index a6598f97bb..468042e7db 100644
--- a/libavfilter/vf_framerate.c
+++ b/libavfilter/vf_framerate.c
@@ -262,7 +262,7 @@ void ff_framerate_init(FrameRateContext *s)
s->blend_factor_max = 1 << BLEND_FACTOR_DEPTH(16);
s->blend = blend_frames16_c;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_framerate_init_x86(s);
#endif
}
diff --git a/libavfilter/vf_fsppdsp.h b/libavfilter/vf_fsppdsp.h
index 5a2f1af030..7ba8485b4b 100644
--- a/libavfilter/vf_fsppdsp.h
+++ b/libavfilter/vf_fsppdsp.h
@@ -81,7 +81,7 @@ static inline void ff_fsppdsp_init(FSPPDSPContext *fspp)
fspp->row_idct = ff_row_idct_c;
fspp->row_fdct = ff_row_fdct_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_fsppdsp_init_x86(fspp);
#endif
}
diff --git a/libavfilter/vf_gblur_init.h b/libavfilter/vf_gblur_init.h
index 67ca46f95e..1289239778 100644
--- a/libavfilter/vf_gblur_init.h
+++ b/libavfilter/vf_gblur_init.h
@@ -115,7 +115,7 @@ av_unused static void ff_gblur_init(GBlurContext *s)
s->horiz_slice = horiz_slice_c;
s->verti_slice = verti_slice_c;
s->postscale_slice = postscale_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_gblur_init_x86(s);
#endif
}
diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c
index 4f211c3ddf..c33650576a 100644
--- a/libavfilter/vf_gradfun.c
+++ b/libavfilter/vf_gradfun.c
@@ -130,7 +130,7 @@ static av_cold int init(AVFilterContext *ctx)
s->blur_line = ff_gradfun_blur_line_c;
s->filter_line = ff_gradfun_filter_line_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_gradfun_init_x86(s);
#endif
diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h
index 0f5b0607c2..97cde15b2f 100644
--- a/libavfilter/vf_hflip_init.h
+++ b/libavfilter/vf_hflip_init.h
@@ -102,7 +102,7 @@ av_unused static int ff_hflip_init(FlipContext *s, int
step[4], int nb_planes)
return AVERROR_BUG;
}
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_hflip_init_x86(s, step, nb_planes);
#endif
diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c
index 1136931b9b..f79ef04cd3 100644
--- a/libavfilter/vf_hqdn3d.c
+++ b/libavfilter/vf_hqdn3d.c
@@ -279,7 +279,7 @@ static int config_input(AVFilterLink *inlink)
calc_coefs(ctx);
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_hqdn3d_init_x86(s);
#endif
diff --git a/libavfilter/vf_idetdsp.c b/libavfilter/vf_idetdsp.c
index 68a2a267d4..d7c271df20 100644
--- a/libavfilter/vf_idetdsp.c
+++ b/libavfilter/vf_idetdsp.c
@@ -56,7 +56,7 @@ int ff_idet_filter_line_c_16bit(const uint8_t *a, const
uint8_t *b, const uint8_
void av_cold ff_idet_dsp_init(IDETDSPContext *dsp, int depth)
{
dsp->filter_line = depth > 8 ? ff_idet_filter_line_c_16bit :
ff_idet_filter_line_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_idet_dsp_init_x86(dsp, depth);
#endif
}
diff --git a/libavfilter/vf_limiter.c b/libavfilter/vf_limiter.c
index 61f6c9e1bf..4f50ace386 100644
--- a/libavfilter/vf_limiter.c
+++ b/libavfilter/vf_limiter.c
@@ -140,7 +140,7 @@ static int config_input(AVFilterLink *inlink)
s->dsp.limiter = limiter16;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_limiter_init_x86(&s->dsp, desc->comp[0].depth);
#endif
diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index 46afe36f6c..4ed609d810 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -1152,7 +1152,7 @@ static int config_input(AVFilterLink *inlink)
av_assert0(0);
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_lut3d_init_x86(lut3d, desc);
#endif
diff --git a/libavfilter/vf_maskedclamp.c b/libavfilter/vf_maskedclamp.c
index 39bd596827..606afd3913 100644
--- a/libavfilter/vf_maskedclamp.c
+++ b/libavfilter/vf_maskedclamp.c
@@ -208,7 +208,7 @@ static int config_input(AVFilterLink *inlink)
else
s->dsp.maskedclamp = maskedclamp16;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_maskedclamp_init_x86(&s->dsp, s->depth);
#endif
diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c
index 93da0a0edf..18b960034e 100644
--- a/libavfilter/vf_maskedmerge.c
+++ b/libavfilter/vf_maskedmerge.c
@@ -201,7 +201,7 @@ static int config_input(AVFilterLink *inlink)
else
s->maskedmerge = maskedmerge32;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_maskedmerge_init_x86(s);
#endif
diff --git a/libavfilter/vf_nlmeans_init.h b/libavfilter/vf_nlmeans_init.h
index 3a533a078a..cf31e74bd7 100644
--- a/libavfilter/vf_nlmeans_init.h
+++ b/libavfilter/vf_nlmeans_init.h
@@ -131,7 +131,7 @@ av_unused static void ff_nlmeans_init(NLMeansDSPContext
*dsp)
#if ARCH_AARCH64
ff_nlmeans_init_aarch64(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_nlmeans_init_x86(dsp);
#endif
}
diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index 673c92d6af..9149d061b9 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -835,7 +835,7 @@ static int init_slice_fn(AVFilterContext *ctx)
break;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_overlay_init_x86(ctx);
#endif
diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c
index e7aae87df0..7b653b977f 100644
--- a/libavfilter/vf_pp7.c
+++ b/libavfilter/vf_pp7.c
@@ -305,7 +305,7 @@ static int config_input(AVFilterLink *inlink)
pp7->dctB = dctB_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_pp7_init_x86(pp7);
#endif
diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c
index d963840fe9..04acbadc4e 100644
--- a/libavfilter/vf_pullup.c
+++ b/libavfilter/vf_pullup.c
@@ -207,7 +207,7 @@ static int config_input(AVFilterLink *inlink)
s->comb = comb_c;
s->var = var_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_pullup_init_x86(s);
#endif
return 0;
diff --git a/libavfilter/vf_removegrain.c b/libavfilter/vf_removegrain.c
index 3209c7db86..0a0c60fb20 100644
--- a/libavfilter/vf_removegrain.c
+++ b/libavfilter/vf_removegrain.c
@@ -500,7 +500,7 @@ static int config_input(AVFilterLink *inlink)
}
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM && CONFIG_GPL
ff_removegrain_init_x86(s);
#endif
diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c
index 15c71cf6b9..dfb91e8da5 100644
--- a/libavfilter/vf_ssim.c
+++ b/libavfilter/vf_ssim.c
@@ -481,7 +481,7 @@ static int config_input_ref(AVFilterLink *inlink)
s->ssim_plane = desc->comp[0].depth > 8 ? ssim_plane_16bit : ssim_plane;
s->dsp.ssim_4x4_line = ssim_4x4xn_8bit;
s->dsp.ssim_end_line = ssim_endn_8bit;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_ssim_init_x86(&s->dsp);
#endif
diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c
index 8e1fdc5eb3..d5d4cc1702 100644
--- a/libavfilter/vf_stereo3d.c
+++ b/libavfilter/vf_stereo3d.c
@@ -595,7 +595,7 @@ static int config_output(AVFilterLink *outlink)
s->vsub = desc->log2_chroma_h;
s->dsp.anaglyph = anaglyph;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_stereo3d_init_x86(&s->dsp);
#endif
diff --git a/libavfilter/vf_threshold_init.h b/libavfilter/vf_threshold_init.h
index 3add7b495e..fb319c6cf8 100644
--- a/libavfilter/vf_threshold_init.h
+++ b/libavfilter/vf_threshold_init.h
@@ -84,7 +84,7 @@ av_unused static void ff_threshold_init(ThresholdContext *s)
s->bpc = 2;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_threshold_init_x86(s);
#endif
}
diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c
index 7d5217c364..59fe82abe3 100644
--- a/libavfilter/vf_tinterlace.c
+++ b/libavfilter/vf_tinterlace.c
@@ -286,7 +286,7 @@ static int config_out_props(AVFilterLink *outlink)
tinterlace->lowpass_line = lowpass_line_complex_c_16;
else
tinterlace->lowpass_line = lowpass_line_complex_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_tinterlace_init_x86(tinterlace);
#endif
} else if (tinterlace->flags & TINTERLACE_FLAG_VLPF) {
@@ -294,7 +294,7 @@ static int config_out_props(AVFilterLink *outlink)
tinterlace->lowpass_line = lowpass_line_c_16;
else
tinterlace->lowpass_line = lowpass_line_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_tinterlace_init_x86(tinterlace);
#endif
}
diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index 88cc008f69..c457b01a4e 100644
--- a/libavfilter/vf_transpose.c
+++ b/libavfilter/vf_transpose.c
@@ -237,7 +237,7 @@ static int config_props_output(AVFilterLink *outlink)
}
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
for (int i = 0; i < 4; i++) {
TransVtable *v = &s->vtables[i];
diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c
index 63412aef87..1cfe408887 100644
--- a/libavfilter/vf_v360.c
+++ b/libavfilter/vf_v360.c
@@ -394,7 +394,7 @@ void ff_v360_init(V360Context *s, int depth)
break;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_v360_init_x86(s, depth);
#endif
}
diff --git a/libavfilter/vf_w3fdif.c b/libavfilter/vf_w3fdif.c
index 5b4c83bbd9..afde426f1a 100644
--- a/libavfilter/vf_w3fdif.c
+++ b/libavfilter/vf_w3fdif.c
@@ -317,7 +317,7 @@ static int config_input(AVFilterLink *inlink)
s->dsp.filter_scale = filter16_scale;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_w3fdif_init_x86(&s->dsp, depth);
#endif
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 6e0e500886..9e4f8d5b43 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -289,7 +289,7 @@ static int config_output(AVFilterLink *outlink)
s->filter_edges = filter_edges;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_yadif_init_x86(s);
#endif
diff --git a/libavfilter/x86/Makefile b/libavfilter/x86/Makefile
index b485c10fbe..ade0efc9ae 100644
--- a/libavfilter/x86/Makefile
+++ b/libavfilter/x86/Makefile
@@ -1,95 +1,72 @@
-OBJS-$(CONFIG_SCENE_SAD) += x86/scene_sad_init.o
-
-OBJS-$(CONFIG_AFIR_FILTER) += x86/af_afir_init.o
-OBJS-$(CONFIG_ANLMDN_FILTER) += x86/af_anlmdn_init.o
-OBJS-$(CONFIG_ATADENOISE_FILTER) += x86/vf_atadenoise_init.o
-OBJS-$(CONFIG_BLACKDETECT_FILTER) += x86/vf_blackdetect_init.o
-OBJS-$(CONFIG_BLEND_FILTER) += x86/vf_blend_init.o
-OBJS-$(CONFIG_BWDIF_FILTER) += x86/vf_bwdif_init.o
-OBJS-$(CONFIG_COLORDETECT_FILTER) += x86/vf_colordetect_init.o
-OBJS-$(CONFIG_COLORSPACE_FILTER) += x86/colorspacedsp_init.o
-OBJS-$(CONFIG_CONVOLUTION_FILTER) += x86/vf_convolution_init.o
-OBJS-$(CONFIG_EBUR128_FILTER) += x86/f_ebur128_init.o
-OBJS-$(CONFIG_EQ_FILTER) += x86/vf_eq_init.o
-OBJS-$(CONFIG_FSPP_FILTER) += x86/vf_fspp_init.o
-OBJS-$(CONFIG_GBLUR_FILTER) += x86/vf_gblur_init.o
-OBJS-$(CONFIG_GRADFUN_FILTER) += x86/vf_gradfun_init.o
-OBJS-$(CONFIG_FRAMERATE_FILTER) += x86/vf_framerate_init.o
-OBJS-$(CONFIG_HALDCLUT_FILTER) += x86/vf_lut3d_init.o
-OBJS-$(CONFIG_HFLIP_FILTER) += x86/vf_hflip_init.o
-OBJS-$(CONFIG_HQDN3D_FILTER) += x86/vf_hqdn3d_init.o
-OBJS-$(CONFIG_IDET_FILTER) += x86/vf_idetdsp_init.o
-OBJS-$(CONFIG_INTERLACE_FILTER) += x86/vf_tinterlace_init.o
-OBJS-$(CONFIG_LIMITER_FILTER) += x86/vf_limiter_init.o
-OBJS-$(CONFIG_LUT3D_FILTER) += x86/vf_lut3d_init.o
-OBJS-$(CONFIG_MASKEDCLAMP_FILTER) += x86/vf_maskedclamp_init.o
-OBJS-$(CONFIG_MASKEDMERGE_FILTER) += x86/vf_maskedmerge_init.o
-OBJS-$(CONFIG_NLMEANS_FILTER) += x86/vf_nlmeans_init.o
OBJS-$(CONFIG_NOISE_FILTER) += x86/vf_noise.o
-OBJS-$(CONFIG_OVERLAY_FILTER) += x86/vf_overlay_init.o
-OBJS-$(CONFIG_PP7_FILTER) += x86/vf_pp7_init.o
-OBJS-$(CONFIG_PSNR_FILTER) += x86/vf_psnr_init.o
-OBJS-$(CONFIG_PULLUP_FILTER) += x86/vf_pullup_init.o
-OBJS-$(CONFIG_REMOVEGRAIN_FILTER) += x86/vf_removegrain_init.o
-OBJS-$(CONFIG_SHOWCQT_FILTER) += x86/avf_showcqt_init.o
-OBJS-$(CONFIG_SOBEL_FILTER) += x86/vf_convolution_init.o
OBJS-$(CONFIG_SPP_FILTER) += x86/vf_spp.o
-OBJS-$(CONFIG_SSIM_FILTER) += x86/vf_ssim_init.o
-OBJS-$(CONFIG_STEREO3D_FILTER) += x86/vf_stereo3d_init.o
-OBJS-$(CONFIG_TBLEND_FILTER) += x86/vf_blend_init.o
-OBJS-$(CONFIG_THRESHOLD_FILTER) += x86/vf_threshold_init.o
-OBJS-$(CONFIG_TINTERLACE_FILTER) += x86/vf_tinterlace_init.o
-OBJS-$(CONFIG_TRANSPOSE_FILTER) += x86/vf_transpose_init.o
-OBJS-$(CONFIG_VOLUME_FILTER) += x86/af_volume_init.o
-OBJS-$(CONFIG_V360_FILTER) += x86/vf_v360_init.o
-OBJS-$(CONFIG_W3FDIF_FILTER) += x86/vf_w3fdif_init.o
-OBJS-$(CONFIG_XPSNR_FILTER) += x86/vf_psnr_init.o
-OBJS-$(CONFIG_YADIF_FILTER) += x86/vf_yadif_init.o
-X86ASM-OBJS-$(CONFIG_SCENE_SAD) += x86/scene_sad.o
+X86ASM-OBJS-$(CONFIG_SCENE_SAD) += x86/scene_sad.o
x86/scene_sad_init.o
-X86ASM-OBJS-$(CONFIG_AFIR_FILTER) += x86/af_afir.o
-X86ASM-OBJS-$(CONFIG_ANLMDN_FILTER) += x86/af_anlmdn.o
-X86ASM-OBJS-$(CONFIG_ATADENOISE_FILTER) += x86/vf_atadenoise.o
-X86ASM-OBJS-$(CONFIG_BLACKDETECT_FILTER) += x86/vf_blackdetect.o
-X86ASM-OBJS-$(CONFIG_BLEND_FILTER) += x86/vf_blend.o
-X86ASM-OBJS-$(CONFIG_BWDIF_FILTER) += x86/vf_bwdif.o
-X86ASM-OBJS-$(CONFIG_COLORDETECT_FILTER) += x86/vf_colordetect.o
-X86ASM-OBJS-$(CONFIG_COLORSPACE_FILTER) += x86/colorspacedsp.o
-X86ASM-OBJS-$(CONFIG_CONVOLUTION_FILTER) += x86/vf_convolution.o
-X86ASM-OBJS-$(CONFIG_EBUR128_FILTER) += x86/f_ebur128.o
-X86ASM-OBJS-$(CONFIG_EQ_FILTER) += x86/vf_eq.o
-X86ASM-OBJS-$(CONFIG_FRAMERATE_FILTER) += x86/vf_framerate.o
-X86ASM-OBJS-$(CONFIG_FSPP_FILTER) += x86/vf_fspp.o
-X86ASM-OBJS-$(CONFIG_GBLUR_FILTER) += x86/vf_gblur.o
-X86ASM-OBJS-$(CONFIG_GRADFUN_FILTER) += x86/vf_gradfun.o
-X86ASM-OBJS-$(CONFIG_HALDCLUT_FILTER) += x86/vf_lut3d.o
-X86ASM-OBJS-$(CONFIG_HFLIP_FILTER) += x86/vf_hflip.o
-X86ASM-OBJS-$(CONFIG_HQDN3D_FILTER) += x86/vf_hqdn3d.o
-X86ASM-OBJS-$(CONFIG_IDET_FILTER) += x86/vf_idetdsp.o
-X86ASM-OBJS-$(CONFIG_INTERLACE_FILTER) += x86/vf_interlace.o
-X86ASM-OBJS-$(CONFIG_LIMITER_FILTER) += x86/vf_limiter.o
-X86ASM-OBJS-$(CONFIG_LUT3D_FILTER) += x86/vf_lut3d.o
-X86ASM-OBJS-$(CONFIG_MASKEDCLAMP_FILTER) += x86/vf_maskedclamp.o
-X86ASM-OBJS-$(CONFIG_MASKEDMERGE_FILTER) += x86/vf_maskedmerge.o
-X86ASM-OBJS-$(CONFIG_NLMEANS_FILTER) += x86/vf_nlmeans.o
-X86ASM-OBJS-$(CONFIG_OVERLAY_FILTER) += x86/vf_overlay.o
-X86ASM-OBJS-$(CONFIG_PP7_FILTER) += x86/vf_pp7.o
-X86ASM-OBJS-$(CONFIG_PSNR_FILTER) += x86/vf_psnr.o
-X86ASM-OBJS-$(CONFIG_PULLUP_FILTER) += x86/vf_pullup.o
+X86ASM-OBJS-$(CONFIG_AFIR_FILTER) += x86/af_afir.o
x86/af_afir_init.o
+X86ASM-OBJS-$(CONFIG_ANLMDN_FILTER) += x86/af_anlmdn.o
x86/af_anlmdn_init.o
+X86ASM-OBJS-$(CONFIG_ATADENOISE_FILTER) += x86/vf_atadenoise.o \
+ x86/vf_atadenoise_init.o
+X86ASM-OBJS-$(CONFIG_BLACKDETECT_FILTER) += x86/vf_blackdetect.o \
+ x86/vf_blackdetect_init.o
+X86ASM-OBJS-$(CONFIG_BLEND_FILTER) += x86/vf_blend.o
x86/vf_blend_init.o
+X86ASM-OBJS-$(CONFIG_BWDIF_FILTER) += x86/vf_bwdif.o
x86/vf_bwdif_init.o
+X86ASM-OBJS-$(CONFIG_COLORDETECT_FILTER) += x86/vf_colordetect.o \
+ x86/vf_colordetect_init.o
+X86ASM-OBJS-$(CONFIG_COLORSPACE_FILTER) += x86/colorspacedsp.o \
+ x86/colorspacedsp_init.o
+X86ASM-OBJS-$(CONFIG_CONVOLUTION_FILTER) += x86/vf_convolution.o \
+ x86/vf_convolution_init.o
+X86ASM-OBJS-$(CONFIG_EBUR128_FILTER) += x86/f_ebur128.o
x86/f_ebur128_init.o
+X86ASM-OBJS-$(CONFIG_EQ_FILTER) += x86/vf_eq.o x86/vf_eq_init.o
+X86ASM-OBJS-$(CONFIG_FRAMERATE_FILTER) += x86/vf_framerate.o \
+ x86/vf_framerate_init.o
+X86ASM-OBJS-$(CONFIG_FSPP_FILTER) += x86/vf_fspp.o
x86/vf_fspp_init.o
+X86ASM-OBJS-$(CONFIG_GBLUR_FILTER) += x86/vf_gblur.o
x86/vf_gblur_init.o
+X86ASM-OBJS-$(CONFIG_GRADFUN_FILTER) += x86/vf_gradfun.o \
+ x86/vf_gradfun_init.o
+X86ASM-OBJS-$(CONFIG_HALDCLUT_FILTER) += x86/vf_lut3d.o
x86/vf_lut3d_init.o
+X86ASM-OBJS-$(CONFIG_HFLIP_FILTER) += x86/vf_hflip.o
x86/vf_hflip_init.o
+X86ASM-OBJS-$(CONFIG_HQDN3D_FILTER) += x86/vf_hqdn3d.o
x86/vf_hqdn3d_init.o
+X86ASM-OBJS-$(CONFIG_IDET_FILTER) += x86/vf_idetdsp.o \
+ x86/vf_idetdsp_init.o
+X86ASM-OBJS-$(CONFIG_INTERLACE_FILTER) += x86/vf_interlace.o \
+ x86/vf_tinterlace_init.o
+X86ASM-OBJS-$(CONFIG_LIMITER_FILTER) += x86/vf_limiter.o \
+ x86/vf_limiter_init.o
+X86ASM-OBJS-$(CONFIG_LUT3D_FILTER) += x86/vf_lut3d.o
x86/vf_lut3d_init.o
+X86ASM-OBJS-$(CONFIG_MASKEDCLAMP_FILTER) += x86/vf_maskedclamp.o \
+ x86/vf_maskedclamp_init.o
+X86ASM-OBJS-$(CONFIG_MASKEDMERGE_FILTER) += x86/vf_maskedmerge.o \
+ x86/vf_maskedmerge_init.o
+X86ASM-OBJS-$(CONFIG_NLMEANS_FILTER) += x86/vf_nlmeans.o \
+ x86/vf_nlmeans_init.o
+X86ASM-OBJS-$(CONFIG_OVERLAY_FILTER) += x86/vf_overlay.o \
+ x86/vf_overlay_init.o
+X86ASM-OBJS-$(CONFIG_PP7_FILTER) += x86/vf_pp7.o x86/vf_pp7_init.o
+X86ASM-OBJS-$(CONFIG_PSNR_FILTER) += x86/vf_psnr.o
x86/vf_psnr_init.o
+X86ASM-OBJS-$(CONFIG_PULLUP_FILTER) += x86/vf_pullup.o
x86/vf_pullup_init.o
ifdef CONFIG_GPL
-X86ASM-OBJS-$(CONFIG_REMOVEGRAIN_FILTER) += x86/vf_removegrain.o
+X86ASM-OBJS-$(CONFIG_REMOVEGRAIN_FILTER) += x86/vf_removegrain.o \
+ x86/vf_removegrain_init.o
endif
-X86ASM-OBJS-$(CONFIG_SHOWCQT_FILTER) += x86/avf_showcqt.o
-X86ASM-OBJS-$(CONFIG_SOBEL_FILTER) += x86/vf_convolution.o
-X86ASM-OBJS-$(CONFIG_SSIM_FILTER) += x86/vf_ssim.o
-X86ASM-OBJS-$(CONFIG_STEREO3D_FILTER) += x86/vf_stereo3d.o
-X86ASM-OBJS-$(CONFIG_TBLEND_FILTER) += x86/vf_blend.o
-X86ASM-OBJS-$(CONFIG_THRESHOLD_FILTER) += x86/vf_threshold.o
-X86ASM-OBJS-$(CONFIG_TINTERLACE_FILTER) += x86/vf_interlace.o
-X86ASM-OBJS-$(CONFIG_TRANSPOSE_FILTER) += x86/vf_transpose.o
-X86ASM-OBJS-$(CONFIG_VOLUME_FILTER) += x86/af_volume.o
-X86ASM-OBJS-$(CONFIG_V360_FILTER) += x86/vf_v360.o
-X86ASM-OBJS-$(CONFIG_W3FDIF_FILTER) += x86/vf_w3fdif.o
-X86ASM-OBJS-$(CONFIG_XPSNR_FILTER) += x86/vf_psnr.o
-X86ASM-OBJS-$(CONFIG_YADIF_FILTER) += x86/vf_yadif.o x86/yadif-16.o
x86/yadif-10.o
+X86ASM-OBJS-$(CONFIG_SHOWCQT_FILTER) += x86/avf_showcqt.o \
+ x86/avf_showcqt_init.o
+X86ASM-OBJS-$(CONFIG_SOBEL_FILTER) += x86/vf_convolution.o \
+ x86/vf_convolution_init.o
+X86ASM-OBJS-$(CONFIG_SSIM_FILTER) += x86/vf_ssim.o
x86/vf_ssim_init.o
+X86ASM-OBJS-$(CONFIG_STEREO3D_FILTER) += x86/vf_stereo3d.o \
+ x86/vf_stereo3d_init.o
+X86ASM-OBJS-$(CONFIG_TBLEND_FILTER) += x86/vf_blend.o
x86/vf_blend_init.o
+X86ASM-OBJS-$(CONFIG_THRESHOLD_FILTER) += x86/vf_threshold.o \
+ x86/vf_threshold_init.o
+X86ASM-OBJS-$(CONFIG_TINTERLACE_FILTER) += x86/vf_interlace.o \
+ x86/vf_tinterlace_init.o
+X86ASM-OBJS-$(CONFIG_TRANSPOSE_FILTER) += x86/vf_transpose.o \
+ x86/vf_transpose_init.o
+X86ASM-OBJS-$(CONFIG_VOLUME_FILTER) += x86/af_volume.o
x86/af_volume_init.o
+X86ASM-OBJS-$(CONFIG_V360_FILTER) += x86/vf_v360.o
x86/vf_v360_init.o
+X86ASM-OBJS-$(CONFIG_W3FDIF_FILTER) += x86/vf_w3fdif.o
x86/vf_w3fdif_init.o
+X86ASM-OBJS-$(CONFIG_XPSNR_FILTER) += x86/vf_psnr.o
x86/vf_psnr_init.o
+X86ASM-OBJS-$(CONFIG_YADIF_FILTER) += x86/vf_yadif.o x86/yadif-16.o \
+ x86/yadif-10.o
x86/vf_yadif_init.o
diff --git a/libavfilter/x86/scene_sad_init.c b/libavfilter/x86/scene_sad_init.c
index 9863839b4e..a35f02c560 100644
--- a/libavfilter/x86/scene_sad_init.c
+++ b/libavfilter/x86/scene_sad_init.c
@@ -52,7 +52,6 @@ static void FUNC_NAME(SCENE_SAD_PARAMS) {
\
*sum += sad[0]; \
}
-#if HAVE_X86ASM
SCENE_SAD_FUNC(scene_sad_sse2, ff_scene_sad8_sse2, 16)
#if HAVE_AVX2_EXTERNAL
SCENE_SAD_FUNC(scene_sad_avx2, ff_scene_sad8_avx2, 32)
@@ -62,11 +61,9 @@ SCENE_SAD16_FUNC(scene_sad16_avx2, ff_scene_sad16_avx2, 32)
SCENE_SAD_FUNC(scene_sad_avx512, ff_scene_sad8_avx512, 64)
SCENE_SAD16_FUNC(scene_sad16_avx512, ff_scene_sad16_avx512, 64)
#endif
-#endif
ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (depth <= 8) {
#if HAVE_AVX512_EXTERNAL
@@ -89,6 +86,5 @@ ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth)
return scene_sad16_avx2;
#endif
}
-#endif
return NULL;
}
diff --git a/libavfilter/x86/vf_colordetect_init.c
b/libavfilter/x86/vf_colordetect_init.c
index 7257b5c4f5..4bff4471a1 100644
--- a/libavfilter/x86/vf_colordetect_init.c
+++ b/libavfilter/x86/vf_colordetect_init.c
@@ -58,7 +58,6 @@ static int FUNC_NAME(const uint8_t *color, ptrdiff_t
color_stride,
p, q, k);
\
}
-#if HAVE_X86ASM
#if HAVE_AVX512ICL_EXTERNAL
DETECT_RANGE_FUNC(detect_range_avx512icl, ff_detect_rangeb_avx512icl,
ff_detect_range_c, 0, 64)
DETECT_RANGE_FUNC(detect_range16_avx512icl, ff_detect_rangew_avx512icl,
ff_detect_range16_c, 1, 64)
@@ -75,12 +74,10 @@ DETECT_ALPHA_FUNC(detect_alpha16_full_avx2,
ff_detect_alphaw_full_avx2, ff_detec
DETECT_ALPHA_FUNC(detect_alpha_limited_avx2, ff_detect_alphab_limited_avx2,
ff_detect_alpha_limited_c, 0, 32)
DETECT_ALPHA_FUNC(detect_alpha16_limited_avx2, ff_detect_alphaw_limited_avx2,
ff_detect_alpha16_limited_c, 1, 32)
#endif
-#endif
av_cold void ff_color_detect_dsp_init_x86(FFColorDetectDSPContext *dsp, int
depth,
enum AVColorRange color_range)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
#if HAVE_AVX2_EXTERNAL
if (EXTERNAL_AVX2_FAST(cpu_flags)) {
@@ -102,5 +99,4 @@ av_cold void
ff_color_detect_dsp_init_x86(FFColorDetectDSPContext *dsp, int dept
}
}
#endif
-#endif
}
diff --git a/libavfilter/x86/vf_eq_init.c b/libavfilter/x86/vf_eq_init.c
index a1719672df..a66dd1b993 100644
--- a/libavfilter/x86/vf_eq_init.c
+++ b/libavfilter/x86/vf_eq_init.c
@@ -28,7 +28,6 @@
extern void ff_process_one_line_sse2(const uint8_t *src, uint8_t *dst, short
contrast,
short brightness, int w);
-#if HAVE_X86ASM
static void process_sse2(EQParameters *param, uint8_t *dst, int dst_stride,
const uint8_t *src, int src_stride, int w, int h)
{
@@ -42,14 +41,11 @@ static void process_sse2(EQParameters *param, uint8_t *dst,
int dst_stride,
dst += dst_stride;
}
}
-#endif
av_cold void ff_eq_init_x86(EQContext *eq)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
eq->process = process_sse2;
}
-#endif
}
diff --git a/libavfilter/x86/vf_gradfun_init.c
b/libavfilter/x86/vf_gradfun_init.c
index f262f0a1bb..6b27169b82 100644
--- a/libavfilter/x86/vf_gradfun_init.c
+++ b/libavfilter/x86/vf_gradfun_init.c
@@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
@@ -35,7 +34,6 @@ void ff_gradfun_blur_line_movdqu_sse2(intptr_t x, uint16_t
*buf,
const uint16_t *buf1, uint16_t *dc,
const uint8_t *src1, const uint8_t
*src2);
-#if HAVE_X86ASM
static void gradfun_filter_line_ssse3(uint8_t *dst, const uint8_t *src, const
uint16_t *dc,
int width, int thresh,
const uint16_t *dithers)
@@ -66,11 +64,9 @@ static void gradfun_blur_line_sse2(uint16_t *dc, uint16_t
*buf, const uint16_t *
dc + width, src + width * 2,
src + width * 2 + src_linesize);
}
-#endif /* HAVE_X86ASM */
av_cold void ff_gradfun_init_x86(GradFunContext *gf)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSSE3(cpu_flags))
@@ -78,5 +74,4 @@ av_cold void ff_gradfun_init_x86(GradFunContext *gf)
if (EXTERNAL_SSE2(cpu_flags))
gf->blur_line = gradfun_blur_line_sse2;
-#endif /* HAVE_X86ASM */
}
diff --git a/libavfilter/x86/vf_hqdn3d_init.c b/libavfilter/x86/vf_hqdn3d_init.c
index 43aca908b0..15e1ab9539 100644
--- a/libavfilter/x86/vf_hqdn3d_init.c
+++ b/libavfilter/x86/vf_hqdn3d_init.c
@@ -23,7 +23,6 @@
#include "libavutil/attributes.h"
#include "libavfilter/vf_hqdn3d.h"
-#include "config.h"
void ff_hqdn3d_row_8_x86(uint8_t *src, uint8_t *dst, uint16_t *line_ant,
uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial,
@@ -40,10 +39,8 @@ void ff_hqdn3d_row_16_x86(uint8_t *src, uint8_t *dst,
uint16_t *line_ant,
av_cold void ff_hqdn3d_init_x86(HQDN3DContext *hqdn3d)
{
-#if HAVE_X86ASM
hqdn3d->denoise_row[8] = ff_hqdn3d_row_8_x86;
hqdn3d->denoise_row[9] = ff_hqdn3d_row_9_x86;
hqdn3d->denoise_row[10] = ff_hqdn3d_row_10_x86;
hqdn3d->denoise_row[16] = ff_hqdn3d_row_16_x86;
-#endif /* HAVE_X86ASM */
}
diff --git a/libavfilter/x86/vf_idetdsp_init.c
b/libavfilter/x86/vf_idetdsp_init.c
index 1f4c2e2bc3..5cfcb4eae5 100644
--- a/libavfilter/x86/vf_idetdsp_init.c
+++ b/libavfilter/x86/vf_idetdsp_init.c
@@ -18,12 +18,9 @@
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
-#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavfilter/vf_idetdsp.h"
-#if HAVE_X86ASM
-
/* declares main callable idet_filter_line_sse2() */
#define FUNC_MAIN_DECL(KIND, SPAN) \
int ff_idet_filter_line_##KIND(const uint8_t *a, const uint8_t *b, \
@@ -68,10 +65,8 @@ FUNC_MAIN_DECL_16bit(avx2, 16)
FUNC_MAIN_DECL(avx512icl, 64)
FUNC_MAIN_DECL_16bit(avx512icl, 32)
-#endif
av_cold void ff_idet_dsp_init_x86(IDETDSPContext *dsp, int depth)
{
-#if HAVE_X86ASM
const int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -83,5 +78,4 @@ av_cold void ff_idet_dsp_init_x86(IDETDSPContext *dsp, int
depth)
if (EXTERNAL_AVX512ICL(cpu_flags)) {
dsp->filter_line = depth > 8 ? idet_filter_line_16bit_avx512icl :
idet_filter_line_avx512icl;
}
-#endif // HAVE_X86ASM
}
diff --git a/libavfilter/x86/vf_pullup_init.c b/libavfilter/x86/vf_pullup_init.c
index 943c1de9d7..fd5e59c6ce 100644
--- a/libavfilter/x86/vf_pullup_init.c
+++ b/libavfilter/x86/vf_pullup_init.c
@@ -18,7 +18,6 @@
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
-#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavfilter/vf_pullup.h"
@@ -28,7 +27,6 @@ int ff_pullup_filter_var_sse2 (const uint8_t *a, const
uint8_t *b, ptrdiff_t s)
av_cold void ff_pullup_init_x86(PullupContext *s)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -38,5 +36,4 @@ av_cold void ff_pullup_init_x86(PullupContext *s)
if (EXTERNAL_SSSE3(cpu_flags)) {
s->comb = ff_pullup_filter_comb_ssse3;
}
-#endif
}
commit eccf130fdbcf719566d3ffb5e780d89776b77c23
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 19:50:15 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
{lib{avcodec,swscale}/x86/,}Makefile: Kill MMX-OBJS
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/Makefile b/Makefile
index 2f78db02a5..4fc0aebd33 100644
--- a/Makefile
+++ b/Makefile
@@ -107,7 +107,7 @@ ffbuild/.config: $(CONFIGURABLE_COMPONENTS)
SUBDIR_VARS := CLEANFILES FFLIBS HOSTPROGS TESTPROGS TOOLS \
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \
- ALTIVEC-OBJS VSX-OBJS MMX-OBJS X86ASM-OBJS \
+ ALTIVEC-OBJS VSX-OBJS X86ASM-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSP-OBJS MSA-OBJS \
MMI-OBJS LSX-OBJS LASX-OBJS RV-OBJS RVV-OBJS RVVB-OBJS \
OBJS SHLIBOBJS STLIBOBJS HOSTOBJS TESTOBJS SIMD128-OBJS
diff --git a/ffbuild/arch.mak b/ffbuild/arch.mak
index 197e30bb89..ec79ae7866 100644
--- a/ffbuild/arch.mak
+++ b/ffbuild/arch.mak
@@ -23,5 +23,4 @@ OBJS-$(HAVE_RV_ZVBB) += $(RVVB-OBJS) $(RVVB-OBJS-yes)
OBJS-$(HAVE_SIMD128) += $(SIMD128-OBJS) $(SIMD128-OBJS-yes)
-OBJS-$(HAVE_MMX) += $(MMX-OBJS) $(MMX-OBJS-yes)
OBJS-$(HAVE_X86ASM) += $(X86ASM-OBJS) $(X86ASM-OBJS-yes)
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 63b16f24c8..bf723ed1a6 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -65,6 +65,8 @@ X86ASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
X86ASM-OBJS-$(CONFIG_PRORES_RAW_DECODER) += x86/proresdsp_init.o
X86ASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp_init.o
X86ASM-OBJS-$(CONFIG_SBC_ENCODER) += x86/sbcdsp_init.o
+OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
+OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
X86ASM-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc_init.o
X86ASM-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp_init.o
OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp_init.o
@@ -81,11 +83,6 @@ X86ASM-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o
\
x86/vp9dsp_init_16bpp.o
-# GCC inline assembly optimizations
-# decoders/encoders
-MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
-MMX-OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
-
# subsystems
X86ASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp.o \
x86/ac3dsp_downmix.o
diff --git a/libswscale/x86/Makefile b/libswscale/x86/Makefile
index f82b411fb1..9c9d286600 100644
--- a/libswscale/x86/Makefile
+++ b/libswscale/x86/Makefile
@@ -4,7 +4,7 @@ OBJS += x86/rgb2rgb.o
\
x86/swscale.o \
x86/yuv2rgb.o \
-MMX-OBJS += x86/hscale_fast_bilinear_simd.o \
+OBJS-$(HAVE_MMXEXT_INLINE) += x86/hscale_fast_bilinear_simd.o \
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
diff --git a/libswscale/x86/hscale_fast_bilinear_simd.c
b/libswscale/x86/hscale_fast_bilinear_simd.c
index 47ca020004..d8a4e444b4 100644
--- a/libswscale/x86/hscale_fast_bilinear_simd.c
+++ b/libswscale/x86/hscale_fast_bilinear_simd.c
@@ -27,7 +27,6 @@
#define RET 0xC3 // near return opcode for x86
#define PREFETCH "prefetchnta"
-#if HAVE_INLINE_ASM
av_cold int ff_init_hscaler_mmxext(int dstW, int xInc, uint8_t *filterCode,
int16_t *filter, int32_t *filterPos,
int numSplits)
@@ -358,4 +357,3 @@ void ff_hcscale_fast_mmxext(SwsInternal *c, int16_t *dst1,
int16_t *dst2,
dst2[i] = src2[srcW-1]*128;
}
}
-#endif //HAVE_INLINE_ASM
commit ba94177242806ddf48e305ac52eee09a337a4a3b
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 19:07:26 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
avcodec/x86/Makefile: Only compile ASM init files when X86ASM is enabled
To do so, simply add these init files to X86ASM-OBJS instead of OBJS
in the Makefile. The former is already used for the actual assembly
files, but using them for the C init files just works, because the build
system uses file extensions to derive whether it is a C or a NASM file.
This avoids compiling unused function stubs and also reduces our
reliance on DCE: We don't add %if checks to the asm files except
for AVX, AVX2, FMA3, FMA4, XOP and AVX512, so all the MMX-SSE4
functions will be available. It also allows to remove HAVE_X86ASM checks
in these init files.
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/libavcodec/aacencdsp.h b/libavcodec/aacencdsp.h
index 684bbc254f..77aa133691 100644
--- a/libavcodec/aacencdsp.h
+++ b/libavcodec/aacencdsp.h
@@ -65,7 +65,7 @@ static inline void ff_aacenc_dsp_init(AACEncDSPContext *s)
#if ARCH_RISCV
ff_aacenc_dsp_init_riscv(s);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_aacenc_dsp_init_x86(s);
#elif ARCH_AARCH64
ff_aacenc_dsp_init_aarch64(s);
diff --git a/libavcodec/aacpsdsp_template.c b/libavcodec/aacpsdsp_template.c
index c28ba2c9a5..341bf77023 100644
--- a/libavcodec/aacpsdsp_template.c
+++ b/libavcodec/aacpsdsp_template.c
@@ -228,7 +228,7 @@ av_cold void AAC_RENAME(ff_psdsp_init)(PSDSPContext *s)
ff_psdsp_init_aarch64(s);
#elif ARCH_RISCV
ff_psdsp_init_riscv(s);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_psdsp_init_x86(s);
#endif
#endif /* !USE_FIXED */
diff --git a/libavcodec/ac3dsp.c b/libavcodec/ac3dsp.c
index 730fa70fff..a4a28c8672 100644
--- a/libavcodec/ac3dsp.c
+++ b/libavcodec/ac3dsp.c
@@ -363,7 +363,7 @@ void ff_ac3dsp_downmix(AC3DSPContext *c, float **samples,
float **matrix,
c->downmix = ac3_downmix_5_to_1_symmetric_c;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_ac3dsp_set_downmix_x86(c);
#endif
}
@@ -393,7 +393,7 @@ av_cold void ff_ac3dsp_init(AC3DSPContext *c)
ff_ac3dsp_init_aarch64(c);
#elif ARCH_ARM
ff_ac3dsp_init_arm(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_ac3dsp_init_x86(c);
#elif ARCH_MIPS
ff_ac3dsp_init_mips(c);
diff --git a/libavcodec/alacdsp.c b/libavcodec/alacdsp.c
index a604566afb..c06cc9da97 100644
--- a/libavcodec/alacdsp.c
+++ b/libavcodec/alacdsp.c
@@ -60,7 +60,7 @@ av_cold void ff_alacdsp_init(ALACDSPContext *c)
#if ARCH_RISCV
ff_alacdsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_alacdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/apv_dsp.c b/libavcodec/apv_dsp.c
index 8fbabcf63d..982ec36910 100644
--- a/libavcodec/apv_dsp.c
+++ b/libavcodec/apv_dsp.c
@@ -134,7 +134,7 @@ av_cold void ff_apv_dsp_init(APVDSPContext *dsp)
{
dsp->decode_transquant = apv_decode_transquant_c;
-#if ARCH_X86_64
+#if ARCH_X86_64 && HAVE_X86ASM
ff_apv_dsp_init_x86_64(dsp);
#endif
}
diff --git a/libavcodec/audiodsp.c b/libavcodec/audiodsp.c
index fd6a00345f..a4758bb4c3 100644
--- a/libavcodec/audiodsp.c
+++ b/libavcodec/audiodsp.c
@@ -74,7 +74,7 @@ av_cold void ff_audiodsp_init(AudioDSPContext *c)
ff_audiodsp_init_ppc(c);
#elif ARCH_RISCV
ff_audiodsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_audiodsp_init_x86(c);
#endif
}
diff --git a/libavcodec/blockdsp.c b/libavcodec/blockdsp.c
index 57ca41bd96..793e7664ec 100644
--- a/libavcodec/blockdsp.c
+++ b/libavcodec/blockdsp.c
@@ -69,7 +69,7 @@ av_cold void ff_blockdsp_init(BlockDSPContext *c)
ff_blockdsp_init_ppc(c);
#elif ARCH_RISCV
ff_blockdsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_blockdsp_init_x86(c);
#elif ARCH_MIPS
ff_blockdsp_init_mips(c);
diff --git a/libavcodec/bswapdsp.c b/libavcodec/bswapdsp.c
index f0ea2b55c5..f375ab79ac 100644
--- a/libavcodec/bswapdsp.c
+++ b/libavcodec/bswapdsp.c
@@ -53,7 +53,7 @@ av_cold void ff_bswapdsp_init(BswapDSPContext *c)
#if ARCH_RISCV
ff_bswapdsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_bswapdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/cavsdsp.c b/libavcodec/cavsdsp.c
index 69420242d6..7444f17bb5 100644
--- a/libavcodec/cavsdsp.c
+++ b/libavcodec/cavsdsp.c
@@ -577,7 +577,7 @@ av_cold void ff_cavsdsp_init(CAVSDSPContext* c)
c->cavs_idct8_add = cavs_idct8_add_c;
c->idct_perm = FF_IDCT_PERM_NONE;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_cavsdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/cfhddsp.c b/libavcodec/cfhddsp.c
index a141db5246..05757d6515 100644
--- a/libavcodec/cfhddsp.c
+++ b/libavcodec/cfhddsp.c
@@ -112,7 +112,7 @@ av_cold void ff_cfhddsp_init(CFHDDSPContext *c, int depth,
int bayer)
else
c->horiz_filter_clip = horiz_filter_clip;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_cfhddsp_init_x86(c, depth, bayer);
#endif
}
diff --git a/libavcodec/cfhdencdsp.c b/libavcodec/cfhdencdsp.c
index a122bcaf19..06801aef6d 100644
--- a/libavcodec/cfhdencdsp.c
+++ b/libavcodec/cfhdencdsp.c
@@ -73,7 +73,7 @@ av_cold void ff_cfhdencdsp_init(CFHDEncDSPContext *c)
c->horiz_filter = horiz_filter;
c->vert_filter = vert_filter;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_cfhdencdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/dcadsp.c b/libavcodec/dcadsp.c
index d5fc5c4eb2..a0be676699 100644
--- a/libavcodec/dcadsp.c
+++ b/libavcodec/dcadsp.c
@@ -487,7 +487,7 @@ av_cold void ff_dcadsp_init(DCADSPContext *s)
s->lbr_bank = lbr_bank_c;
s->lfe_iir = lfe_iir_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_dcadsp_init_x86(s);
#endif
}
diff --git a/libavcodec/dirac_dwt.c b/libavcodec/dirac_dwt.c
index d473f64daa..0d92ad06da 100644
--- a/libavcodec/dirac_dwt.c
+++ b/libavcodec/dirac_dwt.c
@@ -59,7 +59,7 @@ int ff_spatial_idwt_init(DWTContext *d, DWTPlane *p, enum
dwt_type type,
return AVERROR_INVALIDDATA;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
if (bit_depth == 8)
ff_spatial_idwt_init_x86(d, type);
#endif
diff --git a/libavcodec/diracdsp.c b/libavcodec/diracdsp.c
index 284f914f9d..a02a23974b 100644
--- a/libavcodec/diracdsp.c
+++ b/libavcodec/diracdsp.c
@@ -247,7 +247,7 @@ av_cold void ff_diracdsp_init(DiracDSPContext *c)
PIXFUNC(avg, 16);
PIXFUNC(avg, 32);
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_diracdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 7994b1d497..844731f6c4 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -1363,7 +1363,7 @@ const FFCodec ff_dnxhd_encoder = {
void ff_dnxhdenc_init(DNXHDEncContext *ctx)
{
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_dnxhdenc_init_x86(ctx);
#endif
}
diff --git a/libavcodec/exrdsp.c b/libavcodec/exrdsp.c
index 248cb93c5a..70914b7e5b 100644
--- a/libavcodec/exrdsp.c
+++ b/libavcodec/exrdsp.c
@@ -63,7 +63,7 @@ av_cold void ff_exrdsp_init(ExrDSPContext *c)
#if ARCH_RISCV
ff_exrdsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_exrdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/flacdsp.c b/libavcodec/flacdsp.c
index b5b0609716..f8b48770f4 100644
--- a/libavcodec/flacdsp.c
+++ b/libavcodec/flacdsp.c
@@ -154,7 +154,7 @@ av_cold void ff_flacdsp_init(FLACDSPContext *c, enum
AVSampleFormat fmt, int cha
ff_flacdsp_init_arm(c, fmt, channels);
#elif ARCH_RISCV
ff_flacdsp_init_riscv(c, fmt, channels);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_flacdsp_init_x86(c, fmt, channels);
#endif
}
diff --git a/libavcodec/flacencdsp.c b/libavcodec/flacencdsp.c
index 46e5a0352b..251b3c2d47 100644
--- a/libavcodec/flacencdsp.c
+++ b/libavcodec/flacencdsp.c
@@ -34,7 +34,7 @@ av_cold void ff_flacencdsp_init(FLACEncDSPContext *c)
c->lpc16_encode = flac_lpc_encode_c_16;
c->lpc32_encode = flac_lpc_encode_c_32;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_flacencdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/fmtconvert.c b/libavcodec/fmtconvert.c
index d889e61aca..77d69f8211 100644
--- a/libavcodec/fmtconvert.c
+++ b/libavcodec/fmtconvert.c
@@ -54,7 +54,7 @@ av_cold void ff_fmt_convert_init(FmtConvertContext *c)
ff_fmt_convert_init_ppc(c);
#elif ARCH_RISCV
ff_fmt_convert_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_fmt_convert_init_x86(c);
#endif
#if HAVE_MIPSFPU
diff --git a/libavcodec/g722dsp.c b/libavcodec/g722dsp.c
index 302283688f..5807635ce5 100644
--- a/libavcodec/g722dsp.c
+++ b/libavcodec/g722dsp.c
@@ -73,7 +73,7 @@ av_cold void ff_g722dsp_init(G722DSPContext *c)
ff_g722dsp_init_arm(c);
#elif ARCH_RISCV
ff_g722dsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_g722dsp_init_x86(c);
#endif
}
diff --git a/libavcodec/h263dsp.c b/libavcodec/h263dsp.c
index 6a13353499..165174a499 100644
--- a/libavcodec/h263dsp.c
+++ b/libavcodec/h263dsp.c
@@ -121,7 +121,7 @@ av_cold void ff_h263dsp_init(H263DSPContext *ctx)
#if ARCH_RISCV
ff_h263dsp_init_riscv(ctx);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_h263dsp_init_x86(ctx);
#elif ARCH_MIPS
ff_h263dsp_init_mips(ctx);
diff --git a/libavcodec/h264chroma.c b/libavcodec/h264chroma.c
index 5000c89aa7..0d152de59d 100644
--- a/libavcodec/h264chroma.c
+++ b/libavcodec/h264chroma.c
@@ -50,7 +50,7 @@ av_cold void ff_h264chroma_init(H264ChromaContext *c, int
bit_depth)
ff_h264chroma_init_arm(c, bit_depth);
#elif ARCH_PPC
ff_h264chroma_init_ppc(c, bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_h264chroma_init_x86(c, bit_depth);
#elif ARCH_MIPS
ff_h264chroma_init_mips(c, bit_depth);
diff --git a/libavcodec/h264dsp.c b/libavcodec/h264dsp.c
index 8a6a3f5325..f4c5238372 100644
--- a/libavcodec/h264dsp.c
+++ b/libavcodec/h264dsp.c
@@ -160,7 +160,7 @@ av_cold void ff_h264dsp_init(H264DSPContext *c, const int
bit_depth,
ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc);
#elif ARCH_RISCV
ff_h264dsp_init_riscv(c, bit_depth, chroma_format_idc);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
#elif ARCH_MIPS
ff_h264dsp_init_mips(c, bit_depth, chroma_format_idc);
diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c
index 25f9995a0b..fbd8d2b91d 100644
--- a/libavcodec/h264pred.c
+++ b/libavcodec/h264pred.c
@@ -592,7 +592,7 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int
codec_id,
ff_h264_pred_init_aarch64(h, codec_id, bit_depth, chroma_format_idc);
#elif ARCH_ARM
ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
#elif ARCH_MIPS
ff_h264_pred_init_mips(h, codec_id, bit_depth, chroma_format_idc);
diff --git a/libavcodec/h264qpel.c b/libavcodec/h264qpel.c
index 0bc715c638..c64d35b73d 100644
--- a/libavcodec/h264qpel.c
+++ b/libavcodec/h264qpel.c
@@ -104,7 +104,7 @@ av_cold void ff_h264qpel_init(H264QpelContext *c, int
bit_depth)
ff_h264qpel_init_ppc(c, bit_depth);
#elif ARCH_RISCV
ff_h264qpel_init_riscv(c, bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_h264qpel_init_x86(c, bit_depth);
#elif ARCH_MIPS
ff_h264qpel_init_mips(c, bit_depth);
diff --git a/libavcodec/hevc/dsp.c b/libavcodec/hevc/dsp.c
index a154fab2bf..5ae779f9f7 100644
--- a/libavcodec/hevc/dsp.c
+++ b/libavcodec/hevc/dsp.c
@@ -269,7 +269,7 @@ int i = 0;
ff_hevc_dsp_init_riscv(hevcdsp, bit_depth);
#elif ARCH_WASM
ff_hevc_dsp_init_wasm(hevcdsp, bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_hevc_dsp_init_x86(hevcdsp, bit_depth);
#elif ARCH_MIPS
ff_hevc_dsp_init_mips(hevcdsp, bit_depth);
diff --git a/libavcodec/hpeldsp.c b/libavcodec/hpeldsp.c
index 688939ad3f..e753d6216c 100644
--- a/libavcodec/hpeldsp.c
+++ b/libavcodec/hpeldsp.c
@@ -360,7 +360,7 @@ av_cold void ff_hpeldsp_init(HpelDSPContext *c, int flags)
ff_hpeldsp_init_arm(c, flags);
#elif ARCH_PPC
ff_hpeldsp_init_ppc(c, flags);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_hpeldsp_init_x86(c, flags);
#elif ARCH_MIPS
ff_hpeldsp_init_mips(c, flags);
diff --git a/libavcodec/huffyuvdsp.c b/libavcodec/huffyuvdsp.c
index 80587dac85..1ae2f820d0 100644
--- a/libavcodec/huffyuvdsp.c
+++ b/libavcodec/huffyuvdsp.c
@@ -89,7 +89,7 @@ av_cold void ff_huffyuvdsp_init(HuffYUVDSPContext *c, enum
AVPixelFormat pix_fmt
#if ARCH_RISCV
ff_huffyuvdsp_init_riscv(c, pix_fmt);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_huffyuvdsp_init_x86(c, pix_fmt);
#endif
}
diff --git a/libavcodec/huffyuvencdsp.c b/libavcodec/huffyuvencdsp.c
index 27428635af..e332f678d4 100644
--- a/libavcodec/huffyuvencdsp.c
+++ b/libavcodec/huffyuvencdsp.c
@@ -89,7 +89,7 @@ av_cold void ff_huffyuvencdsp_init(HuffYUVEncDSPContext *c,
enum AVPixelFormat p
c->diff_int16 = diff_int16_c;
c->sub_hfyu_median_pred_int16 = sub_hfyu_median_pred_int16_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_huffyuvencdsp_init_x86(c, pix_fmt);
#endif
}
diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c
index 8a71c7ef77..e039f900eb 100644
--- a/libavcodec/idctdsp.c
+++ b/libavcodec/idctdsp.c
@@ -41,7 +41,7 @@ av_cold void ff_init_scantable_permutation(uint8_t
*idct_permutation,
{
int i;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
if (ff_init_scantable_permutation_x86(idct_permutation,
perm_type))
return;
@@ -301,7 +301,7 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c,
AVCodecContext *avctx)
ff_idctdsp_init_ppc(c, avctx, high_bit_depth);
#elif ARCH_RISCV
ff_idctdsp_init_riscv(c, avctx, high_bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_idctdsp_init_x86(c, avctx, high_bit_depth);
#elif ARCH_MIPS
ff_idctdsp_init_mips(c, avctx, high_bit_depth);
diff --git a/libavcodec/jpeg2000dsp.c b/libavcodec/jpeg2000dsp.c
index 7840fdc357..2931a38ef1 100644
--- a/libavcodec/jpeg2000dsp.c
+++ b/libavcodec/jpeg2000dsp.c
@@ -98,7 +98,7 @@ av_cold void ff_jpeg2000dsp_init(Jpeg2000DSPContext *c)
#if ARCH_RISCV
ff_jpeg2000dsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_jpeg2000dsp_init_x86(c);
#endif
}
diff --git a/libavcodec/lossless_audiodsp.c b/libavcodec/lossless_audiodsp.c
index 94e6ce0989..2d57857dad 100644
--- a/libavcodec/lossless_audiodsp.c
+++ b/libavcodec/lossless_audiodsp.c
@@ -63,7 +63,7 @@ av_cold void ff_llauddsp_init(LLAudDSPContext *c)
ff_llauddsp_init_arm(c);
#elif ARCH_RISCV
ff_llauddsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_llauddsp_init_x86(c);
#endif
}
diff --git a/libavcodec/lossless_videodsp.c b/libavcodec/lossless_videodsp.c
index 229494bb50..bf3a3da90d 100644
--- a/libavcodec/lossless_videodsp.c
+++ b/libavcodec/lossless_videodsp.c
@@ -124,7 +124,7 @@ av_cold void ff_llviddsp_init(LLVidDSPContext *c)
ff_llviddsp_init_ppc(c);
#elif ARCH_RISCV
ff_llviddsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_llviddsp_init_x86(c);
#endif
}
diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c
index 8e53f6d573..09861e2074 100644
--- a/libavcodec/me_cmp.c
+++ b/libavcodec/me_cmp.c
@@ -1019,7 +1019,7 @@ av_cold void ff_me_cmp_init(MECmpContext *c,
AVCodecContext *avctx)
ff_me_cmp_init_ppc(c, avctx);
#elif ARCH_RISCV
ff_me_cmp_init_riscv(c, avctx);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_me_cmp_init_x86(c, avctx);
#elif ARCH_MIPS
ff_me_cmp_init_mips(c, avctx);
diff --git a/libavcodec/opus/dsp.c b/libavcodec/opus/dsp.c
index 6cd76ceceb..f2278c5bde 100644
--- a/libavcodec/opus/dsp.c
+++ b/libavcodec/opus/dsp.c
@@ -62,7 +62,7 @@ av_cold void ff_opus_dsp_init(OpusDSP *ctx)
ff_opus_dsp_init_aarch64(ctx);
#elif ARCH_RISCV
ff_opus_dsp_init_riscv(ctx);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_opus_dsp_init_x86(ctx);
#endif
}
diff --git a/libavcodec/opus/pvq.c b/libavcodec/opus/pvq.c
index fe57ab02ce..3dea7c19f2 100644
--- a/libavcodec/opus/pvq.c
+++ b/libavcodec/opus/pvq.c
@@ -914,7 +914,7 @@ int av_cold ff_celt_pvq_init(CeltPVQ **pvq, int encode)
#if CONFIG_OPUS_ENCODER
s->pvq_search = ppp_pvq_search_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_celt_pvq_init_x86(s);
#endif
#endif
diff --git a/libavcodec/pixblockdsp.c b/libavcodec/pixblockdsp.c
index 110a374260..5ae840f100 100644
--- a/libavcodec/pixblockdsp.c
+++ b/libavcodec/pixblockdsp.c
@@ -108,7 +108,7 @@ av_cold void ff_pixblockdsp_init(PixblockDSPContext *c, int
bits_per_raw_sample)
ff_pixblockdsp_init_ppc(c, high_bit_depth);
#elif ARCH_RISCV
ff_pixblockdsp_init_riscv(c, high_bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_pixblockdsp_init_x86(c, high_bit_depth);
#elif ARCH_MIPS
ff_pixblockdsp_init_mips(c, high_bit_depth);
diff --git a/libavcodec/pngdsp.c b/libavcodec/pngdsp.c
index 50ee96a684..ae40113a51 100644
--- a/libavcodec/pngdsp.c
+++ b/libavcodec/pngdsp.c
@@ -58,7 +58,7 @@ av_cold void ff_pngdsp_init(PNGDSPContext *dsp)
dsp->add_bytes_l2 = add_bytes_l2_c;
dsp->add_paeth_prediction = ff_add_png_paeth_prediction;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_pngdsp_init_x86(dsp);
#endif
}
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index a4921128f7..eb5dbf4799 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -149,7 +149,7 @@ av_cold void ff_proresdsp_init(ProresDSPContext *dsp, int
bits_per_raw_sample)
dsp->idct_permutation_type = FF_IDCT_PERM_NONE;
}
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_proresdsp_init_x86(dsp, bits_per_raw_sample);
#endif
diff --git a/libavcodec/qpeldsp.c b/libavcodec/qpeldsp.c
index 5f937f9d9e..33a5eccd0b 100644
--- a/libavcodec/qpeldsp.c
+++ b/libavcodec/qpeldsp.c
@@ -810,7 +810,7 @@ av_cold void ff_qpeldsp_init(QpelDSPContext *c)
dspfunc(avg_qpel, 0, 16);
dspfunc(avg_qpel, 1, 8);
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_qpeldsp_init_x86(c);
#elif ARCH_MIPS
ff_qpeldsp_init_mips(c);
diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c
index 44486f8edd..2e27137be6 100644
--- a/libavcodec/rv34dsp.c
+++ b/libavcodec/rv34dsp.c
@@ -140,7 +140,7 @@ av_cold void ff_rv34dsp_init(RV34DSPContext *c)
ff_rv34dsp_init_arm(c);
#elif ARCH_RISCV
ff_rv34dsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_rv34dsp_init_x86(c);
#endif
}
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index dd73737bd6..7370b89e1b 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -712,7 +712,7 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c)
ff_rv40dsp_init_arm(c);
#elif ARCH_RISCV
ff_rv40dsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_rv40dsp_init_x86(c);
#endif
}
diff --git a/libavcodec/sbcdsp.c b/libavcodec/sbcdsp.c
index 00f9c4c68d..5674bdc4a7 100644
--- a/libavcodec/sbcdsp.c
+++ b/libavcodec/sbcdsp.c
@@ -382,7 +382,7 @@ av_cold void ff_sbcdsp_init(SBCDSPContext *s)
#if ARCH_ARM
ff_sbcdsp_init_arm(s);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_sbcdsp_init_x86(s);
#endif
}
diff --git a/libavcodec/sbrdsp_template.c b/libavcodec/sbrdsp_template.c
index 9a94af8670..b5766c6980 100644
--- a/libavcodec/sbrdsp_template.c
+++ b/libavcodec/sbrdsp_template.c
@@ -102,7 +102,7 @@ av_cold void AAC_RENAME(ff_sbrdsp_init)(SBRDSPContext *s)
ff_sbrdsp_init_aarch64(s);
#elif ARCH_RISCV
ff_sbrdsp_init_riscv(s);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_sbrdsp_init_x86(s);
#endif
#endif /* !USE_FIXED */
diff --git a/libavcodec/svq1encdsp.h b/libavcodec/svq1encdsp.h
index 751b5eed86..dcc8e825a3 100644
--- a/libavcodec/svq1encdsp.h
+++ b/libavcodec/svq1encdsp.h
@@ -52,7 +52,7 @@ static inline void ff_svq1enc_init(SVQ1EncDSPContext *c)
ff_svq1enc_init_ppc(c);
#elif ARCH_RISCV
ff_svq1enc_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_svq1enc_init_x86(c);
#endif
}
diff --git a/libavcodec/synth_filter.c b/libavcodec/synth_filter.c
index f90c6be7a7..82a2f812b8 100644
--- a/libavcodec/synth_filter.c
+++ b/libavcodec/synth_filter.c
@@ -180,7 +180,7 @@ av_cold void ff_synth_filter_init(SynthFilterContext *c)
ff_synth_filter_init_aarch64(c);
#elif ARCH_ARM
ff_synth_filter_init_arm(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_synth_filter_init_x86(c);
#endif
}
diff --git a/libavcodec/takdsp.c b/libavcodec/takdsp.c
index 51b6658de4..a7e281b6e2 100644
--- a/libavcodec/takdsp.c
+++ b/libavcodec/takdsp.c
@@ -79,7 +79,7 @@ av_cold void ff_takdsp_init(TAKDSPContext *c)
#if ARCH_RISCV
ff_takdsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_takdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/ttadsp.c b/libavcodec/ttadsp.c
index 5dda19587c..af82850869 100644
--- a/libavcodec/ttadsp.c
+++ b/libavcodec/ttadsp.c
@@ -57,7 +57,7 @@ av_cold void ff_ttadsp_init(TTADSPContext *c)
{
c->filter_process = tta_filter_process_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_ttadsp_init_x86(c);
#endif
}
diff --git a/libavcodec/ttaencdsp.c b/libavcodec/ttaencdsp.c
index 0efdc109bb..0a717313bf 100644
--- a/libavcodec/ttaencdsp.c
+++ b/libavcodec/ttaencdsp.c
@@ -54,7 +54,7 @@ av_cold void ff_ttaencdsp_init(TTAEncDSPContext *c)
{
c->filter_process = ttaenc_filter_process_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_ttaencdsp_init_x86(c);
#endif
}
diff --git a/libavcodec/utvideodsp.c b/libavcodec/utvideodsp.c
index b63dafbe17..209f8561ab 100644
--- a/libavcodec/utvideodsp.c
+++ b/libavcodec/utvideodsp.c
@@ -79,7 +79,7 @@ av_cold void ff_utvideodsp_init(UTVideoDSPContext *c)
#if ARCH_RISCV
ff_utvideodsp_init_riscv(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_utvideodsp_init_x86(c);
#endif
}
diff --git a/libavcodec/v210dec_init.h b/libavcodec/v210dec_init.h
index a0c97bf426..7523cb02be 100644
--- a/libavcodec/v210dec_init.h
+++ b/libavcodec/v210dec_init.h
@@ -54,7 +54,7 @@ static void v210_planar_unpack_c(const uint32_t *src,
uint16_t *y, uint16_t *u,
av_unused static av_cold void ff_v210dec_init(V210DecContext *s)
{
s->unpack_frame = v210_planar_unpack_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_v210_x86_init(s);
#endif
}
diff --git a/libavcodec/v210enc_init.h b/libavcodec/v210enc_init.h
index 01b6981b50..75ce624854 100644
--- a/libavcodec/v210enc_init.h
+++ b/libavcodec/v210enc_init.h
@@ -83,7 +83,7 @@ av_unused av_cold static void ff_v210enc_init(V210EncContext
*s)
s->sample_factor_8 = 2;
s->sample_factor_10 = 1;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_v210enc_init_x86(s);
#endif
}
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c
index 2caa3c6863..864a6e5e7b 100644
--- a/libavcodec/vc1dsp.c
+++ b/libavcodec/vc1dsp.c
@@ -1041,7 +1041,7 @@ av_cold void ff_vc1dsp_init(VC1DSPContext *dsp)
ff_vc1dsp_init_ppc(dsp);
#elif ARCH_RISCV
ff_vc1dsp_init_riscv(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vc1dsp_init_x86(dsp);
#elif ARCH_MIPS
ff_vc1dsp_init_mips(dsp);
diff --git a/libavcodec/videodsp.c b/libavcodec/videodsp.c
index a19e87a819..c66757ce83 100644
--- a/libavcodec/videodsp.c
+++ b/libavcodec/videodsp.c
@@ -53,7 +53,7 @@ av_cold void ff_videodsp_init(VideoDSPContext *ctx, int bpc)
ff_videodsp_init_ppc(ctx, bpc);
#elif ARCH_RISCV
ff_videodsp_init_riscv(ctx, bpc);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_videodsp_init_x86(ctx, bpc);
#elif ARCH_MIPS
ff_videodsp_init_mips(ctx, bpc);
diff --git a/libavcodec/vorbisdsp.c b/libavcodec/vorbisdsp.c
index 70022bd262..54a55d109d 100644
--- a/libavcodec/vorbisdsp.c
+++ b/libavcodec/vorbisdsp.c
@@ -55,7 +55,7 @@ av_cold void ff_vorbisdsp_init(VorbisDSPContext *dsp)
ff_vorbisdsp_init_ppc(dsp);
#elif ARCH_RISCV
ff_vorbisdsp_init_riscv(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vorbisdsp_init_x86(dsp);
#endif
}
diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c
index b96b4dea68..025ad04231 100644
--- a/libavcodec/vp3dsp.c
+++ b/libavcodec/vp3dsp.c
@@ -459,7 +459,7 @@ av_cold void ff_vp3dsp_init(VP3DSPContext *c)
ff_vp3dsp_init_arm(c);
#elif ARCH_PPC
ff_vp3dsp_init_ppc(c);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vp3dsp_init_x86(c);
#elif ARCH_MIPS
ff_vp3dsp_init_mips(c);
diff --git a/libavcodec/vp6dsp.c b/libavcodec/vp6dsp.c
index bdaa054307..e12a7ed2ad 100644
--- a/libavcodec/vp6dsp.c
+++ b/libavcodec/vp6dsp.c
@@ -64,7 +64,7 @@ av_cold void ff_vp6dsp_init(VP6DSPContext *s)
{
s->vp6_filter_diag4 = vp6_filter_diag4_c;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_vp6dsp_init_x86(s);
#endif
}
diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c
index 146cb0a7c7..5543303adb 100644
--- a/libavcodec/vp8dsp.c
+++ b/libavcodec/vp8dsp.c
@@ -683,7 +683,7 @@ av_cold void ff_vp78dsp_init(VP8DSPContext *dsp)
ff_vp78dsp_init_ppc(dsp);
#elif ARCH_RISCV
ff_vp78dsp_init_riscv(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vp78dsp_init_x86(dsp);
#endif
}
@@ -750,7 +750,7 @@ av_cold void ff_vp8dsp_init(VP8DSPContext *dsp)
ff_vp8dsp_init_arm(dsp);
#elif ARCH_RISCV
ff_vp8dsp_init_riscv(dsp);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vp8dsp_init_x86(dsp);
#elif ARCH_MIPS
ff_vp8dsp_init_mips(dsp);
diff --git a/libavcodec/vp9dsp.c b/libavcodec/vp9dsp.c
index 967e6e1e1a..147486e10b 100644
--- a/libavcodec/vp9dsp.c
+++ b/libavcodec/vp9dsp.c
@@ -102,7 +102,7 @@ av_cold void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp,
int bitexact)
ff_vp9dsp_init_arm(dsp, bpp);
#elif ARCH_RISCV
ff_vp9dsp_init_riscv(dsp, bpp, bitexact);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vp9dsp_init_x86(dsp, bpp, bitexact);
#elif ARCH_MIPS
ff_vp9dsp_init_mips(dsp, bpp);
diff --git a/libavcodec/vvc/dsp.c b/libavcodec/vvc/dsp.c
index af392f2754..60372cca45 100644
--- a/libavcodec/vvc/dsp.c
+++ b/libavcodec/vvc/dsp.c
@@ -113,7 +113,7 @@ void ff_vvc_dsp_init(VVCDSPContext *vvcdsp, int bit_depth)
ff_vvc_dsp_init_aarch64(vvcdsp, bit_depth);
#elif ARCH_RISCV
ff_vvc_dsp_init_riscv(vvcdsp, bit_depth);
-#elif ARCH_X86
+#elif ARCH_X86 && HAVE_X86ASM
ff_vvc_dsp_init_x86(vvcdsp, bit_depth);
#endif
}
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 84ba395c82..63b16f24c8 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -1,89 +1,87 @@
OBJS += x86/constants.o \
# subsystems
-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_init.o
-OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp_init.o
-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp_init.o
-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_init.o \
+X86ASM-OBJS-$(CONFIG_AC3DSP) += x86/ac3dsp_init.o
+X86ASM-OBJS-$(CONFIG_AUDIODSP) += x86/audiodsp_init.o
+X86ASM-OBJS-$(CONFIG_BLOCKDSP) += x86/blockdsp_init.o
+X86ASM-OBJS-$(CONFIG_BSWAPDSP) += x86/bswapdsp_init.o
+X86ASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp_init.o \
x86/dirac_dwt_init.o
OBJS-$(CONFIG_FDCTDSP) += x86/fdctdsp_init.o x86/fdct.o
-OBJS-$(CONFIG_FMTCONVERT) += x86/fmtconvert_init.o
-OBJS-$(CONFIG_H263DSP) += x86/h263dsp_init.o
-OBJS-$(CONFIG_H264CHROMA) += x86/h264chroma_init.o
-OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel.o
-OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp_init.o
-OBJS-$(CONFIG_LLAUDDSP) += x86/lossless_audiodsp_init.o
-OBJS-$(CONFIG_LLVIDDSP) += x86/lossless_videodsp_init.o
+X86ASM-OBJS-$(CONFIG_FMTCONVERT) += x86/fmtconvert_init.o
+X86ASM-OBJS-$(CONFIG_H263DSP) += x86/h263dsp_init.o
+X86ASM-OBJS-$(CONFIG_H264CHROMA) += x86/h264chroma_init.o
+X86ASM-OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o
+X86ASM-OBJS-$(CONFIG_H264PRED) += x86/h264_intrapred_init.o
+X86ASM-OBJS-$(CONFIG_H264QPEL) += x86/h264_qpel.o
+X86ASM-OBJS-$(CONFIG_HPELDSP) += x86/hpeldsp_init.o
+X86ASM-OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp_init.o
+X86ASM-OBJS-$(CONFIG_HUFFYUVENCDSP) += x86/huffyuvencdsp_init.o
+X86ASM-OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_init.o
+X86ASM-OBJS-$(CONFIG_LLAUDDSP) += x86/lossless_audiodsp_init.o
+X86ASM-OBJS-$(CONFIG_LLVIDDSP) += x86/lossless_videodsp_init.o
OBJS-$(CONFIG_LLVIDENCDSP) += x86/lossless_videoencdsp_init.o
-OBJS-$(CONFIG_HUFFYUVDSP) += x86/huffyuvdsp_init.o
-OBJS-$(CONFIG_HUFFYUVENCDSP) += x86/huffyuvencdsp_init.o
-OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_init.o
OBJS-$(CONFIG_LPC) += x86/lpc_init.o
-OBJS-$(CONFIG_ME_CMP) += x86/me_cmp_init.o
+X86ASM-OBJS-$(CONFIG_ME_CMP) += x86/me_cmp_init.o
OBJS-$(CONFIG_MPEGAUDIODSP) += x86/mpegaudiodsp.o
OBJS-$(CONFIG_MPEGVIDEO) += x86/mpegvideo.o
OBJS-$(CONFIG_MPEGVIDEOENC) += x86/mpegvideoenc.o
OBJS-$(CONFIG_MPEGVIDEOENCDSP) += x86/mpegvideoencdsp_init.o
-OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp_init.o
-OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp_init.o
-OBJS-$(CONFIG_RV34DSP) += x86/rv34dsp_init.o
-OBJS-$(CONFIG_VC1DSP) += x86/vc1dsp_init.o
-OBJS-$(CONFIG_VIDEODSP) += x86/videodsp_init.o
-OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
-OBJS-$(CONFIG_VP8DSP) += x86/vp8dsp_init.o
+X86ASM-OBJS-$(CONFIG_PIXBLOCKDSP) += x86/pixblockdsp_init.o
+X86ASM-OBJS-$(CONFIG_QPELDSP) += x86/qpeldsp_init.o
+X86ASM-OBJS-$(CONFIG_RV34DSP) += x86/rv34dsp_init.o
+X86ASM-OBJS-$(CONFIG_VC1DSP) += x86/vc1dsp_init.o x86/vc1dsp_mmx.o
+X86ASM-OBJS-$(CONFIG_VIDEODSP) += x86/videodsp_init.o
+X86ASM-OBJS-$(CONFIG_VP3DSP) += x86/vp3dsp_init.o
+X86ASM-OBJS-$(CONFIG_VP8DSP) += x86/vp8dsp_init.o
OBJS-$(CONFIG_XMM_CLOBBER_TEST) += x86/w64xmmtest.o
# decoders/encoders
-OBJS-$(CONFIG_AAC_DECODER) += x86/aacpsdsp_init.o \
+X86ASM-OBJS-$(CONFIG_AAC_DECODER) += x86/aacpsdsp_init.o \
x86/sbrdsp_init.o
-OBJS-$(CONFIG_AAC_ENCODER) += x86/aacencdsp_init.o
-OBJS-$(CONFIG_ADPCM_G722_DECODER) += x86/g722dsp_init.o
-OBJS-$(CONFIG_ADPCM_G722_ENCODER) += x86/g722dsp_init.o
-OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp_init.o
-OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp_init.o
-OBJS-$(CONFIG_APV_DECODER) += x86/apv_dsp_init.o
-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
-OBJS-$(CONFIG_CFHD_DECODER) += x86/cfhddsp_init.o
-OBJS-$(CONFIG_CFHD_ENCODER) += x86/cfhdencdsp_init.o
-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp_init.o
x86/synth_filter_init.o
-OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc_init.o
-OBJS-$(CONFIG_EXR_DECODER) += x86/exrdsp_init.o
-OBJS-$(CONFIG_FLAC_DECODER) += x86/flacdsp_init.o
-OBJS-$(CONFIG_FLAC_ENCODER) += x86/flacencdsp_init.o
-OBJS-$(CONFIG_OPUS_DECODER) += x86/opusdsp_init.o
-OBJS-$(CONFIG_OPUS_ENCODER) += x86/celt_pvq_init.o
-OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp_init.o
-OBJS-$(CONFIG_LSCR_DECODER) += x86/pngdsp_init.o
+X86ASM-OBJS-$(CONFIG_AAC_ENCODER) += x86/aacencdsp_init.o
+X86ASM-OBJS-$(CONFIG_ADPCM_G722_DECODER) += x86/g722dsp_init.o
+X86ASM-OBJS-$(CONFIG_ADPCM_G722_ENCODER) += x86/g722dsp_init.o
+X86ASM-OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp_init.o
+X86ASM-OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp_init.o
+X86ASM-OBJS-$(CONFIG_APV_DECODER) += x86/apv_dsp_init.o
+X86ASM-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp.o
+X86ASM-OBJS-$(CONFIG_CFHD_DECODER) += x86/cfhddsp_init.o
+X86ASM-OBJS-$(CONFIG_CFHD_ENCODER) += x86/cfhdencdsp_init.o
+X86ASM-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp_init.o
x86/synth_filter_init.o
+X86ASM-OBJS-$(CONFIG_DNXHD_ENCODER) += x86/dnxhdenc_init.o
+X86ASM-OBJS-$(CONFIG_EXR_DECODER) += x86/exrdsp_init.o
+X86ASM-OBJS-$(CONFIG_FLAC_DECODER) += x86/flacdsp_init.o
+X86ASM-OBJS-$(CONFIG_FLAC_ENCODER) += x86/flacencdsp_init.o
+X86ASM-OBJS-$(CONFIG_OPUS_DECODER) += x86/opusdsp_init.o
+X86ASM-OBJS-$(CONFIG_OPUS_ENCODER) += x86/celt_pvq_init.o
+X86ASM-OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp_init.o
+X86ASM-OBJS-$(CONFIG_LSCR_DECODER) += x86/pngdsp_init.o
OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp_init.o
-OBJS-$(CONFIG_MPEG4_DECODER) += x86/mpeg4videodsp.o
x86/xvididct_init.o
-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
-OBJS-$(CONFIG_PRORES_RAW_DECODER) += x86/proresdsp_init.o
-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp_init.o
-OBJS-$(CONFIG_SBC_ENCODER) += x86/sbcdsp_init.o
-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc_init.o
-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp_init.o
+OBJS-$(CONFIG_MPEG4_DECODER) += x86/mpeg4videodsp.o
+X86ASM-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct_init.o
+X86ASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp_init.o
+X86ASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp_init.o
+X86ASM-OBJS-$(CONFIG_PRORES_RAW_DECODER) += x86/proresdsp_init.o
+X86ASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp_init.o
+X86ASM-OBJS-$(CONFIG_SBC_ENCODER) += x86/sbcdsp_init.o
+X86ASM-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc_init.o
+X86ASM-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp_init.o
OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp_init.o
-OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp_init.o
-OBJS-$(CONFIG_TTA_ENCODER) += x86/ttaencdsp_init.o
-OBJS-$(CONFIG_UTVIDEO_DECODER) += x86/utvideodsp_init.o
-OBJS-$(CONFIG_V210_DECODER) += x86/v210-init.o
-OBJS-$(CONFIG_V210_ENCODER) += x86/v210enc_init.o
-OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp_init.o
-OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp_init.o
-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o \
+X86ASM-OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp_init.o
+X86ASM-OBJS-$(CONFIG_TTA_ENCODER) += x86/ttaencdsp_init.o
+X86ASM-OBJS-$(CONFIG_UTVIDEO_DECODER) += x86/utvideodsp_init.o
+X86ASM-OBJS-$(CONFIG_V210_DECODER) += x86/v210-init.o
+X86ASM-OBJS-$(CONFIG_V210_ENCODER) += x86/v210enc_init.o
+X86ASM-OBJS-$(CONFIG_VORBIS_DECODER) += x86/vorbisdsp_init.o
+X86ASM-OBJS-$(CONFIG_VP6_DECODER) += x86/vp6dsp_init.o
+X86ASM-OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o \
x86/vp9dsp_init_10bpp.o \
x86/vp9dsp_init_12bpp.o \
x86/vp9dsp_init_16bpp.o
# GCC inline assembly optimizations
-# subsystems
-MMX-OBJS-$(CONFIG_VC1DSP) += x86/vc1dsp_mmx.o
-
# decoders/encoders
MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
MMX-OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
diff --git a/libavcodec/x86/alacdsp_init.c b/libavcodec/x86/alacdsp_init.c
index 18f7308a12..1b2ff9525b 100644
--- a/libavcodec/x86/alacdsp_init.c
+++ b/libavcodec/x86/alacdsp_init.c
@@ -19,7 +19,6 @@
#include "libavutil/attributes.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/alacdsp.h"
-#include "config.h"
void ff_alac_decorrelate_stereo_sse4(int32_t *buffer[2], int nb_samples,
int decorr_shift, int decorr_left_weight);
@@ -30,7 +29,6 @@ void ff_alac_append_extra_bits_mono_sse2(int32_t *buffer[2],
int32_t *extra_bits
av_cold void ff_alacdsp_init_x86(ALACDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -40,5 +38,4 @@ av_cold void ff_alacdsp_init_x86(ALACDSPContext *c)
if (EXTERNAL_SSE4(cpu_flags)) {
c->decorrelate_stereo = ff_alac_decorrelate_stereo_sse4;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/blockdsp_init.c b/libavcodec/x86/blockdsp_init.c
index 37f3bb6a84..a2b362e655 100644
--- a/libavcodec/x86/blockdsp_init.c
+++ b/libavcodec/x86/blockdsp_init.c
@@ -36,7 +36,6 @@ void ff_fill_block_tab_8_avx2(uint8_t *block, uint8_t value,
ptrdiff_t line_size
av_cold void ff_blockdsp_init_x86(BlockDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE(cpu_flags)) {
@@ -55,5 +54,4 @@ av_cold void ff_blockdsp_init_x86(BlockDSPContext *c)
c->fill_block_tab[0] = ff_fill_block_tab_16_avx2;
c->fill_block_tab[1] = ff_fill_block_tab_8_avx2;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/dirac_dwt_init.c b/libavcodec/x86/dirac_dwt_init.c
index 13b42b60cb..ecf89342b0 100644
--- a/libavcodec/x86/dirac_dwt_init.c
+++ b/libavcodec/x86/dirac_dwt_init.c
@@ -20,7 +20,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h"
#include "libavcodec/dirac_dwt.h"
@@ -133,10 +132,8 @@ static void horizontal_compose_haar1i##ext(uint8_t *_b,
uint8_t *_tmp, int w)\
}\
\
-#if HAVE_X86ASM
COMPOSE_VERTICAL(_sse2, 8)
-
void ff_horizontal_compose_dd97i_ssse3(int16_t *_b, int16_t *_tmp, int w);
static void horizontal_compose_dd97i_ssse3(uint8_t *_b, uint8_t *_tmp, int w)
@@ -153,11 +150,9 @@ static void horizontal_compose_dd97i_ssse3(uint8_t *_b,
uint8_t *_tmp, int w)
b[2*x+1] = (COMPOSE_DD97iH0(tmp[x-1], tmp[x], b[x+w2], tmp[x+1],
tmp[x+2]) + 1)>>1;
}
}
-#endif
void ff_spatial_idwt_init_x86(DWTContext *d, enum dwt_type type)
{
-#if HAVE_X86ASM
int mm_flags = av_get_cpu_flags();
if (!(mm_flags & AV_CPU_FLAG_SSE2))
@@ -194,5 +189,4 @@ void ff_spatial_idwt_init_x86(DWTContext *d, enum dwt_type
type)
d->horizontal_compose = horizontal_compose_dd97i_ssse3;
break;
}
-#endif // HAVE_X86ASM
}
diff --git a/libavcodec/x86/diracdsp_init.c b/libavcodec/x86/diracdsp_init.c
index ef01ebdf2e..4f27e1fc2b 100644
--- a/libavcodec/x86/diracdsp_init.c
+++ b/libavcodec/x86/diracdsp_init.c
@@ -34,8 +34,6 @@ void ff_put_signed_rect_clamped_10_sse4(uint8_t *dst, int
dst_stride, const uint
void ff_dequant_subband_32_sse4(uint8_t *src, uint8_t *dst, ptrdiff_t stride,
const int qf, const int qs, int tot_v, int tot_h);
-#if HAVE_X86ASM
-
#define HPEL_FILTER(MMSIZE, EXT)
\
void ff_dirac_hpel_filter_v_ ## EXT(uint8_t *, const uint8_t *, int, int);
\
void ff_dirac_hpel_filter_h_ ## EXT(uint8_t *, const uint8_t *, int);
\
@@ -81,11 +79,8 @@ DIRAC_PIXOP(avg, sse2)
HPEL_FILTER(16, sse2)
-#endif // HAVE_X86ASM
-
void ff_diracdsp_init_x86(DiracDSPContext* c)
{
-#if HAVE_X86ASM
int mm_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(mm_flags)) {
@@ -107,5 +102,4 @@ void ff_diracdsp_init_x86(DiracDSPContext* c)
c->dequant_subband[1] = ff_dequant_subband_32_sse4;
c->put_signed_rect_clamped[1] = ff_put_signed_rect_clamped_10_sse4;
}
-#endif // HAVE_X86ASM
}
diff --git a/libavcodec/x86/flacdsp_init.c b/libavcodec/x86/flacdsp_init.c
index 386955ba67..a2c3829d66 100644
--- a/libavcodec/x86/flacdsp_init.c
+++ b/libavcodec/x86/flacdsp_init.c
@@ -62,7 +62,6 @@ DECORRELATE_IFUNCS(32, avx);
av_cold void ff_flacdsp_init_x86(FLACDSPContext *c, enum AVSampleFormat fmt,
int channels)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -127,5 +126,4 @@ av_cold void ff_flacdsp_init_x86(FLACDSPContext *c, enum
AVSampleFormat fmt, int
if (EXTERNAL_XOP(cpu_flags)) {
c->lpc32 = ff_flac_lpc_32_xop;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/flacencdsp_init.c b/libavcodec/x86/flacencdsp_init.c
index 5ab37e0a8f..5b45f009d8 100644
--- a/libavcodec/x86/flacencdsp_init.c
+++ b/libavcodec/x86/flacencdsp_init.c
@@ -27,12 +27,12 @@ void ff_flac_enc_lpc_16_sse4(int32_t *, const int32_t *,
int, int, const int32_t
av_cold void ff_flacencdsp_init_x86(FLACEncDSPContext *c)
{
-#if HAVE_X86ASM && CONFIG_GPL
+#if CONFIG_GPL
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE4(cpu_flags)) {
if (CONFIG_GPL)
c->lpc16_encode = ff_flac_enc_lpc_16_sse4;
}
-#endif /* HAVE_X86ASM */
+#endif /* CONFIG_GPL */
}
diff --git a/libavcodec/x86/fmtconvert_init.c b/libavcodec/x86/fmtconvert_init.c
index acbc334565..6cf3a807a6 100644
--- a/libavcodec/x86/fmtconvert_init.c
+++ b/libavcodec/x86/fmtconvert_init.c
@@ -27,22 +27,16 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/fmtconvert.h"
-#if HAVE_X86ASM
-
void ff_int32_to_float_fmul_scalar_sse2(float *dst, const int32_t *src, float
mul, int len);
void ff_int32_to_float_fmul_array8_sse2(FmtConvertContext *c, float *dst,
const int32_t *src,
const float *mul, int len);
-#endif /* HAVE_X86ASM */
-
av_cold void ff_fmt_convert_init_x86(FmtConvertContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
c->int32_to_float_fmul_scalar = ff_int32_to_float_fmul_scalar_sse2;
c->int32_to_float_fmul_array8 = ff_int32_to_float_fmul_array8_sse2;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/h264_qpel.c b/libavcodec/x86/h264_qpel.c
index f2bcca1e11..5d618651a4 100644
--- a/libavcodec/x86/h264_qpel.c
+++ b/libavcodec/x86/h264_qpel.c
@@ -30,7 +30,6 @@
#include "fpel.h"
#include "qpel.h"
-#if HAVE_X86ASM
void ff_avg_pixels4_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
void ff_put_pixels4x4_l2_mmxext(uint8_t *dst, const uint8_t *src1, const
uint8_t *src2,
ptrdiff_t stride);
@@ -344,8 +343,6 @@ LUMA_MC_816(10, mc13, sse2)
LUMA_MC_816(10, mc23, sse2)
LUMA_MC_816(10, mc33, sse2)
-#endif /* HAVE_X86ASM */
-
#define SET_QPEL_FUNCS_1PP(PFX, IDX, SIZE, CPU, PREFIX) \
do { \
c->PFX ## _pixels_tab[IDX][ 1] = PREFIX ## PFX ## SIZE ## _mc10_ ## CPU; \
@@ -388,7 +385,6 @@ LUMA_MC_816(10, mc33, sse2)
av_cold void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth)
{
-#if HAVE_X86ASM
int high_bit_depth = bit_depth > 8;
int cpu_flags = av_get_cpu_flags();
@@ -455,5 +451,4 @@ av_cold void ff_h264qpel_init_x86(H264QpelContext *c, int
bit_depth)
H264_QPEL_FUNCS_10(3, 0, ssse3_cache64);
}
}
-#endif
}
diff --git a/libavcodec/x86/h264dsp_init.c b/libavcodec/x86/h264dsp_init.c
index dc8fc4f720..66c2f36908 100644
--- a/libavcodec/x86/h264dsp_init.c
+++ b/libavcodec/x86/h264dsp_init.c
@@ -190,7 +190,6 @@ H264_BIWEIGHT_10_SSE(4, 10)
av_cold void ff_h264dsp_init_x86(H264DSPContext *c, const int bit_depth,
const int chroma_format_idc)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMXEXT(cpu_flags) && chroma_format_idc <= 1)
@@ -363,5 +362,4 @@ av_cold void ff_h264dsp_init_x86(H264DSPContext *c, const
int bit_depth,
#endif /* HAVE_ALIGNED_STACK */
}
}
-#endif
}
diff --git a/libavcodec/x86/hevc/Makefile b/libavcodec/x86/hevc/Makefile
index 8f1c88c569..74418a322c 100644
--- a/libavcodec/x86/hevc/Makefile
+++ b/libavcodec/x86/hevc/Makefile
@@ -1,12 +1,12 @@
clean::
$(RM) $(CLEANSUFFIXES:%=libavcodec/x86/hevc/%)
$(CLEANSUFFIXES:%=libavcodec/x86/h26x/%)
-OBJS-$(CONFIG_HEVC_DECODER) += x86/hevc/dsp_init.o \
- x86/h26x/h2656dsp.o
-X86ASM-OBJS-$(CONFIG_HEVC_DECODER) += x86/hevc/add_res.o \
+X86ASM-OBJS-$(CONFIG_HEVC_DECODER) += x86/hevc/dsp_init.o \
+ x86/hevc/add_res.o \
x86/hevc/deblock.o \
x86/hevc/idct.o \
x86/hevc/mc.o \
x86/hevc/sao.o \
x86/hevc/sao_10bit.o \
+ x86/h26x/h2656dsp.o \
x86/h26x/h2656_inter.o
diff --git a/libavcodec/x86/lossless_audiodsp_init.c
b/libavcodec/x86/lossless_audiodsp_init.c
index 462329db32..a8bae6ccad 100644
--- a/libavcodec/x86/lossless_audiodsp_init.c
+++ b/libavcodec/x86/lossless_audiodsp_init.c
@@ -34,7 +34,6 @@ int32_t ff_scalarproduct_and_madd_int32_sse4(int16_t *v1,
const int32_t *v2,
av_cold void ff_llauddsp_init_x86(LLAudDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags))
@@ -46,5 +45,4 @@ av_cold void ff_llauddsp_init_x86(LLAudDSPContext *c)
if (EXTERNAL_SSE4(cpu_flags))
c->scalarproduct_and_madd_int32 = ff_scalarproduct_and_madd_int32_sse4;
-#endif
}
diff --git a/libavcodec/x86/me_cmp_init.c b/libavcodec/x86/me_cmp_init.c
index 3a8b46f4e1..dbb4ef96bb 100644
--- a/libavcodec/x86/me_cmp_init.c
+++ b/libavcodec/x86/me_cmp_init.c
@@ -80,7 +80,6 @@ int ff_vsad16u_approx_sse2(MPVEncContext *v, const uint8_t
*pix1, const uint8_t
hadamard_func(sse2)
hadamard_func(ssse3)
-#if HAVE_X86ASM
static int nsse16_ssse3(MPVEncContext *c, const uint8_t *pix1, const uint8_t
*pix2,
ptrdiff_t stride, int h)
{
@@ -107,11 +106,8 @@ static int nsse8_ssse3(MPVEncContext *c, const uint8_t
*pix1, const uint8_t *pix
return score1 + FFABS(score2) * 8;
}
-#endif /* HAVE_X86ASM */
-
av_cold void ff_me_cmp_init_x86(MECmpContext *c, AVCodecContext *avctx)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMXEXT(cpu_flags)) {
@@ -174,5 +170,4 @@ av_cold void ff_me_cmp_init_x86(MECmpContext *c,
AVCodecContext *avctx)
c->hadamard8_diff[0] = ff_hadamard8_diff16_ssse3;
c->hadamard8_diff[1] = ff_hadamard8_diff_ssse3;
}
-#endif
}
diff --git a/libavcodec/x86/qpeldsp_init.c b/libavcodec/x86/qpeldsp_init.c
index cab2ac433a..a569f564e6 100644
--- a/libavcodec/x86/qpeldsp_init.c
+++ b/libavcodec/x86/qpeldsp_init.c
@@ -80,8 +80,6 @@ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst,
const uint8_t *src,
ptrdiff_t dstStride, ptrdiff_t
srcStride);
-#if HAVE_X86ASM
-
#define QPEL_OP(OPNAME, RND, MMX) \
static void OPNAME ## qpel8_mc10_ ## MMX(uint8_t *dst, \
const uint8_t *src, \
@@ -485,8 +483,6 @@ QPEL_OP(put_, _, mmxext)
QPEL_OP(avg_, _, mmxext)
QPEL_OP(put_no_rnd_, _no_rnd_, mmxext)
-#endif /* HAVE_X86ASM */
-
#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \
do { \
c->PFX ## _pixels_tab[IDX][ 1] = PREFIX ## PFX ## SIZE ## _mc10_ ## CPU; \
diff --git a/libavcodec/x86/rv40dsp_init.c b/libavcodec/x86/rv40dsp_init.c
index a07acae6bc..97abee3219 100644
--- a/libavcodec/x86/rv40dsp_init.c
+++ b/libavcodec/x86/rv40dsp_init.c
@@ -39,7 +39,6 @@ static void op##_rv40_qpel##size##_mc33_##insn(uint8_t *dst,
const uint8_t *src,
ff_##op##_pixels##size##_xy2_##insn(dst, src, stride, size); \
}
-#if HAVE_X86ASM
#define DECLARE_WEIGHT(opt) \
void ff_rv40_weight_func_rnd_16_##opt(uint8_t *dst, uint8_t *src1, uint8_t
*src2, \
int w1, int w2, ptrdiff_t stride); \
@@ -174,13 +173,10 @@ void ff_rv40_ ## OP ## _chroma_mc ## SIZE ## _ ##
XMM(uint8_t *dst, const uint8_
ptrdiff_t stride, int h,
int x, int y);\
c->OP ## _chroma_pixels_tab[SIZE == 4] = ff_rv40_ ## OP ## _chroma_mc ##
SIZE ## _ ## XMM
-#endif /* HAVE_X86ASM */
-
av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c)
{
av_unused int cpu_flags = av_get_cpu_flags();
-#if HAVE_X86ASM
if (EXTERNAL_SSE2(cpu_flags)) {
c->put_pixels_tab[0][15] = put_rv40_qpel16_mc33_sse2;
c->avg_pixels_tab[0][15] = avg_rv40_qpel16_mc33_sse2;
@@ -207,5 +203,4 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c)
QPEL_MC_SET(put_, _ssse3)
QPEL_MC_SET(avg_, _ssse3)
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/synth_filter_init.c
b/libavcodec/x86/synth_filter_init.c
index e09870b23d..93407c92da 100644
--- a/libavcodec/x86/synth_filter_init.c
+++ b/libavcodec/x86/synth_filter_init.c
@@ -43,15 +43,12 @@ static void synth_filter_##opt(AVTXContext *imdct,
\
*synth_buf_offset = (*synth_buf_offset - 32) & 511;
\
}
\
-#if HAVE_X86ASM
SYNTH_FILTER_FUNC(sse2)
SYNTH_FILTER_FUNC(avx)
SYNTH_FILTER_FUNC(fma3)
-#endif /* HAVE_X86ASM */
av_cold void ff_synth_filter_init_x86(SynthFilterContext *s)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -63,5 +60,4 @@ av_cold void ff_synth_filter_init_x86(SynthFilterContext *s)
if (EXTERNAL_FMA3_FAST(cpu_flags)) {
s->synth_filter_float = synth_filter_fma3;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/takdsp_init.c b/libavcodec/x86/takdsp_init.c
index 9553f8442c..68eb1b8c55 100644
--- a/libavcodec/x86/takdsp_init.c
+++ b/libavcodec/x86/takdsp_init.c
@@ -21,7 +21,6 @@
#include "libavutil/attributes.h"
#include "libavcodec/takdsp.h"
#include "libavutil/x86/cpu.h"
-#include "config.h"
void ff_tak_decorrelate_ls_sse2(const int32_t *p1, int32_t *p2, int length);
void ff_tak_decorrelate_ls_avx2(const int32_t *p1, int32_t *p2, int length);
@@ -34,7 +33,6 @@ void ff_tak_decorrelate_sf_avx2(int32_t *p1, const int32_t
*p2, int length, int
av_cold void ff_takdsp_init_x86(TAKDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -53,5 +51,4 @@ av_cold void ff_takdsp_init_x86(TAKDSPContext *c)
c->decorrelate_sm = ff_tak_decorrelate_sm_avx2;
c->decorrelate_sf = ff_tak_decorrelate_sf_avx2;
}
-#endif
}
diff --git a/libavcodec/x86/ttadsp_init.c b/libavcodec/x86/ttadsp_init.c
index f2954e5687..b4d5184260 100644
--- a/libavcodec/x86/ttadsp_init.c
+++ b/libavcodec/x86/ttadsp_init.c
@@ -21,7 +21,6 @@
#include "libavutil/attributes.h"
#include "libavcodec/ttadsp.h"
#include "libavutil/x86/cpu.h"
-#include "config.h"
void ff_tta_filter_process_ssse3(int32_t *qm, int32_t *dx, int32_t *dl,
int32_t *error, int32_t *in, int32_t shift,
@@ -32,12 +31,10 @@ void ff_tta_filter_process_sse4(int32_t *qm, int32_t *dx,
int32_t *dl,
av_cold void ff_ttadsp_init_x86(TTADSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSSE3(cpu_flags))
c->filter_process = ff_tta_filter_process_ssse3;
if (EXTERNAL_SSE4(cpu_flags))
c->filter_process = ff_tta_filter_process_sse4;
-#endif
}
diff --git a/libavcodec/x86/ttaencdsp_init.c b/libavcodec/x86/ttaencdsp_init.c
index b470142c50..cfe11f9678 100644
--- a/libavcodec/x86/ttaencdsp_init.c
+++ b/libavcodec/x86/ttaencdsp_init.c
@@ -21,7 +21,6 @@
#include "libavutil/attributes.h"
#include "libavcodec/ttaencdsp.h"
#include "libavutil/x86/cpu.h"
-#include "config.h"
void ff_ttaenc_filter_process_ssse3(int32_t *qm, int32_t *dx, int32_t *dl,
int32_t *error, int32_t *in, int32_t shift,
@@ -32,12 +31,10 @@ void ff_ttaenc_filter_process_sse4(int32_t *qm, int32_t
*dx, int32_t *dl,
av_cold void ff_ttaencdsp_init_x86(TTAEncDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSSE3(cpu_flags))
c->filter_process = ff_ttaenc_filter_process_ssse3;
if (EXTERNAL_SSE4(cpu_flags))
c->filter_process = ff_ttaenc_filter_process_sse4;
-#endif
}
diff --git a/libavcodec/x86/v210-init.c b/libavcodec/x86/v210-init.c
index 895cc8f329..7a879f1dc8 100644
--- a/libavcodec/x86/v210-init.c
+++ b/libavcodec/x86/v210-init.c
@@ -32,7 +32,6 @@ extern void ff_v210_planar_unpack_avx512icl(const uint32_t
*src, uint16_t *y, ui
av_cold void ff_v210_x86_init(V210DecContext *s)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (s->aligned_input) {
@@ -71,5 +70,4 @@ av_cold void ff_v210_x86_init(V210DecContext *s)
s->unpack_frame = ff_v210_planar_unpack_avx512icl;
#endif
}
-#endif // HAVE_X86ASM
}
diff --git a/libavcodec/x86/vc1dsp_init.c b/libavcodec/x86/vc1dsp_init.c
index 5cebc1f6f2..e344f233de 100644
--- a/libavcodec/x86/vc1dsp_init.c
+++ b/libavcodec/x86/vc1dsp_init.c
@@ -52,7 +52,6 @@ static void vc1_h_loop_filter16_ ## EXT(uint8_t *src,
ptrdiff_t stride, int pq)
ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
}
-#if HAVE_X86ASM
LOOP_FILTER4(mmxext)
LOOP_FILTER816(sse2)
LOOP_FILTER4(ssse3)
@@ -78,8 +77,6 @@ DECLARE_FUNCTION(avg_, 8, _mmxext)
DECLARE_FUNCTION(put_, 16, _sse2)
DECLARE_FUNCTION(avg_, 16, _sse2)
-#endif /* HAVE_X86ASM */
-
void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src,
ptrdiff_t stride, int h, int x, int y);
void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, const uint8_t *src,
@@ -117,7 +114,6 @@ av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
-#if HAVE_X86ASM
if (EXTERNAL_MMXEXT(cpu_flags)) {
ASSIGN_LF4(mmxext);
@@ -145,5 +141,4 @@ av_cold void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_sse4;
dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_sse4;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/videodsp_init.c b/libavcodec/x86/videodsp_init.c
index 602856de1e..7f3c837227 100644
--- a/libavcodec/x86/videodsp_init.c
+++ b/libavcodec/x86/videodsp_init.c
@@ -28,7 +28,6 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/videodsp.h"
-#if HAVE_X86ASM
typedef void emu_edge_vfix_func(uint8_t *dst, x86_reg dst_stride,
const uint8_t *src, x86_reg src_stride,
x86_reg start_y, x86_reg end_y, x86_reg bh);
@@ -213,13 +212,11 @@ static av_noinline void emulated_edge_mc_avx2(uint8_t
*buf, const uint8_t *src,
hfixtbl_avx2, &ff_emu_edge_hvar_avx2);
}
#endif /* HAVE_AVX2_EXTERNAL */
-#endif /* HAVE_X86ASM */
void ff_prefetch_mmxext(const uint8_t *buf, ptrdiff_t stride, int h);
av_cold void ff_videodsp_init_x86(VideoDSPContext *ctx, int bpc)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMXEXT(cpu_flags)) {
@@ -233,5 +230,4 @@ av_cold void ff_videodsp_init_x86(VideoDSPContext *ctx, int
bpc)
ctx->emulated_edge_mc = emulated_edge_mc_avx2;
}
#endif
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/vp8dsp_init.c b/libavcodec/x86/vp8dsp_init.c
index bd20da1fc9..e37afab775 100644
--- a/libavcodec/x86/vp8dsp_init.c
+++ b/libavcodec/x86/vp8dsp_init.c
@@ -26,8 +26,6 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/vp8dsp.h"
-#if HAVE_X86ASM
-
/*
* MC functions
*/
@@ -254,8 +252,6 @@ DECLARE_LOOP_FILTER(sse2)
DECLARE_LOOP_FILTER(ssse3)
DECLARE_LOOP_FILTER(sse4)
-#endif /* HAVE_X86ASM */
-
#define VP8_LUMA_MC_FUNC(IDX, SIZE, OPT) \
c->put_vp8_epel_pixels_tab[IDX][0][2] = ff_put_vp8_epel ## SIZE ## _h6_ ##
OPT; \
c->put_vp8_epel_pixels_tab[IDX][2][0] = ff_put_vp8_epel ## SIZE ## _v6_ ##
OPT; \
@@ -282,7 +278,6 @@ DECLARE_LOOP_FILTER(sse4)
av_cold void ff_vp78dsp_init_x86(VP8DSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMX(cpu_flags)) {
@@ -317,12 +312,10 @@ av_cold void ff_vp78dsp_init_x86(VP8DSPContext *c)
VP8_BILINEAR_MC_FUNC(1, 8, ssse3);
VP8_BILINEAR_MC_FUNC(2, 4, ssse3);
}
-#endif /* HAVE_X86ASM */
}
av_cold void ff_vp8dsp_init_x86(VP8DSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMX(cpu_flags)) {
@@ -379,5 +372,4 @@ av_cold void ff_vp8dsp_init_x86(VP8DSPContext *c)
c->vp8_h_loop_filter16y = ff_vp8_h_loop_filter16y_mbedge_sse4;
c->vp8_h_loop_filter8uv = ff_vp8_h_loop_filter8uv_mbedge_sse4;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/vp9dsp_init.c b/libavcodec/x86/vp9dsp_init.c
index 72edf6bb45..c103751351 100644
--- a/libavcodec/x86/vp9dsp_init.c
+++ b/libavcodec/x86/vp9dsp_init.c
@@ -26,8 +26,6 @@
#include "libavcodec/vp9dsp.h"
#include "libavcodec/x86/vp9dsp_init.h"
-#if HAVE_X86ASM
-
decl_fpel_func(put, 4, , mmx);
decl_fpel_func(put, 8, , mmx);
decl_fpel_func(put, 16, , sse);
@@ -215,11 +213,8 @@ ipred_func(32, v, avx2);
#undef ipred_dir_tm_funcs
#undef ipred_dc_funcs
-#endif /* HAVE_X86ASM */
-
av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp, int bitexact)
{
-#if HAVE_X86ASM
int cpu_flags;
if (bpp == 10) {
@@ -430,6 +425,4 @@ av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int
bpp, int bitexact)
#undef init_subpel1
#undef init_subpel2
#undef init_subpel3
-
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/vp9dsp_init_16bpp.c
b/libavcodec/x86/vp9dsp_init_16bpp.c
index e5afea1512..2d2f01ba5f 100644
--- a/libavcodec/x86/vp9dsp_init_16bpp.c
+++ b/libavcodec/x86/vp9dsp_init_16bpp.c
@@ -26,8 +26,6 @@
#include "libavcodec/vp9dsp.h"
#include "libavcodec/x86/vp9dsp_init.h"
-#if HAVE_X86ASM
-
decl_fpel_func(put, 8, , mmx);
decl_fpel_func(avg, 8, _16, mmxext);
decl_fpel_func(put, 16, , sse);
@@ -68,11 +66,9 @@ decl_ipred_dir_funcs(vl);
decl_ipred_dir_funcs(vr);
decl_ipred_dir_funcs(hu);
decl_ipred_dir_funcs(hd);
-#endif /* HAVE_X86ASM */
av_cold void ff_vp9dsp_init_16bpp_x86(VP9DSPContext *dsp)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_MMX(cpu_flags)) {
@@ -147,6 +143,4 @@ av_cold void ff_vp9dsp_init_16bpp_x86(VP9DSPContext *dsp)
init_ipred_func(dr, DIAG_DOWN_RIGHT, 32, 16, avx2);
#endif
}
-
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/x86/vp9dsp_init_16bpp_template.c
b/libavcodec/x86/vp9dsp_init_16bpp_template.c
index db775f7c1a..a6aa03bdc8 100644
--- a/libavcodec/x86/vp9dsp_init_16bpp_template.c
+++ b/libavcodec/x86/vp9dsp_init_16bpp_template.c
@@ -26,8 +26,6 @@
#include "libavcodec/vp9dsp.h"
#include "libavcodec/x86/vp9dsp_init.h"
-#if HAVE_X86ASM
-
extern const int16_t ff_filters_16bpp[3][15][4][16];
decl_mc_funcs(4, sse2, int16_t, 16, BPC);
@@ -138,11 +136,9 @@ decl_itxfm_func(iadst, iadst, 4, BPC, sse2);
decl_itxfm_funcs(8, BPC, sse2);
decl_itxfm_funcs(16, BPC, sse2);
decl_itxfm_func(idct, idct, 32, BPC, sse2);
-#endif /* HAVE_X86ASM */
av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
#define init_lpf_8_func(idx1, idx2, dir, wd, bpp, opt) \
@@ -241,7 +237,6 @@ av_cold void INIT_FUNC(VP9DSPContext *dsp, int bitexact)
init_itx_func_one(TX_32X32, idct, idct, 32, BPC, avx512icl);
}
#endif
-#endif /* HAVE_X86ASM */
ff_vp9dsp_init_16bpp_x86(dsp);
}
diff --git a/libavcodec/x86/vvc/Makefile b/libavcodec/x86/vvc/Makefile
index c426b156c1..0cebfb4e9e 100644
--- a/libavcodec/x86/vvc/Makefile
+++ b/libavcodec/x86/vvc/Makefile
@@ -1,13 +1,13 @@
clean::
$(RM) $(CLEANSUFFIXES:%=libavcodec/x86/vvc/%)
$(CLEANSUFFIXES:%=libavcodec/x86/h26x/%)
-OBJS-$(CONFIG_VVC_DECODER) += x86/vvc/dsp_init.o \
- x86/h26x/h2656dsp.o
-X86ASM-OBJS-$(CONFIG_VVC_DECODER) += x86/vvc/alf.o \
+X86ASM-OBJS-$(CONFIG_VVC_DECODER) += x86/vvc/dsp_init.o \
+ x86/vvc/alf.o \
x86/vvc/dmvr.o \
x86/vvc/mc.o \
x86/vvc/of.o \
x86/vvc/sad.o \
x86/vvc/sao.o \
x86/vvc/sao_10bit.o \
+ x86/h26x/h2656dsp.o \
x86/h26x/h2656_inter.o
diff --git a/libavcodec/x86/xvididct_init.c b/libavcodec/x86/xvididct_init.c
index c6c87b0c90..81575e93eb 100644
--- a/libavcodec/x86/xvididct_init.c
+++ b/libavcodec/x86/xvididct_init.c
@@ -16,7 +16,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
@@ -27,7 +26,6 @@
av_cold void ff_xvid_idct_init_x86(IDCTDSPContext *c)
{
-#if HAVE_X86ASM
int cpu_flags = av_get_cpu_flags();
if (EXTERNAL_SSE2(cpu_flags)) {
@@ -36,5 +34,4 @@ av_cold void ff_xvid_idct_init_x86(IDCTDSPContext *c)
c->idct = ff_xvid_idct_sse2;
c->perm_type = FF_IDCT_PERM_SSE2;
}
-#endif /* HAVE_X86ASM */
}
diff --git a/libavcodec/xvididct.c b/libavcodec/xvididct.c
index 317e4e82cd..9d971a21d9 100644
--- a/libavcodec/xvididct.c
+++ b/libavcodec/xvididct.c
@@ -336,7 +336,7 @@ av_cold void ff_xvid_idct_init(IDCTDSPContext *c)
c->idct = ff_xvid_idct;
c->perm_type = FF_IDCT_PERM_NONE;
-#if ARCH_X86
+#if ARCH_X86 && HAVE_X86ASM
ff_xvid_idct_init_x86(c);
#elif ARCH_MIPS
ff_xvid_idct_init_mips(c);
commit 65b4feb782ed5a8ba196d25564720f4f14c076a9
Author: Andreas Rheinhardt <[email protected]>
AuthorDate: Thu Nov 27 17:14:05 2025 +0100
Commit: Andreas Rheinhardt <[email protected]>
CommitDate: Sun Nov 30 22:20:13 2025 +0100
avcodec/x86/Makefile: Remove redundant WebP decoder->vp8dsp dependencies
Redundant since 35b02732b98c1e2e862dc78476d8bc527af1c93c.
Reviewed-by: Kacper MichajÅow <[email protected]>
Signed-off-by: Andreas Rheinhardt <[email protected]>
diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
index 1c1e14b4b8..84ba395c82 100644
--- a/libavcodec/x86/Makefile
+++ b/libavcodec/x86/Makefile
@@ -78,7 +78,6 @@ OBJS-$(CONFIG_VP9_DECODER) += x86/vp9dsp_init.o
\
x86/vp9dsp_init_10bpp.o \
x86/vp9dsp_init_12bpp.o \
x86/vp9dsp_init_16bpp.o
-OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp_init.o
# GCC inline assembly optimizations
@@ -193,4 +192,3 @@ X86ASM-OBJS-$(CONFIG_VP9_DECODER) +=
x86/vp9intrapred.o \
x86/vp9lpf_16bpp.o \
x86/vp9mc.o \
x86/vp9mc_16bpp.o
-X86ASM-OBJS-$(CONFIG_WEBP_DECODER) += x86/vp8dsp.o
-----------------------------------------------------------------------
Summary of changes:
Makefile | 2 +-
ffbuild/arch.mak | 1 -
libavcodec/aacencdsp.h | 2 +-
libavcodec/aacpsdsp_template.c | 2 +-
libavcodec/ac3dsp.c | 4 +-
libavcodec/alacdsp.c | 2 +-
libavcodec/apv_dsp.c | 2 +-
libavcodec/audiodsp.c | 2 +-
libavcodec/blockdsp.c | 2 +-
libavcodec/bswapdsp.c | 2 +-
libavcodec/cavsdsp.c | 2 +-
libavcodec/cfhddsp.c | 2 +-
libavcodec/cfhdencdsp.c | 2 +-
libavcodec/dcadsp.c | 2 +-
libavcodec/dirac_dwt.c | 2 +-
libavcodec/diracdsp.c | 2 +-
libavcodec/dnxhdenc.c | 2 +-
libavcodec/exrdsp.c | 2 +-
libavcodec/flacdsp.c | 2 +-
libavcodec/flacencdsp.c | 2 +-
libavcodec/fmtconvert.c | 2 +-
libavcodec/g722dsp.c | 2 +-
libavcodec/h263dsp.c | 2 +-
libavcodec/h264chroma.c | 2 +-
libavcodec/h264dsp.c | 2 +-
libavcodec/h264pred.c | 2 +-
libavcodec/h264qpel.c | 2 +-
libavcodec/hevc/dsp.c | 2 +-
libavcodec/hpeldsp.c | 2 +-
libavcodec/huffyuvdsp.c | 2 +-
libavcodec/huffyuvencdsp.c | 2 +-
libavcodec/idctdsp.c | 4 +-
libavcodec/jpeg2000dsp.c | 2 +-
libavcodec/lossless_audiodsp.c | 2 +-
libavcodec/lossless_videodsp.c | 2 +-
libavcodec/me_cmp.c | 2 +-
libavcodec/opus/dsp.c | 2 +-
libavcodec/opus/pvq.c | 2 +-
libavcodec/pixblockdsp.c | 2 +-
libavcodec/pngdsp.c | 2 +-
libavcodec/proresdsp.c | 2 +-
libavcodec/qpeldsp.c | 2 +-
libavcodec/rv34dsp.c | 2 +-
libavcodec/rv40dsp.c | 2 +-
libavcodec/sbcdsp.c | 2 +-
libavcodec/sbrdsp_template.c | 2 +-
libavcodec/svq1encdsp.h | 2 +-
libavcodec/synth_filter.c | 2 +-
libavcodec/takdsp.c | 2 +-
libavcodec/ttadsp.c | 2 +-
libavcodec/ttaencdsp.c | 2 +-
libavcodec/utvideodsp.c | 2 +-
libavcodec/v210dec_init.h | 2 +-
libavcodec/v210enc_init.h | 2 +-
libavcodec/vc1dsp.c | 2 +-
libavcodec/videodsp.c | 2 +-
libavcodec/vorbisdsp.c | 2 +-
libavcodec/vp3dsp.c | 2 +-
libavcodec/vp6dsp.c | 2 +-
libavcodec/vp8dsp.c | 4 +-
libavcodec/vp9dsp.c | 2 +-
libavcodec/vvc/dsp.c | 2 +-
libavcodec/x86/Makefile | 133 +++++++++++-------------
libavcodec/x86/alacdsp_init.c | 3 -
libavcodec/x86/blockdsp_init.c | 2 -
libavcodec/x86/dirac_dwt_init.c | 6 --
libavcodec/x86/diracdsp_init.c | 6 --
libavcodec/x86/flacdsp_init.c | 2 -
libavcodec/x86/flacencdsp_init.c | 4 +-
libavcodec/x86/fmtconvert_init.c | 6 --
libavcodec/x86/h264_qpel.c | 5 -
libavcodec/x86/h264dsp_init.c | 2 -
libavcodec/x86/hevc/Makefile | 6 +-
libavcodec/x86/lossless_audiodsp_init.c | 2 -
libavcodec/x86/me_cmp_init.c | 5 -
libavcodec/x86/qpeldsp_init.c | 4 -
libavcodec/x86/rv40dsp_init.c | 5 -
libavcodec/x86/synth_filter_init.c | 4 -
libavcodec/x86/takdsp_init.c | 3 -
libavcodec/x86/ttadsp_init.c | 3 -
libavcodec/x86/ttaencdsp_init.c | 3 -
libavcodec/x86/v210-init.c | 2 -
libavcodec/x86/vc1dsp_init.c | 5 -
libavcodec/x86/videodsp_init.c | 4 -
libavcodec/x86/vp8dsp_init.c | 8 --
libavcodec/x86/vp9dsp_init.c | 7 --
libavcodec/x86/vp9dsp_init_16bpp.c | 6 --
libavcodec/x86/vp9dsp_init_16bpp_template.c | 5 -
libavcodec/x86/vvc/Makefile | 6 +-
libavcodec/x86/xvididct_init.c | 3 -
libavcodec/xvididct.c | 2 +-
libavfilter/af_afirdsp.h | 2 +-
libavfilter/af_anlmdn.c | 2 +-
libavfilter/af_volume.c | 2 +-
libavfilter/avf_showcqt.c | 2 +-
libavfilter/bwdifdsp.c | 2 +-
libavfilter/colorspacedsp.c | 2 +-
libavfilter/convolution.h | 2 +-
libavfilter/f_ebur128.c | 2 +-
libavfilter/psnr.c | 2 +-
libavfilter/scene_sad.c | 2 +-
libavfilter/vf_atadenoise.c | 2 +-
libavfilter/vf_blackdetect.h | 2 +-
libavfilter/vf_blend_init.h | 2 +-
libavfilter/vf_colordetectdsp.h | 2 +-
libavfilter/vf_convolution.c | 2 +-
libavfilter/vf_eq.h | 2 +-
libavfilter/vf_framerate.c | 2 +-
libavfilter/vf_fsppdsp.h | 2 +-
libavfilter/vf_gblur_init.h | 2 +-
libavfilter/vf_gradfun.c | 2 +-
libavfilter/vf_hflip_init.h | 2 +-
libavfilter/vf_hqdn3d.c | 2 +-
libavfilter/vf_idetdsp.c | 2 +-
libavfilter/vf_limiter.c | 2 +-
libavfilter/vf_lut3d.c | 2 +-
libavfilter/vf_maskedclamp.c | 2 +-
libavfilter/vf_maskedmerge.c | 2 +-
libavfilter/vf_nlmeans_init.h | 2 +-
libavfilter/vf_overlay.c | 2 +-
libavfilter/vf_pp7.c | 2 +-
libavfilter/vf_pullup.c | 2 +-
libavfilter/vf_removegrain.c | 2 +-
libavfilter/vf_ssim.c | 2 +-
libavfilter/vf_stereo3d.c | 2 +-
libavfilter/vf_threshold_init.h | 2 +-
libavfilter/vf_tinterlace.c | 4 +-
libavfilter/vf_transpose.c | 2 +-
libavfilter/vf_v360.c | 2 +-
libavfilter/vf_w3fdif.c | 2 +-
libavfilter/vf_yadif.c | 2 +-
libavfilter/x86/Makefile | 155 ++++++++++++----------------
libavfilter/x86/scene_sad_init.c | 4 -
libavfilter/x86/vf_colordetect_init.c | 4 -
libavfilter/x86/vf_eq_init.c | 4 -
libavfilter/x86/vf_gradfun_init.c | 5 -
libavfilter/x86/vf_hqdn3d_init.c | 3 -
libavfilter/x86/vf_idetdsp_init.c | 6 --
libavfilter/x86/vf_pullup_init.c | 3 -
libavutil/aes.c | 2 +-
libavutil/fixed_dsp.c | 2 +-
libavutil/float_dsp.c | 2 +-
libavutil/imgutils.c | 2 +-
libavutil/lls.c | 2 +-
libavutil/pixelutils.c | 2 +-
libavutil/x86/Makefile | 29 ++----
libswresample/resample_dsp.c | 2 +-
libswresample/x86/Makefile | 13 ++-
libswresample/x86/rematrix_init.c | 2 -
libswscale/x86/Makefile | 2 +-
libswscale/x86/hscale_fast_bilinear_simd.c | 2 -
151 files changed, 267 insertions(+), 442 deletions(-)
hooks/post-receive
--
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]