diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
index 463bf92fc0..94d694d16b 100644
--- a/libavcodec/aacdec_template.c
+++ b/libavcodec/aacdec_template.c
@@ -3550,8 +3550,9 @@ static void aacdec_init(AACContext *c)
 #endif
 
 #if !USE_FIXED
-    if(ARCH_MIPS)
-        ff_aacdec_init_mips(c);
+#if ARCH_MIPS
+    ff_aacdec_init_mips(c);
+#endif
 #endif /* !USE_FIXED */
 }
 /**
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index eb091326b1..31ebb309ae 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -1096,8 +1096,9 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
     s->abs_pow34   = abs_pow34_v;
     s->quant_bands = quantize_bands;
 
-    if (ARCH_X86)
-        ff_aac_dsp_init_x86(s);
+#if ARCH_X86
+    ff_aac_dsp_init_x86(s);
+#endif
 
     if (HAVE_MIPSDSP)
         ff_aac_coder_init_mips(s);
diff --git a/libavcodec/aacpsdsp_template.c b/libavcodec/aacpsdsp_template.c
index eef8adc7e2..e644037587 100644
--- a/libavcodec/aacpsdsp_template.c
+++ b/libavcodec/aacpsdsp_template.c
@@ -221,13 +221,14 @@ av_cold void AAC_RENAME(ff_psdsp_init)(PSDSPContext *s)
     s->stereo_interpolate[1]  = ps_stereo_interpolate_ipdopd_c;
 
 #if !USE_FIXED
-    if (ARCH_ARM)
-        ff_psdsp_init_arm(s);
-    if (ARCH_AARCH64)
-        ff_psdsp_init_aarch64(s);
-    if (ARCH_MIPS)
-        ff_psdsp_init_mips(s);
-    if (ARCH_X86)
-        ff_psdsp_init_x86(s);
+#if ARCH_ARM
+    ff_psdsp_init_arm(s);
+#elif ARCH_AARCH64
+    ff_psdsp_init_aarch64(s);
+#elif ARCH_MIPS
+    ff_psdsp_init_mips(s);
+#elif ARCH_X86
+    ff_psdsp_init_x86(s);
+#endif
 #endif /* !USE_FIXED */
 }
diff --git a/libavcodec/aacsbr_template.c b/libavcodec/aacsbr_template.c
index 774f12e77a..db9b9becbb 100644
--- a/libavcodec/aacsbr_template.c
+++ b/libavcodec/aacsbr_template.c
@@ -1573,7 +1573,8 @@ static void aacsbr_func_ptr_init(AACSBRContext *c)
     c->sbr_hf_inverse_filter = sbr_hf_inverse_filter;
 
 #if !USE_FIXED
-    if(ARCH_MIPS)
-        ff_aacsbr_func_ptr_init_mips(c);
+#if ARCH_MIPS
+    ff_aacsbr_func_ptr_init_mips(c);
+#endif
 #endif
 }
diff --git a/libavcodec/ac3dsp.c b/libavcodec/ac3dsp.c
index b41f436967..afd6b557bf 100644
--- a/libavcodec/ac3dsp.c
+++ b/libavcodec/ac3dsp.c
@@ -363,8 +363,9 @@ void ff_ac3dsp_downmix(AC3DSPContext *c, float **samples, float **matrix,
             c->downmix = ac3_downmix_5_to_1_symmetric_c;
         }
 
-        if (ARCH_X86)
-            ff_ac3dsp_set_downmix_x86(c);
+#if ARCH_X86
+        ff_ac3dsp_set_downmix_x86(c);
+#endif
     }
 
     if (c->downmix)
@@ -388,10 +389,11 @@ av_cold void ff_ac3dsp_init(AC3DSPContext *c, int bit_exact)
     c->downmix               = NULL;
     c->downmix_fixed         = NULL;
 
-    if (ARCH_ARM)
-        ff_ac3dsp_init_arm(c, bit_exact);
-    if (ARCH_X86)
-        ff_ac3dsp_init_x86(c, bit_exact);
-    if (ARCH_MIPS)
-        ff_ac3dsp_init_mips(c, bit_exact);
+#if ARCH_ARM
+    ff_ac3dsp_init_arm(c, bit_exact);
+#elif ARCH_X86
+    ff_ac3dsp_init_x86(c, bit_exact);
+#elif ARCH_MIPS
+    ff_ac3dsp_init_mips(c, bit_exact);
+#endif
 }
diff --git a/libavcodec/alacdsp.c b/libavcodec/alacdsp.c
index 8718d1b6b1..f24c8112dc 100644
--- a/libavcodec/alacdsp.c
+++ b/libavcodec/alacdsp.c
@@ -58,6 +58,7 @@ av_cold void ff_alacdsp_init(ALACDSPContext *c)
     c->append_extra_bits[0] =
     c->append_extra_bits[1] = append_extra_bits;
 
-    if (ARCH_X86)
-        ff_alacdsp_init_x86(c);
+#if ARCH_X86
+    ff_alacdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/audiodsp.c b/libavcodec/audiodsp.c
index efcb0a8e8a..ff43e87dce 100644
--- a/libavcodec/audiodsp.c
+++ b/libavcodec/audiodsp.c
@@ -109,10 +109,11 @@ av_cold void ff_audiodsp_init(AudioDSPContext *c)
     c->vector_clip_int32   = vector_clip_int32_c;
     c->vector_clipf        = vector_clipf_c;
 
-    if (ARCH_ARM)
-        ff_audiodsp_init_arm(c);
-    if (ARCH_PPC)
-        ff_audiodsp_init_ppc(c);
-    if (ARCH_X86)
-        ff_audiodsp_init_x86(c);
+#if ARCH_ARM
+    ff_audiodsp_init_arm(c);
+#elif ARCH_PPC
+    ff_audiodsp_init_ppc(c);
+#elif ARCH_X86
+    ff_audiodsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/blockdsp.c b/libavcodec/blockdsp.c
index 5fb242ea65..c8f85dd202 100644
--- a/libavcodec/blockdsp.c
+++ b/libavcodec/blockdsp.c
@@ -64,14 +64,15 @@ av_cold void ff_blockdsp_init(BlockDSPContext *c, AVCodecContext *avctx)
     c->fill_block_tab[0] = fill_block16_c;
     c->fill_block_tab[1] = fill_block8_c;
 
-    if (ARCH_ALPHA)
-        ff_blockdsp_init_alpha(c);
-    if (ARCH_ARM)
-        ff_blockdsp_init_arm(c);
-    if (ARCH_PPC)
-        ff_blockdsp_init_ppc(c);
-    if (ARCH_X86)
-        ff_blockdsp_init_x86(c, avctx);
-    if (ARCH_MIPS)
-        ff_blockdsp_init_mips(c);
+#if ARCH_ALPHA
+    ff_blockdsp_init_alpha(c);
+#elif ARCH_ARM
+    ff_blockdsp_init_arm(c);
+#elif ARCH_PPC
+    ff_blockdsp_init_ppc(c);
+#elif ARCH_X86
+    ff_blockdsp_init_x86(c, avctx);
+#elif ARCH_MIPS
+    ff_blockdsp_init_mips(c);
+#endif
 }
diff --git a/libavcodec/bswapdsp.c b/libavcodec/bswapdsp.c
index a6e1ec069c..4c4ea10acc 100644
--- a/libavcodec/bswapdsp.c
+++ b/libavcodec/bswapdsp.c
@@ -51,6 +51,7 @@ av_cold void ff_bswapdsp_init(BswapDSPContext *c)
     c->bswap_buf   = bswap_buf;
     c->bswap16_buf = bswap16_buf;
 
-    if (ARCH_X86)
-        ff_bswapdsp_init_x86(c);
+#if ARCH_X86
+    ff_bswapdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/cavsdsp.c b/libavcodec/cavsdsp.c
index ba92121cc9..b096de452c 100644
--- a/libavcodec/cavsdsp.c
+++ b/libavcodec/cavsdsp.c
@@ -577,6 +577,7 @@ av_cold void ff_cavsdsp_init(CAVSDSPContext* c, AVCodecContext *avctx) {
     c->cavs_idct8_add = cavs_idct8_add_c;
     c->idct_perm = FF_IDCT_PERM_NONE;
 
-    if (ARCH_X86)
-        ff_cavsdsp_init_x86(c, avctx);
+#if ARCH_X86
+    ff_cavsdsp_init_x86(c, avctx);
+#endif
 }
diff --git a/libavcodec/cfhddsp.c b/libavcodec/cfhddsp.c
index da9254c718..a141db5246 100644
--- a/libavcodec/cfhddsp.c
+++ b/libavcodec/cfhddsp.c
@@ -112,6 +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)
-        ff_cfhddsp_init_x86(c, depth, bayer);
+#if ARCH_X86
+    ff_cfhddsp_init_x86(c, depth, bayer);
+#endif
 }
diff --git a/libavcodec/cfhdencdsp.c b/libavcodec/cfhdencdsp.c
index 5bd4d1ba0d..3a35522d69 100644
--- a/libavcodec/cfhdencdsp.c
+++ b/libavcodec/cfhdencdsp.c
@@ -73,6 +73,7 @@ av_cold void ff_cfhdencdsp_init(CFHDEncDSPContext *c)
     c->horiz_filter = horiz_filter;
     c->vert_filter = vert_filter;
 
-    if (ARCH_X86)
-        ff_cfhdencdsp_init_x86(c);
+#if ARCH_X86
+    ff_cfhdencdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/dcadsp.c b/libavcodec/dcadsp.c
index e424a7443c..d7e0328c88 100644
--- a/libavcodec/dcadsp.c
+++ b/libavcodec/dcadsp.c
@@ -485,6 +485,7 @@ av_cold void ff_dcadsp_init(DCADSPContext *s)
     s->lbr_bank = lbr_bank_c;
     s->lfe_iir = lfe_iir_c;
 
-    if (ARCH_X86)
-        ff_dcadsp_init_x86(s);
+#if ARCH_X86
+    ff_dcadsp_init_x86(s);
+#endif
 }
diff --git a/libavcodec/dct.c b/libavcodec/dct.c
index 7581b3241f..eeb4d154e0 100644
--- a/libavcodec/dct.c
+++ b/libavcodec/dct.c
@@ -214,8 +214,9 @@ av_cold int ff_dct_init(DCTContext *s, int nbits, enum DCTTransformType inverse)
     }
 
     s->dct32 = ff_dct32_float;
-    if (ARCH_X86)
-        ff_dct_init_x86(s);
+#if ARCH_X86
+    ff_dct_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavcodec/dirac_dwt.c b/libavcodec/dirac_dwt.c
index fffaf82e23..af29932c6d 100644
--- a/libavcodec/dirac_dwt.c
+++ b/libavcodec/dirac_dwt.c
@@ -58,8 +58,10 @@ int ff_spatial_idwt_init(DWTContext *d, DWTPlane *p, enum dwt_type type,
         return AVERROR_INVALIDDATA;
     }
 
-    if (ARCH_X86 && bit_depth == 8)
+#if ARCH_X86
+    if (bit_depth == 8)
         ff_spatial_idwt_init_x86(d, type);
+#endif
     return 0;
 }
 
diff --git a/libavcodec/diracdsp.c b/libavcodec/diracdsp.c
index a62a218ba6..aafdddcdc3 100644
--- a/libavcodec/diracdsp.c
+++ b/libavcodec/diracdsp.c
@@ -247,6 +247,7 @@ av_cold void ff_diracdsp_init(DiracDSPContext *c)
     PIXFUNC(avg, 16);
     PIXFUNC(avg, 32);
 
-    if (ARCH_X86)
-        ff_diracdsp_init_x86(c);
+#if ARCH_X86
+    ff_diracdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index c6378f8ecb..481793c158 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -445,8 +445,9 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx)
         ctx->block_width_l2     = 3;
     }
 
-    if (ARCH_X86)
-        ff_dnxhdenc_init_x86(ctx);
+#if ARCH_X86
+    ff_dnxhdenc_init_x86(ctx);
+#endif
 
     ctx->m.mb_height = (avctx->height + 15) / 16;
     ctx->m.mb_width  = (avctx->width  + 15) / 16;
diff --git a/libavcodec/exrdsp.c b/libavcodec/exrdsp.c
index 42dbf1f54a..8259da4841 100644
--- a/libavcodec/exrdsp.c
+++ b/libavcodec/exrdsp.c
@@ -51,6 +51,7 @@ av_cold void ff_exrdsp_init(ExrDSPContext *c)
     c->reorder_pixels   = reorder_pixels_scalar;
     c->predictor        = predictor_scalar;
 
-    if (ARCH_X86)
-        ff_exrdsp_init_x86(c);
+#if ARCH_X86
+    ff_exrdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/fdctdsp.c b/libavcodec/fdctdsp.c
index b9c2c86322..a336a24d84 100644
--- a/libavcodec/fdctdsp.c
+++ b/libavcodec/fdctdsp.c
@@ -43,8 +43,9 @@ av_cold void ff_fdctdsp_init(FDCTDSPContext *c, AVCodecContext *avctx)
         c->fdct248 = ff_fdct248_islow_8;
     }
 
