[FFmpeg-cvslog] r24289 - trunk/tests/fate-run.sh

mru subversion
Sat Jul 17 17:02:35 CEST 2010


Author: mru
Date: Sat Jul 17 17:02:34 2010
New Revision: 24289

Log:
fate: add stddev comparator

This allows CMP=stddev in test rules.  The test passes if the reported
stddev is <= the FUZZ value (default 1).

Modified:
   trunk/tests/fate-run.sh

Modified: trunk/tests/fate-run.sh
==============================================================================
--- trunk/tests/fate-run.sh	Sat Jul 17 17:02:32 2010	(r24288)
+++ trunk/tests/fate-run.sh	Sat Jul 17 17:02:34 2010	(r24289)
@@ -15,17 +15,26 @@ fuzz=$8
 outdir="tests/data/fate"
 outfile="${outdir}/${test}"
 
-oneoff(){
+do_tiny_psnr(){
     psnr=$(tests/tiny_psnr "$1" "$2" 2 0 0)
-    max=$(expr "$psnr" : '.*MAXDIFF: *\([0-9]*\)')
+    val=$(expr "$psnr" : ".*$3: *\([0-9.]*\)")
     size1=$(expr "$psnr" : '.*bytes: *\([0-9]*\)')
     size2=$(expr "$psnr" : '.*bytes:[ 0-9]*/ *\([0-9]*\)')
-    if [ $max -gt ${3:-1} ] || [ $size1 != $size2 ]; then
+    res=$(echo "$val $4 $5" | bc)
+    if [ "$res" != 1 ] || [ $size1 != $size2 ]; then
         echo "$psnr"
         return 1
     fi
 }
 
+oneoff(){
+    do_tiny_psnr "$1" "$2" MAXDIFF '<=' ${fuzz:-1}
+}
+
+stddev(){
+    do_tiny_psnr "$1" "$2" stddev  '<=' ${fuzz:-1}
+}
+
 if ! test -e "$ref"; then
     echo "reference file '$ref' not found"
     exit 1
@@ -38,6 +47,7 @@ eval $target_exec $command > "$outfile" 
 case $cmp in
     diff)   diff -u -w "$ref" "$outfile"            ;;
     oneoff) oneoff     "$ref" "$outfile" "$fuzz"    ;;
+    stddev) stddev     "$ref" "$outfile" "$fuzz"    ;;
 esac
 
 test $? = 0 && rm $outfile



More information about the ffmpeg-cvslog mailing list