JB,
I think this optimization could be made in frei0r.cairoblend.
Could you compare the performance of frei0r.cairoblend with transition_qtblend
when the top frame has transparency?
Seems like the transition_qtblend would be worth keeping regardless of whether
its performance is better.
~Brian
From: Jean-Baptiste Mardelle <j...@kdenlive.org>
To: mlt-devel@lists.sourceforge.net
Sent: Thursday, July 14, 2016 2:30 PM
Subject: Re: [Mlt-devel] Compositing transition question
On Thursday, July 14, 2016 12:41:20 AM CEST, Dan Dennedy wrote:
> Good question, JB :-)
> The composite transition gives less image quality for alpha
> blending due to subsampled chroma. This also introduces a
> 2-pixel precision limitation, which is bad enough on its own but
> even worse for animation. I was basically doing some
> future-proofing for animation support and to let the user choose
> a blending mode, which you can do now by selecting a track and
> using Properties. It does support frame threaded parallel
> processing, which can help; but currently Shotcut only exposes
> that in non-realtime mode (including export). I have not been
> happy with performance either, but still Shotcut only has one
> track transition choice. So, I chose the one with best quality
> and flexibility.
Thanks for your answer Dan.
I had a look at frei0r.cairoblend, and one problem is that it always
performs an operation to pre-multiply the RGBA input from A frame and B
frame, even when the B frame is completely opaque, leading to a large
resource consumption.
I made a quick test implementing a Qt blend transition in MLT, that turns
images into QImage and uses a QPainter to composite.
I was able to get a much better performance by checking if the top frame is
completely opaque, and querying/processing bottom frame only if there is
some transparency (which is not possible with frei0r transitions).
My first draft is in my git clone:
https://github.com/j-b-m/mlt/commit/87943f5c7b084d57a8c5717126cc0e47462d5ae5
I think it would be a useful addition for multitrack compositing. Any
comments / ideas ?
regards
jb
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel