diff --git a/Makefile b/Makefile
index fe39154829e8a87e428d7c8093818d101a4ffdd6..efb714f6c07bb96e5140eebd017d6f6f74f65da4 100644
--- a/Makefile
+++ b/Makefile
@@ -281,7 +281,7 @@ ifdef SAMPLES
 fate: $(FATE_TESTS)
 $(FATE_TESTS): ffmpeg$(EXESUF)
 	@echo "TEST FATE   $(@:fate-%=%)"
-	@$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)'
+	@$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)'
 else
 fate $(FATE_TESTS):
 	@echo "SAMPLES not specified, cannot run FATE"
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 899580fa7100a932ff8f8df1ac24bc0b47c876a9..39f42ffcc30a58a984fe183fb56e44ff8bb9df4f 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -8,12 +8,17 @@ SAMPLES_PATH=$2
 target_exec=$3
 BUILD_PATH=$4
 command=$5
+cmp=${6:-diff}
 
-ref="${base}/ref/fate/${test}"
+ref=${7:-"${base}/ref/fate/${test}"}
+fuzz=$8
 outdir="tests/data/fate"
 outfile="${outdir}/${test}"
 
 mkdir -p "$outdir"
 
 eval $target_exec $command > "$outfile" 2>/dev/null
-diff -u -w "$ref" "$outfile"
+
+case $cmp in
+    diff)   diff -u -w "$ref" "$outfile"            ;;
+esac