-    if (ARCH_PPC)
-        ff_fdctdsp_init_ppc(c, avctx, high_bit_depth);
-    if (ARCH_X86)
-        ff_fdctdsp_init_x86(c, avctx, high_bit_depth);
+#if ARCH_PPC
+    ff_fdctdsp_init_ppc(c, avctx, high_bit_depth);
+#elif ARCH_X86
+    ff_fdctdsp_init_x86(c, avctx, high_bit_depth);
+#endif
 }
diff --git a/libavcodec/fft_template.c b/libavcodec/fft_template.c
index 0bd64192cd..76d79e04a3 100644
--- a/libavcodec/fft_template.c
+++ b/libavcodec/fft_template.c
@@ -227,10 +227,15 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse)
 #endif
 
 #if FFT_FLOAT
-    if (ARCH_AARCH64) ff_fft_init_aarch64(s);
-    if (ARCH_ARM)     ff_fft_init_arm(s);
-    if (ARCH_PPC)     ff_fft_init_ppc(s);
-    if (ARCH_X86)     ff_fft_init_x86(s);
+#if ARCH_AARCH64
+    ff_fft_init_aarch64(s);
+#elif ARCH_ARM
+    ff_fft_init_arm(s);
+#elif ARCH_PPC
+    ff_fft_init_ppc(s);
+#elif ARCH_X86
+    ff_fft_init_x86(s);
+#endif
     if (HAVE_MIPSFPU) ff_fft_init_mips(s);
     for(j=4; j<=nbits; j++) {
         ff_init_ff_cos_tabs(j);
diff --git a/libavcodec/flacdsp.c b/libavcodec/flacdsp.c
index 6b6d578d64..79002dcac0 100644
--- a/libavcodec/flacdsp.c
+++ b/libavcodec/flacdsp.c
@@ -124,8 +124,9 @@ av_cold void ff_flacdsp_init(FLACDSPContext *c, enum AVSampleFormat fmt, int cha
         break;
     }
 
-    if (ARCH_ARM)
-        ff_flacdsp_init_arm(c, fmt, channels, bps);
-    if (ARCH_X86)
-        ff_flacdsp_init_x86(c, fmt, channels, bps);
+#if ARCH_ARM
+    ff_flacdsp_init_arm(c, fmt, channels, bps);
+#elif ARCH_X86
+    ff_flacdsp_init_x86(c, fmt, channels, bps);
+#endif
 }
diff --git a/libavcodec/fmtconvert.c b/libavcodec/fmtconvert.c
index 3e1f133bf1..6fe3d92f65 100644
--- a/libavcodec/fmtconvert.c
+++ b/libavcodec/fmtconvert.c
@@ -56,14 +56,15 @@ av_cold void ff_fmt_convert_init(FmtConvertContext *c, AVCodecContext *avctx)
     c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_c;
     c->int32_to_float_fmul_array8 = int32_to_float_fmul_array8_c;
 
-    if (ARCH_AARCH64)
-        ff_fmt_convert_init_aarch64(c, avctx);
-    if (ARCH_ARM)
-        ff_fmt_convert_init_arm(c, avctx);
-    if (ARCH_PPC)
-        ff_fmt_convert_init_ppc(c, avctx);
-    if (ARCH_X86)
-        ff_fmt_convert_init_x86(c, avctx);
+#if ARCH_AARCH64
+    ff_fmt_convert_init_aarch64(c, avctx);
+#elif ARCH_ARM
+    ff_fmt_convert_init_arm(c, avctx);
+#elif ARCH_PPC
+    ff_fmt_convert_init_ppc(c, avctx);
+#elif ARCH_X86
+    ff_fmt_convert_init_x86(c, avctx);
+#endif
     if (HAVE_MIPSFPU)
         ff_fmt_convert_init_mips(c);
 }
diff --git a/libavcodec/g722dsp.c b/libavcodec/g722dsp.c
index f1480536d0..c770bfbdff 100644
--- a/libavcodec/g722dsp.c
+++ b/libavcodec/g722dsp.c
@@ -69,8 +69,9 @@ av_cold void ff_g722dsp_init(G722DSPContext *c)
 {
     c->apply_qmf = g722_apply_qmf;
 
-    if (ARCH_ARM)
-        ff_g722dsp_init_arm(c);
-    if (ARCH_X86)
-        ff_g722dsp_init_x86(c);
+#if ARCH_ARM
+    ff_g722dsp_init_arm(c);
+#elif ARCH_X86
+    ff_g722dsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/h263dsp.c b/libavcodec/h263dsp.c
index b3c0bcd450..8fa2d3c297 100644
--- a/libavcodec/h263dsp.c
+++ b/libavcodec/h263dsp.c
@@ -119,8 +119,9 @@ av_cold void ff_h263dsp_init(H263DSPContext *ctx)
     ctx->h263_h_loop_filter = h263_h_loop_filter_c;
     ctx->h263_v_loop_filter = h263_v_loop_filter_c;
 
-    if (ARCH_X86)
-        ff_h263dsp_init_x86(ctx);
-    if (ARCH_MIPS)
-        ff_h263dsp_init_mips(ctx);
+#if ARCH_X86
+    ff_h263dsp_init_x86(ctx);
+#elif ARCH_MIPS
+    ff_h263dsp_init_mips(ctx);
+#endif
 }
diff --git a/libavcodec/h264chroma.c b/libavcodec/h264chroma.c
index 0ae6c793e1..60b86b6fba 100644
--- a/libavcodec/h264chroma.c
+++ b/libavcodec/h264chroma.c
@@ -46,16 +46,17 @@ av_cold void ff_h264chroma_init(H264ChromaContext *c, int bit_depth)
         SET_CHROMA(8);
     }
 
-    if (ARCH_AARCH64)
-        ff_h264chroma_init_aarch64(c, bit_depth);
-    if (ARCH_ARM)
-        ff_h264chroma_init_arm(c, bit_depth);
-    if (ARCH_PPC)
-        ff_h264chroma_init_ppc(c, bit_depth);
-    if (ARCH_X86)
-        ff_h264chroma_init_x86(c, bit_depth);
-    if (ARCH_MIPS)
-        ff_h264chroma_init_mips(c, bit_depth);
-    if (ARCH_LOONGARCH64)
-        ff_h264chroma_init_loongarch(c, bit_depth);
+#if ARCH_AARCH64
+    ff_h264chroma_init_aarch64(c, bit_depth);
+#elif ARCH_ARM
+    ff_h264chroma_init_arm(c, bit_depth);
+#elif ARCH_PPC
+    ff_h264chroma_init_ppc(c, bit_depth);
+#elif ARCH_X86
+    ff_h264chroma_init_x86(c, bit_depth);
+#elif ARCH_MIPS
+    ff_h264chroma_init_mips(c, bit_depth);
+#elif ARCH_LOONGARCH64
+    ff_h264chroma_init_loongarch(c, bit_depth);
+#endif
 }
diff --git a/libavcodec/h264dsp.c b/libavcodec/h264dsp.c
index f97ac2823c..4d2ee10bab 100644
--- a/libavcodec/h264dsp.c
+++ b/libavcodec/h264dsp.c
@@ -152,10 +152,17 @@ av_cold void ff_h264dsp_init(H264DSPContext *c, const int bit_depth,
     }
     c->startcode_find_candidate = ff_startcode_find_candidate_c;
 
-    if (ARCH_AARCH64) ff_h264dsp_init_aarch64(c, bit_depth, chroma_format_idc);
-    if (ARCH_ARM) ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc);
-    if (ARCH_PPC) ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc);
-    if (ARCH_X86) ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
-    if (ARCH_MIPS) ff_h264dsp_init_mips(c, bit_depth, chroma_format_idc);
-    if (ARCH_LOONGARCH) ff_h264dsp_init_loongarch(c, bit_depth, chroma_format_idc);
+#if ARCH_AARCH64
+    ff_h264dsp_init_aarch64(c, bit_depth, chroma_format_idc);
+#elif ARCH_ARM
+    ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc);
+#elif ARCH_PPC
+    ff_h264dsp_init_ppc(c, bit_depth, chroma_format_idc);
+#elif ARCH_X86
+    ff_h264dsp_init_x86(c, bit_depth, chroma_format_idc);
+#elif ARCH_MIPS
+    ff_h264dsp_init_mips(c, bit_depth, chroma_format_idc);
+#elif ARCH_LOONGARCH
+    ff_h264dsp_init_loongarch(c, bit_depth, chroma_format_idc);
+#endif
 }
diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c
index d83ca37a69..25f9995a0b 100644
--- a/libavcodec/h264pred.c
+++ b/libavcodec/h264pred.c
@@ -588,14 +588,15 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id,
             break;
     }
 
-    if (ARCH_AARCH64)
-        ff_h264_pred_init_aarch64(h, codec_id, bit_depth, chroma_format_idc);
-    if (ARCH_ARM)
-        ff_h264_pred_init_arm(h, codec_id, bit_depth, chroma_format_idc);
-    if (ARCH_X86)
-        ff_h264_pred_init_x86(h, codec_id, bit_depth, chroma_format_idc);
-    if (ARCH_MIPS)
-        ff_h264_pred_init_mips(h, codec_id, bit_depth, chroma_format_idc);
-    if (ARCH_LOONGARCH)
-        ff_h264_pred_init_loongarch(h, codec_id, bit_depth, chroma_format_idc);
+#if ARCH_AARCH64
+    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
+    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);
+#elif ARCH_LOONGARCH
+    ff_h264_pred_init_loongarch(h, codec_id, bit_depth, chroma_format_idc);
+#endif
 }
diff --git a/libavcodec/h264qpel.c b/libavcodec/h264qpel.c
index 535ebd25b4..65fef03304 100644
--- a/libavcodec/h264qpel.c
+++ b/libavcodec/h264qpel.c
@@ -96,16 +96,17 @@ av_cold void ff_h264qpel_init(H264QpelContext *c, int bit_depth)
         break;
     }
 
-    if (ARCH_AARCH64)
-        ff_h264qpel_init_aarch64(c, bit_depth);
-    if (ARCH_ARM)
-        ff_h264qpel_init_arm(c, bit_depth);
-    if (ARCH_PPC)
-        ff_h264qpel_init_ppc(c, bit_depth);
-    if (ARCH_X86)
-        ff_h264qpel_init_x86(c, bit_depth);
-    if (ARCH_MIPS)
-        ff_h264qpel_init_mips(c, bit_depth);
-    if (ARCH_LOONGARCH64)
-        ff_h264qpel_init_loongarch(c, bit_depth);
+#if ARCH_AARCH64
+    ff_h264qpel_init_aarch64(c, bit_depth);
+#elif ARCH_ARM
+    ff_h264qpel_init_arm(c, bit_depth);
+#elif ARCH_PPC
+    ff_h264qpel_init_ppc(c, bit_depth);
+#elif ARCH_X86
+    ff_h264qpel_init_x86(c, bit_depth);
+#elif ARCH_MIPS
+    ff_h264qpel_init_mips(c, bit_depth);
+#elif ARCH_LOONGARCH64
+    ff_h264qpel_init_loongarch(c, bit_depth);
+#endif
 }
diff --git a/libavcodec/hevcdsp.c b/libavcodec/hevcdsp.c
index b6c3f00819..2ca551df1d 100644
--- a/libavcodec/hevcdsp.c
+++ b/libavcodec/hevcdsp.c
@@ -257,16 +257,17 @@ int i = 0;
         break;
     }
 
-    if (ARCH_AARCH64)
-        ff_hevc_dsp_init_aarch64(hevcdsp, bit_depth);
-    if (ARCH_ARM)
-        ff_hevc_dsp_init_arm(hevcdsp, bit_depth);
-    if (ARCH_PPC)
-        ff_hevc_dsp_init_ppc(hevcdsp, bit_depth);
-    if (ARCH_X86)
-        ff_hevc_dsp_init_x86(hevcdsp, bit_depth);
-    if (ARCH_MIPS)
-        ff_hevc_dsp_init_mips(hevcdsp, bit_depth);
-    if (ARCH_LOONGARCH)
-        ff_hevc_dsp_init_loongarch(hevcdsp, bit_depth);
+#if ARCH_AARCH64
+    ff_hevc_dsp_init_aarch64(hevcdsp, bit_depth);
+#elif ARCH_ARM
+    ff_hevc_dsp_init_arm(hevcdsp, bit_depth);
+#elif ARCH_PPC
+    ff_hevc_dsp_init_ppc(hevcdsp, bit_depth);
+#elif ARCH_X86
+    ff_hevc_dsp_init_x86(hevcdsp, bit_depth);
+#elif ARCH_MIPS
+    ff_hevc_dsp_init_mips(hevcdsp, bit_depth);
+#elif ARCH_LOONGARCH
+    ff_hevc_dsp_init_loongarch(hevcdsp, bit_depth);
+#endif
 }
diff --git a/libavcodec/hevcpred.c b/libavcodec/hevcpred.c
index 7a86ed3d31..16b012f46c 100644
--- a/libavcodec/hevcpred.c
+++ b/libavcodec/hevcpred.c
@@ -75,6 +75,7 @@ void ff_hevc_pred_init(HEVCPredContext *hpc, int bit_depth)
         break;
     }
 
