[GM-commit] GraphicsMagick: 3 new changesets
Swiss army knife of image processing
Brought to you by:
bfriesen
|
From: GraphicsMagick C. <gra...@li...> - 2024-12-05 14:19:31
|
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 <bfr...@si...> + + * 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 <bfr...@si...> * 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 <<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>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 <<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"> |