[CinCV TNG] Debugging motion blur
feranick at hotmail.com
Sun Apr 12 22:07:41 CEST 2015
Thanks much for following up. For me, motionblur crashes cinelerra
consistently, with any piece of video (or a tiff), regardless of the
format I select for the output. The easiest way is to use any tiff and
output as tiff. I tracked the problem down to pluginserver.C:1014:
plugin->track->automation->get_camera(x, y, z, position, direction);
If you comment out this call, the plugin doesn't crash, but it doesn't
seem to do anything.
The issues seems to be in the plugin->track pointer. As cinelerra is
trying to access it, it crashes. You can check it out by trying to print
plugin->track (for example within void PluginServer::get_camera).
plugin->track is barely used within cinelerra, I can provide more
specific example where it is. When I run valgring it seems the cause of
the problem is related to the pointer not being initialized or even
allocated. At this point I am not sure what to look for... Happy to run
On 4/12/15 12:59 PM, Einar Rünkaru wrote:
> Nicola, you asked for help.
> On 04/10/2015 01:35 AM, Nicola Ferralis wrote:
>> There is more. The method in the get_camera call in automation.C is
>> empty. This means that get_camera shouldn't do absolutely nothing. In
>> fact if you remove it completely, the crash doesn't obviously occur, but
>> nothing happens either (no motion blur). Interestingly, an identical
>> call in vautomation.C has a meaningful method for get_camera, that I
>> would think it should be also replicated in automation.C as well. One
>> could copy over the short piece of code in get_camera in vautomations.C
>> into the blank get_camera call in automation.C, but that obviously
>> doesn't prevent the crash, which, as I stated above, takes place
>> *before* the get_camera is ever started.
> Automation is base class of vautomation (video) and aautomation (audio).
> As there is no camera for audio, get_camera for audio is pointless.
>> What i am trying to say is that the crash takes place immediately before
>> get_camera is initiated in automatic.C. If that crash is solved, there
>> may still be an issue with the blank call in get_camera.
> How did you crash the program? My test case does not crash.
> IMHO tho goal of the effect is to blur only moving objects in frame.
> Just guessing.
More information about the Cinelerra