SUMMARY *** NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports *** STEPS TO REPRODUCE 1. Open DigiKam (digiKam-7.7.0-20220318T190205-Win64) 2. Select directory with heic-files 3. Run menu command refresh OBSERVED RESULT All images are presentet in landscape orientation EXPECTED RESULT Images should be orientades as the shot portrait or landskape as it worked in DigiKan version 7.6 SOFTWARE/OS VERSIONS Windows: 11 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
When I open the catalog in DigiKam 7.6 the images are still all in landscape orientation. When I refresh the folder (in DigiKam 7.6) the orientation change to as shot portrait/landscape. If a open the catalog in DigiKam 7.7 the orientation of images are still correct, as it was in v7.6 e.a. the presetation are correct but the scanning has some error in v7.7
Did you talk about thumbnails view, or the preview (F3) ?
Also can you shared view HEIF samples to test ? Can you take a screenshot of the problem ? Thanks in advance
I can reproduce the problem. Since we are now using an external libheif, which is probably a bit more up-to-date, each image is already rotated as with the RAW decoder. If our loader now rotates the image, it is incorrectly rotated. Maik
Created attachment 147593 [details] Screenshot of rotate error After refresh in DigiKam 7.7 Portrait images are displayed in landscape in tumbnail view
Created attachment 147594 [details] Example heic file Example heic file in portrait format that is scanning in digicam 7.6 in correct orientation but in Digicam 7.7 scanning to landscape
We already disable the internal rotation, but it has no impact here with Libheif-1.12.0, we always get a rotated image. struct heif_decoding_options* const decode_options = heif_decoding_options_alloc(); decode_options->ignore_transformations = 1; Maik
Ok, the cause is the old libheif-1.12.0 used, which is used on both Windows and openSUSE Tumbleweed. The bug was fixed a few days after it was released in May 2021. https://github.com/strukturag/libheif/commit/31d44edbb237182e8a0f5fee586011e7aa821c66 Maik
So we need to take a care of libheif version in digiKam code. Cmake must set a variable with the libheif version detected. Gilles
For Windows, we could check out the master code. Unfortunately master still returns 1.12.0 to do a workaround für another platforms. Maik
ok, i wiil patch all bundle to use libheif as rolling release. Gilles
Git commit 8d341716f1419903b7a8218062f2b0aceecd6593 by Gilles Caulier. Committed on 21/03/2022 at 10:52. Pushed by cgilles into branch 'qt5-maintenance'. Switch all bundles to libheif rolling release with git/master code. Separate libde265 and libaom compilation rules using 2 different targets. Both are compiled before libheif and libavif. FIXED-IN: 7.7.0 M +2 -0 project/bundles/3rdparty/CMakeLists.txt M +38 -40 project/bundles/3rdparty/ext_heif/CMakeLists.txt D +0 -21 project/bundles/3rdparty/ext_heif/de265-lib-mxe.patch D +0 -38 project/bundles/3rdparty/ext_heif/heif-lib-linux.patch D +0 -38 project/bundles/3rdparty/ext_heif/heif-lib-mxe.patch A +12 -0 project/bundles/3rdparty/ext_heif/heif-lib-only.patch A +81 -0 project/bundles/3rdparty/ext_libaom/CMakeLists.txt M +3 -70 project/bundles/3rdparty/ext_libavif/CMakeLists.txt C +15 -37 project/bundles/3rdparty/ext_libde265/CMakeLists.txt [from: project/bundles/3rdparty/ext_heif/CMakeLists.txt - 056% similarity] R +0 -0 project/bundles/3rdparty/ext_libde265/libde265-lib-only.patch [from: project/bundles/3rdparty/ext_heif/de265-lib-linux.patch - 100% similarity] M +2 -1 project/bundles/appimage/01-build-host.sh M +2 -0 project/bundles/appimage/03-build-digikam.sh M +1 -1 project/bundles/macports/01-build-macports.sh M +3 -2 project/bundles/mxe/01-build-mxe.sh M +2 -0 project/bundles/mxe/03-build-digikam.sh https://invent.kde.org/graphics/digikam/commit/8d341716f1419903b7a8218062f2b0aceecd6593
It seems to me this bug still exists. I'm using digiKam 7.8.0 on openSUSE Tumbleweed. HEIC files in portrait orientation are displayed in landscape orientation, no matter if as thumbnail, as preview or in the editor. They open correctly in Gwenview and GIMP. Reopen?
openSUSE Tumbleweed is still on libheif-1.12. Since libheif-1.13 was released recently, the bug will not be fixed until the current version. Maik