Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add patch for libheif #6

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions libheif/0001-Edit-CMakeLists.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
From 51018bc985744f89b41394e6b23a3f70178b976a Mon Sep 17 00:00:00 2001
From: L4cache <[email protected]>
Date: Wed, 11 Dec 2024 21:53:11 +0800
Subject: [PATCH] Edit CMakeLists

This patch updates VVdeC version and bypasses some problems during build process and not configurable.
---
CMakeLists.txt | 6 +++---
heifio/CMakeLists.txt | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c26ea684..83bfa4bc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -160,7 +160,7 @@ plugin_option(VVDEC "vvdec VVC decoder (experimental)" OFF OFF)
if (WITH_VVDEC)
# TODO: how to do configure vvdec cleanly?
find_package(Threads REQUIRED)
- find_package(vvdec 2.3.0)
+ find_package(vvdec 3.0.0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about this, but why do you need to bump the version number? Does it cause a configuration error?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vvdec cmake returns error if major version mismatch.
IIRC it does not make configuration fail, but the vvdec will not be linked.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see your issue on libheif's repo. I'm not really sure where the blame lays, I guess vvdec is being really paranoid about major version changes.

if (vvdec_FOUND)
set(vvdec_LIBRARIES vvdec::vvdec)
endif()
@@ -456,7 +456,7 @@ if (WITH_HEADER_COMPRESSION OR WITH_UNCOMPRESSED_CODEC)
message("zlib not found")
endif()

- find_package(Brotli)
+ # find_package(Brotli)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this because of the whole brotlicommon, brotlienc, and brotlidec linking order issues?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes...
Shall I add comment about that?
Or can you help to figure out a solution?❤

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iirc, I had a few issues regarding brotli and libjxl due to linking issues, may need to look at that to figure out more.

if (Brotli_FOUND)
message("Brotli found")
list(APPEND REQUIRES_PRIVATE "libbrotlidec")
@@ -508,7 +508,7 @@ endif()
# --- API documentation

# check if Doxygen is installed
-find_package(Doxygen)
+# find_package(Doxygen)
if (DOXYGEN_FOUND)
# set input and output files
set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/libheif/Doxyfile.in)
diff --git a/heifio/CMakeLists.txt b/heifio/CMakeLists.txt
index 920eeca5..46010dc9 100644
--- a/heifio/CMakeLists.txt
+++ b/heifio/CMakeLists.txt
@@ -25,7 +25,7 @@ target_compile_definitions(heifio
LIBHEIF_EXPORTS
HAVE_VISIBILITY)

-find_package(TIFF)
+# find_package(TIFF)
Comment on lines +51 to +52
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the error with this one? linking issues?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, and there's also "built tiff" vs. "pacman tiff" situation.
"built tiff" causes configuration failure, "pacman tiff" has linking issues.

if (TIFF_FOUND)
target_sources(heifio PRIVATE decoder_tiff.cc decoder_tiff.h encoder_tiff.h encoder_tiff.cc)
target_link_libraries(heifio PRIVATE TIFF::TIFF)
--
2.47.1.windows.1