diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index a14480a81da5cb79067ed221cbdd30af6639ba90..ecf8e62107408016e39586e5ad51939dfd7d47ae 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -470,6 +470,16 @@ static inline int get_penalty_factor(int lambda, int lambda2, int type){
    one or more MultiMedia extension */
 int mm_support(void);
 
+void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_armv4l(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_bfin(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx);
+void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx);
+
 #define DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v)
 
 #if defined(HAVE_MMX)
@@ -507,7 +517,6 @@ static inline void emms(void)
 
 #define STRIDE_ALIGN 8
 
-void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx);
 void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx);
 
 #elif defined(ARCH_ARMV4L)
@@ -521,30 +530,23 @@ void dsputil_init_pix_mmx(DSPContext* c, AVCodecContext *avctx);
 
 extern int mm_flags;
 
-void dsputil_init_armv4l(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(HAVE_MLIB)
 
 /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)
 #define STRIDE_ALIGN 8
 
-void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(ARCH_SPARC)
 
 /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)
 #define STRIDE_ALIGN 8
-void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx);
 
 #elif defined(ARCH_ALPHA)
 
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)
 #define STRIDE_ALIGN 8
 
-void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(ARCH_POWERPC)
 
 #define MM_ALTIVEC    0x0001 /* standard AltiVec */
@@ -560,29 +562,21 @@ extern int mm_flags;
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(16, t, v)
 #define STRIDE_ALIGN 16
 
-void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(HAVE_MMI)
 
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(16, t, v)
 #define STRIDE_ALIGN 16
 
-void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(ARCH_SH4)
 
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)
 #define STRIDE_ALIGN 8
 
-void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx);
-
 #elif defined(ARCH_BFIN)
 
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)
 #define STRIDE_ALIGN 8
 
-void dsputil_init_bfin(DSPContext* c, AVCodecContext *avctx);
-
 #else
 
 #define DECLARE_ALIGNED_8(t, v) DECLARE_ALIGNED(8, t, v)