diff --git a/libavcodec/armv4l/dsputil_iwmmxt.c b/libavcodec/armv4l/dsputil_iwmmxt.c
index 5699e38578d688e08bbfb473be1675b962febad9..101d3ca808e4d2f7bb330a0320be52176eab8e8c 100644
--- a/libavcodec/armv4l/dsputil_iwmmxt.c
+++ b/libavcodec/armv4l/dsputil_iwmmxt.c
@@ -24,7 +24,7 @@
 #define DEF(x, y) x ## _no_rnd_ ## y ##_iwmmxt
 #define SET_RND(regd)  __asm__ volatile ("mov r12, #1 \n\t tbcsth " #regd ", r12":::"r12");
 #define WAVG2B "wavg2b"
-#include "dsputil_iwmmxt_rnd.h"
+#include "dsputil_iwmmxt_rnd_template.c"
 #undef DEF
 #undef SET_RND
 #undef WAVG2B
@@ -32,7 +32,7 @@
 #define DEF(x, y) x ## _ ## y ##_iwmmxt
 #define SET_RND(regd)  __asm__ volatile ("mov r12, #2 \n\t tbcsth " #regd ", r12":::"r12");
 #define WAVG2B "wavg2br"
-#include "dsputil_iwmmxt_rnd.h"
+#include "dsputil_iwmmxt_rnd_template.c"
 #undef DEF
 #undef SET_RND
 #undef WAVG2BR
diff --git a/libavcodec/armv4l/dsputil_iwmmxt_rnd.h b/libavcodec/armv4l/dsputil_iwmmxt_rnd_template.c
similarity index 100%
rename from libavcodec/armv4l/dsputil_iwmmxt_rnd.h
rename to libavcodec/armv4l/dsputil_iwmmxt_rnd_template.c
diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index 78c9e42a8e96cba0f125abea133f4e5a1d197073..5981bc735a09e8b847b5445f540839ca2a288f42 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -155,7 +155,7 @@ DECLARE_ALIGNED_16(const double, ff_pd_2[2]) = { 2.0, 2.0 };
 #define PAVGBP(a, b, c, d, e, f)        PAVGBP_MMX_NO_RND(a, b, c, d, e, f)
 #define PAVGB(a, b, c, e)               PAVGB_MMX_NO_RND(a, b, c, e)
 
-#include "dsputil_mmx_rnd.h"
+#include "dsputil_mmx_rnd_template.c"
 
 #undef DEF
 #undef SET_RND
@@ -169,7 +169,7 @@ DECLARE_ALIGNED_16(const double, ff_pd_2[2]) = { 2.0, 2.0 };
 #define PAVGBP(a, b, c, d, e, f)        PAVGBP_MMX(a, b, c, d, e, f)
 #define PAVGB(a, b, c, e)               PAVGB_MMX(a, b, c, e)
 
-#include "dsputil_mmx_rnd.h"
+#include "dsputil_mmx_rnd_template.c"
 
 #undef DEF
 #undef SET_RND
@@ -182,7 +182,7 @@ DECLARE_ALIGNED_16(const double, ff_pd_2[2]) = { 2.0, 2.0 };
 #define DEF(x) x ## _3dnow
 #define PAVGB "pavgusb"
 
-#include "dsputil_mmx_avg.h"
+#include "dsputil_mmx_avg_template.c"
 
 #undef DEF
 #undef PAVGB
@@ -195,7 +195,7 @@ DECLARE_ALIGNED_16(const double, ff_pd_2[2]) = { 2.0, 2.0 };
 /* Introduced only in MMX2 set */
 #define PAVGB "pavgb"
 
-#include "dsputil_mmx_avg.h"
+#include "dsputil_mmx_avg_template.c"
 
 #undef DEF
 #undef PAVGB
