GraphicsMagick 1.3 updates

Bob Friesenhahn <[email protected]> Wed, 11 Jun 2008 18:28:57 -0500 (CDT)
Newsgroups gmane.comp.video.graphicsmagick.tools,gmane.comp.video.graphicsmagick.core
Message-ID <[email protected]>
I have continued to work on making GraphicsMagick more stable and 
secure.

The latest GM snapshot supports a new feature oriented toward 
simplicity and security.  The MAGICK_CODER_STABILITY environment 
variable controls which formats are usable.  Some coders are blessed 
to a "primary" level while others are downgraded to an "unstable" 
level.  The output of 'gm convert -list format' provides an indication 
of the format classification. The setting of MAGICK_CODER_STABILITY 
will also control which formats are listed.  For example, 
MAGICK_CODER_STABILITY=PRIMARY only allows primary level formats to be 
listed or used.

Here is the text of the documentation:

      MAGICK_CODER_STABILITY
           The minimum coder stability level  before  it  will  be
           used.  The  available  levels  are PRIMARY, STABLE, and
           UNSTABLE.  The default minimum level is UNSTABLE, which
           means  that all available coders will be used. The pur-
           pose of this option is to reduce the security  exposure
           (or apparent complexity) due to the huge number of for-
           mats supported. Coders at the PRIMARY  level  are  com-
           monly  used formats with very well maintained implemen-
           tations. Coders at the STABLE level are reasonably well
           maintained  but  represent less used formats. Coders at
           the UNSTABLE level either  have  weak  implementations,
           the  file format itself is weak, or the probability the
           coder will be needed is vanishingly small.

Programmers must make sure that they invoke InitializeMagick() in 
their programs or else this environment variable will be ignored.

Here is the new output from 'gm convert -list format':

    Format L  Mode  Description
--------------------------------------------------------------------------------
      8BIM P  rw-  Photoshop resource format
  8BIMTEXT P  rw-  Photoshop resource text format
8BIMWTEXT P  rw-  Photoshop resource wide text format
      APP1 P  rw-  Raw application information
  APP1JPEG P  rw-  Raw JPEG binary data
       ART S  rw+  PFS: 1st Publisher
       AVI U  r--  Microsoft Audio/Visual Interleaved
       AVS U  rw+  AVS X image
       BIE P  rw-  Joint Bi-level Image experts Group interchange format (1.6)
   BIGTIFF P  rw-  Tagged Image File Format (64-bit offsets)
       BMP P  rw-  Microsoft Windows bitmap image
      BMP2 P  -w-  Microsoft Windows bitmap image v2
      BMP3 P  -w-  Microsoft Windows bitmap image v3
     CACHE U  ---  Magick Persistent Cache image format
   CAPTION P  r--  Image caption
       CIN S  rw+  Cineon Image File
      CMYK S  rw+  Raw cyan, magenta, yellow, and black samples
     CMYKA S  rw+  Raw cyan, magenta, yellow, black, and opacity samples
       CUR S  r--  Microsoft Cursor Icon
       CUT S  r--  DR Halo
       DCM S  r--  Digital Imaging and Communications in Medicine image
             See http://medical.nema.org/ for information on DICOM.
       DCX S  rw+  ZSoft IBM PC multi-page Paintbrush
       DPS S  r--  Display Postscript Interpreter
       DPX P  rw-  SMPTE 268M-2003 (DPX 2.0)
             See http://www.smtpe.org/ for information on DPX.
      EPDF P  rw-  Encapsulated Portable Document Format
       EPI P  rw-  Adobe Encapsulated PostScript Interchange format
       EPS P  rw-  Adobe Encapsulated PostScript
      EPS2 P  -w-  Adobe Level II Encapsulated PostScript
      EPS3 P  -w+  Adobe Level III Encapsulated PostScript
      EPSF P  rw-  Adobe Encapsulated PostScript
      EPSI P  rw-  Adobe Encapsulated PostScript Interchange format
       EPT P  rw-  Adobe Encapsulated PostScript with MS-DOS TIFF preview
      EPT2 P  rw-  Adobe Level II Encapsulated PostScript with MS-DOS TIFF preview
      EPT3 P  rw-  Adobe Level III Encapsulated PostScript with MS-DOS TIFF preview
      EXIF P  rw-  Exif digital camera binary data
       FAX P  rw+  Group 3 FAX (Not TIFF Group3 FAX!)
      FITS S  rw-  Flexible Image Transport System
   FRACTAL P  r--  Plasma fractal image
       GIF P  rw+  CompuServe graphics interchange format (version 89a)
     GIF87 P  rw-  CompuServe graphics interchange format (version 87a)
  GRADIENT P  r--  Gradual passing from one shade to another
      GRAY S  rw+  Raw gray samples
