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 <kasper93@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2025-11-27 19:07:26 +01:00
parent 65b4feb782
commit ba94177242
89 changed files with 133 additions and 236 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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