You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.5 KiB
96 lines
2.5 KiB
4 months ago
|
#!/bin/bash
|
||
|
|
||
|
set -u
|
||
|
set -e
|
||
|
trap onexit INT
|
||
|
trap onexit TERM
|
||
|
trap onexit EXIT
|
||
|
|
||
|
onexit()
|
||
|
{
|
||
|
if [ -d $OUTDIR ]; then
|
||
|
rm -rf $OUTDIR
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
runme()
|
||
|
{
|
||
|
echo \*\*\* $*
|
||
|
$*
|
||
|
}
|
||
|
|
||
|
IMAGE=vgl_6548_0026a.bmp
|
||
|
WIDTH=128
|
||
|
HEIGHT=95
|
||
|
IMGDIR=@CMAKE_CURRENT_SOURCE_DIR@/testimages
|
||
|
OUTDIR=`mktemp -d /tmp/__croptest_output.XXXXXX`
|
||
|
EXEDIR=@CMAKE_CURRENT_BINARY_DIR@
|
||
|
|
||
|
if [ -d $OUTDIR ]; then
|
||
|
rm -rf $OUTDIR
|
||
|
fi
|
||
|
mkdir -p $OUTDIR
|
||
|
|
||
|
exec >$EXEDIR/croptest.log
|
||
|
|
||
|
echo "============================================================"
|
||
|
echo "$IMAGE ($WIDTH x $HEIGHT)"
|
||
|
echo "============================================================"
|
||
|
echo
|
||
|
|
||
|
for PROGARG in "" -progressive; do
|
||
|
|
||
|
cp $IMGDIR/$IMAGE $OUTDIR
|
||
|
basename=`basename $IMAGE .bmp`
|
||
|
echo "------------------------------------------------------------"
|
||
|
echo "Generating test images"
|
||
|
echo "------------------------------------------------------------"
|
||
|
echo
|
||
|
runme $EXEDIR/cjpeg $PROGARG -grayscale -outfile $OUTDIR/${basename}_GRAY.jpg $IMGDIR/${basename}.bmp
|
||
|
runme $EXEDIR/cjpeg $PROGARG -sample 2x2 -outfile $OUTDIR/${basename}_420.jpg $IMGDIR/${basename}.bmp
|
||
|
runme $EXEDIR/cjpeg $PROGARG -sample 2x1 -outfile $OUTDIR/${basename}_422.jpg $IMGDIR/${basename}.bmp
|
||
|
runme $EXEDIR/cjpeg $PROGARG -sample 1x2 -outfile $OUTDIR/${basename}_440.jpg $IMGDIR/${basename}.bmp
|
||
|
runme $EXEDIR/cjpeg $PROGARG -sample 1x1 -outfile $OUTDIR/${basename}_444.jpg $IMGDIR/${basename}.bmp
|
||
|
echo
|
||
|
|
||
|
for NSARG in "" -nosmooth; do
|
||
|
|
||
|
for COLORSARG in "" "-colors 256 -dither none -onepass"; do
|
||
|
|
||
|
for Y in {0..16}; do
|
||
|
|
||
|
for H in {1..16}; do
|
||
|
|
||
|
X=$(( (Y*16)%128 ))
|
||
|
W=$(( WIDTH-X-7 ))
|
||
|
if [ $Y -le 15 ]; then
|
||
|
CROPSPEC="${W}x${H}+${X}+${Y}"
|
||
|
else
|
||
|
Y2=$(( HEIGHT-H ));
|
||
|
CROPSPEC="${W}x${H}+${X}+${Y2}"
|
||
|
fi
|
||
|
|
||
|
echo "------------------------------------------------------------"
|
||
|
echo $PROGARG $NSARG $COLORSARG -crop $CROPSPEC
|
||
|
echo "------------------------------------------------------------"
|
||
|
echo
|
||
|
for samp in GRAY 420 422 440 444; do
|
||
|
$EXEDIR/djpeg $NSARG $COLORSARG -rgb -outfile $OUTDIR/${basename}_${samp}_full.ppm $OUTDIR/${basename}_${samp}.jpg
|
||
|
convert -crop $CROPSPEC $OUTDIR/${basename}_${samp}_full.ppm $OUTDIR/${basename}_${samp}_ref.ppm
|
||
|
runme $EXEDIR/djpeg $NSARG $COLORSARG -crop $CROPSPEC -rgb -outfile $OUTDIR/${basename}_${samp}.ppm $OUTDIR/${basename}_${samp}.jpg
|
||
|
runme cmp $OUTDIR/${basename}_${samp}.ppm $OUTDIR/${basename}_${samp}_ref.ppm
|
||
|
done
|
||
|
echo
|
||
|
|
||
|
done
|
||
|
|
||
|
done
|
||
|
|
||
|
done
|
||
|
|
||
|
done
|
||
|
|
||
|
done
|
||
|
|
||
|
echo SUCCESS!
|