diff --git a/SOURCES/50aa08176e44178eeffcb7a66f37d7cad074f51b.patch b/SOURCES/50aa08176e44178eeffcb7a66f37d7cad074f51b.patch new file mode 100644 index 0000000..e3ef6b9 --- /dev/null +++ b/SOURCES/50aa08176e44178eeffcb7a66f37d7cad074f51b.patch @@ -0,0 +1,23 @@ +From 50aa08176e44178eeffcb7a66f37d7cad074f51b Mon Sep 17 00:00:00 2001 +From: zhubo +Date: Fri, 29 Dec 2023 23:16:57 +0800 +Subject: [PATCH] Add kvazaar to REQUIRES_PRIVATE + +--- + CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d996845e39..3a3f51d86f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -234,6 +234,9 @@ endif() + if (X265_FOUND AND NOT (PLUGIN_LOADING_SUPPORTED_AND_ENABLED AND WITH_X265_PLUGIN)) + list(APPEND REQUIRES_PRIVATE "x265") + endif() ++if (KVAZAAR_FOUND AND NOT (PLUGIN_LOADING_SUPPORTED_AND_ENABLED AND WITH_KVAZAAR_PLUGIN)) ++ list(APPEND REQUIRES_PRIVATE "kvazaar") ++endif() + if ((AOM_DECODER_FOUND AND NOT (PLUGIN_LOADING_SUPPORTED_AND_ENABLED AND WITH_AOM_DECODER_PLUGIN)) + OR (AOM_ENCODER_FOUND AND NOT (PLUGIN_LOADING_SUPPORTED_AND_ENABLED AND WITH_AOM_ENCODER_PLUGIN))) + list(APPEND REQUIRES_PRIVATE "aom") diff --git a/SOURCES/877de6b398198bca387df791b9232922c5721c80.patch b/SOURCES/877de6b398198bca387df791b9232922c5721c80.patch new file mode 100644 index 0000000..852ca50 --- /dev/null +++ b/SOURCES/877de6b398198bca387df791b9232922c5721c80.patch @@ -0,0 +1,42 @@ +From 877de6b398198bca387df791b9232922c5721c80 Mon Sep 17 00:00:00 2001 +From: zhailiangliang +Date: Thu, 21 Dec 2023 15:45:29 +0800 +Subject: [PATCH] fix memory leaks in function JpegEncoder::Encode + +--- + examples/encoder_jpeg.cc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/examples/encoder_jpeg.cc b/examples/encoder_jpeg.cc +index 6a8bae163a..b82f8aa39b 100644 +--- a/examples/encoder_jpeg.cc ++++ b/examples/encoder_jpeg.cc +@@ -179,6 +179,9 @@ bool JpegEncoder::Encode(const struct heif_image_handle* handle, + uint32_t skip = (exifdata[0]<<24) | (exifdata[1]<<16) | (exifdata[2]<<8) | exifdata[3]; + if (skip > (exifsize - 4)) { + fprintf(stderr, "Invalid EXIF data (offset too large)\n"); ++ free(exifdata); ++ jpeg_destroy_compress(&cinfo); ++ fclose(fp); + return false; + } + skip += 4; +@@ -188,6 +191,9 @@ bool JpegEncoder::Encode(const struct heif_image_handle* handle, + + if (size > std::numeric_limits::max()) { + fprintf(stderr, "EXIF larger than 4GB is not supported"); ++ free(exifdata); ++ jpeg_destroy_compress(&cinfo); ++ fclose(fp); + return false; + } + +@@ -258,6 +264,8 @@ bool JpegEncoder::Encode(const struct heif_image_handle* handle, + + if (heif_image_get_bits_per_pixel(image, heif_channel_Y) != 8) { + fprintf(stderr, "JPEG writer cannot handle image with >8 bpp.\n"); ++ jpeg_destroy_compress(&cinfo); ++ fclose(fp); + return false; + } + diff --git a/SOURCES/90955e3118d687fa8c36747a7b349caebc82707d.patch b/SOURCES/90955e3118d687fa8c36747a7b349caebc82707d.patch new file mode 100644 index 0000000..b967bd2 --- /dev/null +++ b/SOURCES/90955e3118d687fa8c36747a7b349caebc82707d.patch @@ -0,0 +1,21 @@ +From 90955e3118d687fa8c36747a7b349caebc82707d Mon Sep 17 00:00:00 2001 +From: zhailiangliang +Date: Thu, 11 Jan 2024 17:48:52 +0800 +Subject: [PATCH] Fix potential memory leak in file heif_convert.cc + +--- + examples/heif_convert.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/examples/heif_convert.cc b/examples/heif_convert.cc +index 0e3cb4d2de..e57573235c 100644 +--- a/examples/heif_convert.cc ++++ b/examples/heif_convert.cc +@@ -609,6 +609,7 @@ int main(int argc, char** argv) + const char* auxTypeC = nullptr; + err = heif_image_handle_get_auxiliary_type(aux_handle, &auxTypeC); + if (err.code) { ++ heif_image_release(aux_image); + heif_image_handle_release(aux_handle); + heif_image_handle_release(handle); + std::cerr << "Could not get type of auxiliary image: " << err.message << "\n"; diff --git a/SOURCES/9598ddeb3dff4e51a9989067e912baf502410cee.patch b/SOURCES/9598ddeb3dff4e51a9989067e912baf502410cee.patch new file mode 100644 index 0000000..7674268 --- /dev/null +++ b/SOURCES/9598ddeb3dff4e51a9989067e912baf502410cee.patch @@ -0,0 +1,141 @@ +From 9598ddeb3dff4e51a9989067e912baf502410cee Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Sun, 10 Mar 2024 13:32:18 +0100 +Subject: [PATCH] encoder_kvazaar.cc: Fix some memory leaks + +--- + libheif/plugins/encoder_kvazaar.cc | 50 +++++++++++++----------------- + 1 file changed, 22 insertions(+), 28 deletions(-) + +diff --git a/libheif/plugins/encoder_kvazaar.cc b/libheif/plugins/encoder_kvazaar.cc +index eada77f9fe..158f174b04 100644 +--- a/libheif/plugins/encoder_kvazaar.cc ++++ b/libheif/plugins/encoder_kvazaar.cc +@@ -361,6 +361,11 @@ static void copy_plane(kvz_pixel* out_p, + } + + ++template ++std::unique_ptr make_guard(T* ptr, D&& deleter) { ++ return std::unique_ptr(ptr, deleter); ++} ++ + static struct heif_error kvazaar_encode_image(void* encoder_raw, const struct heif_image* image, + heif_image_input_class input_class) + { +@@ -380,7 +385,8 @@ static struct heif_error kvazaar_encode_ + return err; + } + +- kvz_config* config = api->config_alloc(); ++ auto uconfig = make_guard(api->config_alloc(), [api](kvz_config* cfg) { api->config_destroy(cfg); }); ++ kvz_config* config = uconfig.get(); + api->config_init(config); // param, encoder->preset.c_str(), encoder->tune.c_str()); + #if HAVE_KVAZAAR_ENABLE_LOGGING + config->enable_logging_output = 0; +@@ -541,9 +547,9 @@ static struct heif_error kvazaar_encode_ + } + */ + +- kvz_picture* pic = api->picture_alloc_csp(kvzChroma, encoded_width, encoded_height); ++ auto upic = make_guard(api->picture_alloc_csp(kvzChroma, encoded_width, encoded_height), [api](kvz_picture* pic) { api->picture_free(pic); }); ++ kvz_picture* pic = upic.get(); + if (!pic) { +- api->config_destroy(config); + return heif_error{ + heif_error_Encoder_plugin_error, + heif_suberror_Encoder_encoding, +@@ -573,11 +579,9 @@ static struct heif_error kvazaar_encode_ + encoded_width >> chroma_stride_shift, encoded_height >> chroma_height_shift); + } + +- kvz_encoder* kvzencoder = api->encoder_open(config); ++ auto uencoder = make_guard(api->encoder_open(config), [api](kvz_encoder* e) { api->encoder_close(e); }); ++ kvz_encoder* kvzencoder = uencoder.get(); + if (!kvzencoder) { +- api->picture_free(pic); +- api->config_destroy(config); +- + return heif_error{ + heif_error_Encoder_plugin_error, + heif_suberror_Encoder_encoding, +@@ -586,14 +590,18 @@ static struct heif_error kvazaar_encode_ + } + + kvz_data_chunk* data = nullptr; ++ auto free_data = [api](kvz_data_chunk** data){ ++ if(*data) { ++ api->chunk_free(*data); ++ *data = nullptr; ++ } ++ }; ++ auto data_deleter = std::unique_ptr(&data, free_data); ++ + uint32_t data_len; + int success; + success = api->encoder_headers(kvzencoder, &data, &data_len); + if (!success) { +- api->picture_free(pic); +- api->config_destroy(config); +- api->encoder_close(kvzencoder); +- + return heif_error{ + heif_error_Encoder_plugin_error, + heif_suberror_Encoder_encoding, +@@ -602,17 +610,13 @@ static struct heif_error kvazaar_encode_ + } + + append_chunk_data(data, encoder->output_data); ++ free_data(&data); + + success = api->encoder_encode(kvzencoder, + pic, + &data, &data_len, + nullptr, nullptr, nullptr); + if (!success) { +- api->chunk_free(data); +- api->picture_free(pic); +- api->config_destroy(config); +- api->encoder_close(kvzencoder); +- + return heif_error{ + heif_error_Encoder_plugin_error, + heif_suberror_Encoder_encoding, +@@ -621,6 +625,7 @@ static struct heif_error kvazaar_encode_ + } + + append_chunk_data(data, encoder->output_data); ++ free_data(&data); + + for (;;) { + success = api->encoder_encode(kvzencoder, +@@ -628,11 +633,6 @@ static struct heif_error kvazaar_encode_ + &data, &data_len, + nullptr, nullptr, nullptr); + if (!success) { +- api->chunk_free(data); +- api->picture_free(pic); +- api->config_destroy(config); +- api->encoder_close(kvzencoder); +- + return heif_error{ + heif_error_Encoder_plugin_error, + heif_suberror_Encoder_encoding, +@@ -645,16 +645,10 @@ static struct heif_error kvazaar_encode_ + } + + append_chunk_data(data, encoder->output_data); ++ free_data(&data); + } + + (void) success; +- +- api->chunk_free(data); +- +- api->encoder_close(kvzencoder); +- api->picture_free(pic); +- api->config_destroy(config); +- + return heif_error_ok; + } + diff --git a/SOURCES/a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch b/SOURCES/a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch new file mode 100644 index 0000000..e3f3374 --- /dev/null +++ b/SOURCES/a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch @@ -0,0 +1,22 @@ +From a911b26a902c5f89fee2dc20ac4dfaafcb8144ec Mon Sep 17 00:00:00 2001 +From: Andrey Semashev +Date: Fri, 15 Mar 2024 17:46:48 +0300 +Subject: [PATCH] Fix compilation with libsvtav1 2.0.0. + +--- + libheif/plugins/encoder_svt.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libheif/plugins/encoder_svt.cc b/libheif/plugins/encoder_svt.cc +index 4597d7b8fc..1ff3bce2d5 100644 +--- a/libheif/plugins/encoder_svt.cc ++++ b/libheif/plugins/encoder_svt.cc +@@ -646,7 +646,7 @@ struct heif_error svt_encode_image(void* encoder_raw, const struct heif_image* i + + if (nclx) { + svt_config.color_description_present_flag = true; +-#if SVT_AV1_VERSION_MAJOR == 1 ++#if SVT_AV1_VERSION_MAJOR >= 1 + svt_config.color_primaries = static_cast(nclx->color_primaries); + svt_config.transfer_characteristics = static_cast(nclx->transfer_characteristics); + svt_config.matrix_coefficients = static_cast(nclx->matrix_coefficients); diff --git a/SOURCES/bef5f0f49f9024957189b5b465cd4d07078cd06f.patch b/SOURCES/bef5f0f49f9024957189b5b465cd4d07078cd06f.patch new file mode 100644 index 0000000..256c6e4 --- /dev/null +++ b/SOURCES/bef5f0f49f9024957189b5b465cd4d07078cd06f.patch @@ -0,0 +1,36 @@ +From bef5f0f49f9024957189b5b465cd4d07078cd06f Mon Sep 17 00:00:00 2001 +From: Brad Hards +Date: Sat, 6 Jan 2024 13:59:21 +1100 +Subject: [PATCH] kvazaar: protect against unexpected chroma values + +Resolves #1089 +--- + libheif/plugins/encoder_kvazaar.cc | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/libheif/plugins/encoder_kvazaar.cc b/libheif/plugins/encoder_kvazaar.cc +index 408f1bf84d..eada77f9fe 100644 +--- a/libheif/plugins/encoder_kvazaar.cc ++++ b/libheif/plugins/encoder_kvazaar.cc +@@ -35,6 +35,7 @@ extern "C" { + + static const char* kError_unspecified_error = "Unspecified encoder error"; + static const char* kError_unsupported_bit_depth = "Bit depth not supported by kvazaar"; ++static const char* kError_unsupported_chroma = "Unsupported chroma type"; + //static const char* kError_unsupported_image_size = "Images smaller than 16 pixels are not supported"; + + +@@ -492,6 +493,13 @@ static struct heif_error kvazaar_encode_image(void* encoder_raw, const struct he + input_chroma_width = input_width; + input_chroma_height = input_height; + } ++ else { ++ return heif_error{ ++ heif_error_Encoder_plugin_error, ++ heif_suberror_Unsupported_image_type, ++ kError_unsupported_chroma ++ }; ++ } + + if (chroma != heif_chroma_monochrome) { + int w = heif_image_get_width(image, heif_channel_Y); diff --git a/SOURCES/dfd88deb1d80b4195ef16cddad256f33b46fbe29.patch b/SOURCES/dfd88deb1d80b4195ef16cddad256f33b46fbe29.patch new file mode 100644 index 0000000..12fcb45 --- /dev/null +++ b/SOURCES/dfd88deb1d80b4195ef16cddad256f33b46fbe29.patch @@ -0,0 +1,22 @@ +From dfd88deb1d80b4195ef16cddad256f33b46fbe29 Mon Sep 17 00:00:00 2001 +From: Brad Hards +Date: Wed, 17 Jan 2024 11:47:15 +1100 +Subject: [PATCH] examples: fix leak in PNG decoder + +This shows up with heif-enc (e.g. with --avif) under valgrind +--- + examples/decoder_png.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/examples/decoder_png.cc b/examples/decoder_png.cc +index 5742f02653..c3eeed88a8 100644 +--- a/examples/decoder_png.cc ++++ b/examples/decoder_png.cc +@@ -419,6 +419,7 @@ InputImage loadPNG(const char* filename, int output_bit_depth) + } // for + + delete[] row_pointers; ++ fclose(fh); + + input_image.image = std::shared_ptr(image, + [](heif_image* img) { heif_image_release(img); }); diff --git a/SOURCES/libheif-no-hevc-tests.patch b/SOURCES/libheif-no-hevc-tests.patch new file mode 100644 index 0000000..387aff2 --- /dev/null +++ b/SOURCES/libheif-no-hevc-tests.patch @@ -0,0 +1,17 @@ +diff -up libheif-1.16.2/tests/encode.cc.no-hevc libheif-1.16.2/tests/encode.cc +--- libheif-1.16.2/tests/encode.cc.no-hevc 2023-05-22 21:00:47.000000000 +0200 ++++ libheif-1.16.2/tests/encode.cc 2023-09-08 14:22:08.408234336 +0200 +@@ -148,11 +148,13 @@ static void test_ispe_size(heif_compress + + TEST_CASE( "ispe odd size", "[heif_context]" ) { + ++#if 0 + // HEVC encoders typically encode with even dimensions only + test_ispe_size(heif_compression_HEVC, heif_orientation_normal, 121,99, 122,100); + test_ispe_size(heif_compression_HEVC, heif_orientation_rotate_180, 121,99, 122,100); + test_ispe_size(heif_compression_HEVC, heif_orientation_rotate_90_cw, 121,99, 122,100); + test_ispe_size(heif_compression_HEVC, heif_orientation_rotate_90_cw, 120,100, 120,100); ++#endif + + // AVIF encoders typically encode with odd dimensions + test_ispe_size(heif_compression_AV1, heif_orientation_normal, 121,99, 121,99); diff --git a/SPECS/libheif.spec b/SPECS/libheif.spec index 87e9625..ec79f3b 100644 --- a/SPECS/libheif.spec +++ b/SPECS/libheif.spec @@ -1,88 +1,260 @@ +%global somajor 1 + +# Unable to ship this in Fedora +%bcond_with hevc + +%bcond_with check + Name: libheif -Version: 1.12.0 -Release: 4%{?dist} -Summary: HEIF file format decoder and encoder +Version: 1.17.6 +Release: 2%{?dist} +Summary: HEIF and AVIF file format decoder and encoder -License: LGPLv3+ and MIT -URL: https://github.com/strukturag/%{name} +License: LGPL-3.0-or-later and MIT +URL: https://github.com/strukturag/libheif Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz - -BuildRequires: autoconf +Patch0: libheif-no-hevc-tests.patch + +# Fix for CVE-2024-25269 (https://github.com/strukturag/libheif/issues/1073) +Patch1: https://github.com/strukturag/libheif/commit/877de6b398198bca387df791b9232922c5721c80.patch +# Fix compilation with libsvtav1 2.0.0. +Patch2: https://github.com/strukturag/libheif/commit/a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch +# Backport memory leaks fix from master +Patch3: https://github.com/strukturag/libheif/commit/9598ddeb3dff4e51a9989067e912baf502410cee.patch +Patch4: https://github.com/strukturag/libheif/commit/dfd88deb1d80b4195ef16cddad256f33b46fbe29.patch +Patch5: https://github.com/strukturag/libheif/commit/90955e3118d687fa8c36747a7b349caebc82707d.patch +Patch6: https://github.com/strukturag/libheif/commit/bef5f0f49f9024957189b5b465cd4d07078cd06f.patch +Patch7: https://github.com/strukturag/libheif/commit/50aa08176e44178eeffcb7a66f37d7cad074f51b.patch + +BuildRequires: cmake BuildRequires: gcc-c++ -BuildRequires: libtool -BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: ninja-build BuildRequires: pkgconfig(aom) BuildRequires: pkgconfig(dav1d) -BuildRequires: pkgconfig(libde265) -%if 0%{?fedora} BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libpng) +%if ! (0%{?rhel} && 0%{?rhel} <= 9) +BuildRequires: pkgconfig(libsharpyuv) BuildRequires: pkgconfig(rav1e) -%else -BuildRequires: libjpeg-devel +BuildRequires: pkgconfig(SvtAv1Enc) %endif -BuildRequires: pkgconfig(libpng) + +%description +libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) +file format decoder and encoder. + +%files +%license COPYING +%doc README.md +%{_libdir}/*.so.%{somajor}{,.*} +%dir %{_libdir}/%{name} +%if ! (0%{?rhel} && 0%{?rhel} <= 9) +%{_libdir}/%{name}/%{name}-rav1e.so +%{_libdir}/%{name}/%{name}-svtenc.so +%endif + +# ---------------------------------------------------------------------- + +%package -n heif-pixbuf-loader +Summary: HEIF image loader for GTK+ applications +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: gdk-pixbuf2%{?_isa} + +%description -n heif-pixbuf-loader +This package provides a plugin to load HEIF files in GTK+ applications. + +%files -n heif-pixbuf-loader +%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-heif.so + +# ---------------------------------------------------------------------- + +%package tools +Summary: Tools for manipulating HEIF files +License: MIT +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: shared-mime-info + +%description tools +This package provides tools for manipulating HEIF files. + +%files tools +%{_bindir}/heif-* +%{_mandir}/man1/heif-* +%{_datadir}/thumbnailers/heif.thumbnailer + +# ---------------------------------------------------------------------- + +%if %{with hevc} +%package hevc +Summary: HEVC codec support for HEIC files +BuildRequires: pkgconfig(libde265) BuildRequires: pkgconfig(x265) +Supplements: %{name} -Requires: shared-mime-info +%description hevc +This package adds support for HEVC-encoded HEIC files to applications +that use %{name} to read HEIF image files. -%description -HEIF is a image format using HEVC image coding for the best compression ratios. -libheif uses libde265 for the actual image decoding and x265 for encoding. -Alternative codecs for, e.g., AVC and JPEG can be provided as plugins. +%files hevc +%{_libdir}/%{name}/%{name}-libde265.so +%{_libdir}/%{name}/%{name}-x265.so +%endif + +# ---------------------------------------------------------------------- %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%files devel +%{_includedir}/%{name}/ +%{_libdir}/cmake/%{name}/ +%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/*.so + +# ---------------------------------------------------------------------- + %prep -%autosetup -p1 -NOCONFIGURE=1 ./autogen.sh +%setup -q +%if %{without hevc} +%patch 0 -p1 +%endif +%patch 1 -p1 +%patch 2 -p1 +%patch 3 -p1 +%patch 4 -p1 +%patch 5 -p1 +%patch 6 -p1 +%patch 7 -p1 rm -rf third-party/ %build -%configure --disable-static \ - --enable-local-dav1d \ -%if 0%{?fedora} - --enable-local-rav1e +%cmake \ + -GNinja \ + -DPLUGIN_DIRECTORY=%{_libdir}/%{name} \ + -DWITH_DAV1D=ON \ + -DWITH_DAV1D_PLUGIN=OFF \ + -DWITH_JPEG_DECODER=ON \ + -DWITH_JPEG_ENCODER=ON \ + -DWITH_OpenJPEG_DECODER=ON \ + -DWITH_OpenJPEG_DECODER_PLUGIN=OFF \ + -DWITH_OpenJPEG_ENCODER=ON \ + -DWITH_OpenJPEG_ENCODER_PLUGIN=OFF \ +%if ! (0%{?rhel} && 0%{?rhel} <= 9) + -DWITH_RAV1E=ON \ + -DWITH_SvtEnc=ON \ %endif + -DWITH_UNCOMPRESSED_CODEC=ON \ + %{?with_check:-DBUILD_TESTING=ON -DWITH_REDUCED_VISIBILITY=OFF} \ + %{?with_hevc:-DWITH_LIBDE265_PLUGIN:BOOL=ON -DWITH_X265_PLUGIN:BOOL=ON} \ + -Wno-dev -%make_build +%cmake_build %install -%make_install -find %buildroot -name '*.la' -or -name '*.a' | xargs rm -f +%cmake_install -%ldconfig_scriptlets +%if %{with check} +%check +# Tests are not yet ported to CMake +%ctest +%endif -%files -%license COPYING -%doc README.md -%{_bindir}/heif-convert -%{_bindir}/heif-enc -%{_bindir}/heif-info -%{_bindir}/heif-thumbnailer -%{_libdir}/*.so.1* -%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-heif.* -%{_datadir}/mime/packages/*.xml -%{_datadir}/thumbnailers/ -%{_mandir}/man1/heif-* +%changelog +* Thu Jul 18 2024 Fedora Release Engineering - 1.17.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild -%files devel -%{_includedir}/* -%{_libdir}/pkgconfig/libheif.pc -%{_libdir}/*.so +* Sat Apr 13 2024 Robert-André Mauchin - 1.17.6-`1 +- Update to 1.17.6 +- Security fix for CVE-2024-25269 +- Close: rhbz#2255512 +- Fix: rhbz#2267897 +* Thu Jan 25 2024 Fedora Release Engineering - 1.17.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.17.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 12 2024 Fabio Valentini - 1.17.5-2 +- Rebuild for dav1d 1.3.0 + +* Fri Dec 15 2023 Dominik Mierzejewski - 1.17.5-2 +- Update to 1.17.5 (rhbz#2244583) +- Backport fixes for: CVE-2023-49460 (rhbz#2253575, rhbz#2253576) + CVE-2023-49462 (rhbz#2253567, rhbz#2253568) + CVE-2023-49463 (rhbz#2253565, rhbz#2253566) + CVE-2023-49464 (rhbz#2253562, rhbz#2253563) +- Simplify conditionals for rav1e and svt-av1 encoders +- Enable JPEG2000 and dav1d decoders/encoders + +* Fri Sep 08 2023 Dominik Mierzejewski - 1.16.2-2 +- Enable uncompressed codec (rhbz#2237849) +- Run tests conditionally (requires making all symbols visible) +- Disable HEVC tests when building without HEVC codec + +* Fri Jul 28 2023 Orion Poplawski - 1.16.2-1 +- Update to 1.16.2 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri May 05 2023 Neal Gompa - 1.16.1-1 +- Update to 1.16.1 + +* Sun Apr 30 2023 Dominik Mierzejewski - 1.15.2-2 +- backport fix for issue#590 + +* Tue Apr 11 2023 Sandro - 1.15.2-1 +- Update to 1.15.2 (RHBZ#2183664) +- Drop patch + +* Fri Mar 17 2023 Neal Gompa - 1.15.1-2 +- Adapt for Fedora + +* Fri Feb 17 2023 Leigh Scott - 1.15.1-1 +- Update to 1.15.1 + +* Sat Jan 07 2023 Leigh Scott - 1.14.2-1 +- Update to 1.14.2 +- Switch back to autotools to build due to cmake issues (rfbz#6550} + +* Thu Jan 05 2023 Leigh Scott - 1.14.1-1 +- Update to 1.14.1 + +* Mon Dec 19 2022 Leigh Scott - 1.14.0-4 +- Don't build rav1e and SVT-AV1 as plugins (rfbz#6532) + +* Mon Dec 05 2022 Nicolas Chauvet - 1.14.0-3 +- Fix for SvtAv1Enc in devel - rfbz#6521 + +* Wed Nov 23 2022 Nicolas Chauvet - 1.14.0-2 +- Enable svt-av1 on el9 + +* Tue Nov 15 2022 Leigh Scott - 1.14.0-1 +- Update to 1.14.0 + +* Fri Sep 02 2022 Leigh Scott - 1.13.0-1 +- Update to 1.13.0 + +* Sun Aug 07 2022 RPM Fusion Release Engineering - 1.12.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg + 5.1 + +* Thu Jun 23 2022 Robert-André Mauchin - 1.12.0-5 +- Rebuilt for new dav1d, rav1e and jpegxl -%changelog * Wed Feb 09 2022 RPM Fusion Release Engineering - 1.12.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild @@ -167,4 +339,3 @@ find %buildroot -name '*.la' -or -name '*.a' | xargs rm -f * Thu Nov 29 2018 Leigh Scott - 1.3.2-1 - First build -