[CinCV TNG] Debugging motion blur

Nicola Ferralis feranick at hotmail.com
Sun Apr 12 22:07:41 CEST 2015


Hi Einar,

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 
any test.

Thanks,
Nicola

On 4/12/15 12:59 PM, Einar R√ľnkaru wrote:
> Hi.
>
> Nicola, you asked for help.
>
> On 04/10/2015 01:35 AM, Nicola Ferralis wrote:
>> Hi,
>>
>>
>> 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.
>
> Einar



More information about the Cinelerra mailing list