-static StabData* init_detect(mlt_properties properties, mlt_image_format *format, int *width, int *height)
-{
- StabData *data = new StabData;
- memset(data, 0, sizeof(StabData));
- data->animation = mlt_animation_new();
-
- VSPixelFormat pf = convertImageFormat(*format);
- VSFrameInfo fi;
- vsFrameInfoInit(&fi, *width, *height, pf);
-
- const char* filterName = mlt_properties_get(properties, "mlt_service");
-
- VSMotionDetectConfig conf = vsMotionDetectGetDefaultConfig(filterName);
- conf.shakiness = mlt_properties_get_int(properties, "shakiness");
- conf.accuracy = mlt_properties_get_int(properties, "accuracy");
- conf.stepSize = mlt_properties_get_int(properties, "stepsize");
- conf.algo = mlt_properties_get_int(properties, "algo");
- conf.contrastThreshold = mlt_properties_get_double(properties, "mincontrast");
- conf.show = mlt_properties_get_int(properties, "show");
- conf.virtualTripod = mlt_properties_get_int(properties, "tripod");
- vsMotionDetectInit(&data->md, &conf, &fi);
-
- // add vectors to properties
- mlt_properties_set_data(properties, "vectors", data->animation, 1, (mlt_destructor) mlt_animation_close,
- (mlt_serialiser) vectors_serializer);
- return data;
-}