diff --git a/libavcodec/i386/dsputil_mmx_avg.h b/libavcodec/i386/dsputil_mmx_avg_template.c
similarity index 100%
rename from libavcodec/i386/dsputil_mmx_avg.h
rename to libavcodec/i386/dsputil_mmx_avg_template.c
diff --git a/libavcodec/i386/dsputil_mmx_qns.h b/libavcodec/i386/dsputil_mmx_qns_template.c
similarity index 100%
rename from libavcodec/i386/dsputil_mmx_qns.h
rename to libavcodec/i386/dsputil_mmx_qns_template.c
diff --git a/libavcodec/i386/dsputil_mmx_rnd.h b/libavcodec/i386/dsputil_mmx_rnd_template.c
similarity index 100%
rename from libavcodec/i386/dsputil_mmx_rnd.h
rename to libavcodec/i386/dsputil_mmx_rnd_template.c
diff --git a/libavcodec/i386/dsputilenc_mmx.c b/libavcodec/i386/dsputilenc_mmx.c
index f2e2b704af104d3d92be5f642ca82c7e6ec50857..cab6853f23cf206103c979060bcd141144f9ecdf 100644
--- a/libavcodec/i386/dsputilenc_mmx.c
+++ b/libavcodec/i386/dsputilenc_mmx.c
@@ -1304,7 +1304,7 @@ static int ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, int si
 #define SET_RND MOVQ_WONE
 #define SCALE_OFFSET 1
 
-#include "dsputil_mmx_qns.h"
+#include "dsputil_mmx_qns_template.c"
 
 #undef DEF
 #undef SET_RND
@@ -1318,7 +1318,7 @@ static int ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, int si
     "pmulhrw " #s ", "#x "           \n\t"\
     "pmulhrw " #s ", "#y "           \n\t"
 
-#include "dsputil_mmx_qns.h"
+#include "dsputil_mmx_qns_template.c"
 
 #undef DEF
 #undef SET_RND
@@ -1337,7 +1337,7 @@ static int ssd_int8_vs_int16_mmx(const int8_t *pix1, const int16_t *pix2, int si
     "pmulhrsw " #s ", "#x "          \n\t"\
     "pmulhrsw " #s ", "#y "          \n\t"
 
-#include "dsputil_mmx_qns.h"
+#include "dsputil_mmx_qns_template.c"
 
 #undef DEF
 #undef SET_RND
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index fcdfbd973b19dc107ea6837afeffb42ba9eb2dc2..2087a171f0de153816ad9018d4376f4bf1e350a1 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -1416,7 +1416,7 @@ static inline unsigned int bitcopy_n(unsigned int a, int n)
 
 #define BPP 2
 
-#include "imgconvert_template.h"
+#include "imgconvert_template.c"
 
 /* rgb565 handling */
 
@@ -1437,7 +1437,7 @@ static inline unsigned int bitcopy_n(unsigned int a, int n)
 
 #define BPP 2
 
-#include "imgconvert_template.h"
+#include "imgconvert_template.c"
 
 /* bgr24 handling */
 
@@ -1459,7 +1459,7 @@ static inline unsigned int bitcopy_n(unsigned int a, int n)
 
 #define BPP 3
 
-#include "imgconvert_template.h"
+#include "imgconvert_template.c"
 
 #undef RGB_IN
 #undef RGB_OUT
@@ -1486,7 +1486,7 @@ static inline unsigned int bitcopy_n(unsigned int a, int n)
 
 #define BPP 3
 
-#include "imgconvert_template.h"
+#include "imgconvert_template.c"
 
 /* rgb32 handling */
 
@@ -1517,7 +1517,7 @@ static inline unsigned int bitcopy_n(unsigned int a, int n)
 
 #define BPP 4
 
-#include "imgconvert_template.h"
+#include "imgconvert_template.c"
 
 static void mono_to_gray(AVPicture *dst, const AVPicture *src,
                          int width, int height, int xor_mask)
diff --git a/libavcodec/imgconvert_template.h b/libavcodec/imgconvert_template.c
similarity index 100%
rename from libavcodec/imgconvert_template.h
rename to libavcodec/imgconvert_template.c