diff --git a/libavcodec/bfin/vp3dsp_init.c b/libavcodec/bfin/vp3dsp_init.c
index 0adbc9644d61cf3f45358e5f8ab8ca96e9cc7ef2..739750b6e48b39d7c006580a228a0d965a2adec0 100644
--- a/libavcodec/bfin/vp3dsp_init.c
+++ b/libavcodec/bfin/vp3dsp_init.c
@@ -23,8 +23,8 @@
 
 #include "libavutil/attributes.h"
 #include "libavcodec/avcodec.h"
+#include "libavcodec/mathops.h"
 #include "libavcodec/vp3dsp.h"
-#include "libavcodec/dsputil.h"
 
 void ff_bfin_vp3_idct(int16_t *block);
 
diff --git a/libavcodec/bit_depth_template.c b/libavcodec/bit_depth_template.c
index 56c2935a245d3aafa7ae0d117e804038aef59941..80184892f5a64e8e918840abe008828574500648 100644
--- a/libavcodec/bit_depth_template.c
+++ b/libavcodec/bit_depth_template.c
@@ -16,6 +16,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "mathops.h"
 #include "rnd_avg.h"
 #include "libavutil/intreadwrite.h"
 
diff --git a/libavcodec/cavsdsp.c b/libavcodec/cavsdsp.c
index d24df95c6d74b41f6bf1a3881ee701c39bac8322..a27915f57d16f8951f391dc0f9e5bb7b1781ad94 100644
--- a/libavcodec/cavsdsp.c
+++ b/libavcodec/cavsdsp.c
@@ -23,7 +23,9 @@
  */
 
 #include <stdio.h>
+
 #include "dsputil.h"
+#include "mathops.h"
 #include "cavsdsp.h"
 #include "libavutil/common.h"
 
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 4e16c92bdebb0d5ca7135179e627d1df1e444a31..8f830060063284c623335f45276c2df8097fee68 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -36,16 +36,11 @@
 /* encoding scans */
 extern const uint8_t ff_alternate_horizontal_scan[64];
 extern const uint8_t ff_alternate_vertical_scan[64];
-extern const uint8_t ff_zigzag_direct[64];
 extern const uint8_t ff_zigzag248_direct[64];
 
-/* pixel operations */
-#define MAX_NEG_CROP 1024
-
-/* temporary */
 extern uint32_t ff_square_tab[512];
-extern const uint8_t ff_crop_tab[256 + 2 * MAX_NEG_CROP];
 
+/* pixel operations */
 void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
 void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
 void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 64510f3746bbfd1b1f49a28b028a49849505c9d0..b830961fda8e62f78af52753e3395e41e4181232 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -31,9 +31,9 @@
  */
 
 #include "avcodec.h"
-#include "dsputil.h"
 #include "imgconvert.h"
 #include "internal.h"
+#include "mathops.h"
 #include "libavutil/avassert.h"
 #include "libavutil/colorspace.h"
 #include "libavutil/common.h"
diff --git a/libavcodec/indeo4data.h b/libavcodec/indeo4data.h
index 0ea4f405ad78a68e58e5a372e68924aa561e80cd..d96ee985023c154e3412ef89faae71aa9dfad958 100644
--- a/libavcodec/indeo4data.h
+++ b/libavcodec/indeo4data.h
@@ -28,8 +28,9 @@
 #define AVCODEC_INDEO4DATA_H
 
 #include <stdint.h>
-#include "dsputil.h"
+
 #include "ivi_common.h"
