On Friday, July 15, 2016 3:55:48 PM CEST, Harald Albrecht wrote: > Just for my understanding... with qtblend we would get: > * luma wipes without the luma bleeding that composite has, > * affine functionality (with the aforementioned luma wipes on top) > * performance optimization with respect to affine and > composite, especially when B frames have no transparency > > Did I got this somehow correct?
Hi Harald, Well not exactly: * Luma wipes will have to be rewritten for qtblend, I have not looked at it yet * Big performance gain over current affine / cairoblend when no transparency on top frame: yes, but affine could probably easily be adapted to get the same performance gain if desired. * From my tests: small performance loss over affine transition when performing an affine transform. I have now implemented affine transformation for qtblend in my repository and added the required transition_qtblend.yml. I will make some more tests / improvements in the next days (add configurable compositing method,...) and when I think it's ready, I will ask the MLT team if it's ok to commit to master. regards jb > > > -------- Ursprüngliche Nachricht -------- > Von: Jean-Baptiste Mardelle <j...@kdenlive.org> > Datum: 15.07.2016 09:35 (GMT+01:00) > An: mlt-devel@lists.sourceforge.net > Betreff: Re: [Mlt-devel] Compositing transition question > > On Friday, July 15, 2016 4:27:04 AM CEST, Brian Matherly wrote: >> 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. > > I did make some further optimisations to my qtblend transition, and > performance seems quite similar to cairoblend when doing a composite > operation. > > qtblend can easily be modified to also use opacity and affine like > transformations by applying a QTransform to the QPainter. > > I did spend some more time looking at cairoblend, composite and affine > transitions though, and here are my quick thoughts: > > * composite transition: like Dan said, using the Kdenlive's monitor zoom I > can clearly see the luma bleed > > * affine transition: when used as a filter, it does not correctly handle > alpha channel (see picture in http://j-b-m.ch/affine-bug.png ). I tried to > fix it but non trivial to fix for all cases > > * frei0r.cairoblend: if we want to optimize it as I did for qtblend, it > would require modifications to transition_frei0r.c, since this helper > always requests RGBA images for the A and B frames. Making it retrieve only > B frame if it has no transparency does not seem easy since as Dan noted > some frei0r transition might want to use A frame even when B frame is fully > opaque, so it would require some kind rules depending on which > transition/parameters. > > So in conclusion, despite the fact that I agree it's better to fix the > problems rather than adding a new solution, in this case - thinking about > Kdenlive - I think the best option would be to enhance my current > implementation of qtblend to allow affine like transform and use it as a > replacement for composite/affine/cairoblend in Kdenlive. > > 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 ------------------------------------------------------------------------------ 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