[-]
[+]
|
Changed |
_service:tar_git:ImageMagick.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -1,7 +1,7 @@
<services>
<service name="tar_git">
<param name="url">https://github.com/sailfishos-chum/ImageMagick.git</param>
- <param name="revision">7.1.1.23+obs1.1</param>
+ <param name="revision">7.1.1.27+obs1.1</param>
<!--
<param name="branch">obs</param>
-->
|
[-]
[+]
|
Deleted |
_service:tar_git:ImageMagick-7.1.1.23+obs1.1.tar.xz/upstream/Magick++/fuzz/build.sh
^
|
@@ -1,23 +0,0 @@
-#!/bin/bash -eu
-
-MAGICK_COMPILER=$CXX
-MAGICK_COMPILER_FLAGS=$CXXFLAGS
-MAGICK_INCLUDE="$WORK/include/ImageMagick-7"
-MAGICK_SRC="$SRC/imagemagick/Magick++/fuzz"
-MAGICK_LIBS_NO_FUZZ="$WORK/lib/libMagick++-7.Q16HDRI.a $WORK/lib/libMagickWand-7.Q16HDRI.a $WORK/lib/libMagickCore-7.Q16HDRI.a $WORK/lib/libpng.a $WORK/lib/libtiff.a $WORK/lib/libheif.a $WORK/lib/libde265.a $WORK/lib/libopenjp2.a $WORK/lib/libwebp.a $WORK/lib/libwebpmux.a $WORK/lib/libwebpdemux.a $WORK/lib/libsharpyuv.a $WORK/lib/libhwy.a $WORK/lib/libbrotlicommon.a $WORK/lib/libbrotlidec.a $WORK/lib/libbrotlienc.a $WORK/lib/libjxl_threads.a $WORK/lib/libjxl.a $WORK/lib/libturbojpeg.a $WORK/lib/libjpeg.a $WORK/lib/libfreetype.a $WORK/lib/libraw.a $WORK/lib/liblzma.a $WORK/lib/liblcms2.a $WORK/lib/libz.a"
-MAGICK_LIBS="$LIB_FUZZING_ENGINE $MAGICK_LIBS_NO_FUZZ"
-MAGICK_OUTPUT=$OUT
-MAGICK_FAST_BUILD=0
-
-. $MAGICK_SRC/build_dependencies.sh
-. $MAGICK_SRC/build_imagemagick.sh
-. $MAGICK_SRC/build_fuzzers.sh
-
-mkdir afl_testcases
-(cd afl_testcases; tar xvf "$SRC/afl_testcases.tgz")
-for format in gif jpg png bmp ico webp tif; do
- mkdir $format
- find afl_testcases -type f -name '*.'$format -exec mv -n {} $format/ \;
- zip -rj $format.zip $format/
- cp $format.zip "$OUT/encoder_${format}_fuzzer_seed_corpus.zip"
-done
|
[-]
[+]
|
Deleted |
_service:tar_git:ImageMagick-7.1.1.23+obs1.1.tar.xz/upstream/Magick++/fuzz/build_dependencies.sh
^
|
@@ -1,101 +0,0 @@
-#!/bin/bash -eu
-
-# build zlib
-pushd "$SRC/zlib"
-./configure --static --prefix="$WORK"
-make -j$(nproc) CFLAGS="$CFLAGS -fPIC"
-make install
-popd
-
-# Build xz
-pushd "$SRC/xz"
-./autogen.sh --no-po4a --no-doxygen
-./configure --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-lzma-links --disable-ifunc --disable-scripts --disable-doc --disable-shared --with-pic=yes --prefix="$WORK"
-make -j$(nproc)
-make install
-popd
-
-# Build png
-pushd "$SRC/libpng"
-cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DPNG_SHARED=off
-make -j$(nproc)
-make install
-popd
-
-# Build libjpeg-turbo
-pushd "$SRC/libjpeg-turbo"
-CFLAGS="$CFLAGS -fPIC" cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DENABLE_STATIC=on -DENABLE_SHARED=off
-make -j$(nproc)
-make install
-popd
-
-# Build libtiff
-pushd "$SRC/libtiff"
-autoreconf -fiv
-./configure --disable-shared --prefix="$WORK"
-make -j$(nproc)
-make install
-popd
-
-# Build liblcms2
-pushd "$SRC/Little-CMS"
-autoreconf -fiv
-./configure --disable-shared --prefix="$WORK"
-make -j$(nproc)
-make install
-popd
-
-# build libraw
-pushd "$SRC/libraw"
-autoreconf -fiv
-./configure --prefix="$WORK" --disable-shared --with-pic=yes --disable-examples PKG_CONFIG_PATH="$WORK/lib/pkgconfig" CXXFLAGS="$CXXFLAGS -DLIBRAW_USE_CALLOC_INSTEAD_OF_MALLOC=on"
-make -j$(nproc)
-make install
-popd
-
-# Build freetype2
-pushd "$SRC/freetype"
-./autogen.sh
-./configure --prefix="$WORK" --disable-shared PKG_CONFIG_PATH="$WORK/lib/pkgconfig"
-make -j$(nproc)
-make install
-popd
-
-# Build libde265
-pushd "$SRC/libde265"
-./autogen.sh
-./configure --disable-shared --prefix="$WORK"
-make -j$(nproc)
-make install
-popd
-
-# Build libheif
-pushd "$SRC/libheif"
-cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_SHARED_LIBS=off -DBUILD_TESTING=off -DWITH_EXAMPLES=off -DENABLE_PLUGIN_LOADING=off -DWITH_JPEG_DECODER=off -DWITH_JPEG_ENCODER=off -DCMAKE_BUILD_TYPE=Release
-make -j$(nproc)
-make install
-popd
-
-# Build webp
-pushd "$SRC/libwebp"
-./autogen.sh
-./configure --disable-shared --disable-png --disable-jpeg --disable-tiff --prefix="$WORK"
-make -j$(nproc)
-make install
-popd
-
-# Build openjpg
-pushd "$SRC/openjpeg"
-cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_SHARED_LIBS=off -DBUILD_CODEC=off -DCMAKE_BUILD_TYPE=Release
-make -j$(nproc)
-make install
-popd
-
-# Build libjxl
-pushd "$SRC/libjxl"
-cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_TESTING=off -DBUILD_SHARED_LIBS=false -DJPEGXL_FORCE_SYSTEM_LCMS2=true -DJPEGXL_ENABLE_EXAMPLES=false -DJPEGXL_ENABLE_FUZZERS=false -DJPEGXL_ENABLE_TOOLS=false -DJPEGXL_ENABLE_JPEGLI=false -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS"
-make -j$(nproc)
-make install
-cp third_party/brotli/*.a $WORK/lib
-cp third_party/brotli/*.pc $WORK/lib/pkgconfig
-popd
|
[-]
[+]
|
Deleted |
_service:tar_git:ImageMagick-7.1.1.23+obs1.1.tar.xz/upstream/Magick++/fuzz/build_imagemagick.sh
^
|
@@ -1,6 +0,0 @@
-#!/bin/bash -eu
-
-autoreconf -fiv
-./configure --prefix="$WORK" --disable-shared --disable-docs --with-jxl CFLAGS="$CFLAGS -I$WORK/include" LIBS="-L$WORK/lib -lhwy -lbrotlidec -lbrotlienc -lbrotlicommon -lde265" PKG_CONFIG_PATH="$WORK/lib/pkgconfig"
-make "-j$(nproc)"
-make install
|
[-]
[+]
|
Deleted |
_service:tar_git:ImageMagick-7.1.1.23+obs1.1.tar.xz/upstream/m4/ac_func_fseeko.m4
^
|
@@ -1,72 +0,0 @@
-# This file is part of Autoconf. -*- Autoconf -*-
-# Checking for functions.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
-# Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception, the Free Software Foundation gives unlimited
-# permission to copy, distribute and modify the configure scripts that
-# are the output of Autoconf. You need not follow the terms of the GNU
-# General Public License when using or distributing such scripts, even
-# though portions of the text of Autoconf appear in them. The GNU
-# General Public License (GPL) does govern all other use of the material
-# that constitutes the Autoconf program.
-#
-# Certain portions of the Autoconf source text are designed to be copied
-# (in certain cases, depending on the input) into the output of
-# Autoconf. We call these the "data" portions. The rest of the Autoconf
-# source text consists of comments plus executable code that decides which
-# of the data portions to output in any given case. We call these
-# comments and executable code the "non-data" portions. Autoconf never
-# copies any of the non-data portions into its output.
-#
-# This special exception to the GPL applies to versions of Autoconf
-# released by the Free Software Foundation. When you make and
-# distribute a modified version of Autoconf, you may extend this special
-# exception to the GPL to apply to your modified version as well, *unless*
-# your modified version has the potential to copy into its output some
-# of the text that was the non-data portion of the version that you started
-# with. (In other words, unless your change moves or copies text from
-# the non-data portions to the data portions.) If your modification has
-# such potential, you must delete any notice of this special exception
-# to the GPL from your modified version.
-#
-# Written by David MacKenzie, with help from
-# Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
-# Roland McGrath, Noah Friedman, david d zuhn, and many others.
-
-# AC_FUNC_FSEEKO
-# --------------
-AN_FUNCTION([ftello], [AC_FUNC_FSEEKO])
-AN_FUNCTION([fseeko], [AC_FUNC_FSEEKO])
-AC_DEFUN([AC_FUNC_FSEEKO],
-[_AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1,
- [ac_cv_sys_largefile_source],
- [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).],
- [[#include <sys/types.h> /* for off_t */
- #include <stdio.h>]],
- [[int (*fp) (FILE *, off_t, int) = fseeko;
- return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])
-
-# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
-# in glibc 2.1.3, but that breaks too many other things.
-# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
-if test $ac_cv_sys_largefile_source != unknown; then
- AC_DEFINE(HAVE_FSEEKO, 1,
- [Define to 1 if fseeko (and presumably ftello) exists and is declared.])
-fi
-])# AC_FUNC_FSEEKO
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.devcontainer/security/Dockerfile
^
|
@@ -13,6 +13,7 @@
RUN git clone --depth 1 https://github.com/uclouvain/openjpeg
RUN git clone --depth 1 https://github.com/webmproject/libwebp
RUN git clone --depth 1 https://github.com/madler/zlib
+RUN git clone --depth 1 https://github.com/ebiggers/libdeflate
RUN git clone --depth 1 https://github.com/libjpeg-turbo/libjpeg-turbo
RUN git clone --depth 1 https://github.com/xz-mirror/xz
RUN git clone --depth 1 https://github.com/libraw/libraw
@@ -23,7 +24,7 @@
RUN git clone --depth 1 --recursive https://github.com/libjxl/libjxl
RUN git -c http.sslVerify=false clone https://www.cl.cam.ac.uk/~mgk25/git/jbigkit
-ADD Magick++/fuzz/build_dependencies.sh build_dependencies.sh
+ADD oss-fuzz/build_dependencies.sh build_dependencies.sh
ENV SRC=/ImageMagick/dependencies
ENV WORK=/ImageMagick
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.devcontainer/security/build_imagemagick.sh
^
|
@@ -1,6 +1,6 @@
#!/bin/bash -eu
-./Magick++/fuzz/build_imagemagick.sh
+./oss-fuzz/build_imagemagick.sh
cat <<EOT >> /ImageMagick/etc/ImageMagick-7/policy.xml
<policymap>
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.github/workflows/app-image.yml
^
|
@@ -8,6 +8,8 @@
pull_request:
branches:
- main
+ paths:
+ - '.github/workflows/app-image.yml'
permissions:
contents: write
@@ -18,7 +20,7 @@
name: 'Create AppImage'
runs-on: ubuntu-latest
container:
- image: ubuntu:18.04
+ image: ubuntu:20.04
options: --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined
strategy:
@@ -27,27 +29,26 @@
include:
- compiler: gcc
cxx_compiler: g++
+ packages: gcc g++
- compiler: clang
cxx_compiler: clang++
+ packages: clang
steps:
- name: Install dependencies
run: |
set -e
- apt-get update -y
- apt-get install -y autoconf curl fuse git kmod libbz2-dev libdjvulibre-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev liblcms-dev libopenexr-dev libopenjp2-7-dev libturbojpeg0-dev liblqr-dev libraqm-dev libtiff-dev libwebp-dev libx11-dev libxml2-dev liblzma-dev software-properties-common wget
+ export DEBIAN_FRONTEND=noninteractive
+ apt update -y
+ apt install -y autoconf curl fuse git kmod libbz2-dev libdjvulibre-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev liblcms-dev libopenexr-dev libopenjp2-7-dev libturbojpeg0-dev liblqr-dev libraqm-dev libtiff-dev libwebp-dev libx11-dev libxml2-dev liblzma-dev make software-properties-common wget ${{ matrix.packages }}
add-apt-repository ppa:git-core/ppa -y
- apt-get install -y git
+ apt install -y git
add-apt-repository ppa:strukturag/libheif -y
add-apt-repository ppa:strukturag/libde265 -y
- apt-get install libheif-dev -y
+ apt install libheif-dev -y
- name: Checkout
- uses: actions/checkout@v3
-
- - name: Install ${{ matrix.compiler }}
- if: matrix.compiler == 'clang'
- run: apt-get install -y ${{ matrix.compiler }}
+ uses: actions/checkout@v4
- name: Download AppImage
run: |
@@ -90,7 +91,7 @@
find /appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
- name: Upload ImageMagick AppImage
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: AppImage-${{ matrix.compiler }}
path: artifacts
@@ -104,7 +105,7 @@
steps:
- name: Download artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
path: artifacts
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.github/workflows/codeql-analysis.yml
^
|
@@ -20,7 +20,7 @@
modules: [ 'with-modules', 'without-modules' ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 2
@@ -31,7 +31,7 @@
echo "" > config.status
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: cpp
@@ -40,4 +40,4 @@
make
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.github/workflows/daily.yml
^
|
@@ -16,7 +16,7 @@
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -32,7 +32,7 @@
mv ChangeLog.md artifacts/ChangeLog.md
- name: Upload ChangeLog.md
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: ChangeLog
path: artifacts
@@ -76,7 +76,7 @@
apt-get install -y autoconf libfontconfig1-dev libfreetype6-dev libltdl-dev make pkg-config ${{ matrix.packages }}
- name: Clone msttcorefonts
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: ImageMagick/msttcorefonts
ref: refs/heads/main
@@ -86,7 +86,7 @@
set -e
./install.sh
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Configure ImageMagick
env:
@@ -130,7 +130,7 @@
steps:
- name: Clone ImageMagick-Windows
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -143,7 +143,7 @@
CloneRepositories.cmd https://github.com/ImageMagick shallow
- name: Download ChangeLog.md
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: ChangeLog
path: ImageMagick-Windows\ImageMagick
@@ -181,7 +181,7 @@
steps:
- name: Clone ImageMagick-Windows
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -232,9 +232,9 @@
- name: Prepare git
run: git config --global core.autocrlf false
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.github/workflows/main.yml
^
|
@@ -31,7 +31,7 @@
packages: clang
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Install dependencies
run: |
@@ -62,7 +62,7 @@
runs-on: macos-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Install dependencies
run: |
@@ -92,11 +92,11 @@
platform: [ x86, x64, arm64 ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
path: ImageMagick
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -136,9 +136,9 @@
- name: Prepare git
run: git config --global core.autocrlf false
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/.github/workflows/release.yml
^
|
@@ -21,7 +21,7 @@
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -37,7 +37,7 @@
mv ChangeLog.md artifacts/ChangeLog.md
- name: Upload ChangeLog.md
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: ChangeLog
path: artifacts
@@ -73,7 +73,7 @@
hdri_flag: '-HDRI'
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -86,7 +86,7 @@
CloneRepositories.cmd https://github.com/ImageMagick shallow
- name: Download ChangeLog.md
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: ChangeLog
path: ImageMagick-Windows\ImageMagick
@@ -184,9 +184,19 @@
timestamp-digest: SHA256
timeout: 600
- - uses: actions/upload-artifact@v3
+ - name: Get version
+ id: version
+ shell: pwsh
+ run: |
+ $version = (cat "ImageMagick-Windows\VisualMagick\installer\inc\version.isx" | Select-String "MagickPackageFullVersionText") | Out-String
+ $version = ($version | Select-String '".*"' -AllMatches | Select -Expand Matches | Select -Expand Value | Out-String)
+ $version = $version -Replace "`n|`r|""",""
+ $version = $version -Replace " ","-"
+ echo "version=$version" >> $env:GITHUB_OUTPUT
+
+ - uses: actions/upload-artifact@v4
with:
- name: installers
+ name: 'ImageMagick-${{steps.version.outputs.version}}-installer-${{matrix.quantum}}${{matrix.hdri_flag}}-${{matrix.type}}-${{matrix.platform}}'
path: 'ImageMagick-Windows\VisualMagick\installer\output'
release_windows_source:
@@ -196,7 +206,7 @@
runs-on: windows-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -209,7 +219,7 @@
CloneRepositories.cmd https://github.com/ImageMagick source
- name: Download ChangeLog.md
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: ChangeLog
path: ImageMagick-Windows\ImageMagick
@@ -220,7 +230,7 @@
cd ImageMagick-Windows
7z a ImageMagick-Windows.7z .\source\*
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: ImageMagick-Windows
path: 'ImageMagick-Windows\ImageMagick-Windows.7z'
@@ -251,7 +261,7 @@
hdri_flag: '-HDRI'
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
repository: ImageMagick/ImageMagick-Windows
path: ImageMagick-Windows
@@ -264,7 +274,7 @@
CloneRepositories.cmd https://github.com/ImageMagick shallow
- name: Download ChangeLog.md
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: ChangeLog
path: ImageMagick-Windows\ImageMagick
@@ -339,7 +349,7 @@
$version = $version -Replace " ","-"
echo "version=$version" >> $env:GITHUB_OUTPUT
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: 'ImageMagick-${{steps.package.outputs.version}}-portable-${{matrix.quantum}}${{matrix.hdri_flag}}-${{matrix.platform}}'
path: portable
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/Magick++/bin/Magick++-config.in
^
|
@@ -7,6 +7,9 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+libdir=@libdir@
+pkgconfigdir=@pkgconfigdir@
+export PKG_CONFIG_LIBDIR="${pkgconfigdir}"
usage='Usage: Magick++-config [--cppflags] [--cxxflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/Magick++/lib/Image.cpp
^
|
@@ -2192,7 +2192,7 @@
*newImage;
GetPPException;
- newImage=SeparateImage(image(),channel_,exceptionInfo);
+ newImage=SeparateImage(constImage(),channel_,exceptionInfo);
replaceImage(newImage);
ThrowImageException;
}
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/MagickCore-config.in
^
|
@@ -6,13 +6,16 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+libdir=@libdir@
+pkgconfigdir=@pkgconfigdir@
+export PKG_CONFIG_LIBDIR="${pkgconfigdir}"
usage="\
Usage: MagickCore-config [--cflags] [--cppflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]"
if test $# -eq 0; then
echo "${usage}" 1>&2
- echo "Example: gcc \`MagickCore-config --cflags --cppflags\` -o core core.c \`Magick-config --ldflags --libs\`" 1>&2
+ echo "Example: gcc \`MagickCore-config --cflags --cppflags\` -o core core.c \`MagickCore-config --ldflags --libs\`" 1>&2
exit 1
fi
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/annotate.c
^
|
@@ -1940,8 +1940,12 @@
(draw_info->stroke.alpha == (MagickRealType) TransparentAlpha) &&
(draw_info->stroke_pattern == (Image *) NULL)) ? MagickTrue :
MagickFalse;
- image_view=AcquireAuthenticCacheView(image,exception);
r=bitmap->bitmap.buffer;
+ image_view=AcquireAuthenticCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(status) \
+ magick_number_threads(image,image,bitmap->bitmap.rows,4)
+#endif
for (y=0; y < (ssize_t) bitmap->bitmap.rows; y++)
{
double
@@ -2211,7 +2215,8 @@
unique_file;
MagickBooleanType
- identity;
+ identity,
+ status;
PointInfo
extent,
@@ -2385,7 +2390,12 @@
(void) SetImageAlphaChannel(annotate_image,OpaqueAlphaChannel,
exception);
fill_color=draw_info->fill;
+ status=MagickTrue;
annotate_view=AcquireAuthenticCacheView(annotate_image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(status) \
+ magick_number_threads(annotate_image,annotate_image,annotate_image->rows,4)
+#endif
for (y=0; y < (ssize_t) annotate_image->rows; y++)
{
ssize_t
@@ -2394,10 +2404,15 @@
Quantum
*magick_restrict q;
+ if (status == MagickFalse)
+ continue;
q=GetCacheViewAuthenticPixels(annotate_view,0,y,annotate_image->columns,
1,exception);
if (q == (Quantum *) NULL)
- break;
+ {
+ status=MagickFalse;
+ continue;
+ }
for (x=0; x < (ssize_t) annotate_image->columns; x++)
{
GetFillColor(draw_info,x,y,&fill_color,exception);
@@ -2410,7 +2425,7 @@
}
sync=SyncCacheViewAuthenticPixels(annotate_view,exception);
if (sync == MagickFalse)
- break;
+ status=MagickFalse;
}
annotate_view=DestroyCacheView(annotate_view);
(void) CompositeImage(image,annotate_image,OverCompositeOp,MagickTrue,
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/attribute.c
^
|
@@ -482,7 +482,7 @@
GetPixelInfo(image,&zero);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1568,13 +1568,7 @@
*image_view;
ImageType
- type;
-
- const Quantum
- *p;
-
- ssize_t
- x;
+ type = BilevelType;
ssize_t
y;
@@ -1587,13 +1581,27 @@
return(image->type);
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
return(UndefinedType);
- type=BilevelType;
image_view=AcquireVirtualCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(type) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
+ const Quantum
+ *p;
+
+ ssize_t
+ x;
+
+ if (type == UndefinedType)
+ continue;
p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
if (p == (const Quantum *) NULL)
- break;
+ {
+ type=UndefinedType;
+ continue;
+ }
for (x=0; x < (ssize_t) image->columns; x++)
{
if (IsPixelGray(image,p) == MagickFalse)
@@ -1605,8 +1613,6 @@
type=GrayscaleType;
p+=GetPixelChannels(image);
}
- if (type == UndefinedType)
- break;
}
image_view=DestroyCacheView(image_view);
if ((type == GrayscaleType) && (image->alpha_trait != UndefinedPixelTrait))
@@ -1647,14 +1653,8 @@
CacheView
*image_view;
- MagickBooleanType
- bilevel;
-
- ssize_t
- x;
-
- const Quantum
- *p;
+ ImageType
+ type = BilevelType;
ssize_t
y;
@@ -1667,27 +1667,39 @@
return(MagickTrue);
if (IssRGBCompatibleColorspace(image->colorspace) == MagickFalse)
return(MagickFalse);
- bilevel=MagickTrue;
image_view=AcquireVirtualCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(type) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
+ const Quantum
+ *p;
+
+ ssize_t
+ x;
+
+ if (type == UndefinedType)
+ continue;
p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
if (p == (const Quantum *) NULL)
- break;
+ {
+ type=UndefinedType;
+ continue;
+ }
for (x=0; x < (ssize_t) image->columns; x++)
{
if (IsPixelMonochrome(image,p) == MagickFalse)
{
- bilevel=MagickFalse;
+ type=UndefinedType;
break;
}
p+=GetPixelChannels(image);
}
- if (bilevel == MagickFalse)
- break;
}
image_view=DestroyCacheView(image_view);
- return(bilevel);
+ return(type == BilevelType ? MagickTrue : MagickFalse);
}