-    if (ARCH_MIPS)
-        ff_hevc_pred_init_mips(hpc, bit_depth);
+#if ARCH_MIPS
+    ff_hevc_pred_init_mips(hpc, bit_depth);
+#endif
 }
diff --git a/libavcodec/hpeldsp.c b/libavcodec/hpeldsp.c
index 843ba399c5..1ec76e7a45 100644
--- a/libavcodec/hpeldsp.c
+++ b/libavcodec/hpeldsp.c
@@ -355,18 +355,19 @@ av_cold void ff_hpeldsp_init(HpelDSPContext *c, int flags)
     hpel_funcs(avg, [3],  2);
     hpel_funcs(avg_no_rnd,, 16);
 
-    if (ARCH_AARCH64)
-        ff_hpeldsp_init_aarch64(c, flags);
-    if (ARCH_ALPHA)
-        ff_hpeldsp_init_alpha(c, flags);
-    if (ARCH_ARM)
-        ff_hpeldsp_init_arm(c, flags);
-    if (ARCH_PPC)
-        ff_hpeldsp_init_ppc(c, flags);
-    if (ARCH_X86)
-        ff_hpeldsp_init_x86(c, flags);
-    if (ARCH_MIPS)
-        ff_hpeldsp_init_mips(c, flags);
-    if (ARCH_LOONGARCH64)
-        ff_hpeldsp_init_loongarch(c, flags);
+#if ARCH_AARCH64
+    ff_hpeldsp_init_aarch64(c, flags);
+#elif ARCH_ALPHA
+    ff_hpeldsp_init_alpha(c, flags);
+#elif ARCH_ARM
+    ff_hpeldsp_init_arm(c, flags);
+#elif ARCH_PPC
+    ff_hpeldsp_init_ppc(c, flags);
+#elif ARCH_X86
+    ff_hpeldsp_init_x86(c, flags);
+#elif ARCH_MIPS
+    ff_hpeldsp_init_mips(c, flags);
+#elif ARCH_LOONGARCH64
+    ff_hpeldsp_init_loongarch(c, flags);
+#endif
 }
diff --git a/libavcodec/huffyuvdsp.c b/libavcodec/huffyuvdsp.c
index 7b865fe40c..10723b2fca 100644
--- a/libavcodec/huffyuvdsp.c
+++ b/libavcodec/huffyuvdsp.c
@@ -86,6 +86,7 @@ av_cold void ff_huffyuvdsp_init(HuffYUVDSPContext *c, enum AVPixelFormat pix_fmt
     c->add_hfyu_median_pred_int16 = add_hfyu_median_pred_int16_c;
     c->add_hfyu_left_pred_bgr32 = add_hfyu_left_pred_bgr32_c;
 
-    if (ARCH_X86)
-        ff_huffyuvdsp_init_x86(c, pix_fmt);
+#if ARCH_X86
+    ff_huffyuvdsp_init_x86(c, pix_fmt);
+#endif
 }
diff --git a/libavcodec/huffyuvencdsp.c b/libavcodec/huffyuvencdsp.c
index 427d118be4..ea1ef911b0 100644
--- a/libavcodec/huffyuvencdsp.c
+++ b/libavcodec/huffyuvencdsp.c
@@ -73,6 +73,7 @@ av_cold void ff_huffyuvencdsp_init(HuffYUVEncDSPContext *c, AVCodecContext *avct
     c->diff_int16           = diff_int16_c;
     c->sub_hfyu_median_pred_int16 = sub_hfyu_median_pred_int16_c;
 
-    if (ARCH_X86)
-        ff_huffyuvencdsp_init_x86(c, avctx);
+#if ARCH_X86
+    ff_huffyuvencdsp_init_x86(c, avctx);
+#endif
 }
diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c
index df3aeb0676..a321201e71 100644
--- a/libavcodec/idctdsp.c
+++ b/libavcodec/idctdsp.c
@@ -53,10 +53,11 @@ av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation,
 {
     int i;
 
-    if (ARCH_X86)
-        if (ff_init_scantable_permutation_x86(idct_permutation,
-                                              perm_type))
-            return;
+#if ARCH_X86
+    if (ff_init_scantable_permutation_x86(idct_permutation,
+                                          perm_type))
+        return;
+#endif
 
     switch (perm_type) {
     case FF_IDCT_PERM_NONE:
@@ -303,20 +304,21 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
     if (CONFIG_MPEG4_DECODER && avctx->idct_algo == FF_IDCT_XVID)
         ff_xvid_idct_init(c, avctx);
 
-    if (ARCH_AARCH64)
-        ff_idctdsp_init_aarch64(c, avctx, high_bit_depth);
-    if (ARCH_ALPHA)
-        ff_idctdsp_init_alpha(c, avctx, high_bit_depth);
-    if (ARCH_ARM)
-        ff_idctdsp_init_arm(c, avctx, high_bit_depth);
-    if (ARCH_PPC)
-        ff_idctdsp_init_ppc(c, avctx, high_bit_depth);
-    if (ARCH_X86)
-        ff_idctdsp_init_x86(c, avctx, high_bit_depth);
-    if (ARCH_MIPS)
-        ff_idctdsp_init_mips(c, avctx, high_bit_depth);
-    if (ARCH_LOONGARCH)
-        ff_idctdsp_init_loongarch(c, avctx, high_bit_depth);
+#if ARCH_AARCH64
+    ff_idctdsp_init_aarch64(c, avctx, high_bit_depth);
+#elif ARCH_ALPHA
+    ff_idctdsp_init_alpha(c, avctx, high_bit_depth);
+#elif ARCH_ARM
+    ff_idctdsp_init_arm(c, avctx, high_bit_depth);
+#elif ARCH_PPC
+    ff_idctdsp_init_ppc(c, avctx, high_bit_depth);
+#elif ARCH_X86
+    ff_idctdsp_init_x86(c, avctx, high_bit_depth);
+#elif ARCH_MIPS
+    ff_idctdsp_init_mips(c, avctx, high_bit_depth);
+#elif ARCH_LOONGARCH
+    ff_idctdsp_init_loongarch(c, avctx, high_bit_depth);
+#endif
 
     ff_init_scantable_permutation(c->idct_permutation,
                                   c->perm_type);
diff --git a/libavcodec/jpeg2000dsp.c b/libavcodec/jpeg2000dsp.c
index 90e73b1e20..b61be3b72f 100644
--- a/libavcodec/jpeg2000dsp.c
+++ b/libavcodec/jpeg2000dsp.c
@@ -96,6 +96,7 @@ av_cold void ff_jpeg2000dsp_init(Jpeg2000DSPContext *c)
     c->mct_decode[FF_DWT53]     = rct_int;
     c->mct_decode[FF_DWT97_INT] = ict_int;
 
-    if (ARCH_X86)
-        ff_jpeg2000dsp_init_x86(c);
+#if ARCH_X86
+    ff_jpeg2000dsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/lossless_audiodsp.c b/libavcodec/lossless_audiodsp.c
index 274ab5a854..1daf2e4c12 100644
--- a/libavcodec/lossless_audiodsp.c
+++ b/libavcodec/lossless_audiodsp.c
@@ -59,10 +59,11 @@ av_cold void ff_llauddsp_init(LLAudDSPContext *c)
     c->scalarproduct_and_madd_int16 = scalarproduct_and_madd_int16_c;
     c->scalarproduct_and_madd_int32 = scalarproduct_and_madd_int32_c;
 
-    if (ARCH_ARM)
-        ff_llauddsp_init_arm(c);
-    if (ARCH_PPC)
-        ff_llauddsp_init_ppc(c);
-    if (ARCH_X86)
-        ff_llauddsp_init_x86(c);
+#if ARCH_ARM
+    ff_llauddsp_init_arm(c);
+#elif ARCH_PPC
+    ff_llauddsp_init_ppc(c);
+#elif ARCH_X86
+    ff_llauddsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/lossless_videodsp.c b/libavcodec/lossless_videodsp.c
index fa0869eef9..359606981c 100644
--- a/libavcodec/lossless_videodsp.c
+++ b/libavcodec/lossless_videodsp.c
@@ -119,8 +119,9 @@ void ff_llviddsp_init(LLVidDSPContext *c)
     c->add_left_pred_int16        = add_left_pred_int16_c;
     c->add_gradient_pred          = add_gradient_pred_c;
 
-    if (ARCH_PPC)
-        ff_llviddsp_init_ppc(c);
-    if (ARCH_X86)
-        ff_llviddsp_init_x86(c);
+#if ARCH_PPC
+    ff_llviddsp_init_ppc(c);
+#elif ARCH_X86
+    ff_llviddsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/lossless_videoencdsp.c b/libavcodec/lossless_videoencdsp.c
index ed70329628..e0b78bb3da 100644
--- a/libavcodec/lossless_videoencdsp.c
+++ b/libavcodec/lossless_videoencdsp.c
@@ -94,6 +94,7 @@ av_cold void ff_llvidencdsp_init(LLVidEncDSPContext *c)
     c->sub_median_pred = sub_median_pred_c;
     c->sub_left_predict = sub_left_predict_c;
 
-    if (ARCH_X86)
-        ff_llvidencdsp_init_x86(c);
+#if ARCH_X86
+    ff_llvidencdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/lpc.c b/libavcodec/lpc.c
index 3ed61563ee..3238ad5fc8 100644
--- a/libavcodec/lpc.c
+++ b/libavcodec/lpc.c
@@ -314,8 +314,9 @@ av_cold int ff_lpc_init(LPCContext *s, int blocksize, int max_order,
     s->lpc_apply_welch_window = lpc_apply_welch_window_c;
     s->lpc_compute_autocorr   = lpc_compute_autocorr_c;
 
-    if (ARCH_X86)
-        ff_lpc_init_x86(s);
+#if ARCH_X86
+    ff_lpc_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavcodec/mdct15.c b/libavcodec/mdct15.c
index 3a735c77d4..f8ed74d15e 100644
--- a/libavcodec/mdct15.c
+++ b/libavcodec/mdct15.c
@@ -317,8 +317,9 @@ av_cold int ff_mdct15_init(MDCT15Context **ps, int inverse, int N, double scale)
         s->exptab[20].im *= -1;
     }
 
-    if (ARCH_X86)
-        ff_mdct15_init_x86(s);
+#if ARCH_X86
+    ff_mdct15_init_x86(s);
+#endif
 
     *ps = s;
 
diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c
index 4c1de44eda..4407d0a7e9 100644
--- a/libavcodec/me_cmp.c
+++ b/libavcodec/me_cmp.c
@@ -1061,16 +1061,17 @@ av_cold void ff_me_cmp_init(MECmpContext *c, AVCodecContext *avctx)
     ff_dsputil_init_dwt(c);
 #endif
 
-    if (ARCH_ALPHA)
-        ff_me_cmp_init_alpha(c, avctx);
-    if (ARCH_ARM)
-        ff_me_cmp_init_arm(c, avctx);
-    if (ARCH_PPC)
-        ff_me_cmp_init_ppc(c, avctx);
-    if (ARCH_X86)
-        ff_me_cmp_init_x86(c, avctx);
-    if (ARCH_MIPS)
-        ff_me_cmp_init_mips(c, avctx);
+#if ARCH_ALPHA
+    ff_me_cmp_init_alpha(c, avctx);
+#elif ARCH_ARM
+    ff_me_cmp_init_arm(c, avctx);
+#elif ARCH_PPC
+    ff_me_cmp_init_ppc(c, avctx);
+#elif ARCH_X86
+    ff_me_cmp_init_x86(c, avctx);
+#elif ARCH_MIPS
+    ff_me_cmp_init_mips(c, avctx);
+#endif
 
     c->median_sad[0] = pix_median_abs16_c;
     c->median_sad[1] = pix_median_abs8_c;
diff --git a/libavcodec/mlpdsp.c b/libavcodec/mlpdsp.c
index 12bef3a721..eaf5de8e1a 100644
--- a/libavcodec/mlpdsp.c
+++ b/libavcodec/mlpdsp.c
@@ -131,8 +131,9 @@ av_cold void ff_mlpdsp_init(MLPDSPContext *c)
     c->mlp_rematrix_channel = ff_mlp_rematrix_channel;
     c->mlp_select_pack_output = mlp_select_pack_output;
     c->mlp_pack_output = ff_mlp_pack_output;
-    if (ARCH_ARM)
-        ff_mlpdsp_init_arm(c);
-    if (ARCH_X86)
-        ff_mlpdsp_init_x86(c);
+#if ARCH_ARM
+    ff_mlpdsp_init_arm(c);
+#elif ARCH_X86
+    ff_mlpdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/mpegaudiodsp.c b/libavcodec/mpegaudiodsp.c
index f03e244644..e9b2165c75 100644
--- a/libavcodec/mpegaudiodsp.c
+++ b/libavcodec/mpegaudiodsp.c
@@ -74,8 +74,9 @@ static av_cold void mpadsp_init_tabs(void)
         }
     }
 
