Le vendredi 10 février 2012 04:50:31, Dan Dennedy a écrit : > On Thu, Feb 9, 2012 at 3:12 PM, Christophe Thommeret <[email protected]> wrote: > > Le jeudi 9 février 2012 23:34:14, Dan Dennedy a écrit : > >> Note also that with consumer.real_time <> 0 there is a thread running > >> to pre-render frames, and that thread defaults to mlt_image_yuv422, > >> but you can change it by setting property mlt_image_format=yuv420p on > >> the consumer (added since last release). > > > > I'm running with the default real_time=1. > > Could you tell me more about setting this consumer' format property ? > > When real_time != 0, mlt_consumer.c spawns abs(real_time) threads that > loop fetching a frame and calling mlt_frame_get_image(), and that call > has a format parameter. It gets the format from the consumer property > named "mlt_image_format," which accepts the names: yuv420p, yuv422, > rgb24, rgb24a, or none. > > In December, I added support for mlt_image_none for a customer. This > asks mlt_frame_get_image() to return the format that is closest to its > native format. But the caller can really only expect that when there > are no filters including normalizing filters.
Ok, setting this property to "yuv420p" or "none", glsl.csc gets yuv420p. But whatever i set, when i add a filter (e.g. "melt -consumer qgl -filter glsl.greyscale /path/to/file"), melt crashes. I found that it happens in producer_avformat, where allocate_buffer gets mlt_image_glsl. > Maybe that is what you > want if you want to offload as much conversion to glsl. Or, maybe you > want yuv420p to reduce the bus bandwidth. At that moment, all i want is to understand how it works. yuv420p reduces cpu usage by ~10%, but if it's not the native format, the conversion made by producer_avformat may take more. > P.S. a way to request no normalizing filters at runtime, is to use the > abnormal producer, and the easiest way to invoke that is to prefix the > resource name with "abnormal:" If you mean "melt -consumer qgl abnormal:/path/to/file" then it does not work, attach_normalisers is called. (so, i disable attach_normalisers in producer_loader) -- Christophe Thommeret ------------------------------------------------------------------------------ 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 [email protected] https://lists.sourceforge.net/lists/listinfo/mlt-devel
