Bug 492922 - Videos show with ~5fps at 200% CPU, while same video on VLC is absolutely smooth
Summary: Videos show with ~5fps at 200% CPU, while same video on VLC is absolutely smooth
Status: REPORTED
Alias: None
Product: digikam
Classification: Applications
Component: Preview-Video (show other bugs)
Version: 8.5.0
Platform: Appimage Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-09 21:35 UTC by Jens
Modified: 2024-11-23 07:42 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens 2024-09-09 21:35:11 UTC
SUMMARY: see subject

STEPS TO REPRODUCE
1. start Digikam
2. start previewing any video file (I tried FullHD h.264 MP4 and h.265 MP4, generated on three different devices)
3. watch CPU load and fps

OBSERVED RESULT
video stutters (played from a local ext4 disk) and has a rough fps of 5..10, not more, 'digikam' uses 200% CPU.
Same video file played using VLC is absolutely smooth and uses barely 5% of one core.

EXPECTED RESULT
Video playback should be smooth and not stuttering.

SOFTWARE/OS VERSIONS: KDE Neon 22.04 with Digikam Qt6 appimage dated 20240908.
Comment 1 caulier.gilles 2024-09-10 05:30:57 UTC
Can you share a video sample to test. Please use a cloud storage link.
Comment 2 Maik Qualmann 2024-09-10 05:38:35 UTC
@Jens, are you using Wayland?

Maik
Comment 3 Jens 2024-09-10 14:40:31 UTC
Wayland, yes.
Comment 4 Jens 2024-09-10 18:40:29 UTC
I just noticed, the -Qt5 version does not have this problem. Only the Qt6 build.
Comment 5 Maik Qualmann 2024-09-13 11:14:45 UTC
Can you please post a log of the terminal if you play a video with the QT6 version of the Appimage?

--------------------------------------------------------------------
export QT_LOGGING_RULES="digikam*=true"

digikam
--------------------------------------------------------------------

Maik
Comment 6 Maik Qualmann 2024-09-15 09:43:16 UTC
Git commit 9a74e01d09819894241f10816ec8af14d8b479c1 by Maik Qualmann.
Committed on 15/09/2024 at 09:42.
Pushed by mqualmann into branch 'master'.

always assign a video backend to environment variable
And make the video backend platform
dependent selectable in the setup.
Related: bug 487031

M  +9    -5    core/app/main/main.cpp
M  +9    -5    core/showfoto/main/main.cpp
M  +12   -2    core/utilities/setup/misc/systemsettings.cpp
M  +6    -1    core/utilities/setup/misc/systemsettings.h
M  +42   -5    core/utilities/setup/misc/systemsettingswidget.cpp

https://invent.kde.org/graphics/digikam/-/commit/9a74e01d09819894241f10816ec8af14d8b479c1
Comment 7 Jens 2024-10-08 17:11:48 UTC
The current Qt6 build shows endless logs of this:

~$ AppImageLauncher Applications/digiKam-8.5.0-20241007T160120-Qt6-x86-64_f4331584cdcf464b3296f3d9d04047f0.appimage 
ERROR: appimage_shall_not_be_integrated : Entry doesn't exists: org.kde.digikam.desktop
AppImageLauncher error: appimage_shall_not_be_integrated() failed (returned -1)
ERROR: appimage_is_terminal_app : Entry doesn't exists: org.kde.digikam.desktop
AppImageLauncher error: appimage_is_terminal_app() failed (returned -1)
-- digiKam Linux AppImage Bundle
-- Use 'help' as CLI argument to know all available options for digiKam application.
-- Notes: to integrate this bundle to your desktop, use AppImageLauncher.
--        to enable all debug messages on the console, use 'export QT_LOGGING_RULES="digikam*=true"'.
--        to extract the bundle contents locally, use option '--appimage-extract' on the command line.
-- Detected host Linux neon-64-22.4
-- AppImage mounted directory: /tmp/.mount_digiKaQvIlPj
Check library libudev.so.0
Check library libxcb-dri3.so.0
Check library libcrypto.so.1.1
Check library libssl.so.1.1
Check library libnss3.so
Check library libnssutil3.so
Check library libsmime3.so
Check library libgmodule-2.0.so.0
Check library libgnutls.so.30
Check library libnettle.so.8
-- Preloading shared libs: :/usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0:/usr/lib/x86_64-linux-gnu/libnss3.so:/usr/lib/x86_64-linux-gnu/libnssutil3.so:/usr/lib/x86_64-linux-gnu/libsmime3.so:/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0:/usr/lib/x86_64-linux-gnu/libgnutls.so.30:/usr/lib/x86_64-linux-gnu/libnettle.so.8
unknown: Could not find the Qt platform plugin "wayland" in ""
unknown: Could not create image from "/media/250gb/valokuvat/Syksy 02-09-05 Kuusamo, inkavaaralla luonnonpuistossa suomen komeimman kosken kuvaamista/img_5766_4.jpg"
unknown: Could not create image from "/media/250gb/valokuvat/Syksy 02-09-05 Kuusamo, inkavaaralla luonnonpuistossa suomen komeimman kosken kuvaamista/img_5766_4.jpg"
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
unknown: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
unknown: Sonnet: No speller backends available!
unknown: Unhandled container to remove :  Digikam::DigikamApp
[swscaler @ 0x7ed67c004800] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67c04dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc74a00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed5a4000040] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc68c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc688c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc688c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069380] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc54b40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc54b40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc61b00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069380] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f076340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f076340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f076340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f076340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc528c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc528c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc88f80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67c04dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f094000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0760c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f083080] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dd00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc6acc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f093f40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f0a0f00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc72400] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5dbc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc6ab80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed5a4000040] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc634c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc70500] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc70500] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc70500] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67c04dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67f069100] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc41cc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc4ec80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67cc5bc40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67c04dc00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ed67c04dc00] deprecated pixel format used, make sure you did set range correctly
Comment 8 Maik Qualmann 2024-10-08 20:32:26 UTC
The "deprecated pixel format used" messages are not part of the problem. I have not been able to reproduce the problem on any system so far. We will see if the problem is fixed in future Qt versions.

Maik
Comment 9 caulier.gilles 2024-10-08 20:34:38 UTC
Qt 6.8.0 is out and i'm mostly ready to rebuild the Full AppImage with it. Perhaps tomorrow if time permit.

Gilles
Comment 10 Maik Qualmann 2024-11-23 07:42:41 UTC
Git commit cb0bd378009a9793afeb7ac804def1d7ad93942f by Maik Qualmann.
Committed on 23/11/2024 at 07:40.
Pushed by mqualmann into branch 'master'.

add option to disable video hardware acceleration
Related: bug 496484, bug 493988, bug 492060

M  +13   -4    core/app/main/main.cpp
M  +4    -14   core/utilities/setup/misc/systemsettings.cpp
M  +2    -7    core/utilities/setup/misc/systemsettings.h
M  +10   -28   core/utilities/setup/misc/systemsettingswidget.cpp

https://invent.kde.org/graphics/digikam/-/commit/cb0bd378009a9793afeb7ac804def1d7ad93942f