-    if (ARCH_X86)
-        ff_mpadsp_init_x86_tabs();
+#if ARCH_X86
+    ff_mpadsp_init_x86_tabs();
+#endif
 }
 
 av_cold void ff_mpadsp_init(MPADSPContext *s)
@@ -94,10 +95,15 @@ av_cold void ff_mpadsp_init(MPADSPContext *s)
     s->imdct36_blocks_float = ff_imdct36_blocks_float;
     s->imdct36_blocks_fixed = ff_imdct36_blocks_fixed;
 
-    if (ARCH_AARCH64) ff_mpadsp_init_aarch64(s);
-    if (ARCH_ARM)     ff_mpadsp_init_arm(s);
-    if (ARCH_PPC)     ff_mpadsp_init_ppc(s);
-    if (ARCH_X86)     ff_mpadsp_init_x86(s);
+#if ARCH_AARCH64
+    ff_mpadsp_init_aarch64(s);
+#elif ARCH_ARM
+    ff_mpadsp_init_arm(s);
+#elif ARCH_PPC
+    ff_mpadsp_init_ppc(s);
+#elif ARCH_X86
+    ff_mpadsp_init_x86(s);
+#endif
     if (HAVE_MIPSFPU)   ff_mpadsp_init_mipsfpu(s);
     if (HAVE_MIPSDSP) ff_mpadsp_init_mipsdsp(s);
 }
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 71c1e83fa6..b3061e2000 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -312,16 +312,17 @@ static av_cold int dct_init(MpegEncContext *s)
     if (HAVE_INTRINSICS_NEON)
         ff_mpv_common_init_neon(s);
 
-    if (ARCH_ALPHA)
-        ff_mpv_common_init_axp(s);
-    if (ARCH_ARM)
-        ff_mpv_common_init_arm(s);
-    if (ARCH_PPC)
-        ff_mpv_common_init_ppc(s);
-    if (ARCH_X86)
-        ff_mpv_common_init_x86(s);
-    if (ARCH_MIPS)
-        ff_mpv_common_init_mips(s);
+#if ARCH_ALPHA
+    ff_mpv_common_init_axp(s);
+#elif ARCH_ARM
+    ff_mpv_common_init_arm(s);
+#elif ARCH_PPC
+    ff_mpv_common_init_ppc(s);
+#elif ARCH_X86
+    ff_mpv_common_init_x86(s);
+#elif ARCH_MIPS
+    ff_mpv_common_init_mips(s);
+#endif
 
     return 0;
 }
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 459bb3989f..d6a85a037a 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -290,8 +290,9 @@ static void mpv_encode_defaults(MpegEncContext *s)
 
 av_cold int ff_dct_encode_init(MpegEncContext *s)
 {
-    if (ARCH_X86)
-        ff_dct_encode_init_x86(s);
+#if ARCH_X86
+    ff_dct_encode_init_x86(s);
+#endif
 
     if (CONFIG_H263_ENCODER)
         ff_h263dsp_init(&s->h263dsp);
diff --git a/libavcodec/mpegvideodsp.c b/libavcodec/mpegvideodsp.c
index a58e45ad43..a8cf7fbe35 100644
--- a/libavcodec/mpegvideodsp.c
+++ b/libavcodec/mpegvideodsp.c
@@ -112,8 +112,9 @@ av_cold void ff_mpegvideodsp_init(MpegVideoDSPContext *c)
     c->gmc1 = gmc1_c;
     c->gmc  = ff_gmc_c;
 
-    if (ARCH_PPC)
-        ff_mpegvideodsp_init_ppc(c);
-    if (ARCH_X86)
-        ff_mpegvideodsp_init_x86(c);
+#if ARCH_PPC
+    ff_mpegvideodsp_init_ppc(c);
+#elif ARCH_X86
+    ff_mpegvideodsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/mpegvideoencdsp.c b/libavcodec/mpegvideoencdsp.c
index a34ab3553e..adf19e69f4 100644
--- a/libavcodec/mpegvideoencdsp.c
+++ b/libavcodec/mpegvideoencdsp.c
@@ -245,12 +245,13 @@ av_cold void ff_mpegvideoencdsp_init(MpegvideoEncDSPContext *c,
 
     c->draw_edges = draw_edges_8_c;
 
-    if (ARCH_ARM)
-        ff_mpegvideoencdsp_init_arm(c, avctx);
-    if (ARCH_PPC)
-        ff_mpegvideoencdsp_init_ppc(c, avctx);
-    if (ARCH_X86)
-        ff_mpegvideoencdsp_init_x86(c, avctx);
-    if (ARCH_MIPS)
-        ff_mpegvideoencdsp_init_mips(c, avctx);
+#if ARCH_ARM
+    ff_mpegvideoencdsp_init_arm(c, avctx);
+#elif ARCH_PPC
+    ff_mpegvideoencdsp_init_ppc(c, avctx);
+#elif ARCH_X86
+    ff_mpegvideoencdsp_init_x86(c, avctx);
+#elif ARCH_MIPS
+    ff_mpegvideoencdsp_init_mips(c, avctx);
+#endif
 }
diff --git a/libavcodec/opus_pvq.c b/libavcodec/opus_pvq.c
index 750360d737..a4e44b7a14 100644
--- a/libavcodec/opus_pvq.c
+++ b/libavcodec/opus_pvq.c
@@ -905,8 +905,9 @@ int av_cold ff_celt_pvq_init(CeltPVQ **pvq, int encode)
     s->pvq_search = ppp_pvq_search_c;
     s->quant_band = encode ? pvq_encode_band : pvq_decode_band;
 
-    if (CONFIG_OPUS_ENCODER && ARCH_X86)
-        ff_celt_pvq_init_x86(s);
+#if CONFIG_OPUS_ENCODER && ARCH_X86
+    ff_celt_pvq_init_x86(s);
+#endif
 
     *pvq = s;
 
diff --git a/libavcodec/opusdsp.c b/libavcodec/opusdsp.c
index 2c46afa839..badcfcc884 100644
--- a/libavcodec/opusdsp.c
+++ b/libavcodec/opusdsp.c
@@ -56,9 +56,9 @@ av_cold void ff_opus_dsp_init(OpusDSP *ctx)
     ctx->postfilter = postfilter_c;
     ctx->deemphasis = deemphasis_c;
 
-    if (ARCH_X86)
-        ff_opus_dsp_init_x86(ctx);
-
-    if (ARCH_AARCH64)
-        ff_opus_dsp_init_aarch64(ctx);
+#if ARCH_AARCH64
+    ff_opus_dsp_init_aarch64(ctx);
+#elif ARCH_X86
+    ff_opus_dsp_init_x86(ctx);
+#endif
 }
diff --git a/libavcodec/pixblockdsp.c b/libavcodec/pixblockdsp.c
index 67393b9593..92c27f7350 100644
--- a/libavcodec/pixblockdsp.c
+++ b/libavcodec/pixblockdsp.c
@@ -101,16 +101,17 @@ av_cold void ff_pixblockdsp_init(PixblockDSPContext *c, AVCodecContext *avctx)
         break;
     }
 
-    if (ARCH_AARCH64)
-        ff_pixblockdsp_init_aarch64(c, avctx, high_bit_depth);
-    if (ARCH_ALPHA)
-        ff_pixblockdsp_init_alpha(c, avctx, high_bit_depth);
-    if (ARCH_ARM)
-        ff_pixblockdsp_init_arm(c, avctx, high_bit_depth);
-    if (ARCH_PPC)
-        ff_pixblockdsp_init_ppc(c, avctx, high_bit_depth);
-    if (ARCH_X86)
-        ff_pixblockdsp_init_x86(c, avctx, high_bit_depth);
-    if (ARCH_MIPS)
-        ff_pixblockdsp_init_mips(c, avctx, high_bit_depth);
+#if ARCH_AARCH64
+    ff_pixblockdsp_init_aarch64(c, avctx, high_bit_depth);
+#elif ARCH_ALPHA
+    ff_pixblockdsp_init_alpha(c, avctx, high_bit_depth);
+#elif ARCH_ARM
+    ff_pixblockdsp_init_arm(c, avctx, high_bit_depth);
+#elif ARCH_PPC
+    ff_pixblockdsp_init_ppc(c, avctx, high_bit_depth);
+#elif ARCH_X86
+    ff_pixblockdsp_init_x86(c, avctx, high_bit_depth);
+#elif ARCH_MIPS
+    ff_pixblockdsp_init_mips(c, avctx, high_bit_depth);
+#endif
 }
diff --git a/libavcodec/pngdsp.c b/libavcodec/pngdsp.c
index f450a4c5ee..65916b1386 100644
--- a/libavcodec/pngdsp.c
+++ b/libavcodec/pngdsp.c
@@ -45,6 +45,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)
-        ff_pngdsp_init_x86(dsp);
+#if ARCH_X86
+    ff_pngdsp_init_x86(dsp);
+#endif
 }
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index a3c618cdd1..6ed01179fe 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -88,8 +88,9 @@ av_cold int ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx)
         return AVERROR_BUG;
     }
 
-    if (ARCH_X86)
-        ff_proresdsp_init_x86(dsp, avctx);
+#if ARCH_X86
+    ff_proresdsp_init_x86(dsp, avctx);
+#endif
 
     ff_init_scantable_permutation(dsp->idct_permutation,
                                   dsp->idct_permutation_type);
diff --git a/libavcodec/qpeldsp.c b/libavcodec/qpeldsp.c
index c1eab6120d..2b9146ceb1 100644
--- a/libavcodec/qpeldsp.c
+++ b/libavcodec/qpeldsp.c
@@ -810,8 +810,9 @@ av_cold void ff_qpeldsp_init(QpelDSPContext *c)
     dspfunc(avg_qpel, 0, 16);
     dspfunc(avg_qpel, 1, 8);
 
-    if (ARCH_X86)
-        ff_qpeldsp_init_x86(c);
-    if (ARCH_MIPS)
-        ff_qpeldsp_init_mips(c);
+#if ARCH_X86
+    ff_qpeldsp_init_x86(c);
+#elif ARCH_MIPS
+    ff_qpeldsp_init_mips(c);
+#endif
 }
diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c
index 8228eb247b..ac6f5d6781 100644
--- a/libavcodec/rdft.c
+++ b/libavcodec/rdft.c
@@ -107,7 +107,9 @@ av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans)
     s->tsin = ff_cos_tabs[nbits] + (n >> 2);
     s->rdft_calc   = rdft_calc_c;
 
-    if (ARCH_ARM) ff_rdft_init_arm(s);
+#if ARCH_ARM
+    ff_rdft_init_arm(s);
+#endif
 
     return 0;
 }
diff --git a/libavcodec/rv34dsp.c b/libavcodec/rv34dsp.c
index c3f245eb85..8f9d88396c 100644
--- a/libavcodec/rv34dsp.c
+++ b/libavcodec/rv34dsp.c
@@ -136,8 +136,9 @@ av_cold void ff_rv34dsp_init(RV34DSPContext *c)
     c->rv34_idct_add    = rv34_idct_add_c;
     c->rv34_idct_dc_add = rv34_idct_dc_add_c;
 
-    if (ARCH_ARM)
-        ff_rv34dsp_init_arm(c);
-    if (ARCH_X86)
-        ff_rv34dsp_init_x86(c);
+#if ARCH_ARM
+    ff_rv34dsp_init_arm(c);
+#elif ARCH_X86
+    ff_rv34dsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index 414c4d30b1..a09179ae85 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -705,10 +705,11 @@ av_cold void ff_rv40dsp_init(RV34DSPContext *c)
     c->rv40_loop_filter_strength[0] = rv40_h_loop_filter_strength;
     c->rv40_loop_filter_strength[1] = rv40_v_loop_filter_strength;
 
-    if (ARCH_AARCH64)
-        ff_rv40dsp_init_aarch64(c);
-    if (ARCH_ARM)
-        ff_rv40dsp_init_arm(c);
-    if (ARCH_X86)
-        ff_rv40dsp_init_x86(c);
+#if ARCH_AARCH64
+    ff_rv40dsp_init_aarch64(c);
+#elif ARCH_ARM
+    ff_rv40dsp_init_arm(c);
+#elif ARCH_X86
+    ff_rv40dsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/sbcdsp.c b/libavcodec/sbcdsp.c
index e745595da0..400526ce62 100644
--- a/libavcodec/sbcdsp.c
+++ b/libavcodec/sbcdsp.c
@@ -380,8 +380,9 @@ av_cold void ff_sbcdsp_init(SBCDSPContext *s)
     s->sbc_calc_scalefactors = sbc_calc_scalefactors;
     s->sbc_calc_scalefactors_j = sbc_calc_scalefactors_j;
 
-    if (ARCH_ARM)
-        ff_sbcdsp_init_arm(s);
-    if (ARCH_X86)
-        ff_sbcdsp_init_x86(s);
+#if ARCH_ARM
+    ff_sbcdsp_init_arm(s);
+#elif ARCH_X86
+    ff_sbcdsp_init_x86(s);
+#endif
 }
