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 <kasper93@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2025-11-27 20:51:13 +01:00
parent eccf130fdb
commit 7356981bec
48 changed files with 107 additions and 159 deletions

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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

View file

@ -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);

View file

@ -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
}

View file

@ -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
}

View file

@ -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;

View file

@ -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
}

View file

@ -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) {

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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
}

View file

@ -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")) {

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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
}

View file

@ -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];

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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 */
}

View file

@ -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 */
}

View file

@ -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
}

View file

@ -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
}