TurboJPEG: ICC profile support

This commit is contained in:
DRC
2024-09-03 07:54:17 -04:00
parent c6de7d87ad
commit a272858212
42 changed files with 1336 additions and 375 deletions

View File

@@ -362,9 +362,11 @@ for image in $IMAGES; do
# Transforms
if [ "$LOSSLSARG" != "-l" ]; then
runme $EXEDIR/jpegtran -icc $IMGDIR/test1.icc -outf $OUTDIR/temp.jpg $OUTDIR/${basename}_444_Q95.jpg
runme mv $OUTDIR/temp.jpg $OUTDIR/${basename}_444_Q95.jpg
for samp in $ALLSUBSAMP; do
for xform in {0..6}; do
runme $EXEDIR/jpegtran ${XFORMARGS[$xform]} -tri -outf $OUTDIR/${basename}_${samp}_${XFORMNAME[$xform]}_jpegtran.jpg $OUTDIR/${basename}_${samp}_Q95.jpg
runme $EXEDIR/jpegtran -c a ${XFORMARGS[$xform]} -tri -outf $OUTDIR/${basename}_${samp}_${XFORMNAME[$xform]}_jpegtran.jpg $OUTDIR/${basename}_${samp}_Q95.jpg
done
done
for xform in {0..6}; do

View File

@@ -61,7 +61,7 @@ for precision in 8 12; do
RGBIMG=$IMGDIR/monkey16.ppm
GRAYIMG=$IMGDIR/monkey16.pgm
fi
for restartarg in "" "-r 1" "-r 1b"; do
for restartarg in "" "-r 1 -icc $IMGDIR/test3.icc" "-r 1b"; do
for ariarg in "" "-a"; do
for dctarg in "" "-dc fa"; do
for optarg in "" "-o"; do
@@ -159,7 +159,7 @@ for precision in {2..16}; do
if [ $pt -ge $precision ]; then
continue
fi
for restartarg in "" "-r 1"; do
for restartarg in "" "-r 1 -icc $IMGDIR/test3.icc"; do
basename=`basename $RGBIMG .ppm`
runme $TJCOMP -pre $precision -l $psv,$pt $restartarg \
$RGBIMG $OUTDIR/${basename}-tjcomp.jpg

View File

@@ -63,7 +63,11 @@ for precision in 8 12; do
fi
for sampi in {0..6}; do
runme $EXEDIR/cjpeg -pre $precision -sa ${SAMPOPT[$sampi]} \
iccarg=
if [ $sampi = 3 ]; then
iccarg="-icc $IMGDIR/test1.icc"
fi
runme $EXEDIR/cjpeg -pre $precision -sa ${SAMPOPT[$sampi]} $iccarg \
-outf $OUTDIR/`basename $RGBIMG .ppm`-${SUBSAMPOPT[$sampi]}.jpg $RGBIMG
done
runme $EXEDIR/cjpeg -pre $precision \
@@ -124,12 +128,26 @@ for precision in 8 12; do
echo
else
basename=`basename $RGBIMG .ppm`
runme $TJDECOMP $croparg $dctarg $nsarg $scalearg \
iccarg=
if [ "$subsamp" = "420" ]; then
iccarg="-icc $OUTDIR/${basename}-tjdecomp.icc"
fi
runme $TJDECOMP $croparg $dctarg $nsarg $scalearg $iccarg \
$OUTDIR/${basename}-$subsamp.jpg \
$OUTDIR/${basename}-tjdecomp.ppm
runme $EXEDIR/djpeg $croparg $dctarg $nsarg $scalearg \
if [ "$subsamp" = "420" ]; then
iccarg="-icc $OUTDIR/${basename}-djpeg.icc"
fi
runme $EXEDIR/djpeg $croparg $dctarg $nsarg $scalearg $iccarg \
-outf $OUTDIR/${basename}-djpeg.ppm \
$OUTDIR/${basename}-$subsamp.jpg
if [ "$subsamp" = "420" ]; then
$EXEDIR/test/md5sum $OUTDIR/${basename}-tjdecomp.icc \
$OUTDIR/${basename}-djpeg.icc | sed "s@$OUTDIR@\$OUTDIR@g"
cmp $OUTDIR/${basename}-tjdecomp.icc \
$OUTDIR/${basename}-djpeg.icc
rm $OUTDIR/${basename}-tjdecomp.icc $OUTDIR/${basename}-djpeg.icc
fi
$EXEDIR/test/md5sum $OUTDIR/${basename}-tjdecomp.ppm \
$OUTDIR/${basename}-djpeg.ppm | sed "s@$OUTDIR@\$OUTDIR@g"
cmp $OUTDIR/${basename}-tjdecomp.ppm \

View File

@@ -69,13 +69,13 @@ for precision in 8 12; do
elif [ $sampi = 2 ]; then
EXTRA_ARGS=-a
elif [ $sampi = 3 ]; then
EXTRA_ARGS=-o
EXTRA_ARGS="-o -icc $IMGDIR/test1.icc"
elif [ $sampi = 5 ]; then
EXTRA_ARGS="-r 1"
fi
runme $EXEDIR/cjpeg -pre $precision -sa ${SAMPOPT[$sampi]} $EXTRA_ARGS \
-outf $OUTDIR/`basename $RGBIMG .ppm`-${SUBSAMPOPT[$sampi]}.jpg $RGBIMG
if [ $sampi = 4 ]; then
if [[ $sampi = 3 || $sampi = 4 ]]; then
$EXEDIR/wrjpgcom -comment "This is a test" \
$OUTDIR/`basename $RGBIMG .ppm`-${SUBSAMPOPT[$sampi]}.jpg \
>$OUTDIR/temp.jpg
@@ -94,8 +94,12 @@ for precision in 8 12; do
basename=`basename $RGBIMG .ppm`
fi
for ariarg in "" "-a"; do
for copyarg in "" "-c n"; do
if [[ "$copyarg" = "-c n" && "$subsamp" != "411" ]]; then
for copyarg in "" "-c i" "-c n"; do
if [[ "$copyarg" = "-c n" && "$subsamp" != "411" && \
"$subsamp" != "420" ]]; then
continue
fi
if [[ "$copyarg" = "-c i" && "$subsamp" != "420" ]]; then
continue
fi
for croparg in "" "-cr 14x14+23+23" "-cr 21x21+4+4" "-cr 18x18+13+13" \
@@ -122,7 +126,8 @@ for precision in 8 12; do
if [[ "$progarg" = "-p" && "$optarg" = "-o" ]]; then
continue
fi
for restartarg in "" "-r 1" "-r 1b"; do
for restartarg in "" "-r 1 -icc $IMGDIR/test3.icc" \
"-r 1b"; do
if [[ "$restartarg" = "-r 1b" && "$croparg" != "" ]]; then
continue
fi