rd_collect_jpeg.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. set -e
  3. if [ -z $RD_COLLECT_SUB ]; then
  4. echo "Please use: $(dirname $0)/rd_collect.sh <libjpeg|mozjpeg> *.y4m"
  5. exit 1
  6. fi
  7. FILE=$1
  8. BASENAME=$(basename $FILE)
  9. rm $BASENAME.out 2> /dev/null || true
  10. echo $BASENAME
  11. tail -n+3 $FILE > $BASENAME-in.yuv
  12. WIDTH=$(head -1 $FILE | cut -d\ -f 2 | tr -d 'W')
  13. HEIGHT=$(head -1 $FILE | cut -d\ -f 3 | tr -d 'H')
  14. PIXELS=$(($WIDTH*$HEIGHT))
  15. for x in $(seq 100 -1 0); do
  16. $YUVJPEG $x "$WIDTH"x$HEIGHT $BASENAME-in.yuv $BASENAME.jpeg
  17. $JPEGYUV $BASENAME.jpeg $BASENAME.yuv
  18. $YUV2YUV4MPEG $BASENAME -w$WIDTH -h$HEIGHT -an0 -ad0 -c420mpeg2
  19. SIZE=$(wc -c $BASENAME.jpeg | awk '{ print $1 }')
  20. PSNR=$($DUMP_PSNR $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\ -f $((4+$PLANE*2)))
  21. PSNRHVS=$($DUMP_PSNRHVS $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\ -f $((4+$PLANE*2)))
  22. SSIM=$($DUMP_SSIM $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\ -f $((4+$PLANE*2)))
  23. FASTSSIM=$($DUMP_FASTSSIM -c $FILE $BASENAME.y4m 2> /dev/null | grep Total | tr -s ' ' | cut -d\ -f $((4+$PLANE*2)))
  24. rm $BASENAME.jpeg $BASENAME.yuv $BASENAME.y4m
  25. echo -$x $PIXELS $SIZE $PSNR $PSNRHVS $SSIM $FASTSSIM >> $BASENAME.out
  26. #tail -1 $BASENAME.out
  27. done
  28. rm $BASENAME-in.yuv