On Mon, May 16, 2011 at 9:41 PM, Brian Matherly <[email protected]> wrote: > Dan, > > While working with the data_show filter, I found that it doesn't work > properly in the latest git. But it does work properly in 0.7.2. I narrowed > the problem down to commit d795. > > To test the problem, run this command: > melt file.mp4 meta.attr.titles=1 meta.attr.titles.markup=#timecode# -attach > data_show dynamic=1 > It's the example for timecode overlay on the FAQ. > > If you run that command with 0.7.2, the timecode is displayed. If you run > that command with the latest git, the video is choppy (at least on my > computer) and the overlay is not displayed. >
The additional choppiness might come from a revised frame dropping algorithm that is more eager at dropping video frames to keep the audio continuous and to keep up with realtime. Since that is the goal of frame-dropping, it should be more correct now. The old algorithm arbitrarily rendered a video frame after every 5 dropped frames. Compare real_time=1 with real_time=0 on the consumer and check CPU usage to see that even with real_time=1 one CPU is nearly fully utilized. > I have attached a patch for your consideration. It adds back the single line > that makes it work - passing along the consumer_aspect_ratio property from > props_a to props_b. I don't claim this is the proper fix. I suspect that > something is broken in mlt_transition.c where you added the code to pass > properties from a_props to b_props: > > > mlt_properties_pass_list( b_props, a_props, "consumer_deinterlace, > deinterlace_method, consumer_aspect_ratio" ); > > maybe mlt_properties_pass_list isn't working properly? > > Anyway, rather than chase it any further, I thought you might realize the > problem right away. I fixed it in a different way. The consumer_aspect_ratio property is legacy from before I added profile. It still exists in many places, but not so easy to get rid of, and I am choosing to be a bot conservative at how aggressively I refactor. > Also, in the attached patch, I draw your attention to > > mlt_properties_set_int( a_props, "consumer_deinterlace", 1 ); > The function was called twice with the same parameters. I suspect that you > meant to call the second one with "b_props". > You are correct. fixed. > If the solution isn't obvious to you, or you don't have time to chase it, let > me know and I can dig deeper. > > Let me know if there is anything I can do to help. Thanks, > > > ~Brian ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Mlt-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mlt-devel
