GraphicsMagick: 3 new changesets

GraphicsMagick Commits <[email protected]> Thu, 05 Dec 2024 08:19:15 -0600
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.39442.1733408372.7812.graphicsmagick-commit@lists.sourceforge.net>
changeset 9aa38fc8c683 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9aa38fc8c683
summary: fuzzing/README.txt: Add notes about building libheif dependencies.

changeset b62c363aed81 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=b62c363aed81
summary: ReadHEIFImage(): Trace the top level number of images.

changeset 766c366df86d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=766c366df86d
summary: fuzzing/oss-fuzz-build.sh: Remove duplicate request.

diffstat:

 ChangeLog                              |  10 +++++
 VisualMagick/installer/inc/version.isx |   4 +-
 coders/heif.c                          |  14 ++++++-
 fuzzing/README.txt                     |  60 ++++++++++++++++++++++++++++++++++
 fuzzing/oss-fuzz-build.sh              |   1 -
 magick/version.h                       |   4 +-
 www/ChangeLog.html                     |  10 +++++
 7 files changed, 95 insertions(+), 8 deletions(-)

diffs (164 lines):

diff -r 8c8c7256924a -r 766c366df86d ChangeLog
--- a/ChangeLog	Sun Dec 01 11:23:56 2024 -0600
+++ b/ChangeLog	Thu Dec 05 08:18:29 2024 -0600
@@ -1,3 +1,13 @@
+2024-12-05  Bob Friesenhahn  <[email protected]>
+
+	* fuzzing/oss-fuzz-build.sh: Remove duplicate request.
+
+	* coders/heif.c (ReadHEIFImage): Trace the top level number of
+	images.
+
+	* fuzzing/README.txt: Add notes about building libheif
+	dependencies.
+
 2024-12-01  Bob Friesenhahn  <[email protected]>
 
 	* fuzzing/oss-fuzz-build.sh: Enable 'uncompressed' in libheif
diff -r 8c8c7256924a -r 766c366df86d VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun Dec 01 11:23:56 2024 -0600
+++ b/VisualMagick/installer/inc/version.isx	Thu Dec 05 08:18:29 2024 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020241201"
-#define public MagickPackageReleaseDate "snapshot-20241201"
+#define public MagickPackageVersionAddendum ".020241205"
+#define public MagickPackageReleaseDate "snapshot-20241205"
diff -r 8c8c7256924a -r 766c366df86d coders/heif.c
--- a/coders/heif.c	Sun Dec 01 11:23:56 2024 -0600
+++ b/coders/heif.c	Thu Dec 05 08:18:29 2024 -0600
@@ -568,9 +568,17 @@
       ThrowHEIFReaderException(CorruptImageError, AnErrorHasOccurredReadingFromFile, image);
     }
 
-  /* no support for reading multiple images but could be added */
-  if (heif_context_get_number_of_top_level_images(heif) != 1)
-    ThrowHEIFReaderException(CoderError, NumberOfImagesIsNotSupported, image);
+  /* FIXME: no support for reading multiple images but should be added */
+  {
+    int number_of_top_level_images;
+    number_of_top_level_images=heif_context_get_number_of_top_level_images(heif);
+    if (image->logging)
+      (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+                            "heif_context_get_number_of_top_level_images() reports %d images",
+                            number_of_top_level_images);
+    if (number_of_top_level_images != 1)
+      ThrowHEIFReaderException(CoderError, NumberOfImagesIsNotSupported, image);
+  }
 
   heif_status=heif_context_get_primary_image_handle(heif, &heif_image_handle);
   if (heif_status.code == heif_error_Memory_allocation_error)
diff -r 8c8c7256924a -r 766c366df86d fuzzing/README.txt
--- a/fuzzing/README.txt	Sun Dec 01 11:23:56 2024 -0600
+++ b/fuzzing/README.txt	Thu Dec 05 08:18:29 2024 -0600
@@ -91,3 +91,63 @@
   Then use 'compile 2>&1 | tee build.log'.  This executes
   /src/build.sh while in the initial "/src/graphicsmagick" directory
   but does some other things as well.
