diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c
index cd6480d381fccc32e083ecceee9a4432125676b7..0f7f5c3fe3acde50fa327f25bfa35e0de30ea9b5 100644
--- a/libavcodec/dct-test.c
+++ b/libavcodec/dct-test.c
@@ -39,7 +39,7 @@
 #include "libavutil/lfg.h"
 #include "libavutil/time.h"
 
-#include "dsputil.h"
+#include "dct.h"
 #include "simple_idct.h"
 #include "aandcttab.h"
 #include "faandct.h"
diff --git a/libavcodec/dct.h b/libavcodec/dct.h
index 905cc01bac0657379b1cc12548c5721a90c3af20..3de10b99c588333ed9b0c03f8170d32b5ce1c7aa 100644
--- a/libavcodec/dct.h
+++ b/libavcodec/dct.h
@@ -24,6 +24,8 @@
 #ifndef AVCODEC_DCT_H
 #define AVCODEC_DCT_H
 
+#include <stdint.h>
+
 #include "rdft.h"
 
 struct DCTContext {
@@ -49,4 +51,17 @@ void ff_dct_end (DCTContext *s);
 
 void ff_dct_init_x86(DCTContext *s);
 
+void ff_fdct_ifast(int16_t *data);
+void ff_fdct_ifast248(int16_t *data);
+void ff_jpeg_fdct_islow_8(int16_t *data);
+void ff_jpeg_fdct_islow_10(int16_t *data);
+void ff_fdct248_islow_8(int16_t *data);
+void ff_fdct248_islow_10(int16_t *data);
+
+void ff_j_rev_dct(int16_t *data);
+
+void ff_fdct_mmx(int16_t *block);
+void ff_fdct_mmxext(int16_t *block);
+void ff_fdct_sse2(int16_t *block);
+
 #endif /* AVCODEC_DCT_H */
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 203c33ecd9581687a4d79c8bac395c7c61f3810f..30c315eab871eaaf47a12b92aff2acf2a7d2182a 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -31,6 +31,7 @@
 #include "libavutil/internal.h"
 #include "avcodec.h"
 #include "copy_block.h"
+#include "dct.h"
 #include "dsputil.h"
 #include "simple_idct.h"
 #include "faandct.h"
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 14c5db03bbbb2a6efd9b7e008a2791f3a6f0f753..4b697ef9fa47d9d6b139e801de6dd1d37e4209ac 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -35,20 +35,6 @@
 
 
 //#define DEBUG
-/* dct code */
-
-void ff_fdct_ifast(int16_t *data);
-void ff_fdct_ifast248(int16_t *data);
-void ff_jpeg_fdct_islow_8(int16_t *data);
-void ff_jpeg_fdct_islow_10(int16_t *data);
-void ff_fdct248_islow_8(int16_t *data);
-void ff_fdct248_islow_10(int16_t *data);
-
-void ff_j_rev_dct(int16_t *data);
-
-void ff_fdct_mmx(int16_t *block);
-void ff_fdct_mmxext(int16_t *block);
-void ff_fdct_sse2(int16_t *block);
 
 /* encoding scans */
 extern const uint8_t ff_alternate_horizontal_scan[64];
diff --git a/libavcodec/jfdctfst.c b/libavcodec/jfdctfst.c
index b2e41f107e9701bd2691d9564a84c0521af94301..bbcf5984901c89798e213eba631f16c11ed6d677 100644
--- a/libavcodec/jfdctfst.c
+++ b/libavcodec/jfdctfst.c
@@ -69,7 +69,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include "libavutil/common.h"
-#include "dsputil.h"
+#include "dct.h"
 
 #define DCTSIZE 8
 #define GLOBAL(x) x
diff --git a/libavcodec/jfdctint_template.c b/libavcodec/jfdctint_template.c
index d2fe093b2bee330636af0c2e632d98fd09de1923..c6a16381070c2ffd81fdf838af68812586c8b269 100644
--- a/libavcodec/jfdctint_template.c
+++ b/libavcodec/jfdctint_template.c
@@ -60,7 +60,7 @@
  */
 
 #include "libavutil/common.h"
-#include "dsputil.h"
+#include "dct.h"
 
 #include "bit_depth_template.c"
 
diff --git a/libavcodec/jrevdct.c b/libavcodec/jrevdct.c
index 1da58312a66f9fd9caf56161c032d7b3ce187976..e6846a1d788fc18bba74a0f147162d5167c34544 100644
--- a/libavcodec/jrevdct.c
+++ b/libavcodec/jrevdct.c
@@ -63,7 +63,7 @@
  */
 
 #include "libavutil/common.h"
-#include "dsputil.h"
+#include "dct.h"
 
 #define EIGHT_BIT_SAMPLES
 
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 8e63314779bc4172e3d8a5ba7b35a929bb94a439..a99c8deaa6dff834c43f9e6b623c2fed3f30eeba 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -33,6 +33,7 @@
 #include "libavutil/pixdesc.h"
 #include "libavutil/opt.h"
 #include "avcodec.h"
+#include "dct.h"
 #include "dsputil.h"
 #include "mpegvideo.h"
 #include "h263.h"
diff --git a/libavcodec/proresdsp.c b/libavcodec/proresdsp.c
index cb08862ef4bb34aaf4352970e7f7a8cdb7cb228f..6d45def203203caf53c785d800d823fe056de18d 100644
--- a/libavcodec/proresdsp.c
+++ b/libavcodec/proresdsp.c
@@ -20,6 +20,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "dct.h"
 #include "dsputil.h"
 #include "proresdsp.h"
 #include "simple_idct.h"
diff --git a/libavcodec/x86/dsputilenc_mmx.c b/libavcodec/x86/dsputilenc_mmx.c
index 985b0cc3b8813701d9d16bfae5e2f994982d08cf..29cdb76fb09acbabe69c0629f6c0700a1fe46ccf 100644
--- a/libavcodec/x86/dsputilenc_mmx.c
+++ b/libavcodec/x86/dsputilenc_mmx.c
@@ -26,6 +26,7 @@
 #include "libavutil/cpu.h"
 #include "libavutil/x86/asm.h"
 #include "libavutil/x86/cpu.h"
+#include "libavcodec/dct.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mpegvideo.h"
 #include "libavcodec/mathops.h"
diff --git a/libavcodec/x86/fdct.c b/libavcodec/x86/fdct.c
index b37238dfac455c436a96c7fbde03dd8471f36148..bd76648b98430ef4509812f342207feb51702997 100644
--- a/libavcodec/x86/fdct.c
+++ b/libavcodec/x86/fdct.c
@@ -32,7 +32,7 @@
 
 #include "libavutil/common.h"
 #include "libavutil/x86/asm.h"
-#include "libavcodec/dsputil.h"
+#include "libavcodec/dct.h"
 
 #if HAVE_INLINE_ASM
 
diff --git a/libavcodec/x86/mpegvideoenc.c b/libavcodec/x86/mpegvideoenc.c
index d6f74ec5f4c32a1583c94d861912097045e76dcb..c32c0ce2b6fcef7ba2bfa45bf24157cccba83b5b 100644
--- a/libavcodec/x86/mpegvideoenc.c
+++ b/libavcodec/x86/mpegvideoenc.c
@@ -24,7 +24,7 @@
 #include "libavutil/x86/asm.h"
 #include "libavutil/x86/cpu.h"
 #include "libavcodec/avcodec.h"
-#include "libavcodec/dsputil.h"
+#include "libavcodec/dct.h"
 #include "libavcodec/mpegvideo.h"
 #include "dsputil_mmx.h"