GraphicsMagick: Compare command: Support '-compress' option.

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.4763.1642883910.1940.graphicsmagick-commit@lists.sourceforge.net>
changeset bb05e046dbc1 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=bb05e046dbc1
summary: Compare command: Support '-compress' option.

diffstat:

 ChangeLog                         |    6 +
 common.shi.in                     |    3 +
 doc/options.imdoc                 |    2 +-
 magick/command.c                  |   21 ++++++-
 utilities/gm.1                    |    5 +-
 utilities/tests/common.sh         |    7 ++
 utilities/tests/effects.tap       |  118 +++++++++++++++++++-------------------
 utilities/tests/hald-clut.tap     |   12 +-
 utilities/tests/icc-transform.tap |    2 +-
 utilities/tests/montage.tap       |    6 +-
 utilities/tests/preview.tap       |    2 +-
 www/compare.html                  |   11 +++
 www/gm.html                       |   11 +++
 13 files changed, 132 insertions(+), 74 deletions(-)

diffs (truncated from 543 to 500 lines):

diff -r fbd0632291cf -r bb05e046dbc1 ChangeLog
--- a/ChangeLog	Sat Jan 22 11:19:07 2022 -0600
+++ b/ChangeLog	Sat Jan 22 14:38:19 2022 -0600
@@ -1,5 +1,11 @@
 2022-01-22  Bob Friesenhahn  <[email protected]>
 
+        * utilities/tests: Write compressed MIFF files to reduce disk
+        space usage.
+
+        * magick/command.c (CompareImageCommand): Support '-compress'
+        option.
+
         * coders/mpc.c: Fix warnings from GCC 11.
 
         * coders/miff.c: Fix warnings from GCC 11.
diff -r fbd0632291cf -r bb05e046dbc1 common.shi.in
--- a/common.shi.in	Sat Jan 22 11:19:07 2022 -0600
+++ b/common.shi.in	Sat Jan 22 14:38:19 2022 -0600
@@ -38,6 +38,9 @@
 if test -z "$MAGICK_LIMIT_DISK" ; then
     export MAGICK_LIMIT_DISK=0
 fi
+#if test -z "$MAGICK_LIMIT_READ" ; then
+#    export MAGICK_LIMIT_READ=800000
+#fi
 # Enable debug traces for exceptions
 if test -z "MAGICK_DEBUG" ; then
     export MAGICK_DEBUG=exception
diff -r fbd0632291cf -r bb05e046dbc1 doc/options.imdoc
--- a/doc/options.imdoc	Sat Jan 22 11:19:07 2022 -0600
+++ b/doc/options.imdoc	Sat Jan 22 14:38:19 2022 -0600
@@ -870,7 +870,7 @@
 
 <!-- ------------ -compress ----------------------------------------- -->
 
-<utils apps=composite,convert,display,mogrify,montage>
+<utils apps=composite,compare,convert,display,mogrify,montage>
 <dopt>-compress <type></opt>
 
 <abs>the type of image compression</abs>
diff -r fbd0632291cf -r bb05e046dbc1 magick/command.c
--- a/magick/command.c	Sat Jan 22 11:19:07 2022 -0600
+++ b/magick/command.c	Sat Jan 22 14:38:19 2022 -0600
@@ -2398,7 +2398,7 @@
               }
             break;
           }
-        ThrowCompareException(OptionError,UnrecognizedOption,option)
+        ThrowCompareException(OptionError,UnrecognizedOption,option);
       }
       case 'c':
       {
@@ -2418,7 +2418,23 @@
               }
             break;
           }
