// Get the image from the a frame
mlt_frame_get_image( a_frame, image, format, width, height, 1 );
+ // Get the properties from the transition
+ mlt_properties properties = mlt_transition_properties( this );
+
if ( b_frame != NULL )
{
// Get the properties of the a frame
// Get the properties of the b frame
mlt_properties b_props = mlt_frame_properties( b_frame );
- // Get the properties from the transition
- mlt_properties properties = mlt_transition_properties( this );
-
// Structures for geometry
struct geometry_s result;
// Optimisation - no compositing required
if ( result.mix == 0 || ( result.w == 0 && result.h == 0 ) )
+ {
+ mlt_properties_set_data( properties, "geometries", NULL, 0, NULL, NULL );
return 0;
+ }
// Since we are the consumer of the b_frame, we must pass along these
// consumer properties from the a_frame
int32_t luma_softness = mlt_properties_get_double( properties, "softness" ) * ( 1 << 16 );
uint16_t *luma_bitmap = get_luma( properties, width_b, height_b );
- composite_line_fn line_fn = mlt_properties_get_int( properties, "_MMX" ) ? composite_line_yuv_mmx : NULL;
+ //composite_line_fn line_fn = mlt_properties_get_int( properties, "_MMX" ) ? composite_line_yuv_mmx : NULL;
+ composite_line_fn line_fn = NULL;
for ( field = 0; field < ( progressive ? 1 : 2 ); field++ )
{
}
}
+ // Force geometries to be recalculated
+ mlt_properties_set_data( properties, "geometries", NULL, 0, NULL, NULL );
+
return 0;
}