diff --git a/libavcodec/sbrdsp_template.c b/libavcodec/sbrdsp_template.c
index 37a3365b97..b3737c0fd8 100644
--- a/libavcodec/sbrdsp_template.c
+++ b/libavcodec/sbrdsp_template.c
@@ -92,13 +92,14 @@ av_cold void AAC_RENAME(ff_sbrdsp_init)(SBRDSPContext *s)
     s->hf_apply_noise[3] = sbr_hf_apply_noise_3;
 
 #if !USE_FIXED
-    if (ARCH_ARM)
-        ff_sbrdsp_init_arm(s);
-    if (ARCH_AARCH64)
-        ff_sbrdsp_init_aarch64(s);
-    if (ARCH_X86)
-        ff_sbrdsp_init_x86(s);
-    if (ARCH_MIPS)
-        ff_sbrdsp_init_mips(s);
+#if ARCH_ARM
+    ff_sbrdsp_init_arm(s);
+#elif ARCH_AARCH64
+    ff_sbrdsp_init_aarch64(s);
+#elif ARCH_X86
+    ff_sbrdsp_init_x86(s);
+#elif ARCH_MIPS
+    ff_sbrdsp_init_mips(s);
+#endif
 #endif /* !USE_FIXED */
 }
diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c
index b4e61e4517..3c2d594632 100644
--- a/libavcodec/svq1enc.c
+++ b/libavcodec/svq1enc.c
@@ -568,10 +568,11 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx)
         return AVERROR(ENOMEM);
     }
 
-    if (ARCH_PPC)
-        ff_svq1enc_init_ppc(s);
-    if (ARCH_X86)
-        ff_svq1enc_init_x86(s);
+#if ARCH_PPC
+    ff_svq1enc_init_ppc(s);
+#elif ARCH_X86
+    ff_svq1enc_init_x86(s);
+#endif
 
     ff_h263_encode_init(&s->m); // mv_penalty
 
diff --git a/libavcodec/synth_filter.c b/libavcodec/synth_filter.c
index 1c5dab5c5a..f30cf360df 100644
--- a/libavcodec/synth_filter.c
+++ b/libavcodec/synth_filter.c
@@ -175,10 +175,11 @@ av_cold void ff_synth_filter_init(SynthFilterContext *c)
     c->synth_filter_fixed    = synth_filter_fixed;
     c->synth_filter_fixed_64 = synth_filter_fixed_64;
 
-    if (ARCH_AARCH64)
-        ff_synth_filter_init_aarch64(c);
-    if (ARCH_ARM)
-        ff_synth_filter_init_arm(c);
-    if (ARCH_X86)
-        ff_synth_filter_init_x86(c);
+#if ARCH_AARCH64
+    ff_synth_filter_init_aarch64(c);
+#elif ARCH_ARM
+    ff_synth_filter_init_arm(c);
+#elif ARCH_X86
+    ff_synth_filter_init_x86(c);
+#endif
 }
diff --git a/libavcodec/takdsp.c b/libavcodec/takdsp.c
index a8f9dba342..881d7be5f2 100644
--- a/libavcodec/takdsp.c
+++ b/libavcodec/takdsp.c
@@ -77,6 +77,7 @@ av_cold void ff_takdsp_init(TAKDSPContext *c)
     c->decorrelate_sm = decorrelate_sm;
     c->decorrelate_sf = decorrelate_sf;
 
-    if (ARCH_X86)
-        ff_takdsp_init_x86(c);
+#if ARCH_X86
+    ff_takdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/ttadsp.c b/libavcodec/ttadsp.c
index 99dd66a0c2..fe9e3c69e4 100644
--- a/libavcodec/ttadsp.c
+++ b/libavcodec/ttadsp.c
@@ -56,6 +56,7 @@ av_cold void ff_ttadsp_init(TTADSPContext *c)
 {
     c->filter_process = tta_filter_process_c;
 
-    if (ARCH_X86)
-        ff_ttadsp_init_x86(c);
+#if ARCH_X86
+    ff_ttadsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/ttaencdsp.c b/libavcodec/ttaencdsp.c
index 6ba594e9fa..0efdc109bb 100644
--- a/libavcodec/ttaencdsp.c
+++ b/libavcodec/ttaencdsp.c
@@ -54,6 +54,7 @@ av_cold void ff_ttaencdsp_init(TTAEncDSPContext *c)
 {
     c->filter_process = ttaenc_filter_process_c;
 
-    if (ARCH_X86)
-        ff_ttaencdsp_init_x86(c);
+#if ARCH_X86
+    ff_ttaencdsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/utvideodsp.c b/libavcodec/utvideodsp.c
index 0831a6b97b..6db0abf8da 100644
--- a/libavcodec/utvideodsp.c
+++ b/libavcodec/utvideodsp.c
@@ -77,6 +77,7 @@ av_cold void ff_utvideodsp_init(UTVideoDSPContext *c)
     c->restore_rgb_planes   = restore_rgb_planes_c;
     c->restore_rgb_planes10 = restore_rgb_planes10_c;
 
-    if (ARCH_X86)
-        ff_utvideodsp_init_x86(c);
+#if ARCH_X86
+    ff_utvideodsp_init_x86(c);
+#endif
 }
diff --git a/libavcodec/v210dec_init.h b/libavcodec/v210dec_init.h
index 305ab3911e..c7a232fe8e 100644
--- a/libavcodec/v210dec_init.h
+++ b/libavcodec/v210dec_init.h
@@ -54,8 +54,9 @@ static void v210_planar_unpack_c(const uint32_t *src, uint16_t *y, uint16_t *u,
 static av_unused av_cold void ff_v210dec_init(V210DecContext *s)
 {
     s->unpack_frame = v210_planar_unpack_c;
-    if (ARCH_X86)
-        ff_v210_x86_init(s);
+#if ARCH_X86
+    ff_v210_x86_init(s);
+#endif
 }
 
 #endif /* AVCODEC_V210DEC_INIT_H */
diff --git a/libavcodec/v210enc_init.h b/libavcodec/v210enc_init.h
index 6d81cac319..a0e5622f4f 100644
--- a/libavcodec/v210enc_init.h
+++ b/libavcodec/v210enc_init.h
@@ -83,8 +83,9 @@ static av_cold av_unused void ff_v210enc_init(V210EncContext *s)
     s->sample_factor_8  = 2;
     s->sample_factor_10 = 1;
 
-    if (ARCH_X86)
-        ff_v210enc_init_x86(s);
+#if ARCH_X86
+    ff_v210enc_init_x86(s);
+#endif
 }
 
 #endif /* AVCODEC_V210ENC_INIT_H */
diff --git a/libavcodec/vc1dsp.c b/libavcodec/vc1dsp.c
index f1b7bb2397..62c553bc01 100644
--- a/libavcodec/vc1dsp.c
+++ b/libavcodec/vc1dsp.c
@@ -1033,16 +1033,17 @@ av_cold void ff_vc1dsp_init(VC1DSPContext *dsp)
     dsp->startcode_find_candidate = ff_startcode_find_candidate_c;
     dsp->vc1_unescape_buffer      = vc1_unescape_buffer;
 
-    if (ARCH_AARCH64)
-        ff_vc1dsp_init_aarch64(dsp);
-    if (ARCH_ARM)
-        ff_vc1dsp_init_arm(dsp);
-    if (ARCH_PPC)
-        ff_vc1dsp_init_ppc(dsp);
-    if (ARCH_X86)
-        ff_vc1dsp_init_x86(dsp);
-    if (ARCH_MIPS)
-        ff_vc1dsp_init_mips(dsp);
-    if (ARCH_LOONGARCH)
-        ff_vc1dsp_init_loongarch(dsp);
+#if ARCH_AARCH64
+    ff_vc1dsp_init_aarch64(dsp);
+#elif ARCH_ARM
+    ff_vc1dsp_init_arm(dsp);
+#elif ARCH_PPC
+    ff_vc1dsp_init_ppc(dsp);
+#elif ARCH_X86
+    ff_vc1dsp_init_x86(dsp);
+#elif ARCH_MIPS
+    ff_vc1dsp_init_mips(dsp);
+#elif ARCH_LOONGARCH
+    ff_vc1dsp_init_loongarch(dsp);
+#endif
 }
diff --git a/libavcodec/videodsp.c b/libavcodec/videodsp.c
index 2198d46c15..90dc1aacbd 100644
--- a/libavcodec/videodsp.c
+++ b/libavcodec/videodsp.c
@@ -45,16 +45,17 @@ av_cold void ff_videodsp_init(VideoDSPContext *ctx, int bpc)
         ctx->emulated_edge_mc = ff_emulated_edge_mc_16;
     }
 
-    if (ARCH_AARCH64)
-        ff_videodsp_init_aarch64(ctx, bpc);
-    if (ARCH_ARM)
-        ff_videodsp_init_arm(ctx, bpc);
-    if (ARCH_PPC)
-        ff_videodsp_init_ppc(ctx, bpc);
-    if (ARCH_X86)
-        ff_videodsp_init_x86(ctx, bpc);
-    if (ARCH_MIPS)
-        ff_videodsp_init_mips(ctx, bpc);
-    if (ARCH_LOONGARCH64)
-        ff_videodsp_init_loongarch(ctx, bpc);
+#if ARCH_AARCH64
+    ff_videodsp_init_aarch64(ctx, bpc);
+#elif ARCH_ARM
+    ff_videodsp_init_arm(ctx, bpc);
+#elif ARCH_PPC
+    ff_videodsp_init_ppc(ctx, bpc);
+#elif ARCH_X86
+    ff_videodsp_init_x86(ctx, bpc);
+#elif ARCH_MIPS
+    ff_videodsp_init_mips(ctx, bpc);
+#elif ARCH_LOONGARCH64
+    ff_videodsp_init_loongarch(ctx, bpc);
+#endif
 }
diff --git a/libavcodec/vorbisdsp.c b/libavcodec/vorbisdsp.c
index 362a276296..e94b65cb7b 100644
--- a/libavcodec/vorbisdsp.c
+++ b/libavcodec/vorbisdsp.c
@@ -25,12 +25,13 @@ av_cold void ff_vorbisdsp_init(VorbisDSPContext *dsp)
 {
     dsp->vorbis_inverse_coupling = ff_vorbis_inverse_coupling;
 
-    if (ARCH_AARCH64)
-        ff_vorbisdsp_init_aarch64(dsp);
-    if (ARCH_ARM)
-        ff_vorbisdsp_init_arm(dsp);
-    if (ARCH_PPC)
-        ff_vorbisdsp_init_ppc(dsp);
-    if (ARCH_X86)
-        ff_vorbisdsp_init_x86(dsp);
+#if ARCH_AARCH64
+    ff_vorbisdsp_init_aarch64(dsp);
+#elif ARCH_ARM
+    ff_vorbisdsp_init_arm(dsp);
+#elif ARCH_PPC
+    ff_vorbisdsp_init_ppc(dsp);
+#elif ARCH_X86
+    ff_vorbisdsp_init_x86(dsp);
+#endif
 }
diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c
index f06834f42e..b4621f07e7 100644
--- a/libavcodec/vp3dsp.c
+++ b/libavcodec/vp3dsp.c
@@ -455,14 +455,15 @@ av_cold void ff_vp3dsp_init(VP3DSPContext *c, int flags)
     c->v_loop_filter = c->v_loop_filter_unaligned = vp3_v_loop_filter_8_c;
     c->h_loop_filter = c->h_loop_filter_unaligned = vp3_h_loop_filter_8_c;
 
-    if (ARCH_ARM)
-        ff_vp3dsp_init_arm(c, flags);
-    if (ARCH_PPC)
-        ff_vp3dsp_init_ppc(c, flags);
-    if (ARCH_X86)
-        ff_vp3dsp_init_x86(c, flags);
-    if (ARCH_MIPS)
-        ff_vp3dsp_init_mips(c, flags);
+#if ARCH_ARM
+    ff_vp3dsp_init_arm(c, flags);
+#elif ARCH_PPC
+    ff_vp3dsp_init_ppc(c, flags);
+#elif ARCH_X86
+    ff_vp3dsp_init_x86(c, flags);
+#elif ARCH_MIPS
+    ff_vp3dsp_init_mips(c, flags);
+#endif
 }
 
 /*
diff --git a/libavcodec/vp56dsp.c b/libavcodec/vp56dsp.c
index d368e3292d..a668712384 100644
--- a/libavcodec/vp56dsp.c
+++ b/libavcodec/vp56dsp.c
@@ -77,9 +77,10 @@ av_cold void ff_vp6dsp_init(VP56DSPContext *s)
 {
     s->vp6_filter_diag4 = ff_vp6_filter_diag4_c;
 
-    if (ARCH_ARM)
-        ff_vp6dsp_init_arm(s);
-    if (ARCH_X86)
-        ff_vp6dsp_init_x86(s);
+#if ARCH_ARM
+    ff_vp6dsp_init_arm(s);
+#elif ARCH_X86
+    ff_vp6dsp_init_x86(s);
+#endif
 }
 #endif /* CONFIG_VP6_DECODER */
diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c
index 23f49b2c25..a92774ed5e 100644
--- a/libavcodec/vp8dsp.c
+++ b/libavcodec/vp8dsp.c
@@ -675,14 +675,15 @@ av_cold void ff_vp78dsp_init(VP8DSPContext *dsp)
     VP78_BILINEAR_MC_FUNC(1, 8);
     VP78_BILINEAR_MC_FUNC(2, 4);
 
