This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Bug with fixed (PNG) clip - alpha channel ignored

Tags: None
(comma "," separated)
User avatar
delt
Registered Member
Posts
6
Karma
0
Hello, new user here, from montréal, canada.

i'd like to report a bug and/or offer to help fixing it: when using a PNG file as a still image on top of other video, the PNG's alpha channel is completely ignored, unless a dissolve transition is in effect. These days i'm working on a project where i do a lot of pixel manipulation and alpha blending, so i could probably help to fix this bug, if someone gives me a short introduction to how this project's source code is organized, and/or where to start looking.
vpinon
KDE Developer
Posts
708
Karma
6
OS
Hello,
What is the version of Kdenlive you are using, coming from which distribution?
To handle transparency, you must have some composition (transitions) operation.
For about 1 year, automatic compositions has been added on all video tracks... maybe you are using an older release, or there is a problem with these PNG?
User avatar
delt
Registered Member
Posts
6
Karma
0
Hello, thanks for your quick reply!

The about box in kdenlive says:

Code: Select all
Version 16.12.2
Using:
KDE Frameworks 5.18.0
Qt 5.5.1 (built against 5.5.1)
The xcb windowing system


I was first using the version that came with linux mint 18.1, but after encountering this bug, i was hoping it might be fixed in a more recent version. So i added the PPA from kdenlive.org to my desktop machine and updated from there:

Code: Select all
For Ubuntu >= 16.04 and other *buntu based distros like LinuxMint you can download latest Kdenlive from our official PPA’s:

sudo add-apt-repository ppa:kdenlive/kdenlive-stable
sudo apt-get update
sudo apt-get install kdenlive

Note: you can easily remove our PPA and revert back to official distro package using:
sudo ppa-purge ppa:kdenlive/kdenlive-stable


....but the PNG transparency bug was still present. I checked out the source code repository from git://anongit.kde.org/kdenlive.git , i'm in the process of hacking/testing that code now.
vpinon
KDE Developer
Posts
708
Karma
6
OS
Strange... Not sure you will find anything relevant in Kdenlive code, rendering comes from MLT, itself relying on other libs to decode various file formats.
To properly use the composition operations, did you have à look at https://kdenlive.org/toolbox/ and more specifically https://kdenlive.org/project/kdenlive-transitions/ ?

Side question: do you have GPU effects enabled? Might also be a cause of weird behavior, this feature is still not well stabilized.
User avatar
delt
Registered Member
Posts
6
Karma
0
The git source code doesn't have the bug i mentioned, but segfaults on exit, with the following backtrace:
Code: Select all
#0  0x00007fffbe474490 in ?? ()
#1  0x00007ffff6fe72aa in mlt_consumer_purge () from /usr/lib/x86_64-linux-gnu/libmlt.so.6
#2  0x00000000009df78d in Render::stop() ()
#3  0x000000000085b914 in Monitor::~Monitor() ()
#4  0x000000000085ba9e in Monitor::~Monitor() ()
#5  0x00000000009a84af in MainWindow::~MainWindow() ()
#6  0x00000000009a8642 in MainWindow::~MainWindow() ()
#7  0x00007ffff2320c20 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007ffff2d80cdb in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff2e96d7b in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff55ac147 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#11 0x00007ffff55e44e5 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#12 0x00000000009a7f01 in MainWindow::event(QEvent*) ()
#13 0x00007ffff2d3e05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff2d43516 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff22f138b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff22f3786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff22f6c29 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x000000000099eebd in main ()

I will examine this later.
User avatar
delt
Registered Member
Posts
6
Karma
0
Now i'm puzzled.... if i add a return; statement at the beginning of the MainWindow destructor, now i get a segfault with:

Code: Select all
Thread 1 "kdenlive" received signal SIGSEGV, Segmentation fault.
0x0000001900000000 in ?? ()
(gdb) bt
#0  0x0000001900000000 in ?? ()
#1  0x000000000093f217 in Bin::~Bin() ()
#2  0x000000000093f2da in Bin::~Bin() ()
#3  0x00007ffff231e28b in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff2d7c6c8 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff2e69c29 in QDockWidget::~QDockWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff231e28b in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007ffff2d7c6c8 in QWidget::~QWidget() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff55a9c30 in KMainWindow::~KMainWindow() () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#9  0x00000000009a824c in MainWindow::~MainWindow() ()
#10 0x00000000009a82e2 in MainWindow::~MainWindow() ()
#11 0x00007ffff2320c20 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff2d80cdb in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff2e96d7b in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff55ac147 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#15 0x00007ffff55e44e5 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#16 0x00000000009a7eb5 in MainWindow::event(QEvent*) ()
#17 0x00007ffff2d3e05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff2d43516 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff22f138b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff22f3786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff22f6c29 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x000000000099ee71 in main ()
(gdb)
syl201971
Registered Member
Posts
1
Karma
0
i have the same bug running Ubuntu, the windows version is not affected


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], kde-naveen, Sogou [Bot], Yahoo [Bot]