diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c
index cd6480d381..0f7f5c3fe3 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 905cc01bac..3de10b99c5 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 203c33ecd9..30c315eab8 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 14c5db03bb..4b697ef9fa 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 b2e41f107e..bbcf598490 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 d2fe093b2b..c6a1638107 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 1da58312a6..e6846a1d78 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 8e63314779..a99c8deaa6 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 cb08862ef4..6d45def203 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 985b0cc3b8..29cdb76fb0 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 b37238dfac..bd76648b98 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 d6f74ec5f4..c32c0ce2b6 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"