-    if (ARCH_AARCH64)
-        ff_vp78dsp_init_aarch64(dsp);
-    if (ARCH_ARM)
-        ff_vp78dsp_init_arm(dsp);
-    if (ARCH_PPC)
-        ff_vp78dsp_init_ppc(dsp);
-    if (ARCH_X86)
-        ff_vp78dsp_init_x86(dsp);
+#if ARCH_AARCH64
+    ff_vp78dsp_init_aarch64(dsp);
+#elif ARCH_ARM
+    ff_vp78dsp_init_arm(dsp);
+#elif ARCH_PPC
+    ff_vp78dsp_init_ppc(dsp);
+#elif ARCH_X86
+    ff_vp78dsp_init_x86(dsp);
+#endif
 }
 
 #if CONFIG_VP7_DECODER
@@ -737,15 +738,16 @@ av_cold void ff_vp8dsp_init(VP8DSPContext *dsp)
     dsp->vp8_v_loop_filter_simple = vp8_v_loop_filter_simple_c;
     dsp->vp8_h_loop_filter_simple = vp8_h_loop_filter_simple_c;
 
-    if (ARCH_AARCH64)
-        ff_vp8dsp_init_aarch64(dsp);
-    if (ARCH_ARM)
-        ff_vp8dsp_init_arm(dsp);
-    if (ARCH_X86)
-        ff_vp8dsp_init_x86(dsp);
-    if (ARCH_MIPS)
-        ff_vp8dsp_init_mips(dsp);
-    if (ARCH_LOONGARCH)
-        ff_vp8dsp_init_loongarch(dsp);
+#if ARCH_AARCH64
+    ff_vp8dsp_init_aarch64(dsp);
+#elif ARCH_ARM
+    ff_vp8dsp_init_arm(dsp);
+#elif ARCH_X86
+    ff_vp8dsp_init_x86(dsp);
+#elif ARCH_MIPS
+    ff_vp8dsp_init_mips(dsp);
+#elif ARCH_LOONGARCH
+    ff_vp8dsp_init_loongarch(dsp);
+#endif
 }
 #endif /* CONFIG_VP8_DECODER */
diff --git a/libavcodec/vp9dsp.c b/libavcodec/vp9dsp.c
index 3441419e2d..d8ddf74d4f 100644
--- a/libavcodec/vp9dsp.c
+++ b/libavcodec/vp9dsp.c
@@ -96,9 +96,15 @@ av_cold void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp, int bitexact)
         ff_vp9dsp_init_12(dsp);
     }
 
-    if (ARCH_AARCH64) ff_vp9dsp_init_aarch64(dsp, bpp);
-    if (ARCH_ARM) ff_vp9dsp_init_arm(dsp, bpp);
-    if (ARCH_X86) ff_vp9dsp_init_x86(dsp, bpp, bitexact);
-    if (ARCH_MIPS) ff_vp9dsp_init_mips(dsp, bpp);
-    if (ARCH_LOONGARCH) ff_vp9dsp_init_loongarch(dsp, bpp);
+#if ARCH_AARCH64
+    ff_vp9dsp_init_aarch64(dsp, bpp);
+#elif ARCH_ARM
+    ff_vp9dsp_init_arm(dsp, bpp);
+#elif ARCH_X86
+    ff_vp9dsp_init_x86(dsp, bpp, bitexact);
+#elif ARCH_MIPS
+    ff_vp9dsp_init_mips(dsp, bpp);
+#elif ARCH_LOONGARCH
+    ff_vp9dsp_init_loongarch(dsp, bpp);
+#endif
 }
diff --git a/libavcodec/wmv2dsp.c b/libavcodec/wmv2dsp.c
index 3bd482176a..4ad8a596b8 100644
--- a/libavcodec/wmv2dsp.c
+++ b/libavcodec/wmv2dsp.c
@@ -264,6 +264,7 @@ av_cold void ff_wmv2dsp_init(WMV2DSPContext *c)
     c->put_mspel_pixels_tab[6] = put_mspel8_mc22_c;
     c->put_mspel_pixels_tab[7] = put_mspel8_mc32_c;
 
-    if (ARCH_MIPS)
-        ff_wmv2dsp_init_mips(c);
+#if ARCH_MIPS
+    ff_wmv2dsp_init_mips(c);
+#endif
 }
diff --git a/libavcodec/x86/mdct15_init.c b/libavcodec/x86/mdct15_init.c
index 31ce19d31c..ea7301e1e7 100644
--- a/libavcodec/x86/mdct15_init.c
+++ b/libavcodec/x86/mdct15_init.c
@@ -89,13 +89,15 @@ av_cold void ff_mdct15_init_x86(MDCT15Context *s)
     if (EXTERNAL_SSE3(cpu_flags))
         s->postreindex = ff_mdct15_postreindex_sse3;
 
-    if (ARCH_X86_64 && EXTERNAL_AVX(cpu_flags)) {
+#if ARCH_X86_64
+    if (EXTERNAL_AVX(cpu_flags)) {
         s->fft15 = ff_fft15_avx;
         adjust_twiddles = 1;
     }
 
-    if (ARCH_X86_64 && EXTERNAL_AVX2_FAST(cpu_flags))
+    if (EXTERNAL_AVX2_FAST(cpu_flags))
         s->postreindex = ff_mdct15_postreindex_avx2;
+#endif
 
     if (adjust_twiddles)
         perm_twiddles(s);
diff --git a/libavcodec/xvididct.c b/libavcodec/xvididct.c
index 360deb3244..f338901ab2 100644
--- a/libavcodec/xvididct.c
+++ b/libavcodec/xvididct.c
@@ -346,10 +346,11 @@ av_cold void ff_xvid_idct_init(IDCTDSPContext *c, AVCodecContext *avctx)
         c->perm_type = FF_IDCT_PERM_NONE;
     }
 
-    if (ARCH_X86)
-        ff_xvid_idct_init_x86(c, avctx, high_bit_depth);
-    if (ARCH_MIPS)
-        ff_xvid_idct_init_mips(c, avctx, high_bit_depth);
+#if ARCH_X86
+    ff_xvid_idct_init_x86(c, avctx, high_bit_depth);
+#elif ARCH_MIPS
+    ff_xvid_idct_init_mips(c, avctx, high_bit_depth);
+#endif
 
     ff_init_scantable_permutation(c->idct_permutation, c->perm_type);
 }
diff --git a/libavfilter/af_afirdsp.h b/libavfilter/af_afirdsp.h
index bf7d1d6f0f..4208501393 100644
--- a/libavfilter/af_afirdsp.h
+++ b/libavfilter/af_afirdsp.h
@@ -74,8 +74,9 @@ static av_unused void ff_afir_init(AudioFIRDSPContext *dsp)
     dsp->fcmul_add = fcmul_add_c;
     dsp->dcmul_add = dcmul_add_c;
 
-    if (ARCH_X86)
-        ff_afir_init_x86(dsp);
+#if ARCH_X86
+    ff_afir_init_x86(dsp);
+#endif
 }
 
 #endif /* AVFILTER_AFIRDSP_H */
diff --git a/libavfilter/af_anlmdn.c b/libavfilter/af_anlmdn.c
index c82be33e7c..8f01c5f8a2 100644
--- a/libavfilter/af_anlmdn.c
+++ b/libavfilter/af_anlmdn.c
@@ -118,8 +118,9 @@ void ff_anlmdn_init(AudioNLMDNDSPContext *dsp)
     dsp->compute_distance_ssd = compute_distance_ssd_c;
     dsp->compute_cache        = compute_cache_c;
 
-    if (ARCH_X86)
-        ff_anlmdn_init_x86(dsp);
+#if ARCH_X86
+    ff_anlmdn_init_x86(dsp);
+#endif
 }
 
 static int config_filter(AVFilterContext *ctx)
diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c
index 4c9b96f17e..f6e183df8d 100644
--- a/libavfilter/af_volume.c
+++ b/libavfilter/af_volume.c
@@ -238,8 +238,9 @@ static av_cold void volume_init(VolumeContext *vol)
         break;
     }
 
-    if (ARCH_X86)
-        ff_volume_init_x86(vol);
+#if ARCH_X86
+    ff_volume_init_x86(vol);
+#endif
 }
 
 static int set_volume(AVFilterContext *ctx)
diff --git a/libavfilter/avf_showcqt.c b/libavfilter/avf_showcqt.c
index c738e6f993..33c482bd42 100644
--- a/libavfilter/avf_showcqt.c
+++ b/libavfilter/avf_showcqt.c
@@ -1418,8 +1418,9 @@ static int config_output(AVFilterLink *outlink)
         s->update_sono = update_sono_yuv;
     }
 
-    if (ARCH_X86)
-        ff_showcqt_init_x86(s);
+#if ARCH_X86
+    ff_showcqt_init_x86(s);
+#endif
 
     if ((ret = init_cqt(s)) < 0)
         return ret;
diff --git a/libavfilter/colorspacedsp.c b/libavfilter/colorspacedsp.c
index 65ea74c584..72207ffaf3 100644
--- a/libavfilter/colorspacedsp.c
+++ b/libavfilter/colorspacedsp.c
@@ -143,6 +143,7 @@ void ff_colorspacedsp_init(ColorSpaceDSPContext *dsp)
 
     dsp->multiply3x3 = multiply3x3_c;
 
-    if (ARCH_X86)
-        ff_colorspacedsp_x86_init(dsp);
+#if ARCH_X86
+    ff_colorspacedsp_x86_init(dsp);
+#endif
 }
diff --git a/libavfilter/scene_sad.c b/libavfilter/scene_sad.c
index 73d3eacbfa..caf911eb5d 100644
--- a/libavfilter/scene_sad.c
+++ b/libavfilter/scene_sad.c
@@ -59,8 +59,9 @@ 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)
-        sad = ff_scene_sad_get_fn_x86(depth);
+#if ARCH_X86
+    sad = ff_scene_sad_get_fn_x86(depth);
+#endif
     if (!sad) {
         if (depth == 8)
             sad = ff_scene_sad_c;
diff --git a/libavfilter/vf_atadenoise.c b/libavfilter/vf_atadenoise.c
index 8dc51b460d..54cde782f6 100644
--- a/libavfilter/vf_atadenoise.c
+++ b/libavfilter/vf_atadenoise.c
@@ -433,8 +433,9 @@ static int config_input(AVFilterLink *inlink)
         }
     }
 
-    if (ARCH_X86)
-        ff_atadenoise_init_x86(&s->dsp, depth, s->algorithm, s->sigma);
+#if ARCH_X86
+    ff_atadenoise_init_x86(&s->dsp, depth, s->algorithm, s->sigma);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_blend_init.h b/libavfilter/vf_blend_init.h
index 5fb2599490..f531338a54 100644
--- a/libavfilter/vf_blend_init.h
+++ b/libavfilter/vf_blend_init.h
@@ -194,8 +194,9 @@ static av_unused 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)
-        ff_blend_init_x86(param, depth);
+#if ARCH_X86
+    ff_blend_init_x86(param, depth);
+#endif
 }
 
 #endif /* AVFILTER_BLEND_INIT_H */
diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c
index c3b7abc1b9..65c617ebb3 100644
--- a/libavfilter/vf_bwdif.c
+++ b/libavfilter/vf_bwdif.c
@@ -350,8 +350,9 @@ static int config_props(AVFilterLink *link)
         s->filter_edge  = filter_edge;
     }
 
-    if (ARCH_X86)
-        ff_bwdif_init_x86(s);
+#if ARCH_X86
+    ff_bwdif_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_eq.h b/libavfilter/vf_eq.h
index a5756977d2..fc8d4a711a 100644
--- a/libavfilter/vf_eq.h
+++ b/libavfilter/vf_eq.h
@@ -123,8 +123,9 @@ void ff_eq_init_x86(EQContext *eq);
 static av_unused void ff_eq_init(EQContext *eq)
 {
     eq->process = process_c;
-    if (ARCH_X86)
-        ff_eq_init_x86(eq);
+#if ARCH_X86
+    ff_eq_init_x86(eq);
+#endif
 }
 
 #endif /* AVFILTER_EQ_H */
diff --git a/libavfilter/vf_framerate.c b/libavfilter/vf_framerate.c
index f116147751..49bf6cdfff 100644
--- a/libavfilter/vf_framerate.c
+++ b/libavfilter/vf_framerate.c
@@ -264,8 +264,9 @@ void ff_framerate_init(FrameRateContext *s)
         s->blend_factor_max = 1 << BLEND_FACTOR_DEPTH(16);
         s->blend = blend_frames16_c;
     }
-    if (ARCH_X86)
-        ff_framerate_init_x86(s);
+#if ARCH_X86
+    ff_framerate_init_x86(s);
+#endif
 }
 
 static int config_input(AVFilterLink *inlink)
