]> granicus.if.org Git - libjpeg-turbo/commitdiff
Extend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in...
authorDRC <dcommander@users.sourceforge.net>
Fri, 22 Aug 2014 02:57:34 +0000 (02:57 +0000)
committerDRC <dcommander@users.sourceforge.net>
Fri, 22 Aug 2014 02:57:34 +0000 (02:57 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1372 632fc199-4ca6-4c93-a231-07263d6284db

Makefile.am
tjbench.c
tjbenchtest.in

index f6de6cbe34be722fe00b1bf660a92d1a52e35e90..425e4e253f581d42096e56025e7d6efc338b3133 100644 (file)
@@ -318,6 +318,7 @@ testclean:
 
 tjtest:
        sh ./tjbenchtest
+       sh ./tjbenchtest -alloc
 if WITH_JAVA
        sh ./tjbenchtest.java
 endif
index ebad24ea0501c089229ab7d2f6ef5f8d33d1aeec..385b6587fcb34c3eb9be64078b06d0cfe9dde841 100644 (file)
--- a/tjbench.c
+++ b/tjbench.c
@@ -893,6 +893,13 @@ int main(int argc, char *argv[])
                dotile=0;
        }
 
+       if((flags&TJFLAG_NOREALLOC)==0 && dotile)
+       {
+               printf("Disabling tiled compression/decompression tests, because those tests do not\n");
+               printf("work when dynamic JPEG buffer allocation is enabled.\n\n");
+               dotile=0;
+       }
+
        if(!decomponly)
        {
                if(loadbmp(argv[1], &srcbuf, &w, &h, pf, (flags&TJFLAG_BOTTOMUP)!=0)==-1)
index b75fe8b40b47fcbef7127767915c681e84247cb8..2ae345f35ace5c09faa860c3f6930f5c0c1b7aed 100755 (executable)
@@ -25,6 +25,8 @@ IMGDIR=@srcdir@/testimages
 OUTDIR=`mktemp -d /tmp/__tjbenchtest_output.XXXXXX`
 EXEDIR=.
 BMPARG=
+ALLOC=0
+ALLOCARG=
 if [ "$EXT" = "bmp" ]; then BMPARG=-bmp; fi
 
 if [ -d $OUTDIR ]; then
@@ -34,6 +36,13 @@ mkdir -p $OUTDIR
 
 exec >$EXEDIR/tjbenchtest.log
 
+if [ $# -gt 0 ]; then
+       if [ "$1" = "-alloc" ]; then
+               ALLOCARG=-alloc
+               ALLOC=1
+       fi
+fi
+
 # Standard tests
 for image in $IMAGES; do
 
@@ -60,7 +69,7 @@ for image in $IMAGES; do
 
        # Compression
        for dct in accurate fast; do
-               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -quiet -benchtime 0.01 -${dct}dct
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -quiet -benchtime 0.01 -${dct}dct $ALLOCARG
                for samp in GRAY 420 422 444; do
                        runme cmp $OUTDIR/${basename}_${samp}_Q95.jpg $OUTDIR/${basename}_${samp}_${dct}_cjpeg.jpg
                done
@@ -73,39 +82,59 @@ for image in $IMAGES; do
                fi
 
                # Tiled compression & decompression
-               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 ${dctarg}
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 ${dctarg} $ALLOCARG
                for samp in GRAY 444; do
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
-                               rm $i
-                       done
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
-               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -fastupsample ${dctarg}
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -fastupsample ${dctarg} $ALLOCARG
                for samp in 420 422; do
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
-                               rm $i
-                       done
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
 
                # Tiled decompression
                for samp in GRAY 444; do
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01 ${dctarg}
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
-                               rm $i
-                       done
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01 ${dctarg} $ALLOCARG
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_djpeg.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
                for samp in 420 422; do
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01 -fastupsample ${dctarg}
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
-                               rm $i
-                       done
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -tile -quiet -benchtime 0.01 -fastupsample ${dctarg} $ALLOCARG
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${dct}_nosmooth_djpeg.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
        done
 
@@ -114,7 +143,7 @@ for image in $IMAGES; do
                scalearg=`echo $scale | sed s@_@/@g`
                for samp in GRAY 420 422 444; do
                        $EXEDIR/djpeg -rgb -scale ${scalearg} $BMPARG $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg >$OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT}
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -scale ${scalearg} -quiet -benchtime 0.01
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -scale ${scalearg} -quiet -benchtime 0.01 $ALLOCARG
                        runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT}
                        rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
                done
@@ -133,33 +162,48 @@ for image in $IMAGES; do
        for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
                for samp in GRAY 444; do
                        $EXEDIR/djpeg -rgb $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
-                               rm $i
-                       done
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 $ALLOCARG
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
                for samp in 420 422; do
                        $EXEDIR/djpeg -nosmooth -rgb $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -fastupsample
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
-                               rm $i
-                       done
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -fastupsample $ALLOCARG
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
        done
 
        # Grayscale transform
        for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
                for samp in GRAY 444 422 420; do
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -grayscale
-                       for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
-                               $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
-                               runme cmp $i $OUTDIR/${basename}_GRAY_${xform}_jpegtran.${EXT}
-                               rm $i
-                       done
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -grayscale $ALLOCARG
+                       if [ $ALLOC = 1 ]; then
+                               runme cmp $OUTDIR/${basename}_${samp}_Q95_full.${EXT} $OUTDIR/${basename}_GRAY_${xform}_jpegtran.${EXT}
+                               rm $OUTDIR/${basename}_${samp}_Q95_full.${EXT}
+                       else
+                               for i in $OUTDIR/${basename}_${samp}_Q95_[0-9]*[0-9]x[0-9]*[0-9].${EXT} \
+                                       $OUTDIR/${basename}_${samp}_Q95_full.${EXT}; do
+                                       runme cmp $i $OUTDIR/${basename}_GRAY_${xform}_jpegtran.${EXT}
+                                       rm $i
+                               done
+                       fi
                done
        done
 
@@ -169,7 +213,7 @@ for image in $IMAGES; do
                        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
                                scalearg=`echo $scale | sed s@_@/@g`
                                $EXEDIR/djpeg -rgb -scale ${scalearg} $BMPARG $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg >$OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT}
-                               runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -scale ${scalearg} -quiet -benchtime 0.01
+                               runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -scale ${scalearg} -quiet -benchtime 0.01 $ALLOCARG
                                runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT}
                                rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
                        done