-        ThrowCompareException(OptionError,UnrecognizedOption,option)
+        if (LocaleCompare("compress",option+1) == 0)
+          {
+            image_info->compression=NoCompression;
+            if (*option == '-')
+              {
+                i++;
+                if (i == argc)
+                  ThrowCompareException(OptionError,MissingArgument,option);
+                option=argv[i];
+                image_info->compression=StringToCompressionType(option);
+                if (image_info->compression == UndefinedCompression)
+                  ThrowCompareException(OptionError,UnrecognizedImageCompression,
+                    option);
+              }
+            break;
+          }
+        ThrowCompareException(OptionError,UnrecognizedOption,option);
       }
       case 'd':
       {
@@ -2913,6 +2929,7 @@
   (void) puts("Where options include:");
   (void) puts("  -authenticate value  decrypt image with this password");
   (void) puts("  -colorspace type     alternate image colorspace");
+  (void) puts("  -compress type       image compression type");
   (void) puts("  -debug events        display copious debugging information");
   (void) puts("  -define values       coder/decoder specific options");
   (void) puts("  -density geometry    horizontal and vertical density of the image");
diff -r fbd0632291cf -r bb05e046dbc1 utilities/gm.1
--- a/utilities/gm.1	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/gm.1	Sat Jan 22 14:38:19 2022 -0600
@@ -1,4 +1,4 @@
-.TH gm 1 "2022/01/08" "GraphicsMagick"
+.TH gm 1 "2022/01/22" "GraphicsMagick"
 .TP
 .in 15
 .in 15
@@ -5894,6 +5894,9 @@
 .B "-colorspace \fI<value>"\fP
 \fRthe type of colorspace
 .TP
+.B "-compress \fI<type>"\fP
+\fRthe type of image compression
+.TP
 .B "-debug \fI<events>"\fP
 \fRenable debug printout
 .TP
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/common.sh
--- a/utilities/tests/common.sh	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/common.sh	Sat Jan 22 14:38:19 2022 -0600
@@ -14,3 +14,10 @@
 #CONVERT_FLAGS='-monitor'
 #COMPOSITE_FLAGS='-monitor'
 #MONTAGE_FLAGS='-monitor'
+
+MIFF_COMPRESS=none
+if [ "${MAGICK_FEATURE_BZLIB}" = "yes" ] ; then
+    MIFF_COMPRESS=bzip
+elif [ "${MAGICK_FEATURE_ZLIB}" = "yes" ] ; then
+    MIFF_COMPRESS=zip
+fi
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/effects.tap
--- a/utilities/tests/effects.tap	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/effects.tap	Sat Jan 22 14:38:19 2022 -0600
@@ -11,11 +11,11 @@
 
 OUTFILE=TileAddNoise_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'AddNoise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} +noise Laplacian -label AddNoise ${OUTFILE}
+test_command_fn 'AddNoise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} +noise Laplacian -label AddNoise -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileAffine_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Affine' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -affine 1,0,0.785,1,0,0 -transform -label Affine ${OUTFILE}
+test_command_fn 'Affine' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -affine 1,0,0.785,1,0,0 -transform -label Affine -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileAnnotate_out.miff
 ANNOTATE_CMD_FILE=annotate_cmds_out.txt
@@ -24,32 +24,32 @@
 test_command_fn 'Annotate' -F TTF ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -fill gold -pointsize 14 \
 	-font ${GENERIC_TTF} \
 	-draw @${ANNOTATE_CMD_FILE} \
-	-label Annotate ${OUTFILE}
+	-label Annotate -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileThresholdBlack_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Black-Threshold' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -black-threshold "20%" \
-                   -label 'Black-Threshold' ${OUTFILE}
+                   -label 'Black-Threshold' -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileBlur_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Blur' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -blur 0x1 -label Blur ${OUTFILE}
+test_command_fn 'Blur' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -blur 0x1 -label Blur -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileBorder_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Border' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -bordercolor gold -border 6x6 -label Border ${OUTFILE}
+test_command_fn 'Border' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -bordercolor gold -border 6x6 -label Border -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileChannel_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Channel' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colorspace cmyk -channel yellow -label Channel ${OUTFILE}
+test_command_fn 'Channel' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colorspace cmyk -channel yellow -label Channel -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileCharcoal_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Charcoal' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -charcoal 0x1 -label Charcoal ${OUTFILE}
+test_command_fn 'Charcoal' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -charcoal 0x1 -label Charcoal -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileComposite_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Composite' ${GM} composite ${COMPOSITE_FLAGS} ${SMILE_MIFF} -geometry +35+65 ${MODEL_MIFF} -label Composite ${OUTFILE}
+test_command_fn 'Composite' ${GM} composite ${COMPOSITE_FLAGS} ${SMILE_MIFF} -geometry +35+65 ${MODEL_MIFF} -label Composite -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileContrast_out.miff
 rm -f ${OUTFILE}
@@ -60,211 +60,211 @@
 # 1,1,1,
 # 1,4,1,
 # 1,1,1
-test_command_fn 'Convolve' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -convolve 1,1,1,1,4,1,1,1,1 -label Convolve ${OUTFILE}
+test_command_fn 'Convolve' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -convolve 1,1,1,1,4,1,1,1,1 -label Convolve -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileCrop_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Crop' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -crop '80x80+25+50' -label Crop ${OUTFILE}
+test_command_fn 'Crop' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -crop '80x80+25+50' -label Crop -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileDespeckle_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Despeckle' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -despeckle -label Despeckle ${OUTFILE}
+test_command_fn 'Despeckle' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -despeckle -label Despeckle -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileDraw_out.miff
 DRAWFILE=draw_circle_out.txt
 rm -f ${OUTFILE}
 echo 'circle 60,90 60,120' > ${DRAWFILE}
 test_command_fn 'Draw' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -fill none -stroke gold \
-         -draw @${DRAWFILE} -label Draw ${OUTFILE}
+         -draw @${DRAWFILE} -label Draw -compress ${MIFF_COMPRESS} ${OUTFILE}
 rm -f ${DRAWFILE}
 
 OUTFILE=TileEdge_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Edge' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -edge 0x1 -label Edge ${OUTFILE}
+test_command_fn 'Edge' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -edge 0x1 -label Edge -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileEmboss_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Emboss' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -emboss 0x1 -label Emboss ${OUTFILE}
+test_command_fn 'Emboss' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -emboss 0x1 -label Emboss -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileEqualize_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Equalize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -label Equalize ${OUTFILE}
+test_command_fn 'Equalize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -label Equalize -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileExplode_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Explode' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -implode -1 -label Explode ${OUTFILE}
+test_command_fn 'Explode' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -implode -1 -label Explode -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileFlip_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Flip' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -flip -label Flip ${OUTFILE}
+test_command_fn 'Flip' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -flip -label Flip -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileFlop_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Flop' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -flop -label Flop ${OUTFILE}
+test_command_fn 'Flop' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -flop -label Flop -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileFrame_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Frame' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -frame 15x15+3+3 -label Frame ${OUTFILE}
+test_command_fn 'Frame' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -frame 15x15+3+3 -label Frame -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileGamma_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Gamma' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -gamma 1.6 -label Gamma ${OUTFILE}
+test_command_fn 'Gamma' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -gamma 1.6 -label Gamma -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileGaussianBlur_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'GaussianBlur' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -gaussian 0x1.5 -label GaussianBlur ${OUTFILE}
+test_command_fn 'GaussianBlur' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -gaussian 0x1.5 -label GaussianBlur -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileGradient_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Gradient' ${GM} convert ${CONVERT_FLAGS} -size 130x194 gradient:'#20a0ff-#ffff00' -label Gradient ${OUTFILE}
+test_command_fn 'Gradient' ${GM} convert ${CONVERT_FLAGS} -size 130x194 gradient:'#20a0ff-#ffff00' -label Gradient -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileGrayscale_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Grayscale' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colorspace gray -label Grayscale ${OUTFILE}
+test_command_fn 'Grayscale' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colorspace gray -label Grayscale -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileImplode_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Implode' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -implode 0.5 -label Implode ${OUTFILE}
+test_command_fn 'Implode' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -implode 0.5 -label Implode -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileLevel_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Level' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -level 10%,1.2,90% -label Level ${OUTFILE}
+test_command_fn 'Level' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -level 10%,1.2,90% -label Level -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 rm -f mask_out.miff TileMask_out.miff
-${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -threshold "30%" mask_out.miff
-test_command_fn 'Mask' ${GM} convert ${CONVERT_FLAGS} -mask mask_out.miff ${MODEL_MIFF} -negate -label Mask TileMask_out.miff
+${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -threshold "30%" -compress ${MIFF_COMPRESS} mask_out.miff
+test_command_fn 'Mask' ${GM} convert ${CONVERT_FLAGS} -mask mask_out.miff ${MODEL_MIFF} -negate -label Mask -compress ${MIFF_COMPRESS} TileMask_out.miff
 
 OUTFILE=TileMedian_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'MedianFilter' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -median 3 -label MedianFilter ${OUTFILE}
+test_command_fn 'MedianFilter' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -median 3 -label MedianFilter -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileModulate_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Modulate' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -modulate 110/110/110 -label Modulate ${OUTFILE}
+test_command_fn 'Modulate' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -modulate 110/110/110 -label Modulate -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileMonochrome_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Monochrome' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colorspace gray -colors 2 \
-                   +dither -label Monochrome ${OUTFILE}
+                   +dither -label Monochrome -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileNegate_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Negate' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -negate -label Negate ${OUTFILE}
+test_command_fn 'Negate' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -negate -label Negate -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileNormalize_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Normalize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -normalize -label Normalize ${OUTFILE}
+test_command_fn 'Normalize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -normalize -label Normalize -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileOilPaint_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Oilpaint' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -paint 0x1 -label Oilpaint ${OUTFILE}
+test_command_fn 'Oilpaint' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -paint 0x1 -label Oilpaint -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileOrderedDither2_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Ordered2x2' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 2x2 -label Ordered2x2 ${OUTFILE}
+test_command_fn 'Ordered2x2' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 2x2 -label Ordered2x2 -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileOrderedDither3_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Ordered3x3' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 3x3 -label Ordered3x3 ${OUTFILE}
+test_command_fn 'Ordered3x3' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 3x3 -label Ordered3x3 -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileOrderedDither4_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Ordered4x4' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 4x4 -label Ordered4x4 ${OUTFILE}
+test_command_fn 'Ordered4x4' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -ordered-dither intensity 4x4 -label Ordered4x4 -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TilePlasma_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Plasma' ${GM} convert ${CONVERT_FLAGS} -size 130x194 plasma:fractal -label Plasma ${OUTFILE}
+test_command_fn 'Plasma' ${GM} convert ${CONVERT_FLAGS} -size 130x194 plasma:fractal -label Plasma -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileQuantize_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Quantize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colors 16 -label Quantize ${OUTFILE}
+test_command_fn 'Quantize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -colors 16 -label Quantize -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileRaise_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Raise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -raise 10x10 -label Raise ${OUTFILE}
+test_command_fn 'Raise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -raise 10x10 -label Raise -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileRandomThreshold_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Random 10%' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -random-threshold intensity '10%' -label 'Random10%%' ${OUTFILE}
+test_command_fn 'Random 10%' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -equalize -random-threshold intensity '10%' -label 'Random10%%' -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileRecolor_out.miff
 MATRIXFILE=recolor_matrix_out.txt
 echo '0.9 0 0, 0 0.9 0, 0 0 1.2' > ${MATRIXFILE}
 rm -f ${OUTFILE}
-test_command_fn 'Recolor' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -recolor @${MATRIXFILE} -label Recolor ${OUTFILE}
+test_command_fn 'Recolor' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -recolor @${MATRIXFILE} -label Recolor -compress ${MIFF_COMPRESS} ${OUTFILE}
 rm -f ${MATRIXFILE}
 
 OUTFILE=TileReduceNoise_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'ReduceNoise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -noise 0x1 -label ReduceNoise ${OUTFILE}
+test_command_fn 'ReduceNoise' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -noise 0x1 -label ReduceNoise -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileResize_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Resize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -resize 50% -label Resize ${OUTFILE}
+test_command_fn 'Resize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -resize 50% -label Resize -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileRoll_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Roll' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -roll +20+10 -label Roll ${OUTFILE}
+test_command_fn 'Roll' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -roll +20+10 -label Roll -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileRotate_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Rotate 45' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -fill black -rotate 45 \
-        -transparent black -label Rotate ${OUTFILE}
+        -transparent black -label Rotate -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileScale_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Scale' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -scale 60% -label Scale ${OUTFILE}
+test_command_fn 'Scale' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -scale 60% -label Scale -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileSegment_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Segment' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -segment 0.5x0.25 -label Segment ${OUTFILE}
+test_command_fn 'Segment' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -segment 0.5x0.25 -label Segment -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileShade_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Shade' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -shade 30x30 -label Shade ${OUTFILE}
+test_command_fn 'Shade' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -shade 30x30 -label Shade -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileSharpen_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Sharpen' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -sharpen 0x1 -label Sharpen ${OUTFILE}
+test_command_fn 'Sharpen' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -sharpen 0x1 -label Sharpen -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileShave_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Shave' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -shave 10x10 -label Shave ${OUTFILE}
+test_command_fn 'Shave' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -shave 10x10 -label Shave -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileShear_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Shear' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -fill black -shear 45x45 \
-        -transparent black -label Shear ${OUTFILE}
+        -transparent black -label Shear -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileSolar_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Solarize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -solarize 50% -label Solarize ${OUTFILE}
+test_command_fn 'Solarize' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -solarize 50% -label Solarize -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileSpread_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'Spread' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -spread 3 -label Spread ${OUTFILE}
+test_command_fn 'Spread' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -spread 3 -label Spread -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileSwirl_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Swirl' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -background '#000000FF' \
-        -swirl 90 -label Swirl ${OUTFILE}
+        -swirl 90 -label Swirl -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileThreshold_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Threshold' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -threshold "35%" \
-                   -label Threshold ${OUTFILE}
+                   -label Threshold -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileUnsharpMask_out.miff
 rm -f ${OUTFILE}
-test_command_fn 'UnsharpMask' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -unsharp 0x1+10+10 -label UnsharpMask ${OUTFILE}
+test_command_fn 'UnsharpMask' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -unsharp 0x1+10+10 -label UnsharpMask -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileWave_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'Wave' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -background '#000000FF' \
-        -wave 25x150 -label Wave ${OUTFILE}
+        -wave 25x150 -label Wave -compress ${MIFF_COMPRESS} ${OUTFILE}
 
 OUTFILE=TileThresholdWhite_out.miff
 rm -f ${OUTFILE}
 test_command_fn 'White-Threshold' ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -white-threshold "80%" \
-                   -label 'White-Threshold' ${OUTFILE}
+                   -label 'White-Threshold' -compress ${MIFF_COMPRESS} ${OUTFILE}
 :
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/hald-clut.tap
--- a/utilities/tests/hald-clut.tap	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/hald-clut.tap	Sat Jan 22 14:38:19 2022 -0600
@@ -17,8 +17,8 @@
   echo "Testing Hald CLUT identity level ${level} ..."
   identity_image=identity:${level}
   rm -f ${OUTFILE}
-  test_command_fn 'Hald CLUT identity' ${GM} convert ${CONVERT_FLAGS} ${identity_image} -hald-clut ${identity_image} -label Hald-Clut ${OUTFILE}
-  test_command_fn 'Hald CLUT verify' ${GM} compare -maximum-error 1.5e-11 -metric MAE ${identity_image} ${OUTFILE}
+  test_command_fn 'Hald CLUT identity' ${GM} convert ${CONVERT_FLAGS} ${identity_image} -hald-clut ${identity_image} -label Hald-Clut -compress ${MIFF_COMPRESS} ${OUTFILE}
+  test_command_fn 'Hald CLUT verify' ${GM} compare -maximum-error 1.5e-11 -metric MAE ${identity_image} -compress ${MIFF_COMPRESS} ${OUTFILE}
   echo
 done
 
@@ -28,8 +28,8 @@
 REFERENCE_OUTPUT=HaldClutTransformRef_out.miff
 XFORM_CLUT=HaldClutTransformCLUT_out.miff
 
-eval ${GM} convert ${IDENTITY_CLUT} ${XFORM} ${XFORM_CLUT}
-eval ${GM} convert ${MODEL_MIFF} ${XFORM} ${REFERENCE_OUTPUT}
-test_command_fn 'Hald CLUT emulate negate' ${GM} convert ${MODEL_MIFF} -hald-clut ${XFORM_CLUT} ${CLUT_OUTPUT}
-test_command_fn 'Hald CLUT verify' ${GM} compare -maximum-error 4.0e-12 -metric MAE ${REFERENCE_OUTPUT} ${CLUT_OUTPUT}
+eval ${GM} convert ${IDENTITY_CLUT} ${XFORM} -compress ${MIFF_COMPRESS} ${XFORM_CLUT}
+eval ${GM} convert ${MODEL_MIFF} ${XFORM} -compress ${MIFF_COMPRESS} ${REFERENCE_OUTPUT}
+test_command_fn 'Hald CLUT emulate negate' ${GM} convert ${MODEL_MIFF} -hald-clut ${XFORM_CLUT} -compress ${MIFF_COMPRESS} ${CLUT_OUTPUT}
+test_command_fn 'Hald CLUT verify' ${GM} compare -maximum-error 4.0e-12 -metric MAE ${REFERENCE_OUTPUT} -compress ${MIFF_COMPRESS} ${CLUT_OUTPUT}
 :
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/icc-transform.tap
--- a/utilities/tests/icc-transform.tap	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/icc-transform.tap	Sat Jan 22 14:38:19 2022 -0600
@@ -14,7 +14,7 @@
 rm -f ${ORIGINAL_PROFILE}
 rm -f ${IMAGE_OUTPUT}
 test_command_fn 'Extract ICC profile' ${GM} convert ${SUNRISE_MIFF} ${ORIGINAL_PROFILE}
-test_command_fn 'Apply ICC profile and then reverse it' -F LCMS ${GM} convert ${SUNRISE_MIFF} -profile ${BETARGB_PROFILE} -profile ${ORIGINAL_PROFILE} ${IMAGE_OUTPUT}
+test_command_fn 'Apply ICC profile and then reverse it' -F LCMS ${GM} convert ${SUNRISE_MIFF} -profile ${BETARGB_PROFILE} -profile ${ORIGINAL_PROFILE} -compress ${MIFF_COMPRESS} ${IMAGE_OUTPUT}
 test_command_fn 'Verify results' ${GM} compare -maximum-error 0.004 -metric MAE ${SUNRISE_MIFF} ${IMAGE_OUTPUT}
 rm -f ${ORIGINAL_PROFILE}
 rm -f ${IMAGE_OUTPUT}
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/montage.tap
--- a/utilities/tests/montage.tap	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/montage.tap	Sat Jan 22 14:38:19 2022 -0600
@@ -12,7 +12,7 @@
   -bordercolor 'green' -borderwidth 1x1 -tile '7x4' -compose 'over' \
   -background '#ffffff' -font ${GENERIC_TTF} -pointsize 18 -fill '#600' \
   -stroke 'none' null: null: null: null: null: null: null: 'Tile*_out.miff' \
-  -compress rle montage_out.miff
-test_command_fn 'Prepare logo' ${GM} convert ${CONVERT_FLAGS} logo: -resize 40% logo_out.miff
-test_command_fn 'Composite logo' ${GM} composite ${COMPOSITE_FLAGS} 'tmp:logo_out.miff' -gravity north 'tmp:montage_out.miff' -depth 8 demo.miff
+  -compress ${MIFF_COMPRESS} montage_out.miff
+test_command_fn 'Prepare logo' ${GM} convert ${CONVERT_FLAGS} logo: -resize 40% -compress ${MIFF_COMPRESS} logo_out.miff
+test_command_fn 'Composite logo' ${GM} composite ${COMPOSITE_FLAGS} 'tmp:logo_out.miff' -gravity north 'tmp:montage_out.miff' -depth 8 -compress ${MIFF_COMPRESS} demo.miff
 :
diff -r fbd0632291cf -r bb05e046dbc1 utilities/tests/preview.tap
--- a/utilities/tests/preview.tap	Sat Jan 22 11:19:07 2022 -0600
+++ b/utilities/tests/preview.tap	Sat Jan 22 14:38:19 2022 -0600
@@ -17,6 +17,6 @@
 do
     OUTFILE="Preview${preview}_out.miff"
     rm -f ${OUTFILE}
-    test_command_fn "${preview}" ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -preview ${preview} "preview:${OUTFILE}"
+    test_command_fn "${preview}" ${GM} convert ${CONVERT_FLAGS} ${MODEL_MIFF} -preview ${preview}  -compress ${MIFF_COMPRESS} "preview:${OUTFILE}"
 done
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.