diff --git a/libavfilter/vf_fspp.c b/libavfilter/vf_fspp.c
index 46ed514503..3e04fd01b9 100644
--- a/libavfilter/vf_fspp.c
+++ b/libavfilter/vf_fspp.c
@@ -525,8 +525,9 @@ static int config_input(AVFilterLink *inlink)
     fspp->row_idct     = row_idct_c;
     fspp->row_fdct     = row_fdct_c;
 
-    if (ARCH_X86)
-        ff_fspp_init_x86(fspp);
+#if ARCH_X86
+    ff_fspp_init_x86(fspp);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_gblur_init.h b/libavfilter/vf_gblur_init.h
index 0fee64bc98..212db9f7a0 100644
--- a/libavfilter/vf_gblur_init.h
+++ b/libavfilter/vf_gblur_init.h
@@ -115,8 +115,9 @@ static av_unused 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)
-        ff_gblur_init_x86(s);
+#if ARCH_X86
+    ff_gblur_init_x86(s);
+#endif
 }
 
 #endif /* AVFILTER_GBLUR_INIT_H */
diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c
index 1ea65823c3..71a5f9c787 100644
--- a/libavfilter/vf_gradfun.c
+++ b/libavfilter/vf_gradfun.c
@@ -131,8 +131,9 @@ 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)
-        ff_gradfun_init_x86(s);
+#if ARCH_X86
+    ff_gradfun_init_x86(s);
+#endif
 
     av_log(ctx, AV_LOG_VERBOSE, "threshold:%.2f radius:%d\n", s->strength, s->radius);
 
diff --git a/libavfilter/vf_hflip_init.h b/libavfilter/vf_hflip_init.h
index b58cfec901..d0319f463d 100644
--- a/libavfilter/vf_hflip_init.h
+++ b/libavfilter/vf_hflip_init.h
@@ -101,8 +101,9 @@ static av_unused int ff_hflip_init(FlipContext *s, int step[4], int nb_planes)
             return AVERROR_BUG;
         }
     }
-    if (ARCH_X86)
-        ff_hflip_init_x86(s, step, nb_planes);
+#if ARCH_X86
+    ff_hflip_init_x86(s, step, nb_planes);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c
index 6078bb260f..ce2b9a2974 100644
--- a/libavfilter/vf_hqdn3d.c
+++ b/libavfilter/vf_hqdn3d.c
@@ -278,8 +278,9 @@ static int config_input(AVFilterLink *inlink)
 
     calc_coefs(ctx);
 
-    if (ARCH_X86)
-        ff_hqdn3d_init_x86(s);
+#if ARCH_X86
+    ff_hqdn3d_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_idet.c b/libavfilter/vf_idet.c
index 9320b485d8..83d992add1 100644
--- a/libavfilter/vf_idet.c
+++ b/libavfilter/vf_idet.c
@@ -276,8 +276,9 @@ static int filter_frame(AVFilterLink *link, AVFrame *picref)
         idet->csp = av_pix_fmt_desc_get(link->format);
     if (idet->csp->comp[0].depth > 8){
         idet->filter_line = (ff_idet_filter_func)ff_idet_filter_line_c_16bit;
-        if (ARCH_X86)
-            ff_idet_init_x86(idet, 1);
+#if ARCH_X86
+        ff_idet_init_x86(idet, 1);
+#endif
     }
 
     if (idet->analyze_interlaced_flag) {
@@ -408,8 +409,9 @@ static av_cold int init(AVFilterContext *ctx)
 
     idet->filter_line = ff_idet_filter_line_c;
 
-    if (ARCH_X86)
-        ff_idet_init_x86(idet, 0);
+#if ARCH_X86
+    ff_idet_init_x86(idet, 0);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_limiter.c b/libavfilter/vf_limiter.c
index f7d06fec48..67b734229f 100644
--- a/libavfilter/vf_limiter.c
+++ b/libavfilter/vf_limiter.c
@@ -141,8 +141,9 @@ static int config_input(AVFilterLink *inlink)
         s->dsp.limiter = limiter16;
     }
 
-    if (ARCH_X86)
-        ff_limiter_init_x86(&s->dsp, desc->comp[0].depth);
+#if ARCH_X86
+    ff_limiter_init_x86(&s->dsp, desc->comp[0].depth);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index c7ecb7018e..f86f8c1a58 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -1150,9 +1150,10 @@ static int config_input(AVFilterLink *inlink)
         av_assert0(0);
     }
 
-    if (ARCH_X86) {
-        ff_lut3d_init_x86(lut3d, desc);
-    }
+
+#if ARCH_X86
+    ff_lut3d_init_x86(lut3d, desc);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_maskedclamp.c b/libavfilter/vf_maskedclamp.c
index de97669877..72f98703a5 100644
--- a/libavfilter/vf_maskedclamp.c
+++ b/libavfilter/vf_maskedclamp.c
@@ -209,8 +209,9 @@ static int config_input(AVFilterLink *inlink)
     else
         s->dsp.maskedclamp = maskedclamp16;
 
-    if (ARCH_X86)
-        ff_maskedclamp_init_x86(&s->dsp, s->depth);
+#if ARCH_X86
+    ff_maskedclamp_init_x86(&s->dsp, s->depth);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c
index db0c516938..7adb809760 100644
--- a/libavfilter/vf_maskedmerge.c
+++ b/libavfilter/vf_maskedmerge.c
@@ -202,8 +202,9 @@ static int config_input(AVFilterLink *inlink)
     else
         s->maskedmerge = maskedmerge32;
 
-    if (ARCH_X86)
-        ff_maskedmerge_init_x86(s);
+#if ARCH_X86
+    ff_maskedmerge_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_nlmeans_init.h b/libavfilter/vf_nlmeans_init.h
index 04ad8801b6..06e932936b 100644
--- a/libavfilter/vf_nlmeans_init.h
+++ b/libavfilter/vf_nlmeans_init.h
@@ -129,11 +129,11 @@ static av_unused void ff_nlmeans_init(NLMeansDSPContext *dsp)
     dsp->compute_safe_ssd_integral_image = compute_safe_ssd_integral_image_c;
     dsp->compute_weights_line = compute_weights_line_c;
 
-    if (ARCH_AARCH64)
-        ff_nlmeans_init_aarch64(dsp);
-
-    if (ARCH_X86)
-        ff_nlmeans_init_x86(dsp);
+#if ARCH_AARCH64
+    ff_nlmeans_init_aarch64(dsp);
+#elif ARCH_X86
+    ff_nlmeans_init_x86(dsp);
+#endif
 }
 
 #endif /* AVFILTER_NLMEANS_INIT_H */
diff --git a/libavfilter/vf_noise.c b/libavfilter/vf_noise.c
index 0e3e72b6b5..8ed12f7409 100644
--- a/libavfilter/vf_noise.c
+++ b/libavfilter/vf_noise.c
@@ -305,8 +305,9 @@ static av_cold int init(AVFilterContext *ctx)
     n->line_noise     = ff_line_noise_c;
     n->line_noise_avg = ff_line_noise_avg_c;
 
-    if (ARCH_X86)
-        ff_noise_init_x86(n);
+#if ARCH_X86
+    ff_noise_init_x86(n);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index f560d54dae..e201e07c15 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -984,9 +984,10 @@ static int config_input_main(AVFilterLink *inlink)
     }
 
 end:
-    if (ARCH_X86)
-        ff_overlay_init_x86(s, s->format, inlink->format,
-                            s->alpha_format, s->main_has_alpha);
+#if ARCH_X86
+    ff_overlay_init_x86(s, s->format, inlink->format,
+                        s->alpha_format, s->main_has_alpha);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_pp7.c b/libavfilter/vf_pp7.c
index 2faa4d2c8a..b7c7cf9dde 100644
--- a/libavfilter/vf_pp7.c
+++ b/libavfilter/vf_pp7.c
@@ -301,8 +301,9 @@ static int config_input(AVFilterLink *inlink)
 
     pp7->dctB = dctB_c;
 
-    if (ARCH_X86)
-        ff_pp7_init_x86(pp7);
+#if ARCH_X86
+    ff_pp7_init_x86(pp7);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c
index fdfd211401..fa2e887e9b 100644
--- a/libavfilter/vf_psnr.c
+++ b/libavfilter/vf_psnr.c
@@ -354,8 +354,9 @@ static int config_input_ref(AVFilterLink *inlink)
     s->average_max = lrint(average_max);
 
     s->dsp.sse_line = desc->comp[0].depth > 8 ? sse_line_16bit : sse_line_8bit;
-    if (ARCH_X86)
-        ff_psnr_init_x86(&s->dsp, desc->comp[0].depth);
+#if ARCH_X86
+    ff_psnr_init_x86(&s->dsp, desc->comp[0].depth);
+#endif
 
     s->score = av_calloc(s->nb_threads, sizeof(*s->score));
     if (!s->score)
diff --git a/libavfilter/vf_pullup.c b/libavfilter/vf_pullup.c
index 1ee5eb00da..054e3f90a9 100644
--- a/libavfilter/vf_pullup.c
+++ b/libavfilter/vf_pullup.c
@@ -207,8 +207,9 @@ static int config_input(AVFilterLink *inlink)
     s->comb = comb_c;
     s->var  = var_c;
 
-    if (ARCH_X86)
-        ff_pullup_init_x86(s);
+#if ARCH_X86
+    ff_pullup_init_x86(s);
+#endif
     return 0;
 }
 
diff --git a/libavfilter/vf_removegrain.c b/libavfilter/vf_removegrain.c
index 16140bf8b6..0d4b070cd5 100644
--- a/libavfilter/vf_removegrain.c
+++ b/libavfilter/vf_removegrain.c
@@ -501,8 +501,9 @@ static int config_input(AVFilterLink *inlink)
         }
     }
 
-    if (ARCH_X86)
-        ff_removegrain_init_x86(s);
+#if ARCH_X86
+    ff_removegrain_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c
index 0192676909..8442bcc597 100644
--- a/libavfilter/vf_spp.c
+++ b/libavfilter/vf_spp.c
@@ -343,8 +343,9 @@ static int config_input(AVFilterLink *inlink)
     av_opt_set_int(s->dct, "bits_per_sample", bps, 0);
     avcodec_dct_init(s->dct);
 
-    if (ARCH_X86)
-        ff_spp_init_x86(s);
+#if ARCH_X86
+    ff_spp_init_x86(s);
+#endif
 
     s->hsub = desc->log2_chroma_w;
     s->vsub = desc->log2_chroma_h;
diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c
index bceb3288ef..37094b23f9 100644
--- a/libavfilter/vf_ssim.c
+++ b/libavfilter/vf_ssim.c
@@ -478,8 +478,9 @@ 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)
-        ff_ssim_init_x86(&s->dsp);
+#if ARCH_X86
+    ff_ssim_init_x86(&s->dsp);
+#endif
 
     s->score = av_calloc(s->nb_threads, sizeof(*s->score));
     if (!s->score)
diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c
index 0ba18861af..71041d2fee 100644
--- a/libavfilter/vf_stereo3d.c
+++ b/libavfilter/vf_stereo3d.c
@@ -591,8 +591,9 @@ static int config_output(AVFilterLink *outlink)
     s->vsub = desc->log2_chroma_h;
 
     s->dsp.anaglyph = anaglyph;
-    if (ARCH_X86)
-        ff_stereo3d_init_x86(&s->dsp);
+#if ARCH_X86
+    ff_stereo3d_init_x86(&s->dsp);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_threshold_init.h b/libavfilter/vf_threshold_init.h
index e79d2bb63d..7d160ddbb9 100644
--- a/libavfilter/vf_threshold_init.h
+++ b/libavfilter/vf_threshold_init.h
@@ -84,8 +84,9 @@ static av_unused void ff_threshold_init(ThresholdContext *s)
         s->bpc = 2;
     }
 
-    if (ARCH_X86)
-        ff_threshold_init_x86(s);
+#if ARCH_X86
+    ff_threshold_init_x86(s);
+#endif
 }
 
 #endif /* AVFILTER_THRESHOLD_INIT_H */
diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c
index cda55a8c73..399adc102d 100644
--- a/libavfilter/vf_tinterlace.c
+++ b/libavfilter/vf_tinterlace.c
@@ -269,15 +269,17 @@ 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)
-            ff_tinterlace_init_x86(tinterlace);
+#if ARCH_X86
+        ff_tinterlace_init_x86(tinterlace);
+#endif
     } else if (tinterlace->flags & TINTERLACE_FLAG_VLPF) {
         if (tinterlace->csp->comp[0].depth > 8)
             tinterlace->lowpass_line = lowpass_line_c_16;
         else
             tinterlace->lowpass_line = lowpass_line_c;
-        if (ARCH_X86)
-            ff_tinterlace_init_x86(tinterlace);
+#if ARCH_X86
+        ff_tinterlace_init_x86(tinterlace);
+#endif
     }
 
     av_log(ctx, AV_LOG_VERBOSE, "mode:%d filter:%s h:%d -> h:%d\n", tinterlace->mode,
diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index b964daeee3..469e66729f 100644
--- a/libavfilter/vf_transpose.c
+++ b/libavfilter/vf_transpose.c
@@ -235,13 +235,13 @@ static int config_props_output(AVFilterLink *outlink)
         }
     }
 
