X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fcore%2Ftransition_luma.c;h=29eb09582d1de3192150c692a12ca170c7089662;hb=cd7f37c876eba2e0addee5f66c1f96677af76b6b;hp=11c334c087169586c46142bf64463d7dfc0fae0c;hpb=f03c6d071da28a7ac3bc4079db726b43034b6ffc;p=melted diff --git a/src/modules/core/transition_luma.c b/src/modules/core/transition_luma.c index 11c334c..29eb095 100644 --- a/src/modules/core/transition_luma.c +++ b/src/modules/core/transition_luma.c @@ -481,15 +481,16 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f int reverse = mlt_properties_get_int( properties, "reverse" ); int invert = mlt_properties_get_int( properties, "invert" ); - if ( mlt_properties_get( a_props, "rescale.interp" ) == NULL ) + if ( mlt_properties_get( a_props, "rescale.interp" ) == NULL || !strcmp( mlt_properties_get( a_props, "rescale.interp" ), "none" ) ) mlt_properties_set( a_props, "rescale.interp", "nearest" ); // Since we are the consumer of the b_frame, we must pass along this // consumer property from the a_frame - if ( !strcmp( mlt_properties_get( a_props, "rescale.interp" ), "none" ) ) - mlt_properties_set_double( b_props, "consumer_aspect_ratio", mlt_properties_get_double( a_props, "aspect_ratio" ) ); - else - mlt_properties_set_double( b_props, "consumer_aspect_ratio", mlt_properties_get_double( a_props, "consumer_aspect_ratio" ) ); + if ( mlt_properties_get_double( a_props, "aspect_ratio" ) == 0.0 ) + mlt_properties_set_double( a_props, "aspect_ratio", mlt_properties_get_double( a_props, "consumer_aspect_ratio" ) ); + if ( mlt_properties_get_double( b_props, "aspect_ratio" ) == 0.0 ) + mlt_properties_set_double( b_props, "aspect_ratio", mlt_properties_get_double( a_props, "consumer_aspect_ratio" ) ); + mlt_properties_set_double( b_props, "consumer_aspect_ratio", mlt_properties_get_double( a_props, "consumer_aspect_ratio" ) ); // Honour the reverse here if ( mix >= 1.0 ) @@ -499,7 +500,8 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f frame_delta *= reverse || invert ? -1.0 : 1.0; // Ensure we get scaling on the b_frame - mlt_properties_set( b_props, "rescale.interp", "nearest" ); + if ( mlt_properties_get( b_props, "rescale.interp" ) == NULL || !strcmp( mlt_properties_get( b_props, "rescale.interp" ), "none" ) ) + mlt_properties_set( b_props, "rescale.interp", "nearest" ); if ( mlt_properties_get( properties, "fixed" ) ) mix = mlt_properties_get_double( properties, "fixed" );