/*
@@ -1849,11 +1861,8 @@
CacheView
*image_view;
- const Quantum
- *p;
-
- ssize_t
- x;
+ MagickBooleanType
+ opaque = MagickTrue;
ssize_t
y;
@@ -1868,22 +1877,38 @@
if ((image->alpha_trait & BlendPixelTrait) == 0)
return(MagickTrue);
image_view=AcquireVirtualCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(opaque) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
+ const Quantum
+ *p;
+
+ ssize_t
+ x;
+
+ if (opaque == MagickFalse)
+ continue;
p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
if (p == (const Quantum *) NULL)
- break;
+ {
+ opaque=MagickFalse;
+ continue;
+ }
for (x=0; x < (ssize_t) image->columns; x++)
{
if (GetPixelAlpha(image,p) != OpaqueAlpha)
- break;
+ {
+ opaque=MagickFalse;
+ break;
+ }
p+=GetPixelChannels(image);
}
- if (x < (ssize_t) image->columns)
- break;
}
image_view=DestroyCacheView(image_view);
- return(y < (ssize_t) image->rows ? MagickFalse : MagickTrue);
+ return(opaque);
}

/*
@@ -1989,7 +2014,7 @@
range);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2047,7 +2072,7 @@
*/
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/blob.c
^
|
@@ -618,8 +618,7 @@
blob_info=image->blob;
if ((blob_info == (BlobInfo *) NULL) || (blob_info->type == UndefinedStream))
return(MagickTrue);
- if (SyncBlob(image) != 0)
- ThrowBlobException(blob_info);
+ (void) SyncBlob(image);
status=blob_info->status;
switch (blob_info->type)
{
@@ -5518,6 +5517,8 @@
assert(image->blob != (BlobInfo *) NULL);
if (IsEventLogging() != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
+ if (EOFBlob(image) != 0)
+ return(0);
blob_info=image->blob;
status=0;
switch (blob_info->type)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/cache-view.h
^
|
@@ -1,5 +1,5 @@
/*
- Copyright @ 2000 ImageMagick Studio LLC, a non-profit organization
+ Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License. You may
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/cache.c
^
|
@@ -61,6 +61,7 @@
#include "MagickCore/option.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
+#include "MagickCore/pixel-private.h"
#include "MagickCore/policy.h"
#include "MagickCore/quantum.h"
#include "MagickCore/random_.h"
@@ -731,7 +732,7 @@
status=MagickTrue;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- cache_number_threads(cache_info,clone_info,(int) cache_info->rows,1)
+ cache_number_threads(cache_info,clone_info,(int) cache_info->rows,4)
#endif
for (y=0; y < (ssize_t) cache_info->rows; y++)
{
@@ -812,7 +813,7 @@
clone_info->metacontent_extent);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- cache_number_threads(cache_info,clone_info,(int) cache_info->rows,1)
+ cache_number_threads(cache_info,clone_info,(int) cache_info->rows,4)
#endif
for (y=0; y < (ssize_t) cache_info->rows; y++)
{
@@ -1696,6 +1697,9 @@
if (IsImageTTLExpired(image) != MagickFalse)
{
+#if defined(ESTALE)
+ errno=ESTALE;
+#endif
(void) ThrowMagickException(exception,GetMagickModule(),
ResourceLimitError,"TimeLimitExceeded","`%s'",image->filename);
return((Cache) NULL);
@@ -3690,12 +3694,6 @@
((MagickSizeType) image->rows > cache_info->height_limit))
ThrowBinaryException(ImageError,"WidthOrHeightExceedsLimit",
image->filename);
- if (GetPixelChannels(image) >= MaxPixelChannels)
- ThrowBinaryException(CorruptImageError,"MaximumChannelsExceeded",
- image->filename);
- if (GetPixelMetaChannels(image) >= (MaxPixelChannels-MetaPixelChannels))
- ThrowBinaryException(CorruptImageError,"MaximumChannelsExceeded",
- image->filename);
if (GetMagickResourceLimit(ListLengthResource) != MagickResourceInfinity)
{
length=GetImageListLength(image);
@@ -3713,7 +3711,9 @@
cache_info->channels=image->channels;
cache_info->rows=image->rows;
cache_info->columns=image->columns;
- InitializePixelChannelMap(image);
+ status=ResetPixelChannelMap(image,exception);
+ if (status == MagickFalse)
+ return(MagickFalse);
cache_info->number_channels=GetPixelChannels(image);
(void) memcpy(cache_info->channel_map,image->channel_map,MaxPixelChannels*
sizeof(*image->channel_map));
@@ -5223,7 +5223,7 @@
image_view=AcquireVirtualCacheView(image,exception); /* must be virtual */
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/channel.c
^
|
@@ -141,7 +141,7 @@
destination_view=AcquireAuthenticCacheView(destination_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(source_image,source_image,height,1)
+ magick_number_threads(source_image,source_image,height,4)
#endif
for (y=0; y < (ssize_t) height; y++)
{
@@ -570,6 +570,10 @@
status=MagickTrue;
progress=0;
combine_view=AcquireAuthenticCacheView(combine_image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(progress,status) \
+ magick_number_threads(combine_image,combine_image,combine_image->rows,4)
+#endif
for (y=0; y < (ssize_t) combine_image->rows; y++)
{
CacheView
@@ -578,13 +582,11 @@
const Image
*next;
- Quantum
- *pixels;
-
const Quantum
*magick_restrict p;
Quantum
+ *pixels,
*magick_restrict q;
ssize_t
@@ -763,7 +765,7 @@
separate_view=AcquireAuthenticCacheView(separate_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1014,7 +1016,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1074,7 +1076,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1134,7 +1136,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1204,6 +1206,52 @@
image->alpha_trait=UndefinedPixelTrait;
break;
}
+ case OffIfOpaqueAlphaChannel:
+ {
+ MagickBooleanType
+ opaque = MagickTrue;
+
+ /*
+ Remove opaque alpha channel.
+ */
+ if ((image->alpha_trait & BlendPixelTrait) == 0)
+ break;
+ image_view=AcquireVirtualCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(opaque,status) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
+ for (y=0; y < (ssize_t) image->rows; y++)
+ {
+ const Quantum
+ *magick_restrict p;
+
+ ssize_t
+ x;
+
+ if ((status == MagickFalse) || (opaque == MagickFalse))
+ continue;
+ p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
+ if (p == (const Quantum *) NULL)
+ {
+ status=MagickFalse;
+ continue;
+ }
+ for (x=0; x < (ssize_t) image->columns; x++)
+ {
+ if (GetPixelAlpha(image,p) != OpaqueAlpha)
+ {
+ opaque=MagickFalse;
+ break;
+ }
+ p+=GetPixelChannels(image);
+ }
+ }
+ image_view=DestroyCacheView(image_view);
+ if (opaque != MagickFalse)
+ image->alpha_trait=UndefinedPixelTrait;
+ break;
+ }
case OnAlphaChannel:
{
if ((image->alpha_trait & BlendPixelTrait) == 0)
@@ -1229,7 +1277,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1284,7 +1332,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/channel.h
^
|
@@ -24,6 +24,27 @@
extern "C" {
#endif
+typedef enum
+{
+ UndefinedAlphaChannel,
+ ActivateAlphaChannel,
+ AssociateAlphaChannel,
+ BackgroundAlphaChannel,
+ CopyAlphaChannel,
+ DeactivateAlphaChannel,
+ DiscreteAlphaChannel,
+ DisassociateAlphaChannel,
+ ExtractAlphaChannel,
+ OffAlphaChannel,
+ OnAlphaChannel,
+ OpaqueAlphaChannel,
+ RemoveAlphaChannel,
+ SetAlphaChannel,
+ ShapeAlphaChannel,
+ TransparentAlphaChannel,
+ OffIfOpaqueAlphaChannel
+} AlphaChannelOption;
+
extern MagickExport Image
*ChannelFxImage(const Image *,const char *,ExceptionInfo *),
*CombineImages(const Image *,const ColorspaceType,ExceptionInfo *),
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/colormap.c
^
|
@@ -207,7 +207,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -306,7 +306,7 @@
status;
ssize_t
- i;
+ j;
ssize_t
y;
@@ -331,8 +331,8 @@
/*
Assign index values to colormap entries.
*/
- for (i=0; i < (ssize_t) image->colors; i++)
- image->colormap[i].alpha=(double) i;
+ for (j=0; j < (ssize_t) image->colors; j++)
+ image->colormap[j].alpha=(double) j;
/*
Sort image colormap by decreasing color popularity.
*/
@@ -341,29 +341,38 @@
/*
Update image colormap indexes to sorted colormap order.
*/
- for (i=0; i < (ssize_t) image->colors; i++)
- pixels[(ssize_t) image->colormap[i].alpha]=(unsigned short) i;
+ for (j=0; j < (ssize_t) image->colors; j++)
+ pixels[(ssize_t) image->colormap[j].alpha]=(unsigned short) j;
status=MagickTrue;
image_view=AcquireAuthenticCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
Quantum
- index;
+ *magick_restrict q;
ssize_t
x;
- Quantum
- *magick_restrict q;
-
+ if (status == MagickFalse)
+ continue;
q=GetCacheViewAuthenticPixels(image_view,0,y,image->columns,1,exception);
if (q == (Quantum *) NULL)
{
status=MagickFalse;
- break;
+ continue;
}
for (x=0; x < (ssize_t) image->columns; x++)
{
+ Quantum
+ index;
+
+ ssize_t
+ i;
+
i=ConstrainColormapIndex(image,GetPixelIndex(image,q),exception);
index=(Quantum) pixels[i];
SetPixelIndex(image,index,q);
@@ -372,8 +381,6 @@
}
if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
status=MagickFalse;
- if (status == MagickFalse)
- break;
}
image_view=DestroyCacheView(image_view);
pixels=(unsigned short *) RelinquishMagickMemory(pixels);
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/colorspace.c
^
|
@@ -596,7 +596,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -655,7 +655,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -713,7 +713,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -806,7 +806,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1054,7 +1054,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1121,7 +1121,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1366,7 +1366,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2190,7 +2190,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2249,7 +2249,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2310,7 +2310,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2404,7 +2404,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2655,7 +2655,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2721,7 +2721,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2953,7 +2953,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/composite.c
^
|
@@ -634,7 +634,7 @@
mask_view=AcquireVirtualCacheView(mask_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -747,7 +747,7 @@
mean_view=AcquireAuthenticCacheView(mean_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(mask_image,mean_image,mean_image->rows,1)
+ magick_number_threads(mask_image,mean_image,mean_image->rows,4)
#endif
for (y=0; y < (ssize_t) mean_image->rows; y++)
{
@@ -1623,7 +1623,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(source_image,image,source_image->rows,1)
+ magick_number_threads(source_image,image,source_image->rows,4)
#endif
for (y=0; y < (ssize_t) source_image->rows; y++)
{
@@ -1707,7 +1707,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(source_image,image,source_image->rows,1)
+ magick_number_threads(source_image,image,source_image->rows,4)
#endif
for (y=0; y < (ssize_t) source_image->rows; y++)
{
@@ -3756,7 +3756,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(texture_image,image,image->rows,1)
+ magick_number_threads(texture_image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/deprecate.c
^
|
@@ -87,6 +87,7 @@
#include "MagickCore/paint.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
+#include "MagickCore/pixel-private.h"
#include "MagickCore/quantize.h"
#include "MagickCore/random_.h"
#include "MagickCore/resource_.h"
@@ -401,5 +402,35 @@
return((void *) bitmapH);
}
#endif
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
++ I n i t i a l i z e P i x e l C h a n n e l M a p %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% InitializePixelChannelMap() defines the standard pixel component map.
+%
+% The format of the InitializePixelChannelMap() method is:
+%
+% void InitializePixelChannelMap(Image *image)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+*/
+MagickExport void InitializePixelChannelMap(Image *image)
+{
+ ExceptionInfo
+ *exception = AcquireExceptionInfo();
+ (void) ResetPixelChannelMap(image,exception);
+ exception=DestroyExceptionInfo(exception);
+}
#endif
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/deprecate.h
^
|
@@ -38,6 +38,9 @@
*ImageToHBITMAP(Image *,ExceptionInfo *);
#endif
+extern MagickExport void
+ InitializePixelChannelMap(Image *) magick_attribute((deprecated));
+
#endif
#if defined(__cplusplus) || defined(c_plusplus)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/draw.c
^
|
@@ -1247,7 +1247,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(source,image,(size_t) (stop-start),1)
+ magick_number_threads(source,image,(size_t) (stop-start),2)
#endif
for (y=start; y <= stop; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/effect.c
^
|
@@ -625,6 +625,12 @@
((width-(size_t) j)/2L)+GetPixelChannels(image)*((width-(size_t) j)/2));
for (i=0; i < (ssize_t) GetPixelChannels(sharp_image); i++)
{
+ const double
+ *magick_restrict k;
+
+ const Quantum
+ *magick_restrict pixels;
+
double
alpha,
gamma,
@@ -637,16 +643,8 @@
sharp_traits,
traits;
- const double
- *magick_restrict k;
-
- const Quantum
- *magick_restrict pixels;
-
- ssize_t
- u;
-
ssize_t
+ u,
v;
channel=GetPixelChannelChannel(image,i);
@@ -1236,7 +1234,7 @@
r=p+(y_offset*((ssize_t) columns+2)+x_offset);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) \
- magick_number_threads(image,image,rows,1)
+ magick_number_threads(image,image,rows,2)
#endif
for (y=0; y < (ssize_t) rows; y++)
{
@@ -1273,7 +1271,7 @@
s=q-(y_offset*((ssize_t) columns+2)+x_offset);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) \
- magick_number_threads(image,image,rows,1)
+ magick_number_threads(image,image,rows,2)
#endif
for (y=0; y < (ssize_t) rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/fx.c
^
|
@@ -634,7 +634,7 @@
PixelChannel ChannelQual;
ImgAttrE ImgAttrQual;
char * pExpStart;
- int lenExp;
+ size_t lenExp;
} ElementT;
typedef enum {
@@ -1717,7 +1717,7 @@
char * pExpStart;
- int lenExp = 0;
+ size_t lenExp = 0;
int FndArgs = 0;
int ndx0 = NULL_ADDRESS, ndx1 = NULL_ADDRESS, ndx2 = NULL_ADDRESS, ndx3 = NULL_ADDRESS;
@@ -1780,6 +1780,13 @@
if (TranslateStatementList (pfx, strLimit, &chLimit)) {
FndOne = 1;
} else {
+ if (!*pfx->pex) {
+ (void) ThrowMagickException (
+ pfx->exception, GetMagickModule(), OptionError,
+ "For function", "'%s' expected ')' at '%s'",
+ funStr, SetShortExp(pfx));
+ return MagickFalse;
+ }
/* Maybe don't break because other expressions may be not empty. */
if (!chLimit) break;
if (fe == fP || fe == fS|| fe == fIf) {
@@ -1858,7 +1865,7 @@
break;
}
if (chLimit == expChLimit) {
- lenExp = pfx->pex - pExpStart - 1;
+ lenExp = (size_t) (pfx->pex - pExpStart - 1);
break;
}
} /* end while args of a function */
@@ -2175,7 +2182,7 @@
double Pow = 0.0;
const char Prefixes[] = "yzafpnum.kMGTPEZY";
const char * pSi = strchr (Prefixes, *tailptr);
- if (pSi && *pSi != '.') Pow = (pSi - Prefixes) * 3 - 24;
+ if (pSi && *pSi != '.') Pow = (double) ((pSi - Prefixes) * 3 - 24);
else if (*tailptr == 'c') Pow = -2;
else if (*tailptr == 'h') Pow = 2;
else if (*tailptr == 'k') Pow = 3;
@@ -2818,9 +2825,6 @@
cs[ch].maxima *= QuantumScale;
cs[ch].minima *= QuantumScale;
cs[ch].standard_deviation *= QuantumScale;
- cs[ch].kurtosis *= QuantumScale;
- cs[ch].skewness *= QuantumScale;
- cs[ch].entropy *= QuantumScale;
}
return cs;
@@ -3174,12 +3178,15 @@
}
for (i=0; i < pfx->usedElements; i++) {
+ ElementT
+ *pel;
+
if (i < 0) {
(void) ThrowMagickException (
pfx->exception, GetMagickModule(), OptionError,
"Bad run-time address", "%i", i);
}
- ElementT *pel = &pfx->Elements[i];
+ pel=&pfx->Elements[i];
switch (pel->nArgs) {
case 0:
break;
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/gem-private.h
^
|
@@ -103,9 +103,9 @@
/*
Convert Adobe '98 to XYZ colorspace.
*/
- r=QuantumScale*DecodePixelGamma(red);
- g=QuantumScale*DecodePixelGamma(green);
- b=QuantumScale*DecodePixelGamma(blue);
+ r=QuantumScale*DecodePixelGamma((double) QuantumRange*red);
+ g=QuantumScale*DecodePixelGamma((double) QuantumRange*green);
+ b=QuantumScale*DecodePixelGamma((double) QuantumRange*blue);
*X=0.57666904291013050*r+0.18555823790654630*g+0.18822864623499470*b;
*Y=0.29734497525053605*r+0.62736356625546610*g+0.07529145849399788*b;
*Z=0.02703136138641234*r+0.07068885253582723*g+0.99133753683763880*b;
@@ -122,9 +122,9 @@
/*
Convert Display P3 to XYZ colorspace.
*/
- r=QuantumScale*DecodePixelGamma(red);
- g=QuantumScale*DecodePixelGamma(green);
- b=QuantumScale*DecodePixelGamma(blue);
+ r=QuantumScale*DecodePixelGamma((double) QuantumRange*red);
+ g=QuantumScale*DecodePixelGamma((double) QuantumRange*green);
+ b=QuantumScale*DecodePixelGamma((double) QuantumRange*blue);
*X=0.4865709486482162*r+0.26566769316909306*g+0.1982172852343625*b;
*Y=0.2289745640697488*r+0.69173852183650640*g+0.0792869140937450*b;
*Z=0.0000000000000000*r+0.04511338185890264*g+1.0439443689009760*b;
@@ -196,9 +196,10 @@
/*
Convert ProPhoto to XYZ colorspace.
*/
- r=QuantumScale*DecodePixelGamma(red);
- g=QuantumScale*DecodePixelGamma(green);
- b=QuantumScale*DecodePixelGamma(blue);
+ r=QuantumScale*DecodePixelGamma((double) QuantumRange*red);
+ g=QuantumScale*DecodePixelGamma((double) QuantumRange*green);
+ b=QuantumScale*DecodePixelGamma((double) QuantumRange*blue);
+ *X=0.4865709486482162*r+0.26566769316909306*g+0.1982172852343625*b;
*X=0.7977604896723027*r+0.13518583717574031*g+0.03134934958152480000*b;
*Y=0.2880711282292934*r+0.71184321781010140*g+0.00008565396060525902*b;
*Z=0.0000000000000000*r+0.00000000000000000*g+0.82510460251046010000*b;
@@ -234,9 +235,9 @@
r=2.041587903810746500*X-0.56500697427885960*Y-0.34473135077832956*Z;
g=(-0.969243636280879500)*X+1.87596750150772020*Y+0.04155505740717557*Z;
b=0.013444280632031142*X-0.11836239223101838*Y+1.01517499439120540*Z;
- *red=EncodePixelGamma((double) QuantumRange*r);
- *green=EncodePixelGamma((double) QuantumRange*g);
- *blue=EncodePixelGamma((double) QuantumRange*b);
+ *red=QuantumScale*EncodePixelGamma((double) QuantumRange*r);
+ *green=QuantumScale*EncodePixelGamma((double) QuantumRange*g);
+ *blue=QuantumScale*EncodePixelGamma((double) QuantumRange*b);
}
static inline void ConvertXYZToDisplayP3(const double X,const double Y,
@@ -250,9 +251,9 @@
r=2.49349691194142500*X-0.93138361791912390*Y-0.402710784450716840*Z;
g=(-0.82948896956157470)*X+1.76266406031834630*Y+0.023624685841943577*Z;
b=0.03584583024378447*X-0.07617238926804182*Y+0.956884524007687200*Z;
- *red=EncodePixelGamma((double) QuantumRange*r);
- *green=EncodePixelGamma((double) QuantumRange*g);
- *blue=EncodePixelGamma((double) QuantumRange*b);
+ *red=QuantumScale*EncodePixelGamma((double) QuantumRange*r);
+ *green=QuantumScale*EncodePixelGamma((double) QuantumRange*g);
+ *blue=QuantumScale*EncodePixelGamma((double) QuantumRange*b);
}
static inline void ConvertXYZToLab(const double X,const double Y,const double Z,
@@ -316,9 +317,9 @@
r=1.3457989731028281*X-0.25558010007997534*Y-0.05110628506753401*Z;
g=(-0.5446224939028347)*X+1.50823274131327810*Y+0.02053603239147973*Z;
b=0.0000000000000000*X+0.0000000000000000*Y+1.21196754563894540*Z;
- *red=EncodePixelGamma((double) QuantumRange*r);
- *green=EncodePixelGamma((double) QuantumRange*g);
- *blue=EncodePixelGamma((double) QuantumRange*b);
+ *red=QuantumScale*EncodePixelGamma((double) QuantumRange*r);
+ *green=QuantumScale*EncodePixelGamma((double) QuantumRange*g);
+ *blue=QuantumScale*EncodePixelGamma((double) QuantumRange*b);
}
static inline void ConvertXYZToRGB(const double X,const double Y,const double Z,
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/geometry.c
^
|
@@ -85,25 +85,25 @@
MagickPagesize("4A0", "4768x6741"),
MagickPagesize("2A0", "3370x4768"),
MagickPagesize("a0", "2384x3370"),
+ MagickPagesize("a10", "74x105"),
MagickPagesize("a1", "1684x2384"),
MagickPagesize("a2", "1191x1684"),
MagickPagesize("a3", "842x1191"),
- MagickPagesize("a4", "595x842"),
MagickPagesize("a4small", "595x842"),
+ MagickPagesize("a4", "595x842"),
MagickPagesize("a5", "420x595"),
MagickPagesize("a6", "298x420"),
MagickPagesize("a7", "210x298"),
MagickPagesize("a8", "147x210"),
MagickPagesize("a9", "105x147"),
- MagickPagesize("a10", "74x105"),
MagickPagesize("archa", "648x864"),
MagickPagesize("archb", "864x1296"),
MagickPagesize("archC", "1296x1728"),
MagickPagesize("archd", "1728x2592"),
MagickPagesize("arche", "2592x3456"),
MagickPagesize("b0", "2920x4127"),
- MagickPagesize("b1", "2064x2920"),
MagickPagesize("b10", "91x127"),
+ MagickPagesize("b1", "2064x2920"),
MagickPagesize("b2", "1460x2064"),
MagickPagesize("b3", "1032x1460"),
MagickPagesize("b4", "729x1032"),
@@ -129,8 +129,8 @@
MagickPagesize("folio", "612x936"),
MagickPagesize("halfletter", "396x612"),
MagickPagesize("isob0", "2835x4008"),
- MagickPagesize("isob1", "2004x2835"),
MagickPagesize("isob10", "88x125"),
+ MagickPagesize("isob1", "2004x2835"),
MagickPagesize("isob2", "1417x2004"),
MagickPagesize("isob3", "1001x1417"),
MagickPagesize("isob4", "709x1001"),
@@ -148,8 +148,8 @@
MagickPagesize("jisb6", "128x182"),
MagickPagesize("ledger", "1224x792"),
MagickPagesize("legal", "612x1008"),
- MagickPagesize("letter", "612x792"),
MagickPagesize("lettersmall", "612x792"),
+ MagickPagesize("letter", "612x792"),
MagickPagesize("monarch", "279x540"),
MagickPagesize("quarto", "610x780"),
MagickPagesize("statement", "396x612"),
@@ -562,7 +562,7 @@
case SouthGravity:
case CenterGravity:
{
- region->x+=CastDoubleToLong(width/2.0-region->width/2.0);
+ region->x=CastDoubleToLong(width/2.0-region->width/2.0+region->x);
break;
}
case ForgetGravity:
@@ -585,7 +585,7 @@
case WestGravity:
case CenterGravity:
{
- region->y+=CastDoubleToLong(height/2.0-region->height/2.0);
+ region->y=CastDoubleToLong(height/2.0-region->height/2.0+region->y);
break;
}
case ForgetGravity:
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/identify.c
^
|
@@ -93,6 +93,7 @@
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/timer.h"
+#include "MagickCore/timer-private.h"
#include "MagickCore/token.h"
#include "MagickCore/utility.h"
#include "MagickCore/utility-private.h"
@@ -476,6 +477,7 @@
char
buffer[MagickPathExtent],
color[MagickPathExtent],
+ iso8601[sizeof("9999-99-99T99:99:99Z")],
key[MagickPathExtent];
ChannelFeatures
@@ -515,6 +517,9 @@
ImageType
type;
+ int
+ expired;
+
MagickBooleanType
ping;
@@ -530,6 +535,9 @@
struct stat
properties;
+ struct tm
+ timestamp;
+
assert(image != (Image *) NULL);
assert(image->signature == MagickCoreSignature);
if (IsEventLogging() != MagickFalse)
@@ -1662,6 +1670,15 @@
image->rows/elapsed_time+0.5),MagickFalse,"P",MagickPathExtent,buffer);
(void) FormatLocaleFile(file," Pixels per second: %s\n",buffer);
}
+ (void) GetMagickUTCTime(&image->timestamp,×tamp);
+ (void) strftime(iso8601,sizeof(iso8601),"%FT%TZ",×tamp);
+ expired=' ';
+ if (IsImageTTLExpired(image) != MagickFalse)
+ expired='*';
+ (void) FormatLocaleFile(file," Time-to-live: %g:%g:%g:%g%c %s\n",
+ (double) (image->ttl/(3600*24)),(double) ((image->ttl % (24*3600))/3600),
+ (double) ((image->ttl % 3600)/60),(double) ((image->ttl % 3600) % 60),
+ expired,iso8601);
(void) FormatLocaleFile(file," User time: %0.3fu\n",user_time);
(void) FormatLocaleFile(file," Elapsed time: %lu:%02lu.%03lu\n",
(unsigned long) (elapsed_time/60.0),(unsigned long) ceil(fmod(elapsed_time,
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/image.c
^
|
@@ -140,9 +140,6 @@
Image
*image;
- int
- time_limit;
-
MagickStatusType
flags;
@@ -187,9 +184,7 @@
image->channel_map=AcquirePixelChannelMap();
image->blob=CloneBlobInfo((BlobInfo *) NULL);
image->timestamp=GetMagickTime();
- time_limit=(int) GetMagickResourceLimit(TimeResource);
- if (time_limit > 0)
- image->ttl=image->timestamp+time_limit;
+ image->ttl=(time_t) GetMagickResourceLimit(TimeResource);
image->debug=(GetLogEventMask() & (ImageEvent | TransformEvent | CoderEvent))
!= 0 ? MagickTrue : MagickFalse;
image->reference_count=1;
@@ -547,7 +542,7 @@
image_view=AcquireVirtualCacheView(next,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(next,next,next->rows,1)
+ magick_number_threads(next,next,next->rows,2)
#endif
for (y=0; y < (ssize_t) next->rows; y++)
{
@@ -1091,7 +1086,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,source_image,geometry->height,1)
+ magick_number_threads(image,source_image,geometry->height,2)
#endif
for (y=0; y < (ssize_t) geometry->height; y++)
{
@@ -1485,6 +1480,10 @@
(void) SetImageColorspace(mask_image,GRAYColorspace,exception);
image_view=AcquireVirtualCacheView(image,exception);
mask_view=AcquireAuthenticCacheView(mask_image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(status) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
const Quantum
@@ -1813,7 +1812,7 @@
*image_view;
MagickBooleanType
- status;
+ hdri = MagickFalse;
ssize_t
y;
@@ -1822,11 +1821,10 @@
assert(image->signature == MagickCoreSignature);
if (IsEventLogging() != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- status=MagickTrue;
image_view=AcquireVirtualCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ #pragma omp parallel for schedule(static) shared(hdri) \
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1836,14 +1834,11 @@
ssize_t
x;
- if (status == MagickFalse)
+ if (hdri != MagickFalse)
continue;
p=GetCacheViewVirtualPixels(image_view,0,y,image->columns,1,exception);
if (p == (const Quantum *) NULL)
- {
- status=MagickFalse;
- continue;
- }
+ continue;
for (x=0; x < (ssize_t) image->columns; x++)
{
ssize_t
@@ -1863,17 +1858,18 @@
pixel=(double) p[i];
if ((pixel < 0.0) || (pixel > (double) QuantumRange) ||
(pixel != (double) ((QuantumAny) pixel)))
- break;
+ {
+ hdri=MagickTrue;
+ break;
+ }
}
+ if (hdri != MagickFalse)
+ break;
p+=GetPixelChannels(image);
- if (i < (ssize_t) GetPixelChannels(image))
- status=MagickFalse;
}
- if (x < (ssize_t) image->columns)
- status=MagickFalse;
}
image_view=DestroyCacheView(image_view);
- return(status != MagickFalse ? MagickFalse : MagickTrue);
+ return(hdri);
#endif
}

@@ -2076,7 +2072,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2276,7 +2272,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2355,7 +2351,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2443,6 +2439,10 @@
*/
status=MagickTrue;
image_view=AcquireAuthenticCacheView(image,exception);
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(status) \
+ magick_number_threads(image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
Quantum
@@ -2555,7 +2555,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -3273,7 +3273,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(mask,image,image->rows,1)
+ magick_number_threads(mask,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -3432,7 +3432,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -3937,7 +3937,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(range_exception,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/image.h
^
|
@@ -27,26 +27,6 @@
typedef enum
{
- UndefinedAlphaChannel,
- ActivateAlphaChannel,
- AssociateAlphaChannel,
- BackgroundAlphaChannel,
- CopyAlphaChannel,
- DeactivateAlphaChannel,
- DiscreteAlphaChannel,
- DisassociateAlphaChannel,
- ExtractAlphaChannel,
- OffAlphaChannel,
- OnAlphaChannel,
- OpaqueAlphaChannel,
- RemoveAlphaChannel,
- SetAlphaChannel,
- ShapeAlphaChannel,
- TransparentAlphaChannel
-} AlphaChannelOption;
-
-typedef enum
-{
UndefinedType,
BilevelType,
GrayscaleType,
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/matrix.c
^
|
@@ -941,7 +941,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/module.c
^
|
@@ -17,7 +17,7 @@
% March 2000 %
% %
% %
-% Copyright @ 2000 ImageMagick Studio LLC, a non-profit organization %
+% Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/opencl.c
^
|
@@ -94,10 +94,6 @@
#include "ltdl.h"
#endif
-#ifndef MAGICKCORE_WINDOWS_SUPPORT
-#include <dlfcn.h>
-#endif
-
/*
Define declarations.
*/
@@ -2479,11 +2475,7 @@
{
if ((library == (void *) NULL) || (functionName == (const char *) NULL))
return (void *) NULL;
-#ifdef MAGICKCORE_WINDOWS_SUPPORT
- return (void *) GetProcAddress((HMODULE)library,functionName);
-#else
- return (void *) dlsym(library,functionName);
-#endif
+ return lt_dlsym(library,functionName);
}
static MagickBooleanType BindOpenCLFunctions()
@@ -2493,9 +2485,9 @@
#else
(void) memset(openCL_library,0,sizeof(MagickLibrary));
#ifdef MAGICKCORE_WINDOWS_SUPPORT
- openCL_library->library=(void *)LoadLibraryA("OpenCL.dll");
+ openCL_library->library=(void *)lt_dlopen("OpenCL.dll");
#else
- openCL_library->library=(void *)dlopen("libOpenCL.so",RTLD_NOW);
+ openCL_library->library=(void *)lt_dlopen("libOpenCL.so");
#endif
#define BIND(X) \
if ((openCL_library->X=(MAGICKpfn_##X)OsLibraryGetFunctionAddress(openCL_library->library,#X)) == NULL) \
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/option.c
^
|
@@ -43,6 +43,7 @@
#include "MagickCore/studio.h"
#include "MagickCore/artifact.h"
#include "MagickCore/cache.h"
+#include "MagickCore/channel.h"
#include "MagickCore/color.h"
#include "MagickCore/compare.h"
#include "MagickCore/constitute.h"
@@ -112,6 +113,7 @@
{ "Disassociate", DisassociateAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "Extract", ExtractAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "Off", OffAlphaChannel, UndefinedOptionFlag, MagickFalse },
+ { "OffIfOpaque", OffIfOpaqueAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "On", OnAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "Opaque", OpaqueAlphaChannel, UndefinedOptionFlag, MagickFalse },
{ "Remove", RemoveAlphaChannel, UndefinedOptionFlag, MagickFalse },
@@ -303,7 +305,6 @@
{ "60", MetaPixelChannelBit(50), UndefinedOptionFlag, MagickFalse },
{ "61", MetaPixelChannelBit(51), UndefinedOptionFlag, MagickFalse },
{ "62", MetaPixelChannelBit(52), UndefinedOptionFlag, MagickFalse },
- { "63", MetaPixelChannelBit(53), UndefinedOptionFlag, MagickFalse },
#endif
{ (char *) NULL, UndefinedChannel, UndefinedOptionFlag, MagickFalse }
},
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/paint.c
^
|
@@ -153,7 +153,6 @@
*segment_info;
PixelInfo
- fill_color,
pixel;
SegmentInfo
@@ -325,6 +324,10 @@
} while (x <= x2);
}
status=MagickTrue;
+#if defined(MAGICKCORE_OPENMP_SUPPORT)
+ #pragma omp parallel for schedule(static) shared(status) \
+ magick_number_threads(floodplane_image,image,image->rows,2)
+#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
const Quantum
@@ -352,8 +355,21 @@
{
if (GetPixelGray(floodplane_image,p) != 0)
{
+ PixelInfo
+ fill_color;
+
GetFillColor(draw_info,x,y,&fill_color,exception);
- SetPixelViaPixelInfo(image,&fill_color,q);
+ if ((image->channel_mask & RedChannel) != 0)
+ SetPixelRed(image,(Quantum) fill_color.red,q);
+ if ((image->channel_mask & GreenChannel) != 0)
+ SetPixelGreen(image,(Quantum) fill_color.green,q);
+ if ((image->channel_mask & BlueChannel) != 0)
+ SetPixelBlue(image,(Quantum) fill_color.blue,q);
+ if ((image->channel_mask & BlackChannel) != 0)
+ SetPixelBlack(image,(Quantum) fill_color.black,q);
+ if (((image->channel_mask & AlphaChannel) != 0) &&
+ ((image->alpha_trait & BlendPixelTrait) != 0))
+ SetPixelAlpha(image,(Quantum) fill_color.alpha,q);
}
p+=GetPixelChannels(floodplane_image);
q+=GetPixelChannels(image);
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/pixel-private.h
^
|
@@ -22,6 +22,9 @@
extern "C" {
#endif
+extern MagickPrivate MagickBooleanType
+ ResetPixelChannelMap(Image *,ExceptionInfo *);
+
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/pixel.c
^
|
@@ -4340,92 +4340,6 @@
% %
% %
% %
-+ I n i t i a l i z e P i x e l C h a n n e l M a p %
-% %
-% %
-% %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% InitializePixelChannelMap() defines the standard pixel component map.
-%
-% The format of the InitializePixelChannelMap() method is:
-%
-% void InitializePixelChannelMap(Image *image)
-%
-% A description of each parameter follows:
-%
-% o image: the image.
-%
-*/
-MagickExport void InitializePixelChannelMap(Image *image)
-{
- PixelTrait
- trait;
-
- ssize_t
- n;
-
- assert(image != (Image *) NULL);
- assert(image->signature == MagickCoreSignature);
- (void) memset(image->channel_map,0,MaxPixelChannels*
- sizeof(*image->channel_map));
- trait=UpdatePixelTrait;
- if (image->alpha_trait != UndefinedPixelTrait)
- trait=(PixelTrait) (trait | BlendPixelTrait);
- n=0;
- if ((image->colorspace == LinearGRAYColorspace) ||
- (image->colorspace == GRAYColorspace))
- {
- SetPixelChannelAttributes(image,BluePixelChannel,trait,n);
- SetPixelChannelAttributes(image,GreenPixelChannel,trait,n);
- SetPixelChannelAttributes(image,RedPixelChannel,trait,n++);
- }
- else
- {
- SetPixelChannelAttributes(image,RedPixelChannel,trait,n++);
- SetPixelChannelAttributes(image,GreenPixelChannel,trait,n++);
- SetPixelChannelAttributes(image,BluePixelChannel,trait,n++);
- }
- if (image->colorspace == CMYKColorspace)
- SetPixelChannelAttributes(image,BlackPixelChannel,trait,n++);
- if (image->alpha_trait != UndefinedPixelTrait)
- SetPixelChannelAttributes(image,AlphaPixelChannel,CopyPixelTrait,n++);
- if (image->storage_class == PseudoClass)
- SetPixelChannelAttributes(image,IndexPixelChannel,CopyPixelTrait,n++);
- if ((image->channels & ReadMaskChannel) != 0)
- SetPixelChannelAttributes(image,ReadMaskPixelChannel,CopyPixelTrait,n++);
- if ((image->channels & WriteMaskChannel) != 0)
- SetPixelChannelAttributes(image,WriteMaskPixelChannel,CopyPixelTrait,n++);
- if ((image->channels & CompositeMaskChannel) != 0)
- SetPixelChannelAttributes(image,CompositeMaskPixelChannel,CopyPixelTrait,
- n++);
- if (image->number_meta_channels != 0)
- {
- PixelChannel
- meta_channel;
-
- ssize_t
- i;
-
- meta_channel=MetaPixelChannels;
- for (i=0; i < (ssize_t) image->number_meta_channels; i++)
- {
- assert(meta_channel < MaxPixelChannels);
- SetPixelChannelAttributes(image,meta_channel,UpdatePixelTrait,n);
- meta_channel=(PixelChannel) (meta_channel+1);
- n++;
- }
- }
- assert(n < MaxPixelChannels);
- image->number_channels=(size_t) n;
- (void) SetPixelChannelMask(image,image->channel_mask);
-}
-
-/*
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %
-% %
-% %
% I n t e r p o l a t e P i x e l C h a n n e l %
% %
% %
@@ -6194,6 +6108,101 @@
% %
% %
% %
++ R e s e t P i x e l C h a n n e l M a p %
+% %
+% %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% ResetPixelChannelMap() defines the standard pixel component map.
+%
+% The format of the ResetPixelChannelMap() method is:
+%
+% MagickBooleanType ResetPixelChannelMap(Image *image)
+%
+% A description of each parameter follows:
+%
+% o image: the image.
+%
+% o exception: return any errors or warnings in this structure.
+%
+*/
+MagickPrivate MagickBooleanType ResetPixelChannelMap(Image *image,
+ ExceptionInfo *exception)
+{
+ PixelTrait
+ trait;
+
+ ssize_t
+ n;
+
+ assert(image != (Image *) NULL);
+ assert(image->signature == MagickCoreSignature);
+ (void) memset(image->channel_map,0,MaxPixelChannels*
+ sizeof(*image->channel_map));
+ trait=UpdatePixelTrait;
+ if (image->alpha_trait != UndefinedPixelTrait)
+ trait=(PixelTrait) (trait | BlendPixelTrait);
+ n=0;
+ if ((image->colorspace == LinearGRAYColorspace) ||
+ (image->colorspace == GRAYColorspace))
+ {
+ SetPixelChannelAttributes(image,BluePixelChannel,trait,n);
+ SetPixelChannelAttributes(image,GreenPixelChannel,trait,n);
+ SetPixelChannelAttributes(image,RedPixelChannel,trait,n++);
+ }
+ else
+ {
+ SetPixelChannelAttributes(image,RedPixelChannel,trait,n++);
+ SetPixelChannelAttributes(image,GreenPixelChannel,trait,n++);
+ SetPixelChannelAttributes(image,BluePixelChannel,trait,n++);
+ }
+ if (image->colorspace == CMYKColorspace)
+ SetPixelChannelAttributes(image,BlackPixelChannel,trait,n++);
+ if (image->alpha_trait != UndefinedPixelTrait)
+ SetPixelChannelAttributes(image,AlphaPixelChannel,CopyPixelTrait,n++);
+ if (image->storage_class == PseudoClass)
+ SetPixelChannelAttributes(image,IndexPixelChannel,CopyPixelTrait,n++);
+ if ((image->channels & ReadMaskChannel) != 0)
+ SetPixelChannelAttributes(image,ReadMaskPixelChannel,CopyPixelTrait,n++);
+ if ((image->channels & WriteMaskChannel) != 0)
+ SetPixelChannelAttributes(image,WriteMaskPixelChannel,CopyPixelTrait,n++);
+ if ((image->channels & CompositeMaskChannel) != 0)
+ SetPixelChannelAttributes(image,CompositeMaskPixelChannel,CopyPixelTrait,
+ n++);
+ if (image->number_meta_channels != 0)
+ {
+ PixelChannel
+ meta_channel;
+
+ ssize_t
+ i;
+
+ if (image->number_meta_channels >= (MaxPixelChannels-MetaPixelChannels))
+ {
+ image->number_channels=(size_t) n;
+ (void) SetPixelChannelMask(image,image->channel_mask);
+ ThrowBinaryException(CorruptImageError,"MaximumChannelsExceeded",
+ image->filename);
+ }
+ meta_channel=MetaPixelChannels;
+ for (i=0; i < (ssize_t) image->number_meta_channels; i++)
+ {
+ SetPixelChannelAttributes(image,meta_channel,UpdatePixelTrait,n);
+ meta_channel=(PixelChannel) (meta_channel+1);
+ n++;
+ }
+ }
+ image->number_channels=(size_t) n;
+ (void) SetPixelChannelMask(image,image->channel_mask);
+ return(MagickTrue);
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% %
+% %
% S e t P i x e l C h a n n e l M a s k %
% %
% %
@@ -6410,9 +6419,13 @@
MagickExport MagickBooleanType SetPixelMetaChannels(Image *image,
const size_t number_meta_channels,ExceptionInfo *exception)
{
- image->number_meta_channels=MagickMin(number_meta_channels,MaxPixelChannels
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/pixel.h
^
|
@@ -267,8 +267,7 @@
extern MagickExport void
ConformPixelInfo(Image *,const PixelInfo *,PixelInfo *,ExceptionInfo *),
- GetPixelInfo(const Image *,PixelInfo *),
- InitializePixelChannelMap(Image *);
+ GetPixelInfo(const Image *,PixelInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/resize.c
^
|
@@ -3941,7 +3941,7 @@
sample_view=AcquireAuthenticCacheView(sample_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,sample_image,sample_image->rows,1)
+ magick_number_threads(image,sample_image,sample_image->rows,2)
#endif
for (y=0; y < (ssize_t) sample_image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/resource.c
^
|
@@ -1212,10 +1212,9 @@
memory;
ssize_t
- i;
-
- ssize_t
files,
+ i,
+ number_threads,
pages,
pagesize;
@@ -1316,7 +1315,10 @@
100.0));
limit=DestroyString(limit);
}
- (void) SetMagickResourceLimit(ThreadResource,GetOpenMPMaximumThreads());
+ number_threads=(ssize_t) GetOpenMPMaximumThreads();
+ if (number_threads > 1)
+ number_threads--; /* reserve core for OS */
+ (void) SetMagickResourceLimit(ThreadResource,(size_t) number_threads);
limit=GetEnvironmentValue("MAGICK_THREAD_LIMIT");
if (limit != (char *) NULL)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/shear.c
^
|
@@ -376,7 +376,7 @@
image_view=AcquireVirtualCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -433,7 +433,7 @@
(void) NullMatrix(source_matrices);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -775,7 +775,7 @@
tile_width=image->columns;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,rotate_image,image->rows/tile_height,1)
+ magick_number_threads(image,rotate_image,image->rows/tile_height,2)
#endif
for (tile_y=0; tile_y < (ssize_t) image->rows; tile_y+=(ssize_t) tile_height)
{
@@ -891,7 +891,7 @@
*/
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,rotate_image,image->rows,1)
+ magick_number_threads(image,rotate_image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -975,7 +975,7 @@
tile_width=image->columns;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,rotate_image,image->rows/tile_height,1)
+ magick_number_threads(image,rotate_image,image->rows/tile_height,2)
#endif
for (tile_y=0; tile_y < (ssize_t) image->rows; tile_y+=(ssize_t) tile_height)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/statistic.c
^
|
@@ -2020,6 +2020,20 @@
}
}
+static inline long double PerceptibleReciprocalLD(const long double x)
+{
+ long double
+ sign;
+
+ /*
+ Return 1/x where x is perceptible (not unlimited or infinitesimal).
+ */
+ sign=x < 0.0 ? -1.0 : 1.0;
+ if ((sign*x) >= MagickEpsilon)
+ return(1.0/x);
+ return(sign/MagickEpsilon);
+}
+
MagickExport ChannelStatistics *GetImageStatistics(const Image *image,
ExceptionInfo *exception)
{
@@ -2027,10 +2041,11 @@
*channel_statistics;
double
+ *histogram;
+
+ long double
area,
- channels,
- *histogram,
- standard_deviation;
+ channels;
MagickStatusType
status;
@@ -2055,8 +2070,8 @@
assert(image->signature == MagickCoreSignature);
if (IsEventLogging() != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
- histogram=(double *) AcquireQuantumMemory(MaxMap+1UL,GetPixelChannels(image)*
- sizeof(*histogram));
+ histogram=(double *) AcquireQuantumMemory(MaxMap+1UL,
+ MagickMax(GetPixelChannels(image),1)*sizeof(*histogram));
channel_statistics=(ChannelStatistics *) AcquireQuantumMemory(
MaxPixelChannels+1,sizeof(*channel_statistics));
if ((channel_statistics == (ChannelStatistics *) NULL) ||
@@ -2067,15 +2082,24 @@
if (channel_statistics != (ChannelStatistics *) NULL)
channel_statistics=(ChannelStatistics *) RelinquishMagickMemory(
channel_statistics);
+ (void) ThrowMagickException(exception,GetMagickModule(),
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",image->filename);
return(channel_statistics);
}
(void) memset(channel_statistics,0,(MaxPixelChannels+1)*
sizeof(*channel_statistics));
for (i=0; i <= (ssize_t) MaxPixelChannels; i++)
{
- channel_statistics[i].depth=1;
- channel_statistics[i].maxima=(-MagickMaximumValue);
- channel_statistics[i].minima=MagickMaximumValue;
+ ChannelStatistics *cs = channel_statistics+i;
+ cs->area = 0;
+ cs->depth=1;
+ cs->maxima=(-MagickMaximumValue);
+ cs->minima=MagickMaximumValue;
+ cs->sum=cs->sumLD=0;
+ cs->mean=0;
+ cs->standard_deviation = cs->variance = 0.0;
+ cs->skewness = cs->kurtosis = 0.0;
+ cs->entropy = 0.0;
}
(void) memset(histogram,0,(MaxMap+1)*GetPixelChannels(image)*
sizeof(*histogram));
@@ -2102,78 +2126,108 @@
}
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
+ ChannelStatistics
+ *cs;
+
PixelChannel channel = GetPixelChannelChannel(image,i);
PixelTrait traits = GetPixelChannelTraits(image,channel);
if (traits == UndefinedPixelTrait)
continue;
- if ((traits & UpdatePixelTrait) == 0)
- continue;
- if (channel_statistics[channel].depth != MAGICKCORE_QUANTUM_DEPTH)
+ cs=channel_statistics+i;
+ if (cs->depth != MAGICKCORE_QUANTUM_DEPTH)
{
- depth=channel_statistics[channel].depth;
+ depth=cs->depth;
range=GetQuantumRange(depth);
status=p[i] != ScaleAnyToQuantum(ScaleQuantumToAny(p[i],range),
range) ? MagickTrue : MagickFalse;
if (status != MagickFalse)
{
- channel_statistics[channel].depth++;
- if (channel_statistics[channel].depth >
- channel_statistics[CompositePixelChannel].depth)
- channel_statistics[CompositePixelChannel].depth=
- channel_statistics[channel].depth;
+ cs->depth++;
+ if (cs->depth > channel_statistics[CompositePixelChannel].depth)
+ channel_statistics[CompositePixelChannel].depth=cs->depth;
i--;
continue;
}
}
- if ((double) p[i] < channel_statistics[channel].minima)
- channel_statistics[channel].minima=(double) p[i];
- if ((double) p[i] > channel_statistics[channel].maxima)
- channel_statistics[channel].maxima=(double) p[i];
- channel_statistics[channel].sum+=QuantumScale*p[i];
- channel_statistics[channel].sum_squared+=QuantumScale*p[i]*
- QuantumScale*p[i];
- channel_statistics[channel].sum_cubed+=QuantumScale*p[i]*
- QuantumScale*p[i]*QuantumScale*p[i];
- channel_statistics[channel].sum_fourth_power+=QuantumScale*p[i]*
- QuantumScale*p[i]*QuantumScale*p[i]*QuantumScale*p[i];
- channel_statistics[channel].area++;
- if ((double) p[i] < channel_statistics[CompositePixelChannel].minima)
- channel_statistics[CompositePixelChannel].minima=p[i];
- if ((double) p[i] > channel_statistics[CompositePixelChannel].maxima)
- channel_statistics[CompositePixelChannel].maxima=p[i];
+
+ cs->area++;
+
+ if ((double) p[i] < cs->minima)
+ cs->minima=(double) p[i];
+ if ((double) p[i] > cs->maxima)
+ cs->maxima=(double) p[i];
+
histogram[(ssize_t) GetPixelChannels(image)*ScaleQuantumToMap(
- ClampToQuantum(p[i]))+i]++;
- channel_statistics[CompositePixelChannel].sum+=QuantumScale*p[i];
- channel_statistics[CompositePixelChannel].sum_squared+=QuantumScale*
- p[i]*QuantumScale*p[i];
- channel_statistics[CompositePixelChannel].sum_cubed+=QuantumScale*
- p[i]*QuantumScale*p[i]*QuantumScale*p[i];
- channel_statistics[CompositePixelChannel].sum_fourth_power+=
- QuantumScale*p[i]*QuantumScale*p[i]*QuantumScale*p[i]*
- QuantumScale*p[i];
- channel_statistics[CompositePixelChannel].area++;
+ ClampToQuantum((double) p[i]))+i]++;
+
+ cs->sumLD += (long double) p[i];
+ /* sum_squared, sum_cubed and sum_fourth_power are not used in MagickCore or MagickWand,
+ but are made available in Magick++/lib/Statistic.cpp, so we need to calculate these.
+ */
+ cs->sum_squared+=(double) p[i]*(double) p[i];
+ cs->sum_cubed+=(double) p[i]*(double) p[i]*(double) p[i];
+ cs->sum_fourth_power+=(double) p[i]*(double) p[i]*(double) p[i]*
+ (double) p[i];
+
+ {
+ /* Calculate running totals for Welford's method.
+ */
+ long double delta, delta_n, delta_n2, term1;
+ double n1 = cs->area-1;
+ double n = cs->area;
+
+ delta = (double) p[i] - cs->M1;
+ delta_n = delta / n;
+ delta_n2 = delta_n * delta_n;
+ term1 = delta * delta_n * n1;
+ cs->M4 += term1 * delta_n2 * (n*n - 3*n + 3) + 6 * delta_n2 *
+ cs->M2 - 4 * delta_n * cs->M3;
+ cs->M3 += term1 * delta_n * (n - 2) - 3 * delta_n * cs->M2;
+ cs->M2 += term1;
+ cs->M1 += delta_n;
+ }
}
p+=GetPixelChannels(image);
}
}
- for (i=0; i <= (ssize_t) MaxPixelChannels; i++)
+
+ for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
- /*
- Normalize pixel statistics.
- */
- area=PerceptibleReciprocal(channel_statistics[i].area);
- channel_statistics[i].sum*=area;
- channel_statistics[i].sum_squared*=area;
- channel_statistics[i].sum_cubed*=area;
- channel_statistics[i].sum_fourth_power*=area;
- channel_statistics[i].mean=channel_statistics[i].sum;
- channel_statistics[i].variance=channel_statistics[i].sum_squared;
- standard_deviation=sqrt(channel_statistics[i].variance-
- (channel_statistics[i].mean*channel_statistics[i].mean));
- standard_deviation=sqrt(PerceptibleReciprocal(channel_statistics[i].area-
- 1.0)*channel_statistics[i].area*standard_deviation*standard_deviation);
- channel_statistics[i].standard_deviation=standard_deviation;
+ ChannelStatistics
+ *cs;
+
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/statistic.h
^
|
@@ -46,6 +46,13 @@
skewness,
entropy,
median;
+
+ long double
+ sumLD,
+ M1,
+ M2,
+ M3,
+ M4;
} ChannelStatistics;
typedef struct _ChannelMoments
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/stream.c
^
|
@@ -55,6 +55,7 @@
#include "MagickCore/memory-private.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
+#include "MagickCore/pixel-private.h"
#include "MagickCore/policy.h"
#include "MagickCore/quantum.h"
#include "MagickCore/quantum-private.h"
@@ -932,7 +933,9 @@
cache_info->columns=image->columns;
cache_info->rows=image->rows;
cache_info->number_channels=image->number_channels;
- InitializePixelChannelMap(image);
+ status=ResetPixelChannelMap(image,exception);
+ if (status == MagickFalse)
+ return((Quantum *) NULL);
ResetPixelCacheChannels(image);
image->cache=cache_info;
}
@@ -1046,12 +1049,14 @@
SetPixelCacheMethods(read_info->cache,&cache_methods);
read_info->stream=stream;
image=ReadImage(read_info,exception);
+ read_info=DestroyImageInfo(read_info);
if (image != (Image *) NULL)
{
- InitializePixelChannelMap(image);
+ MagickBooleanType status = ResetPixelChannelMap(image,exception);
+ if (status == MagickFalse)
+ return(DestroyImage(image));
ResetPixelCacheChannels(image);
}
- read_info=DestroyImageInfo(read_info);
return(image);
}

|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/thread-private.h
^
|
@@ -27,9 +27,8 @@
extern "C" {
#endif
-#define magick_number_threads(source,destination,chunk,multithreaded) \
- num_threads(GetMagickNumberThreads((source),(destination),(chunk), \
- (multithreaded)))
+#define magick_number_threads(source,destination,chunk,factor) \
+ num_threads(GetMagickNumberThreads((source),(destination),(chunk),(factor)))
#if defined(__clang__) || (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 10))
#define MagickCachePrefetch(address,mode,locality) \
__builtin_prefetch(address,mode,locality)
@@ -49,8 +48,10 @@
#endif
static inline int GetMagickNumberThreads(const Image *source,
- const Image *destination,const size_t chunk,int multithreaded)
+ const Image *destination,const size_t chunk,const int factor)
{
+#define WorkLoadFactor (64UL << factor)
+
const CacheType
destination_type = (CacheType) GetImagePixelCacheType(destination),
source_type = (CacheType) GetImagePixelCacheType(source);
@@ -61,15 +62,12 @@
/*
Return number of threads dependent on cache type and work load.
*/
- if (multithreaded == 0)
- return(1);
+ number_threads=(int) MagickMax(MagickMin(chunk/WorkLoadFactor,
+ GetMagickResourceLimit(ThreadResource)),1);
if (((source_type != MemoryCache) && (source_type != MapCache)) ||
((destination_type != MemoryCache) && (destination_type != MapCache)))
- number_threads=(int) MagickMin(GetMagickResourceLimit(ThreadResource),2);
- else
- number_threads=(int) MagickMin((ssize_t)
- GetMagickResourceLimit(ThreadResource),(ssize_t) (chunk)/64);
- return(MagickMax(number_threads,1));
+ number_threads=MagickMin(number_threads,2);
+ return(number_threads);
}
static inline MagickThreadType GetMagickThreadId(void)
@@ -160,7 +158,7 @@
omp_set_nested(value);
#else
static inline void SetOpenMPNested(const int magick_unused(value))
-{
+{
magick_unreferenced(value);
#endif
}
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/thread.c
^
|
@@ -16,7 +16,7 @@
% March 2003 %
% %
% %
-% Copyright @ 2003 ImageMagick Studio LLC, a non-profit organization %
+% Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/threshold.c
^
|
@@ -250,13 +250,11 @@
*magick_restrict q;
ssize_t
- i,
- x;
-
- ssize_t
center,
+ i,
u,
- v;
+ v,
+ x;
if (status == MagickFalse)
continue;
@@ -837,7 +835,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -998,7 +996,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1133,7 +1131,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1340,7 +1338,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -1977,7 +1975,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2147,7 +2145,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2273,7 +2271,7 @@
#if defined(MAGICKCORE_OPENMP_SUPPORT)
key=GetRandomSecretKey(random_info[0]);
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,key == ~0UL)
+ magick_number_threads(image,image,image->rows,key == ~0UL ? 0 : 1)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2410,7 +2408,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2589,7 +2587,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/timer-private.h
^
|
@@ -24,7 +24,7 @@
#include "MagickCore/locale_.h"
-static inline void GetMagickUTCtime(const time_t *timep,struct tm *result)
+static inline void GetMagickUTCTime(const time_t *timep,struct tm *result)
{
#if defined(MAGICKCORE_HAVE_GMTIME_R)
(void) gmtime_r(timep,result);
@@ -56,6 +56,17 @@
#endif
}
+extern MagickExport time_t
+ GetMagickTime(void);
+
+static inline MagickBooleanType IsImageTTLExpired(const Image* image)
+{
+ if ((image->ttl != (time_t) 0) &&
+ (image->timestamp+image->ttl) < GetMagickTime())
+ return(MagickTrue);
+ return(MagickFalse);
+}
+
static inline time_t ParseMagickTimeToLive(const char *time_to_live)
{
char
@@ -90,19 +101,9 @@
return(ttl);
}
-extern MagickExport time_t
- GetMagickTime(void);
-
extern MagickPrivate void
SetMagickDatePrecision(const unsigned long);
-static inline MagickBooleanType IsImageTTLExpired(const Image* image)
-{
- if (image->ttl == (time_t) 0)
- return(MagickFalse);
- return(image->ttl < GetMagickTime() ? MagickTrue : MagickFalse);
-}
-
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/timer.c
^
|
@@ -284,7 +284,7 @@
limit=DestroyString(limit);
}
}
- GetMagickUTCtime(&time,&utc_time);
+ GetMagickUTCTime(&time,&utc_time);
count=FormatLocaleString(timestamp,length,
"%04d-%02d-%02dT%02d:%02d:%02d%+03d:00",utc_time.tm_year+1900,
utc_time.tm_mon+1,utc_time.tm_mday,utc_time.tm_hour,utc_time.tm_min,
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/transform.c
^
|
@@ -258,7 +258,7 @@
chop_view=AcquireAuthenticCacheView(chop_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,chop_image,(size_t) extent.y,1)
+ magick_number_threads(image,chop_image,(size_t) extent.y,2)
#endif
for (y=0; y < (ssize_t) extent.y; y++)
{
@@ -323,7 +323,7 @@
*/
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,chop_image,image->rows-((size_t) extent.y+extent.height),1)
+ magick_number_threads(image,chop_image,image->rows-((size_t) extent.y+extent.height),2)
#endif
for (y=0; y < (ssize_t) (image->rows-((size_t) extent.y+extent.height)); y++)
{
@@ -680,7 +680,7 @@
crop_view=AcquireAuthenticCacheView(crop_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,crop_image,crop_image->rows,1)
+ magick_number_threads(image,crop_image,crop_image->rows,2)
#endif
for (y=0; y < (ssize_t) crop_image->rows; y++)
{
@@ -1029,7 +1029,7 @@
excerpt_view=AcquireAuthenticCacheView(excerpt_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,excerpt_image,excerpt_image->rows,1)
+ magick_number_threads(image,excerpt_image,excerpt_image->rows,2)
#endif
for (y=0; y < (ssize_t) excerpt_image->rows; y++)
{
@@ -1229,7 +1229,7 @@
flip_view=AcquireAuthenticCacheView(flip_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,flip_image,flip_image->rows,1)
+ magick_number_threads(image,flip_image,flip_image->rows,2)
#endif
for (y=0; y < (ssize_t) flip_image->rows; y++)
{
@@ -1364,7 +1364,7 @@
flop_view=AcquireAuthenticCacheView(flop_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(image,flop_image,flop_image->rows,1)
+ magick_number_threads(image,flop_image,flop_image->rows,2)
#endif
for (y=0; y < (ssize_t) flop_image->rows; y++)
{
@@ -1483,7 +1483,7 @@
destination_view=AcquireAuthenticCacheView(destination,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(source,destination,rows,1)
+ magick_number_threads(source,destination,rows,2)
#endif
for (y=0; y < (ssize_t) rows; y++)
{
@@ -1810,7 +1810,7 @@
splice_view=AcquireAuthenticCacheView(splice_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,splice_image,(size_t) splice_geometry.y,1)
+ magick_number_threads(image,splice_image,(size_t) splice_geometry.y,2)
#endif
for (y=0; y < (ssize_t) splice_geometry.y; y++)
{
@@ -2162,7 +2162,7 @@
transpose_view=AcquireAuthenticCacheView(transpose_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,transpose_image,image->rows,1)
+ magick_number_threads(image,transpose_image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -2300,7 +2300,7 @@
transverse_view=AcquireAuthenticCacheView(transverse_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,transverse_image,image->rows,1)
+ magick_number_threads(image,transverse_image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/version.c
^
|
@@ -101,7 +101,7 @@
MagickExport const char *GetMagickDelegates(void)
{
static const char
- *delegates = ""
+ *delegates=""
#if defined(MAGICKCORE_AUTOTRACE_DELEGATE)
" autotrace"
#endif
@@ -221,6 +221,8 @@
" zstd"
#endif
;
+ if (*delegates == '\0')
+ return(delegates);
return(delegates+1);
}

|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/vision.c
^
|
@@ -236,10 +236,8 @@
else
if (foreground == 2)
{
- if ((((ssize_t) pixels[0] == i) &&
- ((ssize_t) pixels[3] == i)) ||
- (((ssize_t) pixels[1] == i) &&
- ((ssize_t) pixels[2] == i)))
+ if ((((ssize_t) pixels[0] == i) && ((ssize_t) pixels[3] == i)) ||
+ (((ssize_t) pixels[1] == i) && ((ssize_t) pixels[2] == i)))
pattern[0]++; /* diagonal */
else
pattern[2]++;
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickCore/visual-effects.c
^
|
@@ -192,7 +192,7 @@
#if defined(MAGICKCORE_OPENMP_SUPPORT)
key=GetRandomSecretKey(random_info[0]);
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,noise_image,image->rows,key == ~0UL)
+ magick_number_threads(image,noise_image,image->rows,key == ~0UL ? 0 : 2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
@@ -611,7 +611,7 @@
image_view=AcquireAuthenticCacheView(colorize_image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(colorize_image,colorize_image,colorize_image->rows,1)
+ magick_number_threads(colorize_image,colorize_image,colorize_image->rows,2)
#endif
for (y=0; y < (ssize_t) colorize_image->rows; y++)
{
@@ -1267,7 +1267,7 @@
morph_view=AcquireAuthenticCacheView(morph_images,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(morph_image,morph_image,morph_image->rows,1)
+ magick_number_threads(morph_image,morph_image,morph_image->rows,2)
#endif
for (y=0; y < (ssize_t) morph_images->rows; y++)
{
@@ -2216,7 +2216,7 @@
#if defined(MAGICKCORE_OPENMP_SUPPORT)
key=GetRandomSecretKey(random_info[0]);
#pragma omp parallel for schedule(static) shared(status) \
- magick_number_threads(random_image,random_image,random_image->rows,key == ~0UL)
+ magick_number_threads(random_image,random_image,random_image->rows,key == ~0UL ? 0 : 2)
#endif
for (y=0; y < (ssize_t) random_image->rows; y++)
{
@@ -2387,7 +2387,7 @@
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) shared(progress,status) \
- magick_number_threads(image,image,image->rows,1)
+ magick_number_threads(image,image,image->rows,2)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickWand/MagickWand-config.in
^
|
@@ -6,6 +6,9 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+libdir=@libdir@
+pkgconfigdir=@pkgconfigdir@
+export PKG_CONFIG_LIBDIR="${pkgconfigdir}"
usage="\
Usage: MagickWand-config [--cflags] [--cppflags] [--exec-prefix] [--ldflags] [--libs] [--prefix] [--version]"
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/MagickWand/studio.h
^
|
@@ -97,10 +97,6 @@
#if defined(MAGICKWAND_WINDOWS_SUPPORT) && defined(_DEBUG)
#define _CRTDBG_MAP_ALLOC
#endif
-
-#if defined(MAGICKWAND_WINDOWS_SUPPORT) && defined(_DEBUG)
-#define _CRTDBG_MAP_ALLOC
-#endif
#if defined(MAGICKWAND_WINDOWS_SUPPORT)
# include <io.h>
#if !defined(__CYGWIN__)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/Makefile.in
^
|
@@ -263,8 +263,7 @@
@MAGICKCORE_ZERO_CONFIGURATION_SUPPORT_TRUE@am__append_5 = MagickCore/threshold-map.h
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ac_func_fseeko.m4 \
- $(top_srcdir)/m4/ax_c___attribute__.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_c___attribute__.m4 \
$(top_srcdir)/m4/ax_cflags_warn_all.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_check_framework.m4 \
@@ -3638,7 +3637,6 @@
BUILT_SOURCES =
MOSTLYCLEANFILES =
M4_EXTRA_DIST = \
- ac_func_fseeko.m4 \
ax_append_flag.m4 \
ax_c___attribute__.m4 \
ax_cflags_warn_all.m4 \
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/PerlMagick/MANIFEST
^
|
@@ -6,7 +6,6 @@
demo/compose-specials.pl
demo/composite.pl
demo/demo.pl
-demo/dst.png
demo/Generic.ttf
demo/lsys.pl
demo/Makefile
@@ -20,7 +19,6 @@
demo/shapes.pl
demo/single-pixels.pl
demo/smile.gif
-demo/src.png
demo/steganography.pl
demo/tile.gif
demo/tree.pl
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/PerlMagick/demo/steganography.pl
^
|
@@ -15,7 +15,7 @@
$image->ReadImage('model.gif');
$image->SteganoImage(image=>$watermark,offset=>91);
$image->Write('model.pam');
-$image->Write('show:');
+$image->Write(magick=>'SHOW',title=>"Steganography Model");
#
# Extract image from image.
#
@@ -23,4 +23,4 @@
$stegano=Image::Magick->new(size=>$size);
$stegano->ReadImage('stegano:model.pam');
$stegano->Write('stegano.pam');
-$image->Write(magick=>'SHOW',title=>"Steganography Demo");
+$stegano->Write(magick=>'SHOW',title=>"Hidden Image");
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/aclocal.m4
^
|
@@ -1267,7 +1267,6 @@
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
-m4_include([m4/ac_func_fseeko.m4])
m4_include([m4/ax_c___attribute__.m4])
m4_include([m4/ax_cflags_warn_all.m4])
m4_include([m4/ax_check_compile_flag.m4])
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/bmp.c
^
|
@@ -1827,7 +1827,7 @@
*p;
const StringInfo
- *profile;
+ *profile = (const StringInfo *) NULL;
MagickBooleanType
have_color_info,
@@ -2016,7 +2016,8 @@
}
bytes_per_line=4*((image->columns*bmp_info.bits_per_pixel+31)/32);
bmp_info.ba_offset=0;
- profile=GetImageProfile(image,"icc");
+ if (type > 3)
+ profile=GetImageProfile(image,"icc");
have_color_info=(image->rendering_intent != UndefinedIntent) ||
(profile != (StringInfo *) NULL) || (image->gamma != 0.0) ? MagickTrue :
MagickFalse;
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/caption.c
^
|
@@ -277,19 +277,21 @@
if (status == MagickFalse)
break;
AdjustTypeMetricBounds(&metrics);
- width=CastDoubleToUnsigned(metrics.width+draw_info->stroke_width+0.5);
- height=CastDoubleToUnsigned(metrics.height-metrics.underline_position+
+ width=CastDoubleToUnsigned(metrics.width+draw_info->stroke_width+
+ 0.5);
+ height=CastDoubleToUnsigned(
+ metrics.height-metrics.underline_position+
draw_info->interline_spacing+draw_info->stroke_width+0.5);
if ((image->columns != 0) && (image->rows != 0))
{
- if ((width >= image->columns) || (height >= image->rows))
+ if ((width > image->columns) && (height > image->rows))
break;
- if ((width < image->columns) && (height < image->rows))
+ if ((width <= image->columns) && (height <= image->rows))
low=draw_info->pointsize;
}
else
- if (((image->columns != 0) && (width >= image->columns)) ||
- ((image->rows != 0) && (height >= image->rows)))
+ if (((image->columns != 0) && (width > image->columns)) ||
+ ((image->rows != 0) && (height > image->rows)))
break;
}
high=draw_info->pointsize;
@@ -315,19 +317,20 @@
draw_info->interline_spacing+draw_info->stroke_width+0.5);
if ((image->columns != 0) && (image->rows != 0))
{
- if ((width < image->columns) && (height < image->rows))
+ if ((width <= image->columns) && (height <= image->rows))
low=draw_info->pointsize+0.5;
else
high=draw_info->pointsize-0.5;
}
else
- if (((image->columns != 0) && (width < image->columns)) ||
- ((image->rows != 0) && (height < image->rows)))
+ if (((image->columns != 0) && (width <= image->columns)) ||
+ ((image->rows != 0) && (height <= image->rows)))
low=draw_info->pointsize+0.5;
else
high=draw_info->pointsize-0.5;
}
- draw_info->pointsize=floor((low+high)/2.0-0.5);
+ if (status != MagickFalse)
+ draw_info->pointsize=floor((low+high)/2.0-0.5);
}
/*
Draw caption.
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/cin.c
^
|
@@ -998,7 +998,7 @@
offset+=WriteBlob(image,sizeof(cin.file.filename),(unsigned char *)
cin.file.filename);
seconds=GetMagickTime();
- GetMagickUTCtime(&seconds,&utc_time);
+ GetMagickUTCTime(&seconds,&utc_time);
(void) memset(timestamp,0,sizeof(timestamp));
(void) strftime(timestamp,MagickPathExtent,"%Y:%m:%d:%H:%M:%SUTC",&utc_time);
(void) memset(cin.file.create_date,0,sizeof(cin.file.create_date));
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/djvu.c
^
|
@@ -607,6 +607,8 @@
if (tag == 0) break;
} while (!ddjvu_page_decoding_done(lc->page));
+ if (ddjvu_page_decoding_error(lc->page) != 0)
+ ThrowReaderException(CorruptImageError,"CorruptImage");
ddjvu_document_get_pageinfo(lc->document, pagenum, &info);
image->resolution.x = (float) info.dpi;
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/dng.c
^
|
@@ -333,6 +333,21 @@
const char
*option;
+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0,20)
+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0,21)
+ raw_info->rawparams.max_raw_memory_mb=8192;
+#else
+ raw_info->params.max_raw_memory_mb=8192;
+#endif
+ option=GetImageOption(image_info,"dng:max-raw-memory");
+ if (option != (const char *) NULL)
+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0,21)
+ raw_info->rawparams.max_raw_memory_mb=(unsigned int)
+ StringToInteger(option);
+#else
+ raw_info->params.max_raw_memory_mb=(unsigned int) StringToInteger(option);
+#endif
+#endif
raw_info->params.user_flip=0;
raw_info->params.output_bps=16;
raw_info->params.use_camera_wb=1;
@@ -428,10 +443,11 @@
SetImageProperty(image,"dng:thumbnail.type","bitmap",exception);
(void) FormatLocaleString(value,sizeof(value),"%hu",thumbnail->bits);
SetImageProperty(image,"dng:thumbnail.bits",value,exception);
- (void) FormatLocaleString(value,sizeof(value),"%hu",thumbnail->colors);
+ (void) FormatLocaleString(value,sizeof(value),"%hu",
+ thumbnail->colors);
SetImageProperty(image,"dng:thumbnail.colors",value,exception);
- (void) FormatLocaleString(value,sizeof(value),"%hux%hu",thumbnail->width,
- thumbnail->height);
+ (void) FormatLocaleString(value,sizeof(value),"%hux%hu",
+ thumbnail->width,thumbnail->height);
SetImageProperty(image,"dng:thumbnail.geometry",value,exception);
}
profile=BlobToStringInfo(thumbnail->data,thumbnail->data_size);
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/dng.h
^
|
@@ -17,13 +17,15 @@
#include "coders/coders-private.h"
#define MagickDNGHeaders \
- MagickCoderHeader("CR2", 0, "\115\115\000\052\000\020\000\000\122\103\002") \
- MagickCoderHeader("CR2", 0, "\111\111\052\000\020\000\000\000\103\122\002") \
+ MagickCoderHeader("CR2", 0, "MM\x00\x2a\x00\x10\x00\x00RC\x02") \
+ MagickCoderHeader("CR2", 0, "II\x2a\x00\x10\x00\x00\x00CR\x02") \
MagickCoderHeader("CR3", 4, "ftypcrx ") \
MagickCoderHeader("CRW", 0, "II\x1a\x00\x00\x00HEAPCCDR") \
MagickCoderHeader("ORF", 0, "IIRO\x08\x00\x00\x00") \
MagickCoderHeader("MRW", 0, "\x00MRM") \
- MagickCoderHeader("RAF", 0, "FUJIFILMCCD-RAW ")
+ MagickCoderHeader("RAF", 0, "FUJIFILMCCD-RAW ") \
+ MagickCoderHeader("RAW", 0, "IIU\x00\x08\x00\x00\x00") \
+ MagickCoderHeader("RW2", 0, "IIU\x00\x18\x00\x00\x00")
#define MagickDNGAliases \
MagickCoderAlias("DNG", "3FR") \
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/jbig.c
^
|
@@ -122,19 +122,12 @@
status;
Quantum
- index;
-
- ssize_t
- x;
-
- Quantum
+ index,
*q;
- unsigned char
- *p;
-
ssize_t
length,
+ x,
y;
struct jbg_dec_state
@@ -143,7 +136,8 @@
unsigned char
bit,
*buffer,
- byte;
+ byte,
+ *p;
/*
Open image file.
@@ -165,6 +159,9 @@
/*
Initialize JBIG toolkit.
*/
+ if ((image->columns != (unsigned long) image->columns) ||
+ (image->rows != (unsigned long) image->rows))
+ ThrowReaderException(ImageError,"WidthOrHeightExceedsLimit");
jbg_dec_init(&jbig_info);
jbg_dec_maxsize(&jbig_info,(unsigned long) image->columns,(unsigned long)
image->rows);
@@ -410,6 +407,9 @@
static MagickBooleanType WriteJBIGImage(const ImageInfo *image_info,
Image *image,ExceptionInfo *exception)
{
+ const Quantum
+ *p;
+
double
version;
@@ -422,20 +422,12 @@
MemoryInfo
*pixel_info;
- const Quantum
- *p;
-
- ssize_t
- x;
-
- unsigned char
- *q;
-
size_t
number_images,
number_packets;
ssize_t
+ x,
y;
struct jbg_enc_state
@@ -444,7 +436,8 @@
unsigned char
bit,
byte,
- *pixels;
+ *pixels,
+ *q;
/*
Open image file.
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/jp2.c
^
|
@@ -909,9 +909,7 @@
*jp2_stream;
ssize_t
- i;
-
- ssize_t
+ i,
y;
unsigned int
@@ -955,12 +953,12 @@
}
if (image_info->extract != (char *) NULL)
{
- RectangleInfo
- geometry;
-
int
flags;
+ RectangleInfo
+ geometry;
+
/*
Set tile size.
*/
@@ -1039,19 +1037,28 @@
parameters->tcp_numlayers=i+1;
parameters->cp_disto_alloc=OPJ_TRUE;
}
- if (image_info->sampling_factor != (const char *) NULL)
- (void) sscanf(image_info->sampling_factor,"%d:%d",
- ¶meters->subsampling_dx,¶meters->subsampling_dy);
+ if (image_info->sampling_factor != (char *) NULL)
+ {
+ GeometryInfo
+ geometry_info;
+
+ MagickStatusType
+ flags;
+
+ flags=ParseGeometry(image_info->sampling_factor,&geometry_info);
+ if ((flags & RhoValue) != 0)
+ parameters->subsampling_dx=(int) geometry_info.rho;
+ parameters->subsampling_dy=parameters->subsampling_dx;
+ if ((flags & SigmaValue) != 0)
+ parameters->subsampling_dy=(int) geometry_info.sigma;
+ }
property=GetImageProperty(image,"comment",exception);
if (property != (const char *) NULL)
parameters->cp_comment=(char *) property;
channels=3;
jp2_colorspace=OPJ_CLRSPC_SRGB;
if (image->colorspace == YUVColorspace)
- {
- jp2_colorspace=OPJ_CLRSPC_SYCC;
- parameters->subsampling_dx=2;
- }
+ jp2_colorspace=OPJ_CLRSPC_SYCC;
else
{
if (IsGrayColorspace(image->colorspace) != MagickFalse)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/json.c
^
|
@@ -17,7 +17,7 @@
% January 2014 %
% %
% %
-% Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization %
+% Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
@@ -718,11 +718,14 @@
n;
n=FormatLocaleFile(file,StatisticsFormat,name,GetMagickPrecision(),
+ channel_statistics[channel].minima == MagickMaximumValue ? 0.0 :
(double) ClampToQuantum(scale*channel_statistics[channel].minima),
- GetMagickPrecision(),(double) ClampToQuantum(scale*
- channel_statistics[channel].maxima),GetMagickPrecision(),
- scale*channel_statistics[channel].mean,GetMagickPrecision(),
- scale*channel_statistics[channel].median,GetMagickPrecision(),
+ GetMagickPrecision(),
+ channel_statistics[channel].maxima == -MagickMaximumValue ? 0.0 :
+ (double) ClampToQuantum(scale*channel_statistics[channel].maxima),
+ GetMagickPrecision(),scale*channel_statistics[channel].mean,
+ GetMagickPrecision(),scale*channel_statistics[channel].median,
+ GetMagickPrecision(),
IsNaN(channel_statistics[channel].standard_deviation) != 0 ? MagickEpsilon :
scale*channel_statistics[channel].standard_deviation,GetMagickPrecision(),
channel_statistics[channel].kurtosis,GetMagickPrecision(),
@@ -1730,7 +1733,9 @@
(void) WriteBlobString(image,"[");
image->magick_columns=image->columns;
image->magick_rows=image->rows;
- (void) EncodeImageAttributes(image,file,exception);
+ status=EncodeImageAttributes(image,file,exception);
+ if (status == MagickFalse)
+ break;
if (GetNextImageInList(image) == (Image *) NULL)
{
(void) WriteBlobString(image,"]");
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/jxl.c
^
|
@@ -84,7 +84,7 @@
*/
static MagickBooleanType
WriteJXLImage(const ImageInfo *,Image *,ExceptionInfo *);
-
+
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -337,8 +337,8 @@
/*
Initialize JXL delegate library.
*/
- memset(&basic_info,0,sizeof(basic_info));
- memset(&pixel_format,0,sizeof(pixel_format));
+ (void) memset(&basic_info,0,sizeof(basic_info));
+ (void) memset(&pixel_format,0,sizeof(pixel_format));
JXLSetMemoryManager(&memory_manager,&memory_manager_info,image,exception);
jxl_info=JxlDecoderCreate(&memory_manager);
if (jxl_info == (JxlDecoder *) NULL)
@@ -402,7 +402,7 @@
remaining=JxlDecoderReleaseInput(jxl_info);
if (remaining > 0)
- memmove(pixels,pixels+input_size-remaining,remaining);
+ (void) memmove(pixels,pixels+input_size-remaining,remaining);
count=ReadBlob(image,input_size-remaining,pixels+remaining);
if (count <= 0)
{
@@ -446,7 +446,7 @@
StringInfo
*profile;
- memset(&color_encoding,0,sizeof(color_encoding));
+ (void) memset(&color_encoding,0,sizeof(color_encoding));
JXLSetFormat(image,&pixel_format,exception);
#if JPEGXL_NUMERIC_VERSION >= JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0)
jxl_status=JxlDecoderGetColorAsEncodedProfile(jxl_info,
@@ -948,9 +948,9 @@
/*
Initialize JXL delegate library.
*/
- memset(&basic_info,0,sizeof(basic_info));
- memset(&frame_header,0,sizeof(frame_header));
- memset(&pixel_format,0,sizeof(pixel_format));
+ (void) memset(&basic_info,0,sizeof(basic_info));
+ (void) memset(&frame_header,0,sizeof(frame_header));
+ (void) memset(&pixel_format,0,sizeof(pixel_format));
JXLSetMemoryManager(&memory_manager,&memory_manager_info,image,exception);
jxl_info=JxlEncoderCreate(&memory_manager);
if (jxl_info == (JxlEncoder *) NULL)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/label.c
^
|
@@ -214,19 +214,21 @@
if (status == MagickFalse)
break;
AdjustTypeMetricBounds(&metrics);
- width=CastDoubleToUnsigned(metrics.width+draw_info->stroke_width+0.5);
- height=CastDoubleToUnsigned(metrics.height-metrics.underline_position+
+ width=CastDoubleToUnsigned(metrics.width+draw_info->stroke_width+
+ 0.5);
+ height=CastDoubleToUnsigned(
+ metrics.height-metrics.underline_position+
draw_info->stroke_width+0.5);
if ((image->columns != 0) && (image->rows != 0))
{
- if ((width >= image->columns) || (height >= image->rows))
+ if ((width > image->columns) && (height > image->rows))
break;
- if ((width < image->columns) && (height < image->rows))
+ if ((width <= image->columns) && (height <= image->rows))
low=draw_info->pointsize;
}
else
- if (((image->columns != 0) && (width >= image->columns)) ||
- ((image->rows != 0) && (height >= image->rows)))
+ if (((image->columns != 0) && (width > image->columns)) ||
+ ((image->rows != 0) && (height > image->rows)))
break;
}
if (status == MagickFalse)
@@ -238,7 +240,7 @@
}
high=draw_info->pointsize;
}
- while((high-low) > 0.5)
+ while ((high-low) > 0.5)
{
draw_info->pointsize=(low+high)/2.0;
(void) FormatLocaleString(geometry,MagickPathExtent,"%+g%+g",
@@ -267,11 +269,7 @@
high=draw_info->pointsize-0.5;
}
if (status != MagickFalse)
- {
- draw_info->pointsize=floor((low+high)/2.0-0.5);
- status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
- AdjustTypeMetricBounds(&metrics);
- }
+ draw_info->pointsize=floor((low+high)/2.0-0.5);
}
label=DestroyString(label);
if (status == MagickFalse)
@@ -280,6 +278,11 @@
image=DestroyImageList(image);
return((Image *) NULL);
}
+ /*
+ Draw label.
+ */
+ status=GetMultilineTypeMetrics(image,draw_info,&metrics,exception);
+ AdjustTypeMetricBounds(&metrics);
if (image->columns == 0)
image->columns=(size_t) floor(metrics.width+draw_info->stroke_width+0.5);
if (image->columns == 0)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/mat.c
^
|
@@ -1633,7 +1633,7 @@
image->depth=8;
current_time=GetMagickTime();
- GetMagickUTCtime(¤t_time,&utc_time);
+ GetMagickUTCTime(¤t_time,&utc_time);
(void) memset(MATLAB_HDR,' ',MagickMin(sizeof(MATLAB_HDR),124));
FormatLocaleString(MATLAB_HDR,sizeof(MATLAB_HDR),
"MATLAB 5.0 MAT-file, Platform: %s, Created on: %s %s %2d %2d:%2d:%2d %d",
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/pdf.c
^
|
@@ -3226,7 +3226,7 @@
WritePDFValue(image,"Subject",GetPDFSubject(image_info),is_pdfa);
WritePDFValue(image,"Keywords",GetPDFKeywords(image_info),is_pdfa);
seconds=GetPdfCreationDate(image_info,image);
- GetMagickUTCtime(&seconds,&utc_time);
+ GetMagickUTCTime(&seconds,&utc_time);
(void) FormatLocaleString(temp,MagickPathExtent,"D:%04d%02d%02d%02d%02d%02d",
utc_time.tm_year+1900,utc_time.tm_mon+1,utc_time.tm_mday,
utc_time.tm_hour,utc_time.tm_min,utc_time.tm_sec);
@@ -3234,7 +3234,7 @@
temp);
(void) WriteBlobString(image,buffer);
seconds=GetPdfModDate(image_info,image);
- GetMagickUTCtime(&seconds,&utc_time);
+ GetMagickUTCTime(&seconds,&utc_time);
(void) FormatLocaleString(temp,MagickPathExtent,"D:%04d%02d%02d%02d%02d%02d",
utc_time.tm_year+1900,utc_time.tm_mon+1,utc_time.tm_mday,
utc_time.tm_hour,utc_time.tm_min,utc_time.tm_sec);
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/png.c
^
|
@@ -1791,8 +1791,6 @@
(void) FormatLocaleString(key,MagickPathExtent,"%s",(const char *)
GetStringInfoDatum(profile));
offset=(ssize_t) strlen(key)+1;
- (void) FormatLocaleString(key,MagickPathExtent,"png:%s",(const char *)
- GetStringInfoDatum(profile));
if (((MagickOffsetType) size-offset) < 1)
{
profile=DestroyStringInfo(profile);
@@ -7913,6 +7911,69 @@
}
#endif
+static void Magick_png_set_text(png_struct *ping,png_info *ping_info,
+ MngWriteInfo *mng_info, const ImageInfo *image_info,const char* key,
+ const char *value)
+{
+ const char
+ *c;
+
+ MagickBooleanType
+ write_itxt=MagickFalse;
+
+ int
+ compresion_none=PNG_TEXT_COMPRESSION_NONE,
+ compresion_zTXt=PNG_TEXT_COMPRESSION_zTXt;
+
+ png_textp
+ text;
+
+ size_t
+ length;
+
+ /*
+ Check if the string contains non-Latin1 characters.
+ */
+ c=value;
+ while(*c != '\0')
+ {
+ if (((const unsigned char) *c) > 127) {
+ write_itxt=MagickTrue;
+ compresion_none=PNG_ITXT_COMPRESSION_NONE;
+ compresion_zTXt=PNG_ITXT_COMPRESSION_zTXt;
+ break;
+ }
+ c++;
+ }
+#if PNG_LIBPNG_VER >= 10400
+ text=(png_textp) png_malloc(ping,(png_alloc_size_t) sizeof(png_text));
+#else
+ text=(png_textp) png_malloc(ping,(png_size_t) sizeof(png_text));
+#endif
+ if (text == (png_textp) NULL)
+ return;
+ (void) memset(text,0,sizeof(png_text));
+ text[0].key=(char *) key;
+ text[0].text=(char *) value;
+ length=strlen(value);
+ if (write_itxt == MagickFalse)
+ text[0].text_length=length;
+ else
+ text[0].itxt_length=length;
+ if (mng_info->exclude_tEXt != MagickFalse)
+ text[0].compression=compresion_zTXt;
+ else
+ if (mng_info->exclude_zTXt != MagickFalse)
+ text[0].compression=compresion_none;
+ else
+ text[0].compression=
+ image_info->compression == NoCompression ||
+ (image_info->compression == UndefinedCompression &&
+ (length < 128)) ? compresion_none : compresion_zTXt;
+ png_set_text(ping,ping_info,text,1);
+ png_free(ping,text);
+}
+
/* Write one PNG image */
static MagickBooleanType WriteOnePNGImage(MngWriteInfo *mng_info,
const ImageInfo *IMimage_info,Image *IMimage,ExceptionInfo *exception)
@@ -11175,9 +11236,6 @@
ResetImagePropertyIterator(image);
while ((property=GetNextImageProperty(image)) != (const char *) NULL)
{
- png_textp
- text;
-
/* Don't write any "png:" or "jpeg:" properties; those are just for
* "identify" or for passing through to another JPEG
*/
@@ -11202,36 +11260,7 @@
value=GetImageProperty(image,property,exception);
if (value == (const char *) NULL)
continue;
-#if PNG_LIBPNG_VER >= 10400
- text=(png_textp) png_malloc(ping,
- (png_alloc_size_t) sizeof(png_text));
-#else
- text=(png_textp) png_malloc(ping,(png_size_t) sizeof(png_text));
-#endif
- text[0].key=(char *) property;
- text[0].text=(char *) value;
- text[0].text_length=strlen(value);
- if (mng_info->exclude_tEXt != MagickFalse)
- text[0].compression=PNG_TEXT_COMPRESSION_zTXt;
- else if (mng_info->exclude_zTXt != MagickFalse)
- text[0].compression=PNG_TEXT_COMPRESSION_NONE;
- else
- {
- text[0].compression=image_info->compression == NoCompression ||
- (image_info->compression == UndefinedCompression &&
- text[0].text_length < 128) ? PNG_TEXT_COMPRESSION_NONE :
- PNG_TEXT_COMPRESSION_zTXt ;
- }
- if (logging != MagickFalse)
- {
- (void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Setting up text chunk");
-
- (void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " keyword: '%s'",text[0].key);
- }
- png_set_text(ping,ping_info,text,1);
- png_free(ping,text);
+ Magick_png_set_text(ping,ping_info,mng_info,image_info,property,value);
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/psd.c
^
|
@@ -1523,7 +1523,7 @@
return(status);
}
-static MagickBooleanType GetPixelChannelFromPsdIndex(const PSDInfo *psd_info,
+static MagickBooleanType GetPixelChannelFromPSDIndex(const PSDInfo *psd_info,
ssize_t index,PixelChannel *channel)
{
*channel=RedPixelChannel;
@@ -1569,7 +1569,7 @@
return(MagickTrue);
}
-static void SetPsdMetaChannels(Image *image,const PSDInfo *psd_info,
+static void SetPSDMetaChannels(Image *image,const PSDInfo *psd_info,
const unsigned short channels,ExceptionInfo *exception)
{
ssize_t
@@ -1621,7 +1621,7 @@
(void) SetImageProperty(layer_info->image,"label",(char *) layer_info->name,
exception);
- SetPsdMetaChannels(layer_info->image,psd_info,layer_info->channels,exception);
+ SetPSDMetaChannels(layer_info->image,psd_info,layer_info->channels,exception);
status=MagickTrue;
for (j=0; j < (ssize_t) layer_info->channels; j++)
{
@@ -1670,6 +1670,13 @@
return(status);
}
+static MagickBooleanType IsEmptyPSDLayer(LayerInfo *layer_info)
+{
+ if ((layer_info->page.width == 0) || (layer_info->page.height == 0))
+ return(MagickTrue);
+ return(MagickFalse);
+}
+
static MagickBooleanType CheckPSDChannels(const Image *image,
const PSDInfo *psd_info,LayerInfo *layer_info)
{
@@ -1682,6 +1689,8 @@
ssize_t
i;
+ if (IsEmptyPSDLayer(layer_info) != MagickFalse)
+ return(MagickTrue);
if (layer_info->channels < psd_info->min_channels)
return(MagickFalse);
channel_type=RedChannel;
@@ -2006,7 +2015,7 @@
layer_info[i].page.width,(double) layer_info[i].channels);
for (j=0; j < (ssize_t) layer_info[i].channels; j++)
{
- layer_info[i].channel_info[j].supported=GetPixelChannelFromPsdIndex(
+ layer_info[i].channel_info[j].supported=GetPixelChannelFromPSDIndex(
psd_info,(ssize_t) ReadBlobSignedShort(image),
&layer_info[i].channel_info[j].channel);
layer_info[i].channel_info[j].size=(size_t) GetPSDSize(psd_info,
@@ -2167,7 +2176,7 @@
for (i=0; i < number_layers; i++)
{
- if ((layer_info[i].page.width == 0) || (layer_info[i].page.height == 0))
+ if (IsEmptyPSDLayer(&layer_info[i]) != MagickFalse)
{
if (image->debug != MagickFalse)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
@@ -2303,14 +2312,14 @@
image->filename);
}
- SetPsdMetaChannels(image,psd_info,psd_info->channels,exception);
+ SetPSDMetaChannels(image,psd_info,psd_info->channels,exception);
status=MagickTrue;
for (i=0; i < (ssize_t) psd_info->channels; i++)
{
PixelChannel
channel;
- status=GetPixelChannelFromPsdIndex(psd_info,i,&channel);
+ status=GetPixelChannelFromPSDIndex(psd_info,i,&channel);
if (status == MagickFalse)
{
(void) ThrowMagickException(exception,GetMagickModule(),
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/svg.c
^
|
@@ -435,21 +435,27 @@
rsvg_handle_set_base_uri(svg_handle,image_info->filename);
if ((fabs(image->resolution.x) > MagickEpsilon) &&
(fabs(image->resolution.y) > MagickEpsilon))
- rsvg_handle_set_dpi_x_y(svg_handle,image->resolution.x,
- image->resolution.y);
+ rsvg_handle_set_dpi_x_y(svg_handle,image->resolution.x,image->resolution.y);
while ((n=ReadBlob(image,MagickMaxBufferExtent-1,buffer)) != 0)
{
buffer[n]='\0';
error=(GError *) NULL;
(void) rsvg_handle_write(svg_handle,buffer,(gsize) n,&error);
if (error != (GError *) NULL)
- g_error_free(error);
+ {
+ g_error_free(error);
+ break;
+ }
}
buffer=(unsigned char *) RelinquishMagickMemory(buffer);
error=(GError *) NULL;
rsvg_handle_close(svg_handle,&error);
if (error != (GError *) NULL)
- g_error_free(error);
+ {
+ g_error_free(error);
+ g_object_unref(svg_handle);
+ ThrowReaderException(CorruptImageError,"UnableToReadImageData");
+ }
#if defined(MAGICKCORE_CAIRO_DELEGATE)
apply_density=MagickTrue;
rsvg_handle_get_dimensions(svg_handle,&dimension_info);
@@ -556,8 +562,7 @@
cairo_surface_destroy(cairo_surface);
pixel_info=RelinquishVirtualMemory(pixel_info);
g_object_unref(svg_handle);
- ThrowReaderException(ResourceLimitError,
- "MemoryAllocationFailed");
+ ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
}
cairo_image=cairo_create(cairo_surface);
cairo_set_operator(cairo_image,CAIRO_OPERATOR_CLEAR);
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/tiff.c
^
|
@@ -1840,11 +1840,11 @@
if (status == MagickFalse)
ThrowTIFFException(ResourceLimitError,"MemoryAllocationFailed");
}
- }
- if (image->number_meta_channels != 0)
- {
- quantum_type=MultispectralQuantum;
- (void) SetQuantumPad(image,quantum_info,0);
+ if (image->number_meta_channels != 0)
+ {
+ quantum_type=MultispectralQuantum;
+ (void) SetQuantumPad(image,quantum_info,0);
+ }
}
switch (method)
{
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/url.c
^
|
@@ -18,7 +18,7 @@
% March 2000 %
% %
% %
-% Copyright @ 2000 ImageMagick Studio LLC, a non-profit organization %
+% Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/video.c
^
|
@@ -327,69 +327,81 @@
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsPNG;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","AVI","Microsoft Audio/Visual Interleaved");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","FLV","Flash Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","MKV","Multimedia Container");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","MOV","MPEG Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","MPEG","MPEG Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","MPG","MPEG Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","MP4","VIDEO-4 Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","M2V","MPEG Video Stream");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","M4V","Raw VIDEO-4 Video");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","WEBM","Open Web Media");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
entry=AcquireMagickInfo("VIDEO","WMV","Windows Media Video");
entry->decoder=(DecodeImageHandler *) ReadVIDEOImage;
entry->encoder=(EncodeImageHandler *) WriteVIDEOImage;
entry->magick=(IsImageFormatHandler *) IsVIDEO;
entry->flags^=CoderBlobSupportFlag;
+ entry->flags|=CoderDecoderSeekableStreamFlag;
(void) RegisterMagickInfo(entry);
return(MagickImageCoderSignature);
}
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/coders/webp.c
^
|
@@ -163,6 +163,19 @@
return(value);
}
+static inline void WriteWebPLSBWord(unsigned char *magick_restrict data,
+ const size_t value)
+{
+ unsigned char
+ *p;
+
+ p=data;
+ *(p++)=(unsigned char) value;
+ *(p++)=(unsigned char) (value >> 8);
+ *(p++)=(unsigned char) (value >> 16);
+ *(p++)=(unsigned char) (value >> 24);
+}
+
static MagickBooleanType IsWEBPImageLossless(const unsigned char *stream,
const size_t length)
{
@@ -514,6 +527,7 @@
status;
size_t
+ blob_size,
length;
ssize_t
@@ -559,8 +573,14 @@
length=(size_t) (ReadWebPLSBWord(header+4)+8);
if (length < 12)
ThrowWEBPException(CorruptImageError,"CorruptImage");
- if ((MagickSizeType) length > GetBlobSize(image))
- ThrowWEBPException(CorruptImageError,"InsufficientImageDataInFile");
+ blob_size=(size_t) GetBlobSize(image);
+ if (length > blob_size)
+ {
+ if (length-blob_size != 12)
+ ThrowWEBPException(CorruptImageError,"InsufficientImageDataInFile");
+ length-=12;
+ WriteWebPLSBWord(header+4,length-8);
+ }
stream=(unsigned char *) AcquireQuantumMemory(length,sizeof(*stream));
if (stream == (unsigned char *) NULL)
ThrowWEBPException(ResourceLimitError,"MemoryAllocationFailed");
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/config/delegates.xml.in
^
|
@@ -63,7 +63,7 @@
<delegate decode="png" encode="bpg" command=""@BPGEncodeDelegate@" -b 12 -q "%~" -o "%o" "%i""/>
<delegate decode="blender" command=""@BlenderDecodeDelegate@" -b "%i" -F PNG -o "%o""\n"@ConvertDelegate@" convert -concatenate "%o*.png" "%o""/>
<delegate decode="browse" stealth="True" spawn="True" command=""@BrowseDelegate@" https://imagemagick.org/; @RMDelegate@ "%i""/>
- <delegate decode="https:decode" command=""@WWWDecodeDelegate@" -s -k -L -o "%u.dat" "https:%M""/>
+ <delegate decode="https:decode" command=""@WWWDecodeDelegate@" -s -L -o "%u.dat" "https:%M""/>
<delegate decode="doc" command=""@DOCDecodeDelegate@" --convert-to pdf -outdir `dirname "%i"` "%i" 2> "%u"; @MVDelegate@ "%i.pdf" "%o""/>
<delegate decode="docx" command=""@DOCDecodeDelegate@" --convert-to pdf -outdir `dirname "%i"` "%i" 2> "%u"; @MVDelegate@ "%i.pdf" "%o""/>
<delegate decode="dng:decode" command=""@DNGDecodeDelegate@" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/config/mime.xml
^
|
@@ -763,6 +763,8 @@
<mime type="image/x-adobe-dng" acronym="DNG" description="Digital Negative" priority="100" pattern="*.dng" />
<mime type="image/x-canon-crw" description="Canon RaW" data-type="string" offset="0" magic="II\x1a\x00\x00\x00HEAPCCDR" priority="50" />
<mime type="image/x-canon-crw" acronym="CRW" description="Canon RaW" priority="100" pattern="*.crw" />
+ <mime type="image/x-canon-cr2" description="Canon Raw 2" data-type="string" offset="0" magic="MM\x00\x2a\x00\x10\x00\x00RC\x02" priority="50" />
+ <mime type="image/x-canon-cr2" description="Canon Raw 2" data-type="string" offset="0" magic="II\x2a\x00\x10\x00\x00\x00CR\x02" priority="50" />
<mime type="image/x-canon-cr2" acronym="CR2" description="Canon Raw 2" priority="100" pattern="*.cr2" />
<mime type="image/x-canon-cr3" description="Canon Raw 3" data-type="string" offset="4" magic="ftypcrx " priority="50" />
<mime type="image/x-canon-cr3" acronym="CR3" description="Canon Raw 3" priority="100" pattern="*.cr3" />
@@ -777,7 +779,9 @@
<mime type="image/x-olympus-orf" description="Olympus Raw Format" data-type="string" offset="0" magic="IIRO\x08\x00\x00\x00" priority="50" />
<mime type="image/x-olympus-orf" acronym="ORF" description="Olympus Raw Format" priority="100" pattern="*.orf" />
<mime type="image/x-panasonic-raw" description="Panasonic raw image" data-type="string" offset="0" magic="IIU\x00\x08\x00\x00\x00" priority="50" />
- <mime type="image/x-panasonic-raw" description="Panasonic raw image" priority="100" pattern="*.raw" />
+ <mime type="image/x-panasonic-raw" acronym="RAW" description="Panasonic raw image" priority="100" pattern="*.raw" />
+ <mime type="image/x-panasonic-rw2" description="Panasonic raw2 image" data-type="string" offset="0" magic="IIU\x00\x18\x00\x00\x00" priority="50" />
+ <mime type="image/x-panasonic-rw2" acronym="RW2" description="Panasonic raw2 image" priority="100" pattern="*.rw2" />
<mime type="image/x-pentax-pef" acronym="PEF" description="Pentax Electronic Format" priority="100" pattern="*.pef" />
<mime type="image/x-sigma-x3f" description="X3 Foveon" data-type="string" offset="0" magic="FOVb" priority="50" />
<mime type="image/x-sigma-x3f" acronym="X3F" description="X3 Foveon" priority="100" pattern="*.x3f" />
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/configure
^
|
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ImageMagick 7.1.1-23.
+# Generated by GNU Autoconf 2.71 for ImageMagick 7.1.1-27.
#
# Report bugs to <https://github.com/ImageMagick/ImageMagick/issues>.
#
@@ -621,8 +621,8 @@
# Identity of this package.
PACKAGE_NAME='ImageMagick'
PACKAGE_TARNAME='ImageMagick'
-PACKAGE_VERSION='7.1.1-23'
-PACKAGE_STRING='ImageMagick 7.1.1-23'
+PACKAGE_VERSION='7.1.1-27'
+PACKAGE_STRING='ImageMagick 7.1.1-27'
PACKAGE_BUGREPORT='https://github.com/ImageMagick/ImageMagick/issues'
PACKAGE_URL='https://imagemagick.org'
@@ -1915,7 +1915,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ImageMagick 7.1.1-23 to adapt to many kinds of systems.
+\`configure' configures ImageMagick 7.1.1-27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1991,7 +1991,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ImageMagick 7.1.1-23:";;
+ short | recursive ) echo "Configuration of ImageMagick 7.1.1-27:";;
esac
cat <<\_ACEOF
@@ -2312,7 +2312,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ImageMagick configure 7.1.1-23
+ImageMagick configure 7.1.1-27
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -3263,7 +3263,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ImageMagick $as_me 7.1.1-23, which was
+It was created by ImageMagick $as_me 7.1.1-27, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4879,7 +4879,7 @@
# Define the identity of the package.
PACKAGE='ImageMagick'
- VERSION='7.1.1-23'
+ VERSION='7.1.1-27'
# Some tools Automake needs.
@@ -5183,11 +5183,11 @@
MAGICK_MICRO_VERSION=1
-MAGICK_PATCHLEVEL_VERSION=23
+MAGICK_PATCHLEVEL_VERSION=27
-MAGICK_VERSION=7.1.1-23
+MAGICK_VERSION=7.1.1-27
-MAGICK_GIT_REVISION=b135bacc6:20231210
+MAGICK_GIT_REVISION=9c64c662f:20240120
# Substitute library versioning
@@ -5209,19 +5209,19 @@
PACKAGE_BASE_VERSION=7.1.1
-PACKAGE_PATCHLEVEL_VERSION=23
+PACKAGE_PATCHLEVEL_VERSION=27
-if test "y" = 'y'; then
- PACKAGE_VERSION_ADDENDUM='-23 (Beta)'
+if test "n" = 'y'; then
+ PACKAGE_VERSION_ADDENDUM='-27 (Beta)'
else
- PACKAGE_VERSION_ADDENDUM=-23
+ PACKAGE_VERSION_ADDENDUM=-27
fi
PACKAGE_LIB_VERSION=0x711
-PACKAGE_LIB_VERSION_NUMBER=7,1,1,23
+PACKAGE_LIB_VERSION_NUMBER=7,1,1,27
-PACKAGE_RELEASE_DATE=2023-12-10
+PACKAGE_RELEASE_DATE=2024-01-20
# Ensure that make can run correctly
@@ -10644,7 +10644,7 @@
fi
-# The presence of a feature test macro requesting reentrant function
+# The presence of a feature test macro requesting re-entrant function
# definitions is, on some systems, a strong hint that pthreads support is
# correctly enabled
@@ -11905,7 +11905,8 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <unistd.h>
- main () {
+ #include <stdlib.h>
+ int main () {
exit(!(sizeof(off_t) == 8));
}
int
@@ -11932,6 +11933,9 @@
;;
*)
+ if test "$ac_cv_sys_file_offset_bits" = ''; then
+ ac_cv_sys_file_offset_bits=64;
+ fi
LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
;;
esac
@@ -23784,53 +23788,6 @@
fi
-# Does gcc required -traditional?
-if test $ac_cv_c_compiler_gnu = yes; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
-printf %s "checking whether $CC needs -traditional... " >&6; }
-if test ${ac_cv_prog_gcc_traditional+y}
-then :
- printf %s "(cached) " >&6
-else $as_nop
- ac_pattern="Autoconf.*'x'"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sgtty.h>
-Autoconf TIOCGETP
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "$ac_pattern" >/dev/null 2>&1
-then :
- ac_cv_prog_gcc_traditional=yes
-else $as_nop
- ac_cv_prog_gcc_traditional=no
-fi
-rm -rf conftest*
-
-
- if test $ac_cv_prog_gcc_traditional = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <termio.h>
-Autoconf TCGETA
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "$ac_pattern" >/dev/null 2>&1
-then :
- ac_cv_prog_gcc_traditional=yes
-fi
-rm -rf conftest*
-
- fi
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5
-printf "%s\n" "$ac_cv_prog_gcc_traditional" >&6; }
- if test $ac_cv_prog_gcc_traditional = yes; then
- CC="$CC -traditional"
- fi
-fi
-
-
########
#
# Set defines required to build DLLs and modules using MinGW
@@ -34925,9 +34882,9 @@
DVIDecodeDelegateDefault='dvips'
EditorDelegateDefault='xterm'
ConvertDelegateDefault=`echo magick | sed ${configure_transform_name}`
-DisplayDelegateDefault=`echo magick display | sed ${configure_transform_name}`
+DisplayDelegateDefault=`echo magick | sed ${configure_transform_name}`
Fig2devDelegateDefault='fig2dev'
-MogrifyDelegateDefault=`echo magick mogrify | sed ${configure_transform_name}`
+MogrifyDelegateDefault=`echo magick | sed ${configure_transform_name}`
HPGLDecodeDelegateDefault='hp2xx'
HTMLDecodeDelegateDefault='html2ps'
ILBMDecodeDelegateDefault='ilbmtoppm'
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/configure.ac
^
|
@@ -503,7 +503,8 @@
unknown)
AC_MSG_CHECKING([for native large file support])
AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>
- main () {
+ #include <stdlib.h>
+ int main () {
exit(!(sizeof(off_t) == 8));
}])],
[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
@@ -511,6 +512,9 @@
[AC_MSG_RESULT([no])])
;;
*)
+ if test "$ac_cv_sys_file_offset_bits" = ''; then
+ ac_cv_sys_file_offset_bits=64;
+ fi
LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
;;
esac
@@ -929,9 +933,6 @@
fi
AC_SUBST([LIBSTDCLDFLAGS])
-# Does gcc required -traditional?
-AC_PROG_GCC_TRADITIONAL
-
########
#
# Set defines required to build DLLs and modules using MinGW
@@ -3242,9 +3243,9 @@
DVIDecodeDelegateDefault='dvips'
EditorDelegateDefault='xterm'
ConvertDelegateDefault=`echo magick | sed ${configure_transform_name}`
-DisplayDelegateDefault=`echo magick display | sed ${configure_transform_name}`
+DisplayDelegateDefault=`echo magick | sed ${configure_transform_name}`
Fig2devDelegateDefault='fig2dev'
-MogrifyDelegateDefault=`echo magick mogrify | sed ${configure_transform_name}`
+MogrifyDelegateDefault=`echo magick | sed ${configure_transform_name}`
HPGLDecodeDelegateDefault='hp2xx'
HTMLDecodeDelegateDefault='html2ps'
ILBMDecodeDelegateDefault='ilbmtoppm'
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/m4/Makefile.am
^
|
@@ -15,7 +15,6 @@
# Makefile for building ImageMagick m4 macros.
M4_EXTRA_DIST = \
- ac_func_fseeko.m4 \
ax_append_flag.m4 \
ax_c___attribute__.m4 \
ax_cflags_warn_all.m4 \
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/m4/ax_pthread.m4
^
|
@@ -244,7 +244,7 @@
[ax_pthread_flags="-pthread,-lpthread -pthread"])
-# The presence of a feature test macro requesting reentrant function
+# The presence of a feature test macro requesting re-entrant function
# definitions is, on some systems, a strong hint that pthreads support is
# correctly enabled
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/m4/version.m4
^
|
@@ -27,7 +27,7 @@
m4_define([magick_major_version], [7])
m4_define([magick_minor_version], [1])
m4_define([magick_micro_version], [1])
-m4_define([magick_patchlevel_version], [23])
+m4_define([magick_patchlevel_version], [27])
m4_define([magick_is_beta], [n])
m4_define([magick_bugreport],
[https://github.com/ImageMagick/ImageMagick/issues])
|
[-]
[+]
|
Added |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/build.sh
^
|
@@ -0,0 +1,23 @@
+#!/bin/bash -eu
+
+MAGICK_COMPILER=$CXX
+MAGICK_COMPILER_FLAGS=$CXXFLAGS
+MAGICK_INCLUDE="$WORK/include/ImageMagick-7"
+MAGICK_SRC="$SRC/imagemagick/oss-fuzz"
+MAGICK_LIBS_NO_FUZZ="$WORK/lib/libMagick++-7.Q16HDRI.a $WORK/lib/libMagickWand-7.Q16HDRI.a $WORK/lib/libMagickCore-7.Q16HDRI.a $WORK/lib/libpng.a $WORK/lib/libtiff.a $WORK/lib/libheif.a $WORK/lib/libde265.a $WORK/lib/libopenjp2.a $WORK/lib/libwebp.a $WORK/lib/libwebpmux.a $WORK/lib/libwebpdemux.a $WORK/lib/libsharpyuv.a $WORK/lib/libhwy.a $WORK/lib/libbrotlicommon.a $WORK/lib/libbrotlidec.a $WORK/lib/libbrotlienc.a $WORK/lib/libjxl_threads.a $WORK/lib/libjxl_cms.a $WORK/lib/libjxl.a $WORK/lib/libturbojpeg.a $WORK/lib/libjpeg.a $WORK/lib/libfreetype.a $WORK/lib/libraw.a $WORK/lib/liblzma.a $WORK/lib/liblcms2.a $WORK/lib/libdeflate.a $WORK/lib/libz.a"
+MAGICK_LIBS="$LIB_FUZZING_ENGINE $MAGICK_LIBS_NO_FUZZ"
+MAGICK_OUTPUT=$OUT
+MAGICK_FAST_BUILD=0
+
+. $MAGICK_SRC/build_dependencies.sh
+. $MAGICK_SRC/build_imagemagick.sh
+. $MAGICK_SRC/build_fuzzers.sh
+
+mkdir afl_testcases
+(cd afl_testcases; tar xvf "$SRC/afl_testcases.tgz")
+for format in gif jpg png bmp ico webp tif; do
+ mkdir $format
+ find afl_testcases -type f -name '*.'$format -exec mv -n {} $format/ \;
+ zip -rj $format.zip $format/
+ cp $format.zip "$OUT/encoder_${format}_fuzzer_seed_corpus.zip"
+done
|
[-]
[+]
|
Added |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/build_dependencies.sh
^
|
@@ -0,0 +1,106 @@
+#!/bin/bash -eu
+
+# build zlib
+pushd "$SRC/zlib"
+./configure --static --prefix="$WORK"
+make -j$(nproc) CFLAGS="$CFLAGS -fPIC"
+make install
+popd
+
+# build deflate
+pushd "$SRC/libdeflate"
+cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DLIBDEFLATE_BUILD_SHARED_LIB=off -DLIBDEFLATE_BUILD_GZIP=off
+make -j$(nproc)
+make install
+popd
+
+# Build xz
+pushd "$SRC/xz"
+./autogen.sh --no-po4a --no-doxygen
+./configure --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-lzma-links --disable-ifunc --disable-scripts --disable-doc --disable-shared --with-pic=yes --prefix="$WORK"
+make -j$(nproc)
+make install
+popd
+
+# Build png
+pushd "$SRC/libpng"
+cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DPNG_SHARED=off
+make -j$(nproc)
+make install
+popd
+
+# Build libjpeg-turbo
+pushd "$SRC/libjpeg-turbo"
+CFLAGS="$CFLAGS -fPIC" cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DENABLE_STATIC=on -DENABLE_SHARED=off
+make -j$(nproc)
+make install
+popd
+
+# Build libtiff
+pushd "$SRC/libtiff"
+autoreconf -fiv
+./configure --disable-shared --prefix="$WORK" CFLAGS="$CFLAGS -I$WORK/include" LIBS="-L$WORK/lib"
+make -j$(nproc)
+make install
+popd
+
+# Build liblcms2
+pushd "$SRC/Little-CMS"
+autoreconf -fiv
+./configure --disable-shared --prefix="$WORK"
+make -j$(nproc)
+make install
+popd
+
+# build libraw
+pushd "$SRC/libraw"
+autoreconf -fiv
+./configure --prefix="$WORK" --disable-shared --with-pic=yes --disable-examples PKG_CONFIG_PATH="$WORK/lib/pkgconfig" CXXFLAGS="$CXXFLAGS -DLIBRAW_USE_CALLOC_INSTEAD_OF_MALLOC=on"
+make -j$(nproc)
+make install
+popd
+
+# Build freetype2
+pushd "$SRC/freetype"
+./autogen.sh
+./configure --prefix="$WORK" --disable-shared PKG_CONFIG_PATH="$WORK/lib/pkgconfig"
+make -j$(nproc)
+make install
+popd
+
+# Build libde265
+pushd "$SRC/libde265"
+./autogen.sh
+./configure --disable-shared --prefix="$WORK"
+make -j$(nproc)
+make install
+popd
+
+# Build libheif
+pushd "$SRC/libheif"
+cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_SHARED_LIBS=off -DBUILD_TESTING=off -DWITH_EXAMPLES=off -DENABLE_PLUGIN_LOADING=off -DWITH_JPEG_DECODER=off -DWITH_JPEG_ENCODER=off -DCMAKE_BUILD_TYPE=Release
+make -j$(nproc)
+make install
+popd
+
+# Build webp
+pushd "$SRC/libwebp"
+./autogen.sh
+./configure --disable-shared --disable-png --disable-jpeg --disable-tiff --prefix="$WORK"
+make -j$(nproc)
+make install
+popd
+
+# Build openjpg
+pushd "$SRC/openjpeg"
+cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_SHARED_LIBS=off -DBUILD_CODEC=off -DCMAKE_BUILD_TYPE=Release
+make -j$(nproc)
+make install
+popd
+
+# Build libjxl
+pushd "$SRC/libjxl"
+cmake . -DCMAKE_INSTALL_PREFIX=$WORK -DBUILD_SHARED_LIBS=off -DBUILD_TESTING=false -DJPEGXL_ENABLE_TOOLS=false -DJPEGXL_ENABLE_SKCMS=false -DJPEGXL_ENABLE_DOXYGEN=false -DJPEGXL_ENABLE_MANPAGES=false -DJPEGXL_ENABLE_SJPEG=false -DJPEGXL_ENABLE_EXAMPLES=false -DJPEGXL_ENABLE_BENCHMARK=false -DJPEGXL_ENABLE_FUZZERS=false -DJPEGXL_BUNDLE_LIBPNG=false -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=false -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS"
+make -j$(nproc)
+make install
+popd
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/build_fuzzers.sh
^
|
(renamed from upstream/Magick++/fuzz/build_fuzzers.sh)
|
[-]
[+]
|
Added |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/build_imagemagick.sh
^
|
@@ -0,0 +1,6 @@
+#!/bin/bash -eu
+
+autoreconf -fiv
+./configure --prefix="$WORK" --disable-shared --disable-docs --with-jxl CFLAGS="$CFLAGS -I$WORK/include" LIBS="-L$WORK/lib -lbrotlidec -lbrotlienc -lbrotlicommon -lde265" PKG_CONFIG_PATH="$WORK/lib/pkgconfig"
+make "-j$(nproc)"
+make install
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/crop_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/crop_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/dictionaries/mvg.dict
^
|
(renamed from upstream/Magick++/fuzz/dictionaries/mvg.dict)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_format.h
^
|
(renamed from upstream/Magick++/fuzz/encoder_format.h)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_gradient_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_gradient_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_label_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_label_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_list.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_list.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_pattern_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_pattern_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_plasma_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_plasma_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_radial-gradient_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_radial-gradient_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_utils.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_utils.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/encoder_xc_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/encoder_xc_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/enhance_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/enhance_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/huffman_decode_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/huffman_decode_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/main.cc
^
|
(renamed from upstream/Magick++/fuzz/main.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/ping_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/ping_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/rotate_fuzzer.cc
^
|
(renamed from upstream/Magick++/fuzz/rotate_fuzzer.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/oss-fuzz/utils.cc
^
|
(renamed from upstream/Magick++/fuzz/utils.cc)
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/www/jp2.html
^
|
@@ -116,7 +116,7 @@
<p>Specify a subsampling factor:</p>
-<pre class="bg-light text-dark mx-4 cli"><samp>magick wizard.png -colorspace YUV -sampling-factor 2,2 wizard.jp2 </samp></pre>
+<pre class="bg-light text-dark mx-4 cli"><samp>magick wizard.png -colorspace YUV -sampling-factor 2:2 wizard.jp2 </samp></pre>
<p>Save a tiled JPEG-2000 image:</p>
@@ -190,4 +190,4 @@
<script src="assets/magick.js" ></script>
</body>
</html>
-<!-- Magick Cache 6th December 2023 12:28 -->
\ No newline at end of file
+<!-- Magick Cache 6th December 2023 12:28 -->
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick-7.1.1.27+obs1.1.tar.xz/upstream/www/mirror.html
^
|
@@ -103,7 +103,7 @@
<dd><a href="https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/" target="_blank">https://ftp.acc.umu.se/mirror/imagemagick.org/ftp/</a></dd>
<dd><a href="rsync://ftp.acc.umu.se/mirror/imagemagick.org/ftp/">rsync://ftp.acc.umu.se/mirror/imagemagick.org/ftp/</a></dd>
<dt>Russia</dt>
- <dd><a href="https://mirror.surf/imagemagick/ " target="_blank">https://mirror.surf/imagemagick/ </a></dd>
+ <dd><a href="https://mirror.su/imagemagick/ " target="_blank">https://mirror.su/imagemagick/ </a></dd>
<dt>Switzerland</dt>
<dd><a href="https://mirror.metanet.ch/imagemagick/" target="_blank">https://mirror.metanet.ch/imagemagick/</a></dd>
<dt>United States</dt>
@@ -113,7 +113,7 @@
<dd><a href="http://www.macports.org/ports.html?by=name&substr=imagemagick" target="_blank">http://www.macports.org/ports.html?by=name&substr=imagemagick</a> (Mac OS X)</dd>
<dd><a href="http://hpux.connect.org.uk/hppd/hpux/X11/Viewers/" target="_blank">http://hpux.connect.org.uk/hppd/hpux/X11/Viewers/</a> (HP-UX 10.20 and 11.00)</dd>
<dt>Rsync Mirrors </dt>
- <dd><a href="rsync://mirror.surf/imagemagick/">rsync://mirror.surf/imagemagick//</a></dd>
+ <dd><a href="rsync://mirror.su/imagemagick/">rsync://mirror.su/imagemagick//</a></dd>
<dd><a href="rsync://rsync.is.co.za/IS-Mirror/mirror.imagemagick.org/">rsync://rsync.is.co.za/IS-Mirror/mirror.imagemagick.org/</a></dd>
<dd><a href="rsync://mirror.imagemagick.org/magick_html">rsync://mirror.imagemagick.org/magick_html/</a> (Web site mirror)</dd>
<dd><a href="rsync://mirror.imagemagick.org/magick_ftp">rsync://mirror.imagemagick.org/magick_ftp/</a> (FTP mirror)</dd>
@@ -148,4 +148,4 @@
<script src="assets/magick.js" ></script>
</body>
</html>
-<!-- Magick Cache 6th December 2023 11:12 -->
\ No newline at end of file
+<!-- Magick Cache 6th December 2023 11:12 -->
|
[-]
[+]
|
Changed |
_service:tar_git:ImageMagick.yaml
^
|
@@ -1,7 +1,7 @@
Name: ImageMagick
### DO NOT FORGET TO BUMP mfr_revision below !!!
### Also, the builds script needs this to not be a macro
-Version: 7.1.1.23
+Version: 7.1.1.27
Release: 1.1
Summary: Viewer and Converter for Images
Group: Applications/Multimedia
@@ -39,7 +39,7 @@
Macros:
#- 'debug_build;0'
- - 'mfr_revision;23'
+ - 'mfr_revision;27'
- 'maj;7'
- 'mfr_version;%{maj}.1.1'
- 'quantum_depth;16'
@@ -134,32 +134,10 @@
# --without-pango
- --without-raw
- --without-x
- # --without-zstd
- --with-zstd
- # from: https://fedoraproject.org/wiki/Changes/Harden_All_Packages
- #
- # CFLAGS="$RPM_OPT_FLAGS -fPIC -pie"
- # CXXFLAGS="$RPM_OPT_FLAGS -fPIC -pie"
- #
- # export CFLAGS
- # export CXXFLAGS
- # 3c. Enable only -z now manually for your package:
- #
- # CFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro -Wl,-z,now"
- # CXXFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro -Wl,-z,now"
- #
- # export CFLAGS
- # export CXXFLAGS
- # 3d. Enable 3b and 3c above manually for your package:
- #
- # CFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now"
- # CXXFLAGS="$RPM_OPT_FLAGS -fPIC -pie -Wl,-z,relro -Wl,-z,now"
- #
- # export CFLAGS
- # export CXXFLAGS
-
-Builder: "none"
+Check: true
+Builder: none
SetupOptions: '-q -n %{name}-%{version}/upstream'
Files:
- '%license LICENSE'
|