-    if (ARCH_X86) {
-        for (int i = 0; i < 4; i++) {
-            TransVtable *v = &s->vtables[i];
+#if ARCH_X86
+    for (int i = 0; i < 4; i++) {
+        TransVtable *v = &s->vtables[i];
 
-            ff_transpose_init_x86(v, s->pixsteps[i]);
-        }
+        ff_transpose_init_x86(v, s->pixsteps[i]);
     }
+#endif
 
     av_log(ctx, AV_LOG_VERBOSE,
            "w:%d h:%d dir:%d -> w:%d h:%d rotation:%s vflip:%d\n",
diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c
index 55aa05c35c..2ac9b688dc 100644
--- a/libavfilter/vf_v360.c
+++ b/libavfilter/vf_v360.c
@@ -389,8 +389,9 @@ void ff_v360_init(V360Context *s, int depth)
         break;
     }
 
-    if (ARCH_X86)
-        ff_v360_init_x86(s, depth);
+#if ARCH_X86
+    ff_v360_init_x86(s, depth);
+#endif
 }
 
 /**
diff --git a/libavfilter/vf_w3fdif.c b/libavfilter/vf_w3fdif.c
index 53631fd15b..512c8070c7 100644
--- a/libavfilter/vf_w3fdif.c
+++ b/libavfilter/vf_w3fdif.c
@@ -317,8 +317,9 @@ static int config_input(AVFilterLink *inlink)
         s->dsp.filter_scale        = filter16_scale;
     }
 
-    if (ARCH_X86)
-        ff_w3fdif_init_x86(&s->dsp, depth);
+#if ARCH_X86
+    ff_w3fdif_init_x86(&s->dsp, depth);
+#endif
 
     return 0;
 }
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 21f6c8544d..afa4d1d53d 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -311,8 +311,9 @@ static int config_output(AVFilterLink *outlink)
         s->filter_edges = filter_edges;
     }
 
-    if (ARCH_X86)
-        ff_yadif_init_x86(s);
+#if ARCH_X86
+    ff_yadif_init_x86(s);
+#endif
 
     return 0;
 }
diff --git a/libavutil/cpu.c b/libavutil/cpu.c
index 24b99d2554..0035e927a5 100644
--- a/libavutil/cpu.c
+++ b/libavutil/cpu.c
@@ -54,18 +54,19 @@ static atomic_int cpu_count = ATOMIC_VAR_INIT(-1);
 
 static int get_cpu_flags(void)
 {
-    if (ARCH_MIPS)
-        return ff_get_cpu_flags_mips();
-    if (ARCH_AARCH64)
-        return ff_get_cpu_flags_aarch64();
-    if (ARCH_ARM)
-        return ff_get_cpu_flags_arm();
-    if (ARCH_PPC)
-        return ff_get_cpu_flags_ppc();
-    if (ARCH_X86)
-        return ff_get_cpu_flags_x86();
-    if (ARCH_LOONGARCH)
-        return ff_get_cpu_flags_loongarch();
+#if ARCH_MIPS
+    return ff_get_cpu_flags_mips();
+#elif ARCH_AARCH64
+    return ff_get_cpu_flags_aarch64();
+#elif ARCH_ARM
+    return ff_get_cpu_flags_arm();
+#elif ARCH_PPC
+    return ff_get_cpu_flags_ppc();
+#elif ARCH_X86
+    return ff_get_cpu_flags_x86();
+#elif ARCH_LOONGARCH
+    return ff_get_cpu_flags_loongarch();
+#endif
     return 0;
 }
 
@@ -252,18 +253,19 @@ void av_cpu_force_count(int count)
 
 size_t av_cpu_max_align(void)
 {
-    if (ARCH_MIPS)
-        return ff_get_cpu_max_align_mips();
-    if (ARCH_AARCH64)
-        return ff_get_cpu_max_align_aarch64();
-    if (ARCH_ARM)
-        return ff_get_cpu_max_align_arm();
-    if (ARCH_PPC)
-        return ff_get_cpu_max_align_ppc();
-    if (ARCH_X86)
-        return ff_get_cpu_max_align_x86();
-    if (ARCH_LOONGARCH)
-        return ff_get_cpu_max_align_loongarch();
+#if ARCH_MIPS
+    return ff_get_cpu_max_align_mips();
+#elif ARCH_AARCH64
+    return ff_get_cpu_max_align_aarch64();
+#elif ARCH_ARM
+    return ff_get_cpu_max_align_arm();
+#elif ARCH_PPC
+    return ff_get_cpu_max_align_ppc();
+#elif ARCH_X86
+    return ff_get_cpu_max_align_x86();
+#elif ARCH_LOONGARCH
+    return ff_get_cpu_max_align_loongarch();
+#endif
 
     return 8;
 }
diff --git a/libavutil/fixed_dsp.c b/libavutil/fixed_dsp.c
index 098ef9c061..154f3bc2d3 100644
--- a/libavutil/fixed_dsp.c
+++ b/libavutil/fixed_dsp.c
@@ -162,8 +162,9 @@ AVFixedDSPContext * avpriv_alloc_fixed_dsp(int bit_exact)
     fdsp->butterflies_fixed = butterflies_fixed_c;
     fdsp->scalarproduct_fixed = scalarproduct_fixed_c;
 
-    if (ARCH_X86)
-        ff_fixed_dsp_init_x86(fdsp);
+#if ARCH_X86
+    ff_fixed_dsp_init_x86(fdsp);
+#endif
 
     return fdsp;
 }
diff --git a/libavutil/float_dsp.c b/libavutil/float_dsp.c
index 6e28d71b57..8676c8b0f8 100644
--- a/libavutil/float_dsp.c
+++ b/libavutil/float_dsp.c
@@ -150,15 +150,16 @@ av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact)
     fdsp->butterflies_float = butterflies_float_c;
     fdsp->scalarproduct_float = avpriv_scalarproduct_float_c;
 
-    if (ARCH_AARCH64)
-        ff_float_dsp_init_aarch64(fdsp);
-    if (ARCH_ARM)
-        ff_float_dsp_init_arm(fdsp);
-    if (ARCH_PPC)
-        ff_float_dsp_init_ppc(fdsp, bit_exact);
-    if (ARCH_X86)
-        ff_float_dsp_init_x86(fdsp);
-    if (ARCH_MIPS)
-        ff_float_dsp_init_mips(fdsp);
+#if ARCH_AARCH64
+    ff_float_dsp_init_aarch64(fdsp);
+#elif ARCH_ARM
+    ff_float_dsp_init_arm(fdsp);
+#elif ARCH_PPC
+    ff_float_dsp_init_ppc(fdsp, bit_exact);
+#elif ARCH_X86
+    ff_float_dsp_init_x86(fdsp);
+#elif ARCH_MIPS
+    ff_float_dsp_init_mips(fdsp);
+#endif
     return fdsp;
 }
diff --git a/libavutil/lls.c b/libavutil/lls.c
index ea2d80e662..c1e038daf1 100644
--- a/libavutil/lls.c
+++ b/libavutil/lls.c
@@ -117,6 +117,7 @@ av_cold void avpriv_init_lls(LLSModel *m, int indep_count)
     m->indep_count = indep_count;
     m->update_lls = update_lls;
     m->evaluate_lls = evaluate_lls;
-    if (ARCH_X86)
-        ff_init_lls_x86(m);
+#if ARCH_X86
+    ff_init_lls_x86(m);
+#endif
 }
diff --git a/libswresample/audioconvert.c b/libswresample/audioconvert.c
index 500aa0e5c5..1d75ba1495 100644
--- a/libswresample/audioconvert.c
+++ b/libswresample/audioconvert.c
@@ -176,9 +176,13 @@ AudioConvert *swri_audio_convert_alloc(enum AVSampleFormat out_fmt,
         }
     }
 
-    if(HAVE_X86ASM && HAVE_MMX) swri_audio_convert_init_x86(ctx, out_fmt, in_fmt, channels);
-    if(ARCH_ARM)              swri_audio_convert_init_arm(ctx, out_fmt, in_fmt, channels);
-    if(ARCH_AARCH64)          swri_audio_convert_init_aarch64(ctx, out_fmt, in_fmt, channels);
+#if ARCH_X86 && HAVE_X86ASM && HAVE_MMX
+    swri_audio_convert_init_x86(ctx, out_fmt, in_fmt, channels);
+#elif ARCH_ARM
+    swri_audio_convert_init_arm(ctx, out_fmt, in_fmt, channels);
+#elif ARCH_AARCH64
+    swri_audio_convert_init_aarch64(ctx, out_fmt, in_fmt, channels);
+#endif
 
     return ctx;
 }
diff --git a/libswresample/resample_dsp.c b/libswresample/resample_dsp.c
index b2424eb6f7..611f44373f 100644
--- a/libswresample/resample_dsp.c
+++ b/libswresample/resample_dsp.c
@@ -68,7 +68,11 @@ void swri_resample_dsp_init(ResampleContext *c)
         break;
     }
 
-    if (ARCH_X86) swri_resample_dsp_x86_init(c);
-    else if (ARCH_ARM) swri_resample_dsp_arm_init(c);
-    else if (ARCH_AARCH64) swri_resample_dsp_aarch64_init(c);
+#if ARCH_X86
+    swri_resample_dsp_x86_init(c);
+#elif ARCH_ARM
+    swri_resample_dsp_arm_init(c);
+#elif ARCH_AARCH64
+    swri_resample_dsp_aarch64_init(c);
+#endif
 }
diff --git a/libswscale/rgb2rgb.c b/libswscale/rgb2rgb.c
index a7300f3ba4..b8be76913b 100644
--- a/libswscale/rgb2rgb.c
+++ b/libswscale/rgb2rgb.c
@@ -137,10 +137,11 @@ void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst,
 av_cold void ff_sws_rgb2rgb_init(void)
 {
     rgb2rgb_init_c();
-    if (ARCH_AARCH64)
-        rgb2rgb_init_aarch64();
-    if (ARCH_X86)
-        rgb2rgb_init_x86();
+#if ARCH_AARCH64
+    rgb2rgb_init_aarch64();
+#elif ARCH_X86
+    rgb2rgb_init_x86();
+#endif
 }
 
 void rgb32to24(const uint8_t *src, uint8_t *dst, int src_size)
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 3ed547d526..7b40f49da4 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -590,14 +590,15 @@ void ff_sws_init_scale(SwsContext *c)
 {
     sws_init_swscale(c);
 
-    if (ARCH_PPC)
-        ff_sws_init_swscale_ppc(c);
-    if (ARCH_X86)
-        ff_sws_init_swscale_x86(c);
-    if (ARCH_AARCH64)
-        ff_sws_init_swscale_aarch64(c);
-    if (ARCH_ARM)
-        ff_sws_init_swscale_arm(c);
+#if ARCH_PPC
+    ff_sws_init_swscale_ppc(c);
+#elif ARCH_X86
+    ff_sws_init_swscale_x86(c);
+#elif ARCH_AARCH64
+    ff_sws_init_swscale_aarch64(c);
+#elif ARCH_ARM
+    ff_sws_init_swscale_arm(c);
+#endif
 }
 
 static void reset_ptr(const uint8_t *src[], enum AVPixelFormat format)
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 7cb2a62f07..8838cc8b53 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -2222,12 +2222,13 @@ void ff_get_unscaled_swscale(SwsContext *c)
             c->convert_unscaled = planarCopyWrapper;
     }
 
-    if (ARCH_PPC)
-        ff_get_unscaled_swscale_ppc(c);
-     if (ARCH_ARM)
-         ff_get_unscaled_swscale_arm(c);
-    if (ARCH_AARCH64)
-        ff_get_unscaled_swscale_aarch64(c);
+#if ARCH_PPC
+    ff_get_unscaled_swscale_ppc(c);
+#elif ARCH_ARM
+    ff_get_unscaled_swscale_arm(c);
+#elif ARCH_AARCH64
+    ff_get_unscaled_swscale_aarch64(c);
+#endif
 }
 
 /* Convert the palette to the same packed 32-bit format as the palette */
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 105781c4f4..cb4f5b521c 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -1044,9 +1044,10 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
                                  contrast, saturation);
         // FIXME factorize
 
-        if (ARCH_PPC)
-            ff_yuv2rgb_init_tables_ppc(c, inv_table, brightness,
-                                       contrast, saturation);
+#if ARCH_PPC
+        ff_yuv2rgb_init_tables_ppc(c, inv_table, brightness,
+                                   contrast, saturation);
+#endif
     }
 
     fill_rgb2yuv_table(c, table, dstRange);
diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index 76232cb364..6ee483d12a 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -679,10 +679,11 @@ SwsFunc ff_yuv2rgb_get_func_ptr(SwsContext *c)
 {
     SwsFunc t = NULL;
 
-    if (ARCH_PPC)
-        t = ff_yuv2rgb_init_ppc(c);
-    if (ARCH_X86)
-        t = ff_yuv2rgb_init_x86(c);
+#if ARCH_PPC
+    t = ff_yuv2rgb_init_ppc(c);
+#elif ARCH_X86
+    t = ff_yuv2rgb_init_x86(c);
+#endif
 
     if (t)
         return t;
