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

Reply via email to