More HEIF-related tests.
New option `KIMAGEFORMATS_HEIC_TEST` for testing images with HEVC codec only. Existing option `KIMAGEFORMATS_HEIF_TEST` is used for testing other possible (mostly quite rare) codecs that might be used by HEIF images - uncompressed, deflate, zlib, brotli, jpeg.
@@ -7,5 +7,5 @@ Dependencies:
|
||||
Options:
|
||||
test-before-installing: True
|
||||
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
|
||||
cmake-options: "-DKIMAGEFORMATS_WITH_KNOWN_CRASHES_JXR=ON -DKIMAGEFORMATS_HEIF=ON -DKIMAGEFORMATS_HEIF_TEST:STRING=OFF -DKIMAGEFORMATS_HEJ2_TEST:STRING=OFF -DKIMAGEFORMATS_AVCI_TEST:STRING=OFF"
|
||||
cmake-options: "-DKIMAGEFORMATS_WITH_KNOWN_CRASHES_JXR=ON -DKIMAGEFORMATS_HEIF=ON -DKIMAGEFORMATS_HEIC_TEST:STRING=OFF -DKIMAGEFORMATS_HEIF_TEST:STRING=OFF -DKIMAGEFORMATS_HEJ2_TEST:STRING=OFF -DKIMAGEFORMATS_AVCI_TEST:STRING=OFF"
|
||||
per-test-timeout: 90
|
||||
|
||||
@@ -65,8 +65,10 @@ set_package_properties(libavif PROPERTIES
|
||||
option(KIMAGEFORMATS_DDS "Enable plugin for DDS format" ON)
|
||||
|
||||
option(KIMAGEFORMATS_HEIF "Enable plugin for HEIF format" OFF)
|
||||
set(KIMAGEFORMATS_HEIF_TEST "ALL" CACHE STRING "Enable HEIF tests: OFF, READ_ONLY, ALL")
|
||||
set_property(CACHE KIMAGEFORMATS_HEIF_TEST PROPERTY STRINGS "OFF" "READ_ONLY" "ALL")
|
||||
set(KIMAGEFORMATS_HEIC_TEST "ALL" CACHE STRING "Enable HEIC tests: OFF, READ_ONLY, ALL")
|
||||
set_property(CACHE KIMAGEFORMATS_HEIC_TEST PROPERTY STRINGS "OFF" "READ_ONLY" "ALL")
|
||||
set(KIMAGEFORMATS_HEIF_TEST "ALL" CACHE STRING "Enable HEIF tests: OFF, ALL")
|
||||
set_property(CACHE KIMAGEFORMATS_HEIF_TEST PROPERTY STRINGS "OFF" "ALL")
|
||||
set(KIMAGEFORMATS_HEJ2_TEST "ALL" CACHE STRING "Enable HEJ2 tests: OFF, READ_ONLY, ALL")
|
||||
set_property(CACHE KIMAGEFORMATS_HEJ2_TEST PROPERTY STRINGS "OFF" "READ_ONLY" "ALL")
|
||||
set(KIMAGEFORMATS_AVCI_TEST "ALL" CACHE STRING "Enable AVCI tests: OFF, ALL")
|
||||
|
||||
@@ -357,12 +357,18 @@ plugin:
|
||||
|
||||
**If you are interested in compiling the plugin without running the tests,
|
||||
also use the following string options:**
|
||||
- `KIMAGEFORMATS_HEIF_TEST` to change the behaviour of HEIF tests. Set to
|
||||
- `KIMAGEFORMATS_HEIC_TEST` to change the behaviour of HEIC tests. Set to
|
||||
`"OFF"` (no test at all) or `"READ_ONLY"` (run read tests only).
|
||||
Required codecs: HEVC / H.265.
|
||||
- `KIMAGEFORMATS_HEIF_TEST` to change the behaviour of HEIF tests. Set to
|
||||
`"OFF"` (no test at all).
|
||||
Required codecs: uncompressed, deflate, zlib, brotli, jpeg.
|
||||
- `KIMAGEFORMATS_HEJ2_TEST` to change the behaviour of HEJ2 tests. Set to
|
||||
`"OFF"` (no test at all) or `"READ_ONLY"` (run read tests only).
|
||||
Required codecs: JPEG 2000.
|
||||
- `KIMAGEFORMATS_AVCI_TEST` to change the behaviour of AVCI tests. Set to
|
||||
`"OFF"` (no test at all).
|
||||
Required codecs: Advanced Video Coding / H.264.
|
||||
|
||||
### The EXR plugin
|
||||
|
||||
|
||||
@@ -119,15 +119,21 @@ if (TARGET avif)
|
||||
endif()
|
||||
|
||||
if (LibHeif_FOUND)
|
||||
if (KIMAGEFORMATS_HEIF_TEST STREQUAL "ALL" OR KIMAGEFORMATS_HEIF_TEST STREQUAL "READ_ONLY")
|
||||
if (KIMAGEFORMATS_HEIC_TEST STREQUAL "ALL" OR KIMAGEFORMATS_HEIC_TEST STREQUAL "READ_ONLY")
|
||||
kimageformats_read_tests(
|
||||
heif
|
||||
heic
|
||||
)
|
||||
endif()
|
||||
if (KIMAGEFORMATS_HEIF_TEST STREQUAL "ALL")
|
||||
if (KIMAGEFORMATS_HEIC_TEST STREQUAL "ALL")
|
||||
# because the plug-ins use RGB->YUV conversion which sometimes results in 1 value difference.
|
||||
kimageformats_write_tests(FUZZ 1
|
||||
heif-nodatacheck-lossless
|
||||
heic-nodatacheck-lossless
|
||||
)
|
||||
endif()
|
||||
|
||||
if (KIMAGEFORMATS_HEIF_TEST STREQUAL "ALL")
|
||||
kimageformats_read_tests(
|
||||
heif
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
BIN
autotests/read/heif/brotli.heif
Normal file
BIN
autotests/read/heif/brotli.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
autotests/read/heif/deflate.heif
Normal file
BIN
autotests/read/heif/deflate.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
autotests/read/heif/jpeg.heif
Normal file
7
autotests/read/heif/jpeg.heif.json
Normal file
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"fileName" : "jpeg.png",
|
||||
"fuzziness" : 1,
|
||||
"description" : "Minimum fuzziness value to pass the test on all architectures."
|
||||
}
|
||||
]
|
||||
BIN
autotests/read/heif/jpeg.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
autotests/read/heif/uncompressed.heif
Normal file
BIN
autotests/read/heif/uncompressed.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
autotests/read/heif/zlib.heif
Normal file
BIN
autotests/read/heif/zlib.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |