On Sun, Feb 14, 2016 at 10:15 AM Jean-Baptiste Mardelle <j...@kdenlive.org>
wrote:
> Hi,
>
> Following a bug report on Kdenlive(1), I can confirm that the last
> commmit(2) in MLT about YADIF causes rendering freeze.
>
> I can reproduce by creating a playlist with a transition and a progressive
> profile:
>
> melt -profile atsc_1080p_25 color:red out=50 -track -blank 25 color:blue
> out=25 -transition luma in=25 out=50 -consumer xml:colors.mlt
>
> Then, trying to render the playlist:
>
> melt colors.mlt -consumer avformat:colors.mp4
>
> Causes a freeze. Reverting the YADIF commit makes it work again.
>
> Regards,
> jb
>
>
> (1) https://bugs.kde.org/show_bug.cgi?id=359397
>
> (2)
>
> https://github.com/mltframework/mlt/commit/a91713373dcd2cba7fdd4efd324fc943ca739d2d
>
>
>
OK, thanks, I reverted it for now and will continue to work on my bug fix
in a branch. The problem it addressed is that it is easy to make a
composition where YADIF is not used when requested, and it falls back to
linear blend. The problem that the patch introduced was a deadlock on
mlt_service_lock() within the luma transition: luma_transition ->
frame_get_image -> yadif -> frame_get_image -> luma_transition.
I could relieve the problem by making the mutex behind mlt_service_lock() a
recursive mutex; however, the state protected by lock is not only unsafe
for multiple threads but also for recursion. The fix is trickier than it
seemed going into the process of debugging. :-(
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel