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

Reply via email to