Sync from SUSE:SLFO:Main libheif revision f7d152ef7bf9c25a642f14b32b492ded

This commit is contained in:
2025-02-25 17:54:42 +01:00
parent 449a042343
commit dfb936cc07
5 changed files with 218 additions and 7 deletions

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

BIN
libheif-1.18.2.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
libheif-1.19.5.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,112 @@
-------------------------------------------------------------------
Thu Dec 12 11:32:04 UTC 2024 - pgajdos@suse.com
- complete rpm changelog:
* 0.18.0 fixed CVE-2023-0996 [bsc#1208640] and
CVE-2024-41311 [bsc#1231714]
* 1.15.2 fixed CVE-2023-29659 [bsc#1211174]
-------------------------------------------------------------------
Wed Nov 20 06:01:59 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- update to 1.19.5:
* fix heif_image_handle_is_premultiplied_alpha() #1394
- update to 1.19.4:
* fix crash when encoding tiled unci images
* fix crash in heif_context_encode_grid()
* fix querying the preferred colorspace for monochroma AVIF files
* error when using a chroma format or bit depth that is not supported
by the Kvazaar plugin
* output proper error message when memory allocation failed and use
adapted security limits
* heif-dec: do not show progress with option --quiet it given
-------------------------------------------------------------------
Fri Nov 15 19:33:39 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- Fix build for Tumbleweed
-------------------------------------------------------------------
Thu Nov 14 15:18:09 UTC 2024 - Dirk Müller <dmueller@suse.com>
- cleanup
-------------------------------------------------------------------
Wed Nov 13 14:47:35 UTC 2024 - pgajdos@suse.com
- build for 15:
* openjpeg only for 16+
* require correct gcc version
-------------------------------------------------------------------
Tue Nov 12 18:42:42 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- update to 1.19.3:
* fixes a race condition that may lead to some image tiles not being
included in the output image (#1379)
* fix a potential crash when querying overlay image information
-------------------------------------------------------------------
Wed Nov 6 17:54:42 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- update to 1.19.2:
* fix DLL symbol export for non MSVC-compilers on Windows
* fix running the unit tests from the build directory when building
with plugins
* switch to catch2 testing framework. We can now check for prerequisites
at runtime and skip tests accordingly
- Remove patch that is no longer needed
- only-run-test-when-HEVC-encoder-available.patch
-------------------------------------------------------------------
Sat Nov 2 18:19:58 UTC 2024 - Arjen de Korte <suse+build@de-korte.org>
- update to 1.19.1:
* Fixes backwards compatibility of heif_context_set_maximum_image_size_limit()
- update to 1.19.0:
* The major new feature in this decoding separate tiles of images and
also encoding an image tile by tile. This allows to process
high-resolution images that do not fit into memory. We support three
tiling methods:
- grid, which is the default tiling method used in most existing
HEIC or AVIF images.
- unci, which is the built-in tiling method of the ISO 23001-17
uncompressed codec.
- tili, which is a proprietary scheme with much less overhead than
grid and which supports efficient streaming of high-resolution
images over networks without having to download huge amounts of
metadata. It also supports much larger images than possible with
grid. As an extra, it supports the processing of multi-dimensional
images, like 3D image cubes, or image sets addressed by several
parameter dimensions.
* decoding is faster, especially if you let libheif decide on the best
colorspace to work in by passing heif_colorspace_unknown and
heif_chroma_unknown to heif_decode_image(). It will then use the
input colorspace and avoid unnecessary conversions.
* support for multi-resolution pyramids (pymd) to show downscaled
versions of high-resolution images
* improved reader interface that enables to connect libheif to a
network source. Libheif will request the portions of the image file
that have to be downloaded from the server. This is especially
useful in connection with the tiling / multi-resolution pyramid
feature.
* function to generate overlay images
* decoding progress is signaled to the client application and decoding
can be cancelled
* decoding of AVC encoded images through OpenH264
* security limits can be changed to be able to read very large images
- Skip test when HEVC encoder is unavailable
+ only-run-test-when-HEVC-encoder-available.patch
-------------------------------------------------------------------
Mon Oct 21 13:25:54 UTC 2024 - pgajdos@suse.com
- build *-test subpackage with multibuild for running the test suite
- added sources
+ _multibuild
-------------------------------------------------------------------
Mon Aug 19 14:20:33 UTC 2024 - Manfred Hollstein <manfred.h@gmx.net>
@@ -18,7 +127,7 @@ Sat Jul 27 19:29:36 UTC 2024 - Richard Rahl <rrahl0@opensuse.org>
- update to 1.18.1:
* Fix libbrotlidec pkg-config requires
* tiff: Fix wrong type for "seekTIFF" function.
* tiff: Fix wrong type for "seekTIFF" function.
* fix 32bit compiler warnings in box.cc
* fix memory leaks in Brotli decoder

View File

@@ -16,18 +16,35 @@
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%define gdk_pixbuf_binary_version 2.10.0
%bcond_with x265
%bcond_with kvazaar
%bcond_with openh264
%bcond_with openjpeg
%bcond_with openjph
%bcond_with svtenc
%if 0%{?suse_version} > 1500
%ifarch aarch64 riscv64 x86_64
%bcond_without svtenc
%endif
%bcond_without openjpeg
%endif
%if 0%{?suse_version} && 0%{?suse_version} < 1600
%global force_gcc_version 13
%endif
Name: libheif
Version: 1.18.2
Version: 1.19.5
Release: 0
Summary: HEIF/AVIF file format decoder and encoder
License: GPL-2.0-or-later
@@ -36,21 +53,29 @@ URL: https://github.com/strukturag/libheif
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source99: baselibs.conf
BuildRequires: chrpath
BuildRequires: cmake
BuildRequires: cmake >= 3.25
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gcc%{?force_gcc_version}-c++ >= 9
BuildRequires: pkgconfig
BuildRequires: pkgconfig(aom)
BuildRequires: pkgconfig(dav1d)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libjpeg)
%if %{with openjpeg}
BuildRequires: pkgconfig(libopenjp2)
%endif
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libwebp)
%if %{with kvazaar}
BuildRequires: pkgconfig(kvazaar)
%endif
%if %{with openh264}
BuildRequires: pkgconfig(openh264)
%endif
%if %{with openjph}
BuildRequires: pkgconfig(openjph)
%endif
BuildRequires: pkgconfig(rav1e)
%if %{with svtenc}
BuildRequires: pkgconfig(SvtAv1Enc)
@@ -59,6 +84,9 @@ BuildRequires: pkgconfig(SvtAv1Enc)
BuildRequires: pkgconfig(libde265)
BuildRequires: pkgconfig(x265)
%endif
%if %{with test}
BuildArch: noarch
%endif
%description
libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file
@@ -133,6 +161,7 @@ This plugin provides the kvazaar encoder for HEIC to libheif. Packaged separatel
so that the libraries it requires are not pulled in by default by libheif.
%endif
%if %{with openjpeg}
%package openjpeg
Summary: Plugin OpenJPEG J2K encoder and decoder for JPEG-2000 in HEIF
Group: System/Libraries
@@ -142,6 +171,31 @@ Requires: libheif1 = %{version}-%{release}
%description openjpeg
This plugin provides the OpenJPEG J2K encoder and decoder for JPEG to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
%endif
%if %{with openh264}
%package openh264
Summary: Plugin OpenH264 decoder in HEIF
Group: System/Libraries
Supplements: libheif1
Requires: libheif1 = %{version}-%{release}
%description openh264
This plugin provides the OpenH264 decoder to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
%endif
%if %{with openjph}
%package openjph
Summary: Plugin OpenJPH HT-J2K encoder in HEIF
Group: System/Libraries
Supplements: libheif1
Requires: libheif1 = %{version}-%{release}
%description openjph
This plugin provides the OpenJPH HT-J2K encoder to libheif. Packaged separately
so that the libraries it requires are not pulled in by default by libheif.
%endif
%package rav1e
Summary: Plugin rav1e encoder for AVIF
@@ -222,7 +276,16 @@ Allows to show thumbnail previews of HEIF and AVIF images using %{name}.
%autosetup -p1
%build
# https://github.com/strukturag/libheif/issues/1281
sed -i '/add_libheif_test(encode)/d' tests/CMakeLists.txt
%cmake \
%if 0%{?force_gcc_version}
-DCMAKE_CXX_COMPILER="/usr/bin/g++-%{force_gcc_version}" \
%endif
%if %{with test}
--preset=testing \
%else
--preset=release \
-DWITH_AOM_DECODER=ON \
-DWITH_AOM_DECODER_PLUGIN=ON \
-DWITH_AOM_ENCODER=ON \
@@ -263,6 +326,18 @@ Allows to show thumbnail previews of HEIF and AVIF images using %{name}.
-DWITH_OpenJPEG_DECODER_PLUGIN=ON \
-DWITH_OpenJPEG_ENCODER=ON \
-DWITH_OpenJPEG_ENCODER_PLUGIN=ON \
%if %{with openh264}
-DWITH_OpenH264_DECODER=ON \
-DWITH_OpenH264_DECODER_PLUGIN=ON \
%else
-DWITH_OpenH264_DECODER=OFF \
%endif
%if %{with openjph}
-DWITH_OPENJPH_ENCODER=ON \
-DWITH_OPENJPH_ENCODER_PLUGIN=ON \
%else
-DWITH_OPENJPH_ENCODER=OFF \
%endif
-DWITH_FFMPEG_DECODER=ON \
-DWITH_FFMPEG_DECODER_PLUGIN=ON \
-DCMAKE_SKIP_RPATH=ON \
@@ -275,9 +350,19 @@ Allows to show thumbnail previews of HEIF and AVIF images using %{name}.
-DCMAKE_CXX_FLAGS="-pthread" \
%endif
-DPLUGIN_DIRECTORY=%{_libexecdir}/libheif \
%endif
%nil
%cmake_build
%if %{with test}
%check
cd build
export LD_LIBRARY_PATH=$(pwd)/libheif
make test
%endif
%if !%{with test}
%install
%cmake_install
%if %{with x265}
@@ -332,9 +417,21 @@ rm -f %{buildroot}%{_datadir}/thumbnailers/heif.thumbnailer
%{_libexecdir}/libheif/libheif-kvazaar.so
%endif
%if %{with openjpeg}
%files openjpeg
%{_libexecdir}/libheif/libheif-j2kdec.so
%{_libexecdir}/libheif/libheif-j2kenc.so
%endif
%if %{with openh264}
%files openh264
%{_libexecdir}/libheif/libheif-openh264dec.so
%endif
%if %{with openjph}
%files openjph
%{_libexecdir}/libheif/libheif-jphenc.so
%endif
%files rav1e
%{_libexecdir}/libheif/libheif-rav1e.so
@@ -377,4 +474,6 @@ rm -f %{buildroot}%{_datadir}/thumbnailers/heif.thumbnailer
%{_mandir}/man1/heif-thumbnailer.1%{?ext_man}
%endif
%endif
%changelog