2012/2/16 Maksym Veremeyenko <ve...@m1stereo.tv>:
> 15.02.12 20:49, Dan Dennedy написав(ла):
>
>> 2012/2/14 Maksym Veremeyenko<ve...@m1stereo.tv>:
>>>
>>> Hi,
>>>
>>> data for overlay image converted from RGBA to YUV422 for each frame.
>>> attached patch save converted image of *pixbuf* producer to avoid
>>> converting
>>> it to profile format each time it require to produce resulting frame.
>>>
>>> with that patch and previous SSE2 patches it possible to put full hd logo
>>> on
>>> video without dropped frame.
>>>
>>> it is draft version with leak on exit but it could answer the question if
>>> it
>>> is a right approach for solving problem with image converted to desired
>>> format once per frame instead of once per load/format_change.
>>
>>
>> The idea is fine but not the patches. The first patch to mlt_frame is
>> rejected because they are not really needed; use
>> mlt_frame_get_alpha_mask and mlt_frame_get_image. API changes
>> including additions are not taken lightly and need strong
>> justification. These two just add confusion.
>
> problem is *mlt_frame_get_alpha_mask* function that generate fake alpha
> channel for frames without one. I had a plans to propose drop creating
> filled alpha plane with it function and just return NULL, but in the same

That is a high impact change that requires analyzing every call to the
function, and fixing and testing its impact.

> time fix compositing function to care about 8 variants of alpha_a, alpha_b,
> weight values...
>
> i'll have a look on mlt_frame_get_image...
>
>
>>
>> In the pixbuf patch, you should not call the convert_image virtual
>> function directly; use mlt_frame_get_image(). Unfortunately,
>> mlt_frame_set_image lacks a format parameter. I forget why. For now,
>> just set the format property. mlt_frame_get_alpha_mask() should
>> probably have an out param. I will think about breaking API because
>> there are other API changes coming in this release. For now, you will
>> have to use a computed size for the alpha. Lastly, break clone.size
>> apart into clone.image_size and clone.alpha_size for readability.
>>
>
> such code could be added to pango and possibly other producers. May be it
> possible to provide another way for storing/cached converted/scaled images
> on upper level...

I thought about that, and it makes some sense. The upper level does
not understand when the image changes - only the producer knows this.
Of course, the producer could set a flag to indicate the image changed
or fire an event that causes the caching mechanism to flush. I will
think about it more.

-- 
+-DRD-+

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to