GraphicsMagick: magick/magic.c: Add a Magic description field. T...
GraphicsMagick Commits <[email protected]> Mon, 03 Feb 2025 15:22:23 -0600
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.51249.1738617763.8001.graphicsmagick-commit@lists.sourceforge.net> |
changeset d1810a5bf3a3 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=d1810a5bf3a3 summary: magick/magic.c: Add a Magic description field. Trace magic. diffstat: ChangeLog | 7 + VisualMagick/installer/inc/version.isx | 4 +- magick/magic.c | 237 +++++++++++++++++--------------- magick/version.h | 4 +- www/ChangeLog.html | 9 + 5 files changed, 143 insertions(+), 118 deletions(-) diffs (318 lines): diff -r 339ea5233db0 -r d1810a5bf3a3 ChangeLog --- a/ChangeLog Wed Jan 29 15:19:59 2025 -0600 +++ b/ChangeLog Mon Feb 03 15:19:48 2025 -0600 @@ -1,3 +1,10 @@ +2025-02-03 Bob Friesenhahn <[email protected]> + + * magick/magic.c: Add a Magic description field in order to help + identify and document format variants based on header magic. + (GetMagickFileFormat): Trace the format description at Coder + level. + 2025-01-29 Bob Friesenhahn <[email protected]> * coders/png.c (WriteOnePNGImage): Ignore exessively short ICM diff -r 339ea5233db0 -r d1810a5bf3a3 VisualMagick/installer/inc/version.isx --- a/VisualMagick/installer/inc/version.isx Wed Jan 29 15:19:59 2025 -0600 +++ b/VisualMagick/installer/inc/version.isx Mon Feb 03 15:19:48 2025 -0600 @@ -10,5 +10,5 @@ #define public MagickPackageName "GraphicsMagick" #define public MagickPackageVersion "1.4" -#define public MagickPackageVersionAddendum ".020250129" -#define public MagickPackageReleaseDate "snapshot-20250129" +#define public MagickPackageVersionAddendum ".020250203" +#define public MagickPackageReleaseDate "snapshot-20250203" diff -r 339ea5233db0 -r d1810a5bf3a3 magick/magic.c --- a/magick/magic.c Wed Jan 29 15:19:59 2025 -0600 +++ b/magick/magic.c Mon Feb 03 15:19:48 2025 -0600 @@ -52,125 +52,128 @@ const unsigned char * const magic; + const char + * description; + unsigned short length, offset; } StaticMagic[] = { -#define MAGIC(name,offset,magic) {name,(const unsigned char * const)magic,sizeof(magic)-1,offset} - MAGIC("WEBP", 8, "WEBP"), - MAGIC("AVIF", 4, "ftypavif"), /* HEIF: AV1 image */ - MAGIC("AVIF", 4, "ftypavis"), /* HEIF: AV1 image sequence */ - /* MAGIC("AVI", 0, "RIFF"), */ - MAGIC("8BIMWTEXT", 0, "8\000B\000I\000M\000#"), - MAGIC("8BIMTEXT", 0, "8BIM#"), - MAGIC("8BIM", 0, "8BIM"), - MAGIC("BMP", 0, "BA"), - MAGIC("BMP", 0, "BM"), - MAGIC("BMP", 0, "CI"), - MAGIC("BMP", 0, "CP"), - MAGIC("BMP", 0, "IC"), - MAGIC("BMP", 0, "PI"), - MAGIC("CALS", 21, "version: MIL-STD-1840"), - MAGIC("CALS", 0, "srcdocid:"), - MAGIC("CALS", 9, "srcdocid:"), - MAGIC("CALS", 8, "rorient:"), - MAGIC("CGM", 0, "BEGMF"), - MAGIC("CIN", 0, "\200\052\137\327"), - MAGIC("DCM", 128, "DICM"), - MAGIC("DCX", 0, "\261\150\336\72"), - MAGIC("DIB", 0, "\050\000"), - MAGIC("DOT", 0, "digraph"), - MAGIC("DPX", 0, "SDPX"), - MAGIC("DPX", 0, "XPDS"), - MAGIC("EMF", 40, "\040\105\115\106\000\000\001\000"), - MAGIC("EPT", 0, "\305\320\323\306"), - MAGIC("FAX", 0, "DFAX"), - MAGIC("FIG", 0, "#FIG"), - MAGIC("FITS", 0, "IT0"), - MAGIC("FITS", 0, "SIMPLE"), - MAGIC("FPX", 0, "\320\317\021\340"), - MAGIC("GIF", 0, "GIF8"), - MAGIC("HEIC", 4, "ftypheic"), /* HEIF: A regular heif image */ - MAGIC("HEIC", 4, "ftypheix"), /* HEIF: Extended range (>8 bit) image */ - MAGIC("HEIF", 4, "ftyphevc"), /* HEIF: Image sequence */ - MAGIC("HEIF", 4, "ftypheim"), /* HEIF: Image sequence */ - MAGIC("HEIF", 4, "ftypheis"), /* HEIF: Scalable image */ - MAGIC("HEIF", 4, "ftyphevm"), /* HEIF: Multiview sequence */ - MAGIC("HEIF", 4, "ftyphevs"), /* HEIF: Scalable sequence*/ - MAGIC("HEIC", 4, "ftypmif1"), /* HEIF: Nokia alpha_ image */ - MAGIC("HEIC", 4, "ftypmsf1"), /* HEIF: Nokia animation image */ - MAGIC("HDF", 1, "HDF"), - MAGIC("HPGL", 0, "IN;"), - MAGIC("HTML", 1, "HTML"), - MAGIC("HTML", 1, "html"), - MAGIC("ILBM", 8, "ILBM"), - MAGIC("IPTCWTEXT", 0, "\062\000#\000\060\000=\000\042\000&\000#\000\060\000;\000&\000#\000\062\000;\000\042\000"), - MAGIC("IPTCTEXT", 0, "2#0=\042�\042"), - MAGIC("IPTC", 0, "\034\002"), - MAGIC("JNG", 0, "\213JNG\r\n\032\n"), - MAGIC("JPEG", 0, "\377\330\377"), - MAGIC("JPC", 0, "\377\117"), - MAGIC("JP2", 4, "\152\120\040\040\015"), - MAGIC("JXL", 0, "\xff\x0a"), - MAGIC("JXL", 0, "\x00\x00\x00\x0c\x4a\x58\x4c\x20\x0d\x0a\x87\x0a"), - MAGIC("MAT", 0, "MATLAB 5.0 MAT-file,"), - MAGIC("MIFF", 0, "Id=ImageMagick"), - MAGIC("MIFF", 0, "id=ImageMagick"), - MAGIC("MNG", 0, "\212MNG\r\n\032\n"), - MAGIC("MPC", 0, "id=MagickCache"), - MAGIC("MPEG", 0, "\000\000\001\263"), - MAGIC("PCD", 2048, "PCD_"), - MAGIC("PCL", 0, "\033E\033"), - MAGIC("PCX", 0, "\012\002"), - MAGIC("PCX", 0, "\012\005"), - MAGIC("PDB", 60, "vIMGView"), - MAGIC("PDF", 0, "%PDF-"), - MAGIC("PFA", 0, "%!PS-AdobeFont-1.0"), - MAGIC("PFB", 6, "%!PS-AdobeFont-1.0"), - MAGIC("PGX", 0, "PG ML"), - MAGIC("PGX", 0, "PG LM"), - MAGIC("PICT", 522, "\000\021\002\377\014\000"), - MAGIC("PNG", 0, "\211PNG\r\n\032\n"), - MAGIC("PBM", 0, "P1"), - MAGIC("PGM", 0, "P2"), - MAGIC("PPM", 0, "P3"), - MAGIC("PBM", 0, "P4"), - MAGIC("PGM", 0, "P5"), - MAGIC("PPM", 0, "P6"), - MAGIC("P7", 0, "P7 332"), /* XV Thumbnail */ - MAGIC("PAM", 0, "P7"), /* Should be listed after "P7 332" */ - MAGIC("PS", 0, "%!"), - MAGIC("PS", 0, "\004%!"), - MAGIC("PS", 0, "\305\320\323\306"), - MAGIC("PSD", 0, "8BPS"), - MAGIC("PWP", 0, "SFW95"), - MAGIC("RAD", 0, "#?RADIANCE"), - MAGIC("RAD", 0, "VIEW= "), - MAGIC("RLE", 0, "\122\314"), - MAGIC("SCT", 0, "CT"), - MAGIC("SFW", 0, "SFW94"), - MAGIC("SGI", 0, "\001\332"), - MAGIC("SUN", 0, "\131\246\152\225"), - MAGIC("SVG", 1, "?XML"), - MAGIC("SVG", 1, "?xml"), - MAGIC("TIFF", 0, "\115\115\000\052"), - MAGIC("TIFF", 0, "\111\111\052\000"), - MAGIC("TOPOL", 0, " "), - MAGIC("BIGTIFF", 0, "\115\115\000\053\000\010\000\000"), - MAGIC("BIGTIFF", 0, "\111\111\053\000\010\000\000\000"), - MAGIC("VICAR", 0, "LBLSIZE"), - MAGIC("VICAR", 0, "NJPL1I"), - MAGIC("VIFF", 0, "\253\001"), - MAGIC("WMF", 0, "\327\315\306\232"), - MAGIC("WMF", 0, "\001\000\011\000"), - MAGIC("WPG", 0, "\377WPC"), - MAGIC("XBM", 0, "#define"), - MAGIC("XCF", 0, "gimp xcf"), - MAGIC("XPM", 1, "* XPM *"), - MAGIC("XWD", 4, "\007\000\000"), - MAGIC("XWD", 5, "\000\000\007") +#define MAGIC(name,description,offset,magic) {name,(const unsigned char * const)magic,description, sizeof(magic)-1,offset} + MAGIC("WEBP", "WebP Image Format", 8, "WEBP"), + MAGIC("AVIF", "HEIF AV1 image", 4, "ftypavif"), + MAGIC("AVIF", "HEIF AV1 image sequence", 4, "ftypavis"), + /* MAGIC("AVI", "", 0, "RIFF"), */ + MAGIC("8BIMWTEXT", "Photoshop resource wide text format", 0, "8\000B\000I\000M\000#"), + MAGIC("8BIMTEXT", "Photoshop resource text format", 0, "8BIM#"), + MAGIC("8BIM", "Photoshop resource format", 0, "8BIM"), + MAGIC("BMP", "BMP BA", 0, "BA"), + MAGIC("BMP", "BMP BM", 0, "BM"), + MAGIC("BMP", "BMP CI", 0, "CI"), + MAGIC("BMP", "BMP CP", 0, "CP"), + MAGIC("BMP", "BMP IC", 0, "IC"), + MAGIC("BMP", "BMP PI", 0, "PI"), + MAGIC("CALS", "Continuous Acquisition and Life-cycle Support Type 1 image", 21, "version: MIL-STD-1840"), + MAGIC("CALS", "Continuous Acquisition and Life-cycle Support Type 1 image", 0, "srcdocid:"), + MAGIC("CALS", "Continuous Acquisition and Life-cycle Support Type 1 image", 9, "srcdocid:"), + MAGIC("CALS", "Continuous Acquisition and Life-cycle Support Type 1 image", 8, "rorient:"), + MAGIC("CGM", "Computer Graphics Metaformat", 0, "BEGMF"), + MAGIC("CIN", "Cineon Image File", 0, "\200\052\137\327"), + MAGIC("DCM", "DICOM", 128, "DICM"), + MAGIC("DCX", "ZSoft IBM PC multi-page Paintbrush", 0, "\261\150\336\72"), + MAGIC("DIB", "Microsoft DIB", 0, "\050\000"), + MAGIC("DOT", "Graphviz DOT", 0, "digraph"), + MAGIC("DPX", "SMPTE 268M-2003 (DPX 2.0)", 0, "SDPX"), + MAGIC("DPX", "SMPTE 268M-2003 (DPX 2.0)", 0, "XPDS"), + MAGIC("EMF", "Microsoft EMF", 40, "\040\105\115\106\000\000\001\000"), + MAGIC("EPT", "Adobe Encapsulated PostScript with MS-DOS TIFF preview", 0, "\305\320\323\306"), + MAGIC("FAX", "Group 3 FAX", 0, "DFAX"), + MAGIC("FIG", "Xfig", 0, "#FIG"), + MAGIC("FITS", "Flexible Image Transport System", 0, "IT0"), + MAGIC("FITS", "Flexible Image Transport System", 0, "SIMPLE"), + MAGIC("FPX", "FlashPIX", 0, "\320\317\021\340"), + MAGIC("GIF", "CompuServe graphics interchange format", 0, "GIF8"), + MAGIC("HEIC", "HEIF - A regular heif image", 4, "ftypheic"), + MAGIC("HEIC", "HEIF - Extended range (>8 bit) image", 4, "ftypheix"), + MAGIC("HEIF", "HEIF - Image sequence", 4, "ftyphevc"), + MAGIC("HEIF", "HEIF - Image sequence", 4, "ftypheim"), + MAGIC("HEIF", "HEIF - Scalable image", 4, "ftypheis"), + MAGIC("HEIF", "HEIF - Multiview sequence", 4, "ftyphevm"), + MAGIC("HEIF", "HEIF - Scalable sequence", 4, "ftyphevs"), + MAGIC("HEIC", "HEIF - Nokia alpha image", 4, "ftypmif1"), + MAGIC("HEIC", "HEIF - Nokia animation image", 4, "ftypmsf1"), + MAGIC("HDF", "Heirarchical Data Format", 1, "HDF"), + MAGIC("HPGL", "HP Graphics Language", 0, "IN;"), + MAGIC("HTML", "Hypertext Markup Language", 1, "HTML"), + MAGIC("HTML", "Hypertext Markup Language", 1, "html"), + MAGIC("ILBM", "", 8, "ILBM"), + MAGIC("IPTCWTEXT", "IPTC Newsphoto wide text format", 0, "\062\000#\000\060\000=\000\042\000&\000#\000\060\000;\000&\000#\000\062\000;\000\042\000"), + MAGIC("IPTCTEXT", "IPTC Newsphoto text format", 0, "2#0=\042�\042"), + MAGIC("IPTC", "IPTC Newsphoto", 0, "\034\002"), + MAGIC("JNG", "JPEG Network Graphics", 0, "\213JNG\r\n\032\n"), + MAGIC("JPEG", "Joint Photographic Experts Group JFIF format", 0, "\377\330\377"), + MAGIC("JPC", "JPEG-2000 Code Stream Syntax", 0, "\377\117"), + MAGIC("JP2", "JPEG-2000 JP2 File Format", 4, "\152\120\040\040\015"), + MAGIC("JXL", "JPEG XL Image Format", 0, "\xff\x0a"), + MAGIC("JXL", "JPEG XL Image Format", 0, "\x00\x00\x00\x0c\x4a\x58\x4c\x20\x0d\x0a\x87\x0a"), + MAGIC("MAT", "MATLAB Level 4.0-7.0 image format", 0, "MATLAB 5.0 MAT-file,"), + MAGIC("MIFF", "Magick Image File Format", 0, "Id=ImageMagick"), + MAGIC("MIFF", "Magick Image File Format", 0, "id=ImageMagick"), + MAGIC("MNG", "Multiple-image Network Graphics", 0, "\212MNG\r\n\032\n"), + MAGIC("MPC", "Magick Persistent Cache image format", 0, "id=MagickCache"), + MAGIC("MPEG", "MPEG Video Stream", 0, "\000\000\001\263"), + MAGIC("PCD", "Adobe Photo CD", 2048, "PCD_"), + MAGIC("PCL", "HP Page Control Language", 0, "\033E\033"), + MAGIC("PCX", "ZSoft IBM PC Paintbrush", 0, "\012\002"), + MAGIC("PCX", "ZSoft IBM PC Paintbrush", 0, "\012\005"), + MAGIC("PDB", "Palm Database ImageViewer Format", 60, "vIMGView"), + MAGIC("PDF", "Portable Document Format", 0, "%PDF-"), + MAGIC("PFA", "Postscript Type 1 font (ASCII)", 0, "%!PS-AdobeFont-1.0"), + MAGIC("PFB", "Postscript Type 1 font (binary)", 6, "%!PS-AdobeFont-1.0"), + MAGIC("PGX", "JPEG-2000 VM Format (ML)", 0, "PG ML"), + MAGIC("PGX", "JPEG-2000 VM Format (LM)", 0, "PG LM"), + MAGIC("PICT", "Apple Macintosh QuickDraw/PICT", 522, "\000\021\002\377\014\000"), + MAGIC("PNG", "Portable Network Graphics", 0, "\211PNG\r\n\032\n"), + MAGIC("PBM", "Portable bitmap file format (text)", 0, "P1"), + MAGIC("PGM", "Portable graymap file format (text)", 0, "P2"), + MAGIC("PPM", "Portable pixmap file format (text)", 0, "P3"), + MAGIC("PBM", "Portable bitmap file format (binary)", 0, "P4"), + MAGIC("PGM", "Portable graymap file format (binary)", 0, "P5"), + MAGIC("PPM", "Portable pixmap file format (binary)", 0, "P6"), + MAGIC("P7", "XV Thumbnail (P7 332)", 0, "P7 332"), /* XV Thumbnail */ + MAGIC("PAM", "XV Thumbnail (P7)", 0, "P7"), /* Should be listed after "P7 332" */ + MAGIC("PS", "Adobe Postscript", 0, "%!"), + MAGIC("PS", "Adobe Postscript", 0, "\004%!"), + MAGIC("PS", "Adobe Postscript", 0, "\305\320\323\306"), + MAGIC("PSD", "Photoshop PSD", 0, "8BPS"), + MAGIC("PWP", "Seattle Film Works", 0, "SFW95"), + MAGIC("RAD", "Radiance", 0, "#?RADIANCE"), + MAGIC("RAD", "Radiance", 0, "VIEW= "), + MAGIC("RLE", "Utah Run length encoded image", 0, "\122\314"), + MAGIC("SCT", "Scitex HandShake", 0, "CT"), + MAGIC("SFW", "Seattle Film Work", 0, "SFW94"), + MAGIC("SGI", "Irix RGB image", 0, "\001\332"), + MAGIC("SUN", "SUN Rasterfile", 0, "\131\246\152\225"), + MAGIC("SVG", "Scalable Vector Graphics", 1, "?XML"), + MAGIC("SVG", "Scalable Vector Graphics", 1, "?xml"), + MAGIC("TIFF", "Tagged Image File Format", 0, "\115\115\000\052"), + MAGIC("TIFF", "Tagged Image File Format", 0, "\111\111\052\000"), + MAGIC("TOPOL", "TopoL X Image", 0, " "), + MAGIC("BIGTIFF", "Tagged Image File Format (64 bit)", 0, "\115\115\000\053\000\010\000\000"), + MAGIC("BIGTIFF", "Tagged Image File Format (64 bit)", 0, "\111\111\053\000\010\000\000\000"), + MAGIC("VICAR", "VICAR rasterfile format (LBLSIZE)", 0, "LBLSIZE"), + MAGIC("VICAR", "VICAR rasterfile format (NJPL1I)", 0, "NJPL1I"), + MAGIC("VIFF","Khoros Visualization image", 0, "\253\001"), + MAGIC("WMF", "Windows Meta File", 0, "\327\315\306\232"), + MAGIC("WMF", "Windows Meta File", 0, "\001\000\011\000"), + MAGIC("WPG", "Word Perfect Graphics", 0, "\377WPC"), + MAGIC("XBM", "X Windows system bitmap", 0, "#define"), + MAGIC("XCF", "GIMP XCF", 0, "gimp xcf"), + MAGIC("XPM", "X Windows system pixmap", 1, "* XPM *"), + MAGIC("XWD", "X Windows system window dump", 4, "\007\000\000"), + MAGIC("XWD", "X Windows system window dump", 5, "\000\000\007") }; /* @@ -271,7 +274,13 @@ StaticMagic[i].length) == 0)) { if (strlcpy(format,StaticMagic[i].name,format_length) < format_length) - status=MagickPass; + { + (void) LogMagickEvent(CoderEvent,GetMagickModule(), + "Magick: %s (\"%s\")", + StaticMagic[i].name, + StaticMagic[i].description); + status=MagickPass; + } break; } } diff -r 339ea5233db0 -r d1810a5bf3a3 magick/version.h --- a/magick/version.h Wed Jan 29 15:19:59 2025 -0600 +++ b/magick/version.h Mon Feb 03 15:19:48 2025 -0600 @@ -38,8 +38,8 @@ #define MagickLibVersion 0x282502 #define MagickLibVersionText "1.4" #define MagickLibVersionNumber 28,25,2 -#define MagickChangeDate "20250129" -#define MagickReleaseDate "snapshot-20250129" +#define MagickChangeDate "20250203" +#define MagickReleaseDate "snapshot-20250203" /* The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines diff -r 339ea5233db0 -r d1810a5bf3a3 www/ChangeLog.html --- a/www/ChangeLog.html Wed Jan 29 15:19:59 2025 -0600 +++ b/www/ChangeLog.html Mon Feb 03 15:19:48 2025 -0600 @@ -38,6 +38,15 @@ <main id="graphicsmagick-changelog"> <h1 class="title">GraphicsMagick ChangeLog</h1> +<p>2025-02-03 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> +<blockquote> +<ul class="simple"> +<li><p>magick/magic.c: Add a Magic description field in order to help +identify and document format variants based on header magic. +(GetMagickFileFormat): Trace the format description at Coder +level.</p></li> +</ul> +</blockquote> <p>2025-01-29 Bob Friesenhahn <<a class="reference external" href="mailto:bfriesen%40simple.dallas.tx.us">bfriesen<span>@</span>simple<span>.</span>dallas<span>.</span>tx<span>.</span>us</a>></p> <blockquote> <ul class="simple">