+
+
+Building libheif (and dependencies) for development
+---------------------------------------------------
+
+de265
++++++
+
+With sources under /home/bfriesen/src/libde265::
+
+  /home/bfriesen/src/libde265/configure --prefix=/usr/local CC=gcc CXX=g++ CFLAGS='-O -g' CXXFLAGS='-O -g'
+
+x265
+++++
+
+With sources under /home/bfriesen/src/x265-stable::
+
+  cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS='-O -g' -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS='-O -g' -DCMAKE_INSTALL_RPATH='/usr/local/lib' -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DENABLE_ASSEMBLY:BOOL=ON -DX265_LATEST_TAG=TRUE /home/bfriesen/src/x265-stable/source
+  make -j 8
+  make install
+
+openh264
+++++++++
+
+The openh264 build is based on a well-designed pure GNU Makefile.
+
+With sources under /home/bfriesen/src/openh264::
+
+  mkdir openh264
+  cd openh264
+  make -j 8 -f /home/bfriesen/src/openh264/Makefile OS=linux CC=gcc CXX=g++ CFLAGS_OPT='-O3' LDFLAGS='-Wl,-rpath=/usr/local/lib' ARCH=x86_64 USE_ASM=No BUILDTYPE=Release PREFIX=/usr/local clean
+  make -j 8 -f /home/bfriesen/src/openh264/Makefile OS=linux CC=gcc CXX=g++ CFLAGS_OPT='-O3' LDFLAGS='-Wl,-rpath=/usr/local/lib' ARCH=x86_64 USE_ASM=No BUILDTYPE=Release PREFIX=/usr/local
+  make -j 8 -f /home/bfriesen/src/openh264/Makefile OS=linux CC=gcc CXX=g++ CFLAGS_OPT='-O3' LDFLAGS='-Wl,-rpath=/usr/local/lib' ARCH=x86_64 USE_ASM=No BUILDTYPE=Release PREFIX=/usr/local install
+
+aom
++++
+
+With sources under /home/bfriesen/src/aom::
+
+  cmake -G "Unix Makefiles" -DAOM_TARGET_CPU=generic -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS='-O -g' -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS='-O -g' -DCMAKE_INSTALL_RPATH='/usr/local/lib' -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DBUILD_SHARED_LIBS=TRUE  /home/bfriesen/src/aom
+  make -j 8
+  make install
+
+openjpeg
+++++++++
+
+With sources under /home/bfriesen/src/openjpeg::
+
+  cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS='-O -g' -DCMAKE_INSTALL_RPATH='/usr/local/lib' -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON /home/bfriesen/src/openjpeg
+  make -j 8
+  make install
+
+libheif
++++++++
+
+With sources under /home/bfriesen/src/libheif::
+
+  cmake -DBUILD_SHARED_LIBS=on -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS='-O -g' -DCMAKE_C_COMPILER=gcc -DCMAKE_C_FLAGS='-O -g' -DCMAKE_INSTALL_RPATH='/usr/local/lib' -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DWITH_JPEG_DECODER=on -DWITH_JPEG_ENCODER=on -DWITH_OpenJPEG_ENCODER=on -DWITH_OpenJPEG_DECODER=on -DWITH_UNCOMPRESSED_CODEC=on /home/bfriesen/src/libheif
+  make -j 8
+  make install
diff -r 8c8c7256924a -r 766c366df86d fuzzing/oss-fuzz-build.sh
--- a/fuzzing/oss-fuzz-build.sh	Sun Dec 01 11:23:56 2024 -0600
+++ b/fuzzing/oss-fuzz-build.sh	Thu Dec 05 08:18:29 2024 -0600
@@ -469,7 +469,6 @@
                      -DCMAKE_C_FLAGS="$CFLAGS -fPIC" \
                      -DCMAKE_INSTALL_PREFIX="$WORK" \
                      -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
-                     -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
                      -DENABLE_ASSEMBLY:BOOL=OFF \
                      -DENABLE_SHARED:STRING=off \
                      -DX265_LATEST_TAG=TRUE \
diff -r 8c8c7256924a -r 766c366df86d magick/version.h
--- a/magick/version.h	Sun Dec 01 11:23:56 2024 -0600
+++ b/magick/version.h	Thu Dec 05 08:18:29 2024 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x282502
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 28,25,2
-#define MagickChangeDate   "20241201"
-#define MagickReleaseDate  "snapshot-20241201"
+#define MagickChangeDate   "20241205"
+#define MagickReleaseDate  "snapshot-20241205"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 8c8c7256924a -r 766c366df86d www/ChangeLog.html
--- a/www/ChangeLog.html	Sun Dec 01 11:23:56 2024 -0600
+++ b/www/ChangeLog.html	Thu Dec 05 08:18:29 2024 -0600
@@ -38,6 +38,16 @@
 
 <main id="graphicsmagick-changelog">
 <h1 class="title">GraphicsMagick ChangeLog</h1>
+<p>2024-12-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>fuzzing/oss-fuzz-build.sh: Remove duplicate request.</p></li>
+<li><p>coders/heif.c (ReadHEIFImage): Trace the top level number of
+images.</p></li>
+<li><p>fuzzing/README.txt: Add notes about building libheif
+dependencies.</p></li>
+</ul>
+</blockquote>
 <p>2024-12-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">