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:
|
Options:
|
||||||
test-before-installing: True
|
test-before-installing: True
|
||||||
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
|
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
|
per-test-timeout: 90
|
||||||
|
|||||||
@@ -65,8 +65,10 @@ set_package_properties(libavif PROPERTIES
|
|||||||
option(KIMAGEFORMATS_DDS "Enable plugin for DDS format" ON)
|
option(KIMAGEFORMATS_DDS "Enable plugin for DDS format" ON)
|
||||||
|
|
||||||
option(KIMAGEFORMATS_HEIF "Enable plugin for HEIF format" OFF)
|
option(KIMAGEFORMATS_HEIF "Enable plugin for HEIF format" OFF)
|
||||||
set(KIMAGEFORMATS_HEIF_TEST "ALL" CACHE STRING "Enable HEIF tests: OFF, READ_ONLY, ALL")
|
set(KIMAGEFORMATS_HEIC_TEST "ALL" CACHE STRING "Enable HEIC tests: OFF, READ_ONLY, ALL")
|
||||||
set_property(CACHE KIMAGEFORMATS_HEIF_TEST PROPERTY STRINGS "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(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_property(CACHE KIMAGEFORMATS_HEJ2_TEST PROPERTY STRINGS "OFF" "READ_ONLY" "ALL")
|
||||||
set(KIMAGEFORMATS_AVCI_TEST "ALL" CACHE STRING "Enable AVCI tests: OFF, 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,
|
**If you are interested in compiling the plugin without running the tests,
|
||||||
also use the following string options:**
|
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).
|
`"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
|
- `KIMAGEFORMATS_HEJ2_TEST` to change the behaviour of HEJ2 tests. Set to
|
||||||
`"OFF"` (no test at all) or `"READ_ONLY"` (run read tests only).
|
`"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
|
- `KIMAGEFORMATS_AVCI_TEST` to change the behaviour of AVCI tests. Set to
|
||||||
`"OFF"` (no test at all).
|
`"OFF"` (no test at all).
|
||||||
|
Required codecs: Advanced Video Coding / H.264.
|
||||||
|
|
||||||
### The EXR plugin
|
### The EXR plugin
|
||||||
|
|
||||||
|
|||||||
@@ -119,15 +119,21 @@ if (TARGET avif)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (LibHeif_FOUND)
|
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(
|
kimageformats_read_tests(
|
||||||
heif
|
heic
|
||||||
)
|
)
|
||||||
endif()
|
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.
|
# because the plug-ins use RGB->YUV conversion which sometimes results in 1 value difference.
|
||||||
kimageformats_write_tests(FUZZ 1
|
kimageformats_write_tests(FUZZ 1
|
||||||
heif-nodatacheck-lossless
|
heic-nodatacheck-lossless
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (KIMAGEFORMATS_HEIF_TEST STREQUAL "ALL")
|
||||||
|
kimageformats_read_tests(
|
||||||
|
heif
|
||||||
)
|
)
|
||||||
endif()
|
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 |