blob: 390b044bd581f9c367ca9563c3c7e9b53d148270 [file] [log] [blame]
DRCcb6157b2012-01-31 11:38:13 +00001#!/bin/bash
2
3set -u
4set -e
5trap onexit INT
6trap onexit TERM
7trap onexit EXIT
8
9onexit()
10{
11 if [ -d $OUTDIR ]; then
12 rm -rf $OUTDIR
13 fi
14}
15
16runme()
17{
18 echo \*\*\* $*
19 $*
20}
21
22EXT=bmp
23IMAGES="vgl_5674_0098.${EXT} vgl_6434_0018a.${EXT} vgl_6548_0026a.${EXT} nightshot_iso_100.${EXT}"
24IMGDIR=@srcdir@/testimages
25OUTDIR=__tjbenchtest_output
26EXEDIR=.
27BMPARG=
28if [ "$EXT" = "bmp" ]; then BMPARG=-bmp; fi
29
30if [ -d $OUTDIR ]; then
31 rm -rf $OUTDIR
32fi
33mkdir -p $OUTDIR
34
35exec >$EXEDIR/tjbenchtest.log
36
37# Standard tests
38for image in $IMAGES; do
39
40 cp $IMGDIR/$image $OUTDIR
41 basename=`basename $image .${EXT}`
42 $EXEDIR/cjpeg -quality 95 -dct fast -grayscale $IMGDIR/${basename}.${EXT} >$OUTDIR/${basename}_GRAY_cjpeg.jpg
43 $EXEDIR/cjpeg -quality 95 -dct fast -sample 2x2 $IMGDIR/${basename}.${EXT} >$OUTDIR/${basename}_420_cjpeg.jpg
44 $EXEDIR/cjpeg -quality 95 -dct fast -sample 2x1 $IMGDIR/${basename}.${EXT} >$OUTDIR/${basename}_422_cjpeg.jpg
45 $EXEDIR/cjpeg -quality 95 -dct fast -sample 1x1 $IMGDIR/${basename}.${EXT} >$OUTDIR/${basename}_444_cjpeg.jpg
46 for samp in GRAY 420 422 444; do
47 $EXEDIR/djpeg -rgb $BMPARG $OUTDIR/${basename}_${samp}_cjpeg.jpg >$OUTDIR/${basename}_${samp}_djpeg.${EXT}
48 done
49 for samp in 420 422; do
50 $EXEDIR/djpeg -nosmooth $BMPARG $OUTDIR/${basename}_${samp}_cjpeg.jpg >$OUTDIR/${basename}_${samp}_djpeg_nosmooth.${EXT}
51 done
52
53 # Compression
54 runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -quiet -benchtime 0.01
55 for s in GRAY 420 422 444; do
56 runme cmp $OUTDIR/${basename}_${s}_Q95.jpg $OUTDIR/${basename}_${s}_cjpeg.jpg
57 done
58
59 # Tiled compression & decompression
60 runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01
61 for samp in GRAY 444; do
62 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
63 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
64 runme cmp $i $OUTDIR/${basename}_${samp}_djpeg.${EXT}
65 rm $i
66 done
67 done
68 runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -fastupsample
69 for samp in 420 422; do
70 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
71 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
72 runme cmp $i $OUTDIR/${basename}_${samp}_djpeg_nosmooth.${EXT}
73 rm $i
74 done
75 done
76
77 # Tiled decompression
78 for samp in GRAY 444; do
79 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01
80 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
81 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
82 runme cmp $i $OUTDIR/${basename}_${samp}_djpeg.${EXT}
83 rm $i
84 done
85 done
86 for samp in 420 422; do
87 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01 -fastupsample
88 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
89 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
90 runme cmp $i $OUTDIR/${basename}_${samp}_djpeg_nosmooth.${EXT}
91 rm $i
92 done
93 done
94
95 # Scaled decompression
96 for scale in 2_1 15_8 7_4 13_8 3_2 11_8 5_4 9_8 7_8 3_4 5_8 1_2 3_8 1_4 1_8; do
97 scalearg=`echo $scale | sed s@_@/@g`
98 for samp in GRAY 420 422 444; do
99 $EXEDIR/djpeg -rgb -scale ${scalearg} $BMPARG $OUTDIR/${basename}_${samp}_cjpeg.jpg >$OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT}
100 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -scale ${scalearg} -quiet -benchtime 0.01
101 runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT}
102 rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
103 done
104 done
105
106 # Transforms
107 for samp in GRAY 420 422 444; do
108 $EXEDIR/jpegtran -flip horizontal -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_hflip_jpegtran.jpg
109 $EXEDIR/jpegtran -flip vertical -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_vflip_jpegtran.jpg
110 $EXEDIR/jpegtran -transpose -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_transpose_jpegtran.jpg
111 $EXEDIR/jpegtran -transverse -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_transverse_jpegtran.jpg
112 $EXEDIR/jpegtran -rotate 90 -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_rot90_jpegtran.jpg
113 $EXEDIR/jpegtran -rotate 180 -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_rot180_jpegtran.jpg
114 $EXEDIR/jpegtran -rotate 270 -trim $OUTDIR/${basename}_${samp}_Q95.jpg >$OUTDIR/${basename}_${samp}_rot270_jpegtran.jpg
115 done
116 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
117 for samp in GRAY 444; do
118 $EXEDIR/djpeg -rgb $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
119 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01
120 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
121 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
122 runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
123 rm $i
124 done
125 done
126 for samp in 420 422; do
127 $EXEDIR/djpeg -nosmooth -rgb $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
128 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -fastupsample
129 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
130 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
131 runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
132 rm $i
133 done
134 done
135 done
136
137 # Grayscale transform
138 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
139 for samp in GRAY 444 422 420; do
140 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -grayscale
141 for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
142 $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
143 runme cmp $i $OUTDIR/${basename}_GRAY_${xform}_jpegtran.${EXT}
144 rm $i
145 done
146 done
147 done
148
149 # Transforms with scaling
150 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
151 for samp in GRAY 444 422 420; do
152 for scale in 2_1 15_8 7_4 13_8 3_2 11_8 5_4 9_8 7_8 3_4 5_8 1_2 3_8 1_4 1_8; do
153 scalearg=`echo $scale | sed s@_@/@g`
154 $EXEDIR/djpeg -rgb -scale ${scalearg} $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT}
155 runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -scale ${scalearg} -quiet -benchtime 0.01
156 runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT}
157 rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
158 done
159 done
160 done
161
162done
163
164echo SUCCESS!