Extend tjbenchtest so that it tests the dynamic JPEG buffer allocation feature in TurboJPEG. Disable the tiling feature in TJBench whenever dynamic buffer allocation is enabled (because the tiling feature requires a separate buffer for each tile, using it successfully with dynamic buffer allocation would require a separate TurboJPEG compressor instance for each tile, and it's not worth going to that trouble right now.)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1374 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
131
tjbenchtest.in
131
tjbenchtest.in
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user