+#include "mathops.h"
 
 /**
  *  standard picture dimensions
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h
index cc8ce557cc3937d5c62a0b2f8a558704c53a42bf..b0e48d891988fc8de13d7b00b1dcf70a3201487f 100644
--- a/libavcodec/mathops.h
+++ b/libavcodec/mathops.h
@@ -27,9 +27,13 @@
 #include "libavutil/common.h"
 #include "config.h"
 
+#define MAX_NEG_CROP 1024
+
 extern const uint32_t ff_inverse[257];
 extern const uint8_t  ff_reverse[256];
 extern const uint8_t ff_sqrt_tab[256];
+extern const uint8_t ff_crop_tab[256 + 2 * MAX_NEG_CROP];
+extern const uint8_t ff_zigzag_direct[64];
 
 #if   ARCH_ARM
 #   include "arm/mathops.h"
diff --git a/libavcodec/mathtables.c b/libavcodec/mathtables.c
index 28ab6a6466e1474a6f9347ff4677453c4728cf32..a07ac50c08b4416cb441c9604f9eb7be41aee784 100644
--- a/libavcodec/mathtables.c
+++ b/libavcodec/mathtables.c
@@ -20,6 +20,8 @@
 
 #include <stdint.h>
 
+#include "mathops.h"
+
 /* a*inverse[b]>>32 == a/b for all 0<=a<=16909558 && 2<=b<=256
  * for a>16909558, is an overestimate by less than 1 part in 1<<24 */
 const uint32_t ff_inverse[257]={
@@ -91,7 +93,7 @@ const uint8_t ff_reverse[256] = {
 #define times4(x) x, x, x, x
 #define times256(x) times4(times4(times4(times4(times4(x)))))
 
-const uint8_t ff_crop_tab[256 + 2 * 1024] = {
+const uint8_t ff_crop_tab[256 + 2 * MAX_NEG_CROP] = {
 times256(0x00),
 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
diff --git a/libavcodec/mss3.c b/libavcodec/mss3.c
index c6bb838045dfa694cfbdde05cc3caed058d62d02..075685b902dd1833b00a4c2058480186dd621ec9 100644
--- a/libavcodec/mss3.c
+++ b/libavcodec/mss3.c
@@ -26,8 +26,8 @@
 
 #include "avcodec.h"
 #include "bytestream.h"
-#include "dsputil.h"
 #include "internal.h"
+#include "mathops.h"
 #include "mss34dsp.h"
 
 #define HEADER_SIZE 27
diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index dd618715d2ec2fb46a7ca4454d482f7a6d7f420d..b2c779a3caae12d4dd17a50654c8ed62efe058fb 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -25,9 +25,9 @@
  */
 
 #include "avcodec.h"
-#include "dsputil.h"
 #include "bytestream.h"
 #include "internal.h"
+#include "mathops.h"
 
 #include "libavutil/colorspace.h"
 #include "libavutil/imgutils.h"
diff --git a/libavcodec/rv30dsp.c b/libavcodec/rv30dsp.c
index 9d3407df7cac097cf23aca04b50bb5f3da4a4dc8..bd084bff7a569c8b8a02f9dd9d8c2b157e57210e 100644
--- a/libavcodec/rv30dsp.c
+++ b/libavcodec/rv30dsp.c
@@ -27,6 +27,7 @@
 #include "avcodec.h"
 #include "h264chroma.h"
 #include "h264qpel.h"
+#include "mathops.h"
 #include "rv34dsp.h"
 
 #define RV30_LOWPASS(OPNAME, OP) \
diff --git a/libavcodec/rv40dsp.c b/libavcodec/rv40dsp.c
index f2ebcf26b554168e28873f7254e5cd19f9252627..a4476b607a39f7bd29d5845c6c54df18ded934e7 100644
--- a/libavcodec/rv40dsp.c
+++ b/libavcodec/rv40dsp.c
@@ -26,6 +26,7 @@
 
 #include "avcodec.h"
 #include "h264qpel.h"
+#include "mathops.h"
 #include "rv34dsp.h"
 #include "libavutil/avassert.h"
 #include "libavutil/common.h"
diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c
index 4988fbd33c06b494bdb1e5453281bfd137e6de31..512e45905fae37e559af0de22cef9c83eae3e3b0 100644
--- a/libavcodec/vp3.c
+++ b/libavcodec/vp3.c
@@ -36,9 +36,9 @@
 #include "libavutil/imgutils.h"
 #include "avcodec.h"
 #include "internal.h"
-#include "dsputil.h"
 #include "get_bits.h"
 #include "hpeldsp.h"
+#include "mathops.h"
 #include "videodsp.h"
 #include "vp3data.h"
 #include "vp3dsp.h"
diff --git a/libavcodec/vp8dsp.c b/libavcodec/vp8dsp.c
index fa759dfa11169dc3220b68d230656dcc31b33a97..6b8fb3d043dcd229ef414bbcb3856336b9edcbed 100644
--- a/libavcodec/vp8dsp.c
+++ b/libavcodec/vp8dsp.c
@@ -25,7 +25,7 @@
  * VP8 compatible video decoder
  */
 
-#include "dsputil.h"
+#include "mathops.h"
 #include "vp8dsp.h"
 #include "libavutil/common.h"
 #include "libavutil/intreadwrite.h"