blob: 0d3047e2661028b4be8022154eb797e947a58f1b [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
22IMAGES="vgl_5674_0098.bmp vgl_6434_0018a.bmp vgl_6548_0026a.bmp nightshot_iso_100.bmp"
Leon Scroggins III3993b372018-07-16 10:43:45 -040023IMGDIR=@CMAKE_CURRENT_SOURCE_DIR@/testimages
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050024OUTDIR=`mktemp -d /tmp/__tjexampletest_output.XXXXXX`
Leon Scroggins III3993b372018-07-16 10:43:45 -040025EXEDIR=@CMAKE_CURRENT_BINARY_DIR@
DRCcb6157b2012-01-31 11:38:13 +000026
27if [ -d $OUTDIR ]; then
28 rm -rf $OUTDIR
29fi
30mkdir -p $OUTDIR
31
32exec >$EXEDIR/tjexampletest.log
33
34for image in $IMAGES; do
35
36 cp $IMGDIR/$image $OUTDIR
37 basename=`basename $image .bmp`
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050038 runme $EXEDIR/cjpeg -quality 95 -dct fast -grayscale -outfile $OUTDIR/${basename}_GRAY_fast_cjpeg.jpg $IMGDIR/${basename}.bmp
39 runme $EXEDIR/cjpeg -quality 95 -dct fast -sample 2x2 -outfile $OUTDIR/${basename}_420_fast_cjpeg.jpg $IMGDIR/${basename}.bmp
40 runme $EXEDIR/cjpeg -quality 95 -dct fast -sample 2x1 -outfile $OUTDIR/${basename}_422_fast_cjpeg.jpg $IMGDIR/${basename}.bmp
41 runme $EXEDIR/cjpeg -quality 95 -dct fast -sample 1x1 -outfile $OUTDIR/${basename}_444_fast_cjpeg.jpg $IMGDIR/${basename}.bmp
42 runme $EXEDIR/cjpeg -quality 95 -dct int -grayscale -outfile $OUTDIR/${basename}_GRAY_accurate_cjpeg.jpg $IMGDIR/${basename}.bmp
43 runme $EXEDIR/cjpeg -quality 95 -dct int -sample 2x2 -outfile $OUTDIR/${basename}_420_accurate_cjpeg.jpg $IMGDIR/${basename}.bmp
44 runme $EXEDIR/cjpeg -quality 95 -dct int -sample 2x1 -outfile $OUTDIR/${basename}_422_accurate_cjpeg.jpg $IMGDIR/${basename}.bmp
45 runme $EXEDIR/cjpeg -quality 95 -dct int -sample 1x1 -outfile $OUTDIR/${basename}_444_accurate_cjpeg.jpg $IMGDIR/${basename}.bmp
DRCcb6157b2012-01-31 11:38:13 +000046 for samp in GRAY 420 422 444; do
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050047 runme $EXEDIR/djpeg -rgb -bmp -outfile $OUTDIR/${basename}_${samp}_default_djpeg.bmp $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
48 runme $EXEDIR/djpeg -dct fast -rgb -bmp -outfile $OUTDIR/${basename}_${samp}_fast_djpeg.bmp $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
49 runme $EXEDIR/djpeg -dct int -rgb -bmp -outfile $OUTDIR/${basename}_${samp}_accurate_djpeg.bmp $OUTDIR/${basename}_${samp}_accurate_cjpeg.jpg
DRC73d74c12012-06-29 23:46:38 +000050 done
51 for samp in 420 422; do
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050052 runme $EXEDIR/djpeg -nosmooth -bmp -outfile $OUTDIR/${basename}_${samp}_default_nosmooth_djpeg.bmp $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
53 runme $EXEDIR/djpeg -dct fast -nosmooth -bmp -outfile $OUTDIR/${basename}_${samp}_fast_nosmooth_djpeg.bmp $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
54 runme $EXEDIR/djpeg -dct int -nosmooth -bmp -outfile $OUTDIR/${basename}_${samp}_accurate_nosmooth_djpeg.bmp $OUTDIR/${basename}_${samp}_accurate_cjpeg.jpg
DRCcb6157b2012-01-31 11:38:13 +000055 done
56
57 # Compression
DRC73d74c12012-06-29 23:46:38 +000058 for dct in fast accurate; do
59 for samp in GRAY 420 422 444; do
Leon Scroggins III3993b372018-07-16 10:43:45 -040060 runme $EXEDIR/tjexample $OUTDIR/$image $OUTDIR/${basename}_${samp}_${dct}.jpg -q 95 -subsamp ${samp} -${dct}dct
DRC73d74c12012-06-29 23:46:38 +000061 runme cmp $OUTDIR/${basename}_${samp}_${dct}.jpg $OUTDIR/${basename}_${samp}_${dct}_cjpeg.jpg
62 done
DRCcb6157b2012-01-31 11:38:13 +000063 done
64
65 # Decompression
DRC73d74c12012-06-29 23:46:38 +000066 for dct in fast accurate default; do
67 srcdct=${dct}
68 dctarg=-${dct}dct
69 if [ "${dct}" = "default" ]; then
70 srcdct=fast
71 dctarg=
72 fi
73 for samp in GRAY 420 422 444; do
Leon Scroggins III3993b372018-07-16 10:43:45 -040074 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_${srcdct}.jpg $OUTDIR/${basename}_${samp}_${dct}.bmp ${dctarg}
DRC73d74c12012-06-29 23:46:38 +000075 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${dct}.bmp $OUTDIR/${basename}_${samp}_${dct}_djpeg.bmp
76 rm $OUTDIR/${basename}_${samp}_${dct}.bmp
77 done
78 for samp in 420 422; do
Leon Scroggins III3993b372018-07-16 10:43:45 -040079 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_${srcdct}.jpg $OUTDIR/${basename}_${samp}_${dct}_nosmooth.bmp -fastupsample ${dctarg}
DRC73d74c12012-06-29 23:46:38 +000080 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${dct}_nosmooth.bmp $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.bmp
81 rm $OUTDIR/${basename}_${samp}_${dct}_nosmooth.bmp
82 done
DRCcb6157b2012-01-31 11:38:13 +000083 done
84
85 # Scaled decompression
86 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
Leon Scroggins III3993b372018-07-16 10:43:45 -040087 scalearg=`echo $scale | sed 's/\_/\//g'`
DRCcb6157b2012-01-31 11:38:13 +000088 for samp in GRAY 420 422 444; do
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050089 runme $EXEDIR/djpeg -rgb -bmp -scale ${scalearg} -outfile $OUTDIR/${basename}_${samp}_${scale}_djpeg.bmp $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
Leon Scroggins III3993b372018-07-16 10:43:45 -040090 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${scale}.bmp -scale ${scalearg}
DRCcb6157b2012-01-31 11:38:13 +000091 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${scale}.bmp $OUTDIR/${basename}_${samp}_${scale}_djpeg.bmp
92 rm $OUTDIR/${basename}_${samp}_${scale}.bmp
93 done
94 done
95
96 # Transforms
97 for samp in GRAY 420 422 444; do
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -050098 runme $EXEDIR/jpegtran -crop 70x60+16+16 -flip horizontal -trim -outfile $OUTDIR/${basename}_${samp}_hflip_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
99 runme $EXEDIR/jpegtran -crop 70x60+16+16 -flip vertical -trim -outfile $OUTDIR/${basename}_${samp}_vflip_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
100 runme $EXEDIR/jpegtran -crop 70x60+16+16 -transpose -trim -outfile $OUTDIR/${basename}_${samp}_transpose_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
101 runme $EXEDIR/jpegtran -crop 70x60+16+16 -transverse -trim -outfile $OUTDIR/${basename}_${samp}_transverse_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
102 runme $EXEDIR/jpegtran -crop 70x60+16+16 -rotate 90 -trim -outfile $OUTDIR/${basename}_${samp}_rot90_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
103 runme $EXEDIR/jpegtran -crop 70x60+16+16 -rotate 180 -trim -outfile $OUTDIR/${basename}_${samp}_rot180_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
104 runme $EXEDIR/jpegtran -crop 70x60+16+16 -rotate 270 -trim -outfile $OUTDIR/${basename}_${samp}_rot270_jpegtran.jpg $OUTDIR/${basename}_${samp}_fast.jpg
DRCcb6157b2012-01-31 11:38:13 +0000105 done
106 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
107 for samp in GRAY 420 422 444; do
Leon Scroggins III3993b372018-07-16 10:43:45 -0400108 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}.jpg -$xform -crop 70x60+16+16
DRCcb6157b2012-01-31 11:38:13 +0000109 runme cmp $OUTDIR/${basename}_${samp}_${xform}.jpg $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -0500110 runme $EXEDIR/djpeg -rgb -bmp -outfile $OUTDIR/${basename}_${samp}_${xform}_jpegtran.bmp $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
Leon Scroggins III3993b372018-07-16 10:43:45 -0400111 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}.bmp -$xform -crop 70x60+16+16
DRC73d74c12012-06-29 23:46:38 +0000112 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${xform}.bmp $OUTDIR/${basename}_${samp}_${xform}_jpegtran.bmp
113 rm $OUTDIR/${basename}_${samp}_${xform}.bmp
114 done
115 for samp in 420 422; do
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -0500116 runme $EXEDIR/djpeg -nosmooth -rgb -bmp -outfile $OUTDIR/${basename}_${samp}_${xform}_jpegtran.bmp $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
Leon Scroggins III3993b372018-07-16 10:43:45 -0400117 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}.bmp -$xform -crop 70x60+16+16 -fastupsample
DRCcb6157b2012-01-31 11:38:13 +0000118 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${xform}.bmp $OUTDIR/${basename}_${samp}_${xform}_jpegtran.bmp
119 rm $OUTDIR/${basename}_${samp}_${xform}.bmp
120 done
121 done
122
123 # Grayscale transform
124 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
125 for samp in GRAY 444 422 420; do
Leon Scroggins III3993b372018-07-16 10:43:45 -0400126 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}.jpg -$xform -grayscale -crop 70x60+16+16
DRCcb6157b2012-01-31 11:38:13 +0000127 runme cmp $OUTDIR/${basename}_${samp}_${xform}.jpg $OUTDIR/${basename}_GRAY_${xform}_jpegtran.jpg
Leon Scroggins III3993b372018-07-16 10:43:45 -0400128 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}.bmp -$xform -grayscale -crop 70x60+16+16
DRCcb6157b2012-01-31 11:38:13 +0000129 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${xform}.bmp $OUTDIR/${basename}_GRAY_${xform}_jpegtran.bmp
130 rm $OUTDIR/${basename}_${samp}_${xform}.bmp
131 done
132 done
133
134 # Transforms with scaling
135 for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
136 for samp in GRAY 444 422 420; do
137 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
Leon Scroggins III3993b372018-07-16 10:43:45 -0400138 scalearg=`echo $scale | sed 's/\_/\//g'`
Leon Scroggins IIIbd7903e2018-02-28 14:05:04 -0500139 runme $EXEDIR/djpeg -rgb -bmp -scale ${scalearg} -outfile $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.bmp $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
Leon Scroggins III3993b372018-07-16 10:43:45 -0400140 runme $EXEDIR/tjexample $OUTDIR/${basename}_${samp}_fast.jpg $OUTDIR/${basename}_${samp}_${xform}_${scale}.bmp -$xform -scale ${scalearg} -crop 70x60+16+16
DRCcb6157b2012-01-31 11:38:13 +0000141 runme cmp -i 54:54 $OUTDIR/${basename}_${samp}_${xform}_${scale}.bmp $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.bmp
142 rm $OUTDIR/${basename}_${samp}_${xform}_${scale}.bmp
143 done
144 done
145 done
146
147done
148
149echo SUCCESS!