if ( !video_off )
mlt_frame_get_image( frame, &image, &this->format, &width, &height, 0 );
mlt_properties_set_int( mlt_frame_properties( frame ), "rendered", 1 );
-
- // Reset the skipped count
- skipped = 0;
}
else
{
skip_next = 0;
// If we've reached an unacceptable level, reset everything
- if ( skipped > 10 )
+ if ( skipped > 5 )
{
skipped = 0;
time_frame = 0;
// Obtain properties of producer
mlt_properties producer_props = mlt_producer_properties( producer );
+ // Determine if we're producing PAL or NTSC
+ int is_pal = mlt_properties_get_double( producer_props, "fps" ) == 25.0;
+
// Set the producer on the frame properties
mlt_properties_set_data( properties, "producer_colour", producer, 0, NULL, NULL );
// Set producer-specific frame properties
mlt_properties_set_int( properties, "progressive", 1 );
- mlt_properties_set_int( properties, "aspect_ratio", 1 );
+ mlt_properties_set_double( properties, "aspect_ratio", is_pal ? 128.0/117.0 : 72.0/79.0 );
// colour is an alias for resource
- // CY: Do we really need this?
if ( mlt_properties_get( producer_props, "colour" ) != NULL )
mlt_properties_set( producer_props, "resource", mlt_properties_get( producer_props, "colour" ) );
// Obtain properties of frame
mlt_properties properties = mlt_frame_properties( *frame );
+ // Obtain properties of producer
+ mlt_properties producer_props = mlt_producer_properties( this );
+
+ // Determine if we're producing PAL or NTSC
+ int is_pal = mlt_properties_get_double( producer_props, "fps" ) == 25.0;
+
// Aspect ratio is 1?
- mlt_properties_set_double( properties, "aspect_ratio", 1.0 );
+ mlt_properties_set_double( properties, "aspect_ratio", is_pal ? 128.0/117.0 : 72.0/79.0 );
// Set producer-specific frame properties
mlt_properties_set_int( properties, "progressive", 1 );
# The names of the services on the right dictate the preference used (if unavailable
# the second and third are applied as applicable).
-deinterlace=avdeinterlace
+deinterlace=deinterlace,avdeinterlace
rescaler=mcrescale,gtkrescale,rescale
resizer=resize
resampler=soxresample,avresample,resample
// Note - the original pixbuf is already safe and ready for destruction
pixbuf = gdk_pixbuf_scale_simple( pixbuf, width, height, interp );
-
+
// Store width and height
this->width = width;
this->height = height;
result = mlt_factory_producer( "mcmpeg", file );
else if ( strstr( file, ".mpeg" ) )
result = mlt_factory_producer( "mcmpeg", file );
+ else if ( strstr( file, ".dat" ) )
+ result = mlt_factory_producer( "mcmpeg", file );
else if ( strstr( file, ".dv" ) )
result = mlt_factory_producer( "mcdv", file );
else if ( strstr( file, ".dif" ) )