HISTOGRAM P  -w-  Histogram of the image
      HTML P  -w-  Hypertext Markup Language and a client-side image map
       ICB S  rw+  Truevision Targa image
       ICC P  rw-  ICC Color Profile
       ICM P  rw-  ICC Color Profile
       ICO S  r--  Microsoft Icon
      ICON S  r--  Microsoft Icon
     IMAGE P  r--  GraphicsMagick Embedded Image
      IPTC P  rw-  IPTC Newsphoto
  IPTCTEXT P  rw-  IPTC Newsphoto text format
IPTCWTEXT P  rw-  IPTC Newsphoto text format
       JBG P  rw+  Joint Bi-level Image experts Group interchange format (1.6)
      JBIG P  rw+  Joint Bi-level Image experts Group interchange format (1.6)
       JNG P  rw-  JPEG Network Graphics (libpng 1.2.27, zlib 1.2.3)
             See http://www.libpng.org/pub/mng/ for information on JNG.
       JP2 S  rw-  JPEG-2000 JP2 File Format Syntax
       JPC S  rw-  JPEG-2000 Code Stream Syntax
      JPEG P  rw-  Joint Photographic Experts Group JFIF format
       JPG P  rw-  Joint Photographic Experts Group JFIF format (62)
     LABEL P  r--  Image label
       M2V S  -w+  MPEG Video Stream
       MAP S  rw-  Colormap intensities and indices
       MAT S  rw+  MATLAB image format
     MATTE S  -w+  MATTE raw opacity format
      MIFF P  rw+  Magick Image File Format
       MNG P  rw+  Multiple-image Network Graphics (libpng 1.2.27, zlib 1.2.3)
             See http://www.libpng.org/pub/mng/ for information on MNG.
      MONO S  rw-  Bi-level bitmap in least-significant-byte first order
       MPC U  rw+  Magick Persistent Cache image format
      MPEG S  -w+  MPEG Video Stream
       MPG S  -w+  MPEG Video Stream
       MSL S  rw+  Magick Scripting Language
       MTV U  rw+  MTV Raytracing image format
       MVG S  rw-  Magick Vector Graphics
      NULL P  rw-  Constant image of uniform color
       OTB S  rw-  On-the-air bitmap
        P7 S  rw+  Xv thumbnail format
       PAL S  rw-  16bit/pixel interleaved YUV
      PALM U  rw-  Palm pixmap
       PBM P  rw+  Portable bitmap format (black/white)
       PCD S  rw-  Photo CD
      PCDS S  rw-  Photo CD
       PCL S  -w-  Page Control Language
       PCT S  rw-  Apple Macintosh QuickDraw/PICT
       PCX S  rw-  ZSoft IBM PC Paintbrush
       PDB S  rw+  Palm Database ImageViewer Format
       PDF P  rw+  Portable Document Format
       PFA P  r--  Postscript Type 1 font (ASCII)
       PFB P  r--  Postscript Type 1 font (binary)
       PGM P  rw+  Portable graymap format (gray scale)
       PGX S  r--  JPEG-2000 VM Format
     PICON S  rw-  Personal Icon
      PICT S  rw-  Apple Macintosh QuickDraw/PICT
       PIX S  r--  Alias/Wavefront RLE image format
    PLASMA P  r--  Plasma fractal image
       PNG P  rw-  Portable Network Graphics (libpng 1.2.27, zlib 1.2.3)
             See http://www.libpng.org/ for information on PNG..
     PNG24 P  rw-  24-bit RGB PNG, opaque only (libpng 1.2.27, zlib 1.2.3)
     PNG32 P  rw-  32-bit RGBA PNG, semitransparency OK (libpng 1.2.27, zlib 1.2.3)
      PNG8 P  rw-  8-bit indexed PNG, binary transparency only (libpng 1.2.27, zlib 1.2.3)
       PNM P  rw+  Portable anymap
       PPM P  rw+  Portable pixmap format (color)
   PREVIEW S  -w-  Show a preview an image enhancement, effect, or f/x
        PS P  rw+  Adobe PostScript
       PS2 P  -w+  Adobe Level II PostScript
       PS3 P  -w+  Adobe Level III PostScript
       PSD S  rw+  Adobe Photoshop bitmap
      PTIF S  rw-  Pyramid encoded TIFF
       PWP U  r--  Seattle Film Works
       RAS S  rw+  SUN Rasterfile
       RGB S  rw+  Raw red, green, and blue samples
      RGBA S  rw+  Raw red, green, blue, and matte samples
       RLA U  r--  Alias/Wavefront image
       RLE S  r--  Utah Run length encoded image
       SCT U  r--  Scitex HandShake
       SFW U  r--  Seattle Film Works
       SGI S  rw+  Irix RGB image
     SHTML P  -w-  Hypertext Markup Language and a client-side image map
   STEGANO P  r--  Steganographic image
       SUN S  rw+  SUN Rasterfile
       SVG S  rw+  Scalable Vector Graphics (XML 2.6.23)
      SVGZ S  rw+  Scalable Vector Graphics (ZIP compressed) (XML 2.6.23)
      TEXT S  rw+  Text
       TGA S  rw+  Truevision Targa image
      TIFF P  rw+  Tagged Image File Format (LIBTIFF, Version 4.0.0alpha)
      TILE P  r--  Tile image with a texture
             Use the syntax "-size WIDTHxHEIGHT TILE:imagename" to tile the
             specified tile image over a canvas image of size WIDTHxHEIGHT.
       TIM S  r--  PSX TIM
     TOPOL S  r--  TOPOL X Image
       TTF P  r--  TrueType font
       TXT S  rw+  Text
       UIL S  -w-  X-Motif UIL table
      UYVY S  rw-  16bit/pixel interleaved YUV
       VDA S  rw+  Truevision Targa image
     VICAR S  rw-  VICAR rasterfile format
       VID S  rw+  Visual Image Directory
      VIFF S  rw+  Khoros Visualization image
       VST S  rw+  Truevision Targa image
      WBMP S  rw-  Wireless Bitmap (level 0) image
       WMF S  r--  Windows Meta File
             Use density to adjust scale (default 72DPI). Use background or
             texture to apply a background color or texture under the image.
       WPG S  r--  Word Perfect Graphics
         X S  rw-  X Window System
       XBM S  rw-  X Windows system bitmap (black/white)
        XC P  r--  Constant image uniform color
       XCF S  r--  GIMP image
       XMP P  rw-  Adobe XML metadata
       XPM S  rw-  X Windows system pixmap (color)
        XV S  rw+  Khoros Visualization image
       XWD S  rw-  X Windows system window dump (color)
       YUV S  rw-  CCIR 601 4:1:1 or 4:2:2 (8-bit only)

  Meaning of 'L': P=Primary, S=Stable, U=Unstable

I would appreciate hearing any comments about this feature and these 
preliminary format classifications.

Bob
======================================
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php