diff --git a/libavfilter/libmpcodecs/vf_eq.c b/libavfilter/libmpcodecs/vf_eq.c
index c926c518043428bb752f39d03a785e4f3991f8b5..f8efa846c9010af58990b08dbd987bd12af943d2 100644
--- a/libavfilter/libmpcodecs/vf_eq.c
+++ b/libavfilter/libmpcodecs/vf_eq.c
@@ -37,7 +37,7 @@ struct vf_priv_s {
         int contrast;
 };
 
-#if HAVE_MMX
+#if HAVE_MMX && HAVE_6REGS
 static void process_MMX(unsigned char *dest, int dstride, unsigned char *src, int sstride,
                     int w, int h, int brightness, int contrast)
 {
@@ -224,7 +224,7 @@ static int vf_open(vf_instance_t *vf, char *args)
     if (args) sscanf(args, "%d:%d", &vf->priv->brightness, &vf->priv->contrast);
 
         process = process_C;
-#if HAVE_MMX
+#if HAVE_MMX && HAVE_6REGS
         if(ff_gCpuCaps.hasMMX) process = process_MMX;
 #endif
 
diff --git a/libavfilter/libmpcodecs/vf_eq2.c b/libavfilter/libmpcodecs/vf_eq2.c
index 7a3ef312aa8e20a35a0ade0814cdff49f724da63..c9c3ff69f46c30246005ae22805f96d7fd51b581 100644
--- a/libavfilter/libmpcodecs/vf_eq2.c
+++ b/libavfilter/libmpcodecs/vf_eq2.c
@@ -120,7 +120,7 @@ void create_lut (eq2_param_t *par)
   par->lut_clean = 1;
 }
 
-#if HAVE_MMX
+#if HAVE_MMX && HAVE_6REGS
 static
 void affine_1d_MMX (eq2_param_t *par, unsigned char *dst, unsigned char *src,
   unsigned w, unsigned h, unsigned dstride, unsigned sstride)
@@ -289,7 +289,7 @@ void check_values (eq2_param_t *par)
   if ((par->c == 1.0) && (par->b == 0.0) && (par->g == 1.0)) {
     par->adjust = NULL;
   }
-#if HAVE_MMX
+#if HAVE_MMX && HAVE_6REGS
   else if (par->g == 1.0 && ff_gCpuCaps.hasMMX) {
     par->adjust = &affine_1d_MMX;
   }