Bug 366571

Summary: [Movit] video corruption after end of CPU transition
Product: [Applications] kdenlive Reporter: lukefromdc <directaction>
Component: Video Effects & TransitionsAssignee: Vincent PINON <vpinon>
Status: RESOLVED UPSTREAM    
Severity: major CC: snd.noise
Priority: NOR Keywords: investigated, triaged
Version First Reported In: unspecifiedFlags: snd.noise: MOVIT+
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description lukefromdc 2016-08-10 06:09:39 UTC
When Movit is enabled, at least one CPU effect is on a track, and it is transitioned into from a track above it using a CPU transition (e.g. wipe with an image or dissolve), playback becomes severely corrupted as soon as the transition ends and the track has nothing left to composit with. Sometimes this also causes kdenlive to crash, but not always.

Tracks with no effects OK, tracks with only Movit (GPU) effects OK, tracks transitioned into from below with any effects OK, Tracks with GLSL transition between them OK.  If only "dissolve" transitions are used GLSL wipe works well though must be inverted for transition down.

Playback after transitions normal if Movit is disabled.

Reproducible: Always

Steps to Reproduce:
1.Put a clip on a track, and another clip on a lower track later in the timeline with an overlap
2. Put any CPU effect on the second track
3.Put any CPU transition between the tracks, it must transition DOWN to the second clip

Actual Results:  
Severe video playback corruption as soon as the transition ends. This can be suppressed by putting a totally transparent image clip above the track in question. This indicates that once compositing to the track begins it must continue or playback is corrupted

Expected Results:  
Track should play normally after end of transition.

Kdenlive from GIT master, any version the last couple weeks. MLT is 6.3.0 from GIT master as well, both July 5 2016 and August 8 2016 pulls same results.

Projects first made with versions of Kdenlive from June 2016 or earlier are not affected-and starting from an empty project made with a June 10 build of 16.07.70 I saved is gives the expected results (normal playback) even when using current 16.11.70 git master. Thus something in how composited tracks are written to the project file is to blame. Adding a track to such a project immedialty brings back the corrupted playback, no recovery possible exept from backup project file-or by replacing every transition with a GPU transition.
Comment 1 lukefromdc 2017-03-07 21:31:35 UTC
As of 3-7-2017, movit noise now appears instead of the expected playback at all times (not just after transitions) unless the project is created using the June 2016 or earlier project file format.
Comment 2 lukefromdc 2017-03-13 03:53:09 UTC
Original behavior of the bug seems to be back with a git master build from 3-12-2017. Not sure what happened on 3.7, maybe something got corrupted and I just needed to reboot? I've seen that happen before with Kdenlive. Movit noise once again appearing only after a CPU transition (non-GLSL) between clips containing at least one CPU effect. If all the effects ever got ported to Movit this would be no longer an issue due to the CPU effect requrement to invoke it
Comment 3 Vincent PINON 2017-09-18 09:42:27 UTC
Sorry, Movit integration in MLT is out of our scope... Maybe one day :\
Comment 4 Andrew Crouthamel 2018-09-19 14:24:58 UTC
This bug has had its resolution changed, but accidentally has been left in NEEDSINFO status. I am thus closing this bug and setting the status as RESOLVED to reflect the resolution change.