2f520076f87eea166f59ba14c8291ce7fdee9709
[daala.git] / tools / rd_collect_daala.sh
1 #!/bin/bash
2 set -e
3
4 if [ -z $RD_COLLECT_SUB ]; then
5   echo "Please use: $(dirname $0)/rd_collect.sh daala *.y4m"
6   exit 1
7 fi
8
9 FILE=$1
10
11 BASENAME=$(basename $FILE)-$CODEC
12 rm $BASENAME.out 2> /dev/null || true
13 echo $BASENAME
14
15 WIDTH=$(head -1 $FILE | cut -d\  -f 2 | tr -d 'W')
16 HEIGHT=$(head -1 $FILE | cut -d\  -f 3 | tr -d 'H')
17
18 RANGE="5 7 11 16 25 37 55 81 122 181 270 400"
19 #RANGE="1 2 3 4 5 6 7 9 11 13 16 20 25 30 37 45 55 67 81 99 122 148 181 221 270 330 400 500"
20
21 for x in $RANGE; do
22   $ENCODER_EXAMPLE -k 256 -v $x $EXTRA_OPTS $FILE -o $BASENAME.ogv 2> $BASENAME-$x-enc.out
23   $DUMP_VIDEO $BASENAME.ogv -o $BASENAME.y4m 2> /dev/null
24   SIZE=$(wc -c $BASENAME.ogv | awk '{ print $1 }')
25   $DUMP_PSNR $FILE $BASENAME.y4m > $BASENAME-psnr.out 2> /dev/null
26   FRAMES=$(cat $BASENAME-psnr.out | grep ^0 | wc -l)
27   PIXELS=$(($WIDTH*$HEIGHT*$FRAMES))
28   PSNR=$(cat $BASENAME-psnr.out | grep Total | tr -s ' ' | cut -d\  -f $((4+$PLANE*2)))
29   PSNRHVS=$($DUMP_PSNRHVS $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\  -f $((4+$PLANE*2)))
30   SSIM=$($DUMP_SSIM $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\  -f $((4+$PLANE*2)))
31   FASTSSIM=$($DUMP_FASTSSIM -c $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\  -f $((4+$PLANE*2)))
32   CIEDE=$($DUMP_CIEDE $FILE $BASENAME.y4m 2> /dev/null | grep Total | cut -d' ' -f2-)
33   rm $BASENAME.y4m $BASENAME.ogv $BASENAME-$x-enc.out $BASENAME-psnr.out
34   echo $x $PIXELS $SIZE $PSNR $PSNRHVS $SSIM $FASTSSIM $CIEDE >> $BASENAME.out
35   #tail -1 $BASENAME.out
36 done