fate: add oneoff comparison method
authorMåns Rullgård <mans@mansr.com>
Fri, 9 Jul 2010 00:40:51 +0000 (00:40 +0000)
committerMåns Rullgård <mans@mansr.com>
Fri, 9 Jul 2010 00:40:51 +0000 (00:40 +0000)
This adds the 'oneoff' comparison method.  It compares two s16le pcm
files with a max difference <= the fuzz factor treated as success.
Default fuzz is 1.  On failure, the full tiny_psnr output is printed.

Originally committed as revision 24134 to svn://svn.ffmpeg.org/ffmpeg/trunk

Makefile
tests/fate-run.sh

index efb714f..4752649 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -279,7 +279,7 @@ include $(SRC_PATH_BARE)/tests/fate.mak
 
 ifdef SAMPLES
 fate: $(FATE_TESTS)
-$(FATE_TESTS): ffmpeg$(EXESUF)
+$(FATE_TESTS): ffmpeg$(EXESUF) tests/tiny_psnr$(HOSTEXESUF)
        @echo "TEST FATE   $(@:fate-%=%)"
        @$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)' '$(CMP)' '$(REF)' '$(FUZZ)'
 else
index 39f42ff..7dce9b0 100755 (executable)
@@ -15,10 +15,20 @@ fuzz=$8
 outdir="tests/data/fate"
 outfile="${outdir}/${test}"
 
+oneoff(){
+    psnr=$(tests/tiny_psnr "$1" "$2" 2 0 0)
+    max=$(expr "$psnr" : '.*MAXDIFF: *\([0-9]*\)')
+    if [ $max -gt ${3:-1} ]; then
+        echo "$psnr"
+        return 1
+    fi
+}
+
 mkdir -p "$outdir"
 
 eval $target_exec $command > "$outfile" 2>/dev/null
 
 case $cmp in
     diff)   diff -u -w "$ref" "$outfile"            ;;
+    oneoff) oneoff     "$ref" "$outfile" "$fuzz"    ;;
 esac