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

Update CMakeLists.txt #1363

Closed
wants to merge 1 commit into from
Closed

Conversation

arjendekorte
Copy link
Contributor

The extended_type test will always fail when build with WITH_UNCOMPRESSED_CODEC=ON as HEVC will not be available then.

The extended_type test will always fail when build with WITH_UNCOMPRESSED_CODEC=ON as HEVC will not be available then.
@farindk
Copy link
Contributor

farindk commented Nov 3, 2024

The uncompressed codec has nothing to do with the HEVC codec.
The real reason is probably that you compiled with plugins and the test could not find the plugin, similar to what was observed here: #1362

@arjendekorte arjendekorte deleted the patch-1 branch November 3, 2024 20:32
@arjendekorte
Copy link
Contributor Author

It indeed has nothing to do with WITH_UNCOMPRESSED_CODEC=ON, but it is a different problem as mentioned in #1362. The problem is the HEVC codec is not available here:

[    3s] Preset CMake variables:
[    3s] 
[    3s]   BUILD_TESTING="ON"
[    3s]   CMAKE_COMPILE_WARNING_AS_ERROR="ON"
[    3s]   ENABLE_EXPERIMENTAL_FEATURES="ON"
[    3s]   ENABLE_PLUGIN_LOADING="OFF"
[    3s]   WITH_REDUCED_VISIBILITY="OFF"
[    3s]   WITH_UNCOMPRESSED_CODEC="ON"

[...]

[    3s] === Summary of compiled codecs ===
[    3s] libde265 HEVC decoder           : - not found
[    3s] FFMPEG HEVC decoder (HW acc)    : - disabled
[    3s] x265 HEVC encoder               : - not found
[    3s] Kvazaar HEVC encoder            : - disabled
[    3s] AOM AV1 decoder                 : + built-in
[    3s] AOM AV1 encoder                 : + built-in
[    3s] Dav1d AV1 decoder               : - disabled
[    3s] SVT AV1 encoder                 : - disabled
[    3s] Rav1e AV1 encoder               : - disabled
[    3s] JPEG decoder                    : - disabled
[    3s] JPEG encoder                    : - disabled
[    3s] OpenH264 decoder                : - not found
[    3s] OpenJPEG J2K decoder            : - disabled
[    3s] OpenJPEG J2K encoder            : - disabled
[    3s] OpenJPH HT-J2K encoder          : - disabled
[    3s] uvg266 VVC enc. (experimental)  : - disabled
[    3s] vvenc VVC enc. (experimental)   : - disabled
[    3s] vvdec VVC dec. (experimental)   : - disabled

This causes the extended_type test to fail at line 44.

@arjendekorte
Copy link
Contributor Author

I guess the way to do this, is by running this test only if the HEVC is available

diff -purN a/tests/CMakeLists.txt b/tests/CMakeLists.txt
--- a/tests/CMakeLists.txt      2024-11-01 11:56:56.000000000 +0100
+++ b/tests/CMakeLists.txt      2024-11-03 22:35:11.344681868 +0100
@@ -47,9 +47,12 @@ endif()
 # --- tests that only access the public API
 
 add_libheif_test(encode)
-add_libheif_test(extended_type)
 add_libheif_test(region)
 
+if ((WITH_X265 OR WITH_KVAZAAR) AND SUPPORTS_HEIC_ENCODING)
+    add_libheif_test(extended_type)
+endif()
+
 if (WITH_OPENJPH_ENCODER AND SUPPORTS_J2K_HT_ENCODING)
     add_libheif_test(encode_htj2k)
 else()

@farindk
Copy link
Contributor

farindk commented Nov 3, 2024

Yes, that makes sense. I'll think of a change in the spirit of your proposal. (It is a bit more difficult because there are tests that require HEVC and AV1, or some tests would run with any codec. This makes things complex.)

farindk added a commit that referenced this pull request Nov 3, 2024
@farindk
Copy link
Contributor

farindk commented Nov 3, 2024

At the above commit, these cases should now be reported as "skipped tests".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants