ret = mlt_frame_get_image( b_frame, image, &format, width, height, 1 );
+ // composite_yuv uses geometry->sw to determine source stride, which
+ // should equal the image width if not using crop property.
+ if ( !mlt_properties_get( properties, "crop" ) )
+ geometry->sw = *width;
+
// Set the frame back
mlt_properties_set_int( b_props, "resize_alpha", resize_alpha );
int field;
double luma_softness = mlt_properties_get_double( properties, "softness" );
+ mlt_service_lock( MLT_TRANSITION_SERVICE( this ) );
uint16_t *luma_bitmap = get_luma( this, properties, width_b, height_b );
+ mlt_service_unlock( MLT_TRANSITION_SERVICE( this ) );
char *operator = mlt_properties_get( properties, "operator" );
alpha_b = alpha_b == NULL ? mlt_frame_get_alpha_mask( b_frame ) : alpha_b;
// Use alignment (and hence alpha of b frame)
mlt_properties_set_int( properties, "aligned", 1 );
+ // Default to progressive rendering
+ mlt_properties_set_int( properties, "progressive", 1 );
+
// Inform apps and framework that this is a video only transition
mlt_properties_set_int( properties, "_transition_type", 1 );
}