]> git.sesse.net Git - x264/blob - tools/x264-rd.sh
cosmetics: move some stuff from macroblock_encode to cache_save
[x264] / tools / x264-rd.sh
1 #!/bin/sh
2
3 X264="../x264"
4 YUV="/usr/src/yuv/af-720x576.yuv"
5 OUT="/tmp/x264-$$.h264"
6
7 DAT="x264-rd.dat"
8
9 OPTS="-c"
10
11 # Init
12 rm -f "$DAT"
13 echo "#QP kb/s   PSNR Y     U     V     fps" > $DAT
14
15 for qp in `seq 1 51`
16 do
17     LOG="/tmp/x264-$qp-$$.log"
18     # clean
19     rm -f "$LOG"
20     # encode
21     $X264 "$YUV" -o "$OUT" --qp $qp $OPTS 2> "$LOG"
22     # gather stats
23     cat "$LOG" |
24     grep '^x264: overall' |
25     sed 's/^x264: overall PSNR Y:\([[:digit:]]*\.[[:digit:]]*\) U:\([[:digit:]]*\.[[:digit:]]*\) V:\([[:digit:]]*\.[[:digit:]]*\) kb\/s:\([[:digit:]]*\.[[:digit:]]*\) fps:\([[:digit:]]*\.[[:digit:]]*\)$/\1 \2 \3 \4 \5/g' |
26     awk -v QP=$qp '{ printf( "%2d %7.1f      %5.2f %5.2f %5.2f %5.3f\n", QP, $4, $1, $2, $3, $5 ); }' >> $DAT
27 done
28
29 # Clean
30 rm -f "$OUT"
31 rm -f "$LOG"
32