commit
630841b03c
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libheif-1.17.6.tar.gz
|
@ -0,0 +1 @@
|
|||||||
|
3765586601f9304d5dfd28980aeba8fe1ee8dafc SOURCES/libheif-1.17.6.tar.gz
|
@ -0,0 +1,23 @@
|
|||||||
|
From 50aa08176e44178eeffcb7a66f37d7cad074f51b Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhubo <zhubo.z@bytedance.com>
|
||||||
|
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")
|
@ -0,0 +1,42 @@
|
|||||||
|
From 877de6b398198bca387df791b9232922c5721c80 Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhailiangliang <zhailiangliang@loongson.cn>
|
||||||
|
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<uint32_t>::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;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
From 90955e3118d687fa8c36747a7b349caebc82707d Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhailiangliang <zhailiangliang@loongson.cn>
|
||||||
|
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";
|
@ -0,0 +1,141 @@
|
|||||||
|
From 9598ddeb3dff4e51a9989067e912baf502410cee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Heiko Lewin <hlewin@worldiety.de>
|
||||||
|
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<typename T, typename D>
|
||||||
|
+std::unique_ptr<T, D> make_guard(T* ptr, D&& deleter) {
|
||||||
|
+ return std::unique_ptr<T, D>(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<kvz_data_chunk*, decltype(free_data)>(&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;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
From a911b26a902c5f89fee2dc20ac4dfaafcb8144ec Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrey Semashev <Lastique@users.noreply.github.com>
|
||||||
|
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<EbColorPrimaries>(nclx->color_primaries);
|
||||||
|
svt_config.transfer_characteristics = static_cast<EbTransferCharacteristics>(nclx->transfer_characteristics);
|
||||||
|
svt_config.matrix_coefficients = static_cast<EbMatrixCoefficients>(nclx->matrix_coefficients);
|
@ -0,0 +1,36 @@
|
|||||||
|
From bef5f0f49f9024957189b5b465cd4d07078cd06f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brad Hards <bradh@frogmouth.net>
|
||||||
|
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);
|
@ -0,0 +1,22 @@
|
|||||||
|
From dfd88deb1d80b4195ef16cddad256f33b46fbe29 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brad Hards <bradh@frogmouth.net>
|
||||||
|
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<heif_image>(image,
|
||||||
|
[](heif_image* img) { heif_image_release(img); });
|
@ -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);
|
@ -0,0 +1,344 @@
|
|||||||
|
%global somajor 1
|
||||||
|
|
||||||
|
# Unable to ship this in Fedora
|
||||||
|
%bcond_with hevc
|
||||||
|
|
||||||
|
%bcond_with check
|
||||||
|
|
||||||
|
Name: libheif
|
||||||
|
Version: 1.17.6
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: HEIF and AVIF file format decoder and encoder
|
||||||
|
|
||||||
|
License: LGPL-3.0-or-later and MIT
|
||||||
|
URL: https://github.com/strukturag/libheif
|
||||||
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
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: ninja-build
|
||||||
|
BuildRequires: pkgconfig(aom)
|
||||||
|
BuildRequires: pkgconfig(dav1d)
|
||||||
|
BuildRequires: pkgconfig(libjpeg)
|
||||||
|
BuildRequires: pkgconfig(libopenjp2)
|
||||||
|
BuildRequires: pkgconfig(libpng)
|
||||||
|
%if ! (0%{?rhel} && 0%{?rhel} <= 9)
|
||||||
|
BuildRequires: pkgconfig(libsharpyuv)
|
||||||
|
BuildRequires: pkgconfig(rav1e)
|
||||||
|
BuildRequires: pkgconfig(SvtAv1Enc)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%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}
|
||||||
|
|
||||||
|
%description hevc
|
||||||
|
This package adds support for HEVC-encoded HEIC files to applications
|
||||||
|
that use %{name} to read HEIF image files.
|
||||||
|
|
||||||
|
%files hevc
|
||||||
|
%{_libdir}/%{name}/%{name}-libde265.so
|
||||||
|
%{_libdir}/%{name}/%{name}-x265.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
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
|
||||||
|
%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
|
||||||
|
%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
|
||||||
|
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with check}
|
||||||
|
%check
|
||||||
|
# Tests are not yet ported to CMake
|
||||||
|
%ctest
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Dec 19 2024 Dmitriy Samoylik <samoylikdv@msvsphere-os.ru> - 1.17.6-2
|
||||||
|
- Rebuilt for MSVSphere 10
|
||||||
|
|
||||||
|
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.6-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Apr 13 2024 Robert-André Mauchin <zebob.m@gmail.com> - 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 <releng@fedoraproject.org> - 1.17.5-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.5-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 12 2024 Fabio Valentini <decathorpe@gmail.com> - 1.17.5-2
|
||||||
|
- Rebuild for dav1d 1.3.0
|
||||||
|
|
||||||
|
* Fri Dec 15 2023 Dominik Mierzejewski <dominik@greysector.net> - 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 <dominik@greysector.net> - 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 <orion@nwra.com> - 1.16.2-1
|
||||||
|
- Update to 1.16.2
|
||||||
|
|
||||||
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri May 05 2023 Neal Gompa <ngompa@fedoraproject.org> - 1.16.1-1
|
||||||
|
- Update to 1.16.1
|
||||||
|
|
||||||
|
* Sun Apr 30 2023 Dominik Mierzejewski <dominik@greysector.net> - 1.15.2-2
|
||||||
|
- backport fix for issue#590
|
||||||
|
|
||||||
|
* Tue Apr 11 2023 Sandro <devel@penguinpee.nl> - 1.15.2-1
|
||||||
|
- Update to 1.15.2 (RHBZ#2183664)
|
||||||
|
- Drop patch
|
||||||
|
|
||||||
|
* Fri Mar 17 2023 Neal Gompa <ngompa@fedoraproject.org> - 1.15.1-2
|
||||||
|
- Adapt for Fedora
|
||||||
|
|
||||||
|
* Fri Feb 17 2023 Leigh Scott <leigh123linux@gmail.com> - 1.15.1-1
|
||||||
|
- Update to 1.15.1
|
||||||
|
|
||||||
|
* Sat Jan 07 2023 Leigh Scott <leigh123linux@gmail.com> - 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 <leigh123linux@gmail.com> - 1.14.1-1
|
||||||
|
- Update to 1.14.1
|
||||||
|
|
||||||
|
* Mon Dec 19 2022 Leigh Scott <leigh123linux@gmail.com> - 1.14.0-4
|
||||||
|
- Don't build rav1e and SVT-AV1 as plugins (rfbz#6532)
|
||||||
|
|
||||||
|
* Mon Dec 05 2022 Nicolas Chauvet <kwizart@gmail.com> - 1.14.0-3
|
||||||
|
- Fix for SvtAv1Enc in devel - rfbz#6521
|
||||||
|
|
||||||
|
* Wed Nov 23 2022 Nicolas Chauvet <kwizart@gmail.com> - 1.14.0-2
|
||||||
|
- Enable svt-av1 on el9
|
||||||
|
|
||||||
|
* Tue Nov 15 2022 Leigh Scott <leigh123linux@gmail.com> - 1.14.0-1
|
||||||
|
- Update to 1.14.0
|
||||||
|
|
||||||
|
* Fri Sep 02 2022 Leigh Scott <leigh123linux@gmail.com> - 1.13.0-1
|
||||||
|
- Update to 1.13.0
|
||||||
|
|
||||||
|
* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 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 <zebob.m@gmail.com> - 1.12.0-5
|
||||||
|
- Rebuilt for new dav1d, rav1e and jpegxl
|
||||||
|
|
||||||
|
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 1.12.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Nov 25 2021 Nicolas Chauvet <kwizart@gmail.com> - 1.12.0-3
|
||||||
|
- Rebuilt
|
||||||
|
|
||||||
|
* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.12.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 14 2021 Leigh Scott <leigh123linux@gmail.com> - 1.12.0-1
|
||||||
|
- Update to 1.12.0
|
||||||
|
|
||||||
|
* Sun Jun 13 2021 Robert-André Mauchin <zebob.m@gmail.com> - 1.11.0-3
|
||||||
|
- Rebuild for new aom
|
||||||
|
|
||||||
|
* Wed Apr 14 2021 Leigh Scott <leigh123linux@gmail.com> - 1.11.0-2
|
||||||
|
- Rebuild for new x265
|
||||||
|
|
||||||
|
* Sat Feb 20 2021 Leigh Scott <leigh123linux@gmail.com> - 1.11.0-1
|
||||||
|
- Update to 1.11.0
|
||||||
|
|
||||||
|
* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.10.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Dec 19 2020 Leigh Scott <leigh123linux@gmail.com> - 1.10.0-1
|
||||||
|
- Update to 1.10.0
|
||||||
|
|
||||||
|
* Mon Dec 14 2020 Leigh Scott <leigh123linux@gmail.com> - 1.9.1-3
|
||||||
|
- Actually do the dav1d rebuild
|
||||||
|
|
||||||
|
* Mon Dec 14 2020 Robert-André Mauchin <zebob.m@gmail.com> - 1.9.1-2
|
||||||
|
- Rebuild for dav1d SONAME bump
|
||||||
|
|
||||||
|
* Tue Oct 27 2020 Leigh Scott <leigh123linux@gmail.com> - 1.9.1-1
|
||||||
|
- Update to 1.9.1
|
||||||
|
|
||||||
|
* Fri Aug 28 2020 Leigh Scott <leigh123linux@gmail.com> - 1.8.0-1
|
||||||
|
- Update to 1.8.0
|
||||||
|
|
||||||
|
* Tue Aug 18 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.7.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 08 2020 Leigh Scott <leigh123linux@gmail.com> - 1.7.0-2
|
||||||
|
- Rebuilt
|
||||||
|
|
||||||
|
* Thu Jun 04 2020 Leigh Scott <leigh123linux@gmail.com> - 1.7.0-1
|
||||||
|
- Update to 1.7.0
|
||||||
|
|
||||||
|
* Sun May 31 2020 Leigh Scott <leigh123linux@gmail.com> - 1.6.2-3
|
||||||
|
- Rebuild for new x265 version
|
||||||
|
|
||||||
|
* Sun Feb 23 2020 RPM Fusion Release Engineering <leigh123linux@googlemail.com> - 1.6.2-2
|
||||||
|
- Rebuild for x265
|
||||||
|
|
||||||
|
* Mon Feb 10 2020 Leigh Scott <leigh123linux@gmail.com> - 1.6.2-1
|
||||||
|
- Update to 1.6.2
|
||||||
|
|
||||||
|
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.6.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Nov 28 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.6.0-1
|
||||||
|
- Update to 1.6.0
|
||||||
|
- Rebuilt for x265
|
||||||
|
|
||||||
|
* Sun Nov 03 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.5.1-1
|
||||||
|
- Update to 1.5.1
|
||||||
|
|
||||||
|
* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.4.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 02 2019 Nicolas Chauvet <kwizart@gmail.com> - 1.4.0-3
|
||||||
|
- Rebuilt for x265
|
||||||
|
|
||||||
|
* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1.4.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 28 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.4.0-1
|
||||||
|
- Update to 1.4.0
|
||||||
|
|
||||||
|
* Thu Jan 03 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.3.2-2
|
||||||
|
- Rebuild for new x265 for el7
|
||||||
|
|
||||||
|
* Thu Nov 29 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.3.2-1
|
||||||
|
- First build
|
Loading…
Reference in new issue