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