]> 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 03:04:06 +0000 (03:04 +0000)
committerDRC <dcommander@users.sourceforge.net>
Fri, 22 Aug 2014 03:04:06 +0000 (03:04 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1374 632fc199-4ca6-4c93-a231-07263d6284db

Makefile.am
tjbench.c
tjbenchtest.in

index dad69dfb17f1cdf205868ac893c633a6711de141..e34f13e9a745874516ceba5fb22a54bceb236ed3 100644 (file)
@@ -513,7 +513,9 @@ testclean:
 
 tjtest:
        sh ./tjbenchtest
+       sh ./tjbenchtest -alloc
        sh ./tjbenchtest -yuv
+       sh ./tjbenchtest -yuv -alloc
 if WITH_JAVA
        sh ./tjbenchtest.java
        sh ./tjbenchtest.java -yuv
index 14ccd00e60ec1466d4205a8a333deaadebc2a34b..4725416016248a6a2814c14c9fd0a4208c403574 100644 (file)
--- a/tjbench.c
+++ b/tjbench.c
@@ -908,6 +908,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 4c4e040668db4d0f4bde199ff11756065d2a504e..ef11b246cba38bd6505920a5a6673e1a2d45476e 100755 (executable)
@@ -27,6 +27,8 @@ EXEDIR=.
 BMPARG=
 NSARG=
 YUVARG=
+ALLOC=0
+ALLOCARG=
 if [ "$EXT" = "bmp" ]; then BMPARG=-bmp; fi
 
 if [ -d $OUTDIR ]; then
@@ -59,6 +61,10 @@ if [ $# -gt 0 ]; then
 # of round-off error.)
                IMAGES="vgl_6548_0026a.${EXT}"
        fi
+       if [ "$1" = "-alloc" ]; then
+               ALLOCARG=-alloc
+               ALLOC=1
+       fi
 fi
 
 # Standard tests
@@ -87,7 +93,7 @@ for image in $IMAGES; do
 
        # Compression
        for dct in accurate fast; do
-               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -quiet -benchtime 0.01 -warmup 0 -${dct}dct $YUVARG
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -quiet -benchtime 0.01 -warmup 0 -${dct}dct $YUVARG $ALLOCARG
                for samp in GRAY 420 422 444; do
                        runme cmp $OUTDIR/${basename}_${samp}_Q95.jpg $OUTDIR/${basename}_${samp}_${dct}_cjpeg.jpg
                done
@@ -100,39 +106,59 @@ for image in $IMAGES; do
                fi
 
                # Tiled compression & decompression
-               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -warmup 0 ${dctarg} $YUVARG
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -warmup 0 ${dctarg} $YUVARG $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 -warmup 0 -fastupsample ${dctarg} $YUVARG
+               runme $EXEDIR/tjbench $OUTDIR/$image 95 -rgb -tile -quiet -benchtime 0.01 -warmup 0 -fastupsample ${dctarg} $YUVARG $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 -warmup 0 ${dctarg} $YUVARG
-                       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 -warmup 0 ${dctarg} $YUVARG $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 -warmup 0 -fastupsample ${dctarg} $YUVARG
-                       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 -warmup 0 -fastupsample ${dctarg} $YUVARG $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
 
@@ -141,7 +167,7 @@ for image in $IMAGES; do
                scalearg=`echo $scale | sed s@_@/@g`
                for samp in GRAY 420 422 444; do
                        runme $EXEDIR/djpeg -rgb -scale ${scalearg} $NSARG $BMPARG -outfile $OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT} $OUTDIR/${basename}_${samp}_fast_cjpeg.jpg
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -scale ${scalearg} -quiet -benchtime 0.01 -warmup 0 $YUVARG
+                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -scale ${scalearg} -quiet -benchtime 0.01 -warmup 0 $YUVARG $ALLOCARG
                        runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${scale}_djpeg.${EXT}
                        rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
                done
@@ -160,33 +186,48 @@ for image in $IMAGES; do
        for xform in hflip vflip transpose transverse rot90 rot180 rot270; do
                for samp in GRAY 444; do
                        runme $EXEDIR/djpeg -rgb $BMPARG -outfile $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT} $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -warmup 0 $YUVARG
-                       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 -warmup 0 $YUVARG $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
                        runme $EXEDIR/djpeg -nosmooth -rgb $BMPARG -outfile $OUTDIR/${basename}_${samp}_${xform}_jpegtran.${EXT} $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
-                       runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -tile -quiet -benchtime 0.01 -warmup 0 -fastupsample $YUVARG
-                       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 -warmup 0 -fastupsample $YUVARG $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 -warmup 0 -grayscale $YUVARG
-                       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 -warmup 0 -grayscale $YUVARG $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
 
@@ -196,7 +237,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`
                                runme $EXEDIR/djpeg -rgb -scale ${scalearg} $NSARG $BMPARG -outfile $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT} $OUTDIR/${basename}_${samp}_${xform}_jpegtran.jpg
-                               runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -scale ${scalearg} -quiet -benchtime 0.01 -warmup 0 $YUVARG
+                               runme $EXEDIR/tjbench $OUTDIR/${basename}_${samp}_Q95.jpg $BMPARG -$xform -scale ${scalearg} -quiet -benchtime 0.01 -warmup 0 $YUVARG $ALLOCARG
                                runme cmp $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT} $OUTDIR/${basename}_${samp}_${xform}_${scale}_jpegtran.${EXT}
                                rm $OUTDIR/${basename}_${samp}_Q95_${scale}.${EXT}
                        done