mlt_bouncy_ball Bouncy, Bouncy Ball clip1.mpeg,clip3.mpeg,circle.png
mlt_news Breaking News clip1.mpeg,clip2.mpeg
mlt_squeeze Squeeze Transitions clip1.dv,clip2.dv,clip3.dv
+mlt_squeeze_box Squeeze Box clip1.dv,clip2.dv,clip3.dv
mlt_jcut J Cut clip1.dv,clip2.dv
mlt_lcut L Cut clip1.dv,clip2.dv
mlt_fade_black Fade from/to black/silence clip3.mpeg
clip1.dv out=124 clip2.dv out=149 clip3.dv in=75 out=224 clip1.dv \
-track \
-blank 99 colour:black out=49 -blank 99 colour:black out=49 -blank 99 colour:black out=49 \
--transition composite:0%,0%:100%x100% key[25]=50%,0%:5%x100% end=0%,0%:100%x100% distort=true a_track=1 b_track=0 in=100 out=149 \
--transition composite:0%,0%:100%x100% key[25]=0%,50%:100%x5% end=0%,0%:100%x100% distort=true a_track=1 b_track=0 in=250 out=299 \
--transition composite:0%,0%:100%x100% key[25]=100%,0%:5%x100% end=0%,0%:100%x100% distort=true a_track=1 b_track=0 in=400 out=449 \
+-group progressive=1 distort=true \
+-transition composite:0%,0%:100%x100% key[25]=50%,0%:5%x100% end=0%,0%:100%x100% a_track=1 b_track=0 in=100 out=149 \
+-transition composite:0%,0%:100%x100% key[25]=0%,50%:100%x5% end=0%,0%:100%x100% a_track=1 b_track=0 in=250 out=299 \
+-transition composite:0%,0%:100%x100% key[25]=100%,0%:5%x100% end=0%,0%:100%x100% a_track=1 b_track=0 in=400 out=449 \
$*
--- /dev/null
+inigo \
+clip1.dv out=124 clip2.dv out=149 clip3.dv in=75 out=224 clip1.dv \
+-track \
+-blank 99 colour:black out=49 -blank 99 colour:black out=49 -blank 99 colour:black out=49 \
+-group progressive=1 \
+-transition composite:0%,0%:100%x100% key[25]=50%,0%:5%x100% end=0%,0%:100%x100% a_track=1 b_track=0 in=100 out=149 \
+-transition composite:0%,0%:100%x100% key[25]=0%,50%:100%x5% end=0%,0%:100%x100% a_track=1 b_track=0 in=250 out=299 \
+-transition composite:0%,0%:100%x100% key[25]=100%,0%:5%x100% end=0%,0%:100%x100% a_track=1 b_track=0 in=400 out=449 \
+$*
+------------------------------+
The overlapping areas of track 0 and 1 would (presumably) have some kind of
- transition - without a transition, the frames from a1 and a2 would be shown
- during the areas of overlap.
+ transition - without a transition, the frames from b1 and b2 would be shown
+ during the areas of overlap (ie: by default, the higher numbered track takes
+ precedence over the lower numbered track).
MLT has a multitrack object, but it is not a producer in the sense that it
can be connected directly to a consumer and everything will work correctly.
+----------+
With a combination of the two, we can now connect multitracks to consumers.
- The first non-test card will be retrieved and passed on.
+ The last non-test card will be retrieved and passed on.
The tracks can be producers, playlists, or even other tractors.
tractor and the multitrack, but this involves a lot of connecting and
reconnecting left and right producers and consumers, and it seemed only fair
that we should be able to automate that process.
-
+
So in keeping with our agricultural theme, the concept of the 'field' was
born. We 'plant' filters and transitions in the field and the tractor pulls
the multitrack (think of a combine harvester :-)) over the field and
mlt_properties_set_position( properties, "in", 0 );
mlt_properties_set_position( properties, "out", length - 1 );
mlt_properties_set_position( properties, "length", length );
-
+ mlt_properties_set_int( properties, "a_track", 0 );
+ mlt_properties_set_int( properties, "b_track", 1 );
+
// Now set the properties on the transition
properties = mlt_transition_properties( transition );
mlt_properties_set_position( properties, "in", 0 );
Copyright (C) 2004 Ushodaya Enterprises Limited
Authors: Charles Yates <charles.yates@pandora.be>
- Dan Dennedy <dan@dennedy.org>
+ Dan Dennedy <dan@dennedy.org>
Last Revision: 2004-03-20
Details
- This producer is has two roles:
+ This producer has two roles:
1. it handles the mappings of all file names to the other
producers;
Not a bug, but it only provides fair quality.
- ffmpeg_dub
-
- Description
-
- Use ffmpeg executable to substitute audio stream.
-
- Constructor Argument
-
- file - filename of a WAV, Ogg Vorbis (--enable-vorbis),
- MP3 (--enable-mp3lame), or AC-3 (--enable-a52) audio file.
-
- Initialisation Properties
-
- int in - in point
- int out - out point
-
- Read Only Properties
-
- string resource - file
-
- Dependencies
-
- ffmpeg plus for ffmpeg:
- libogg and libvorbis for Ogg Vorbis, libmp3lame for MP3, liba52 for AC-3.
-
- Known Bugs
-
- Uses pipes and is therefore not compatible with bluefish.
-
-
gamma
Description
stride_dest *= step;
int alpha_stride = stride_src / bpp;
- if ( line_fn == NULL )
- line_fn = composite_line_yuv;
-
// now do the compositing only to cropped extents
- for ( i = 0; i < height_src; i += step )
+ if ( line_fn != NULL )
{
- line_fn( p_dest, p_src, width_src, p_alpha, weight, p_luma, softness );
-
- p_src += stride_src;
- p_dest += stride_dest;
- if ( p_alpha )
- p_alpha += alpha_stride;
- if ( p_luma )
- p_luma += alpha_stride;
+ for ( i = 0; i < height_src; i += step )
+ {
+ line_fn( p_dest, p_src, width_src, p_alpha, weight, p_luma, softness );
+
+ p_src += stride_src;
+ p_dest += stride_dest;
+ if ( p_alpha )
+ p_alpha += alpha_stride;
+ if ( p_luma )
+ p_luma += alpha_stride;
+ }
+ }
+ else
+ {
+ for ( i = 0; i < height_src; i += step )
+ {
+ composite_line_yuv( p_dest, p_src, width_src, p_alpha, weight, p_luma, softness );
+
+ p_src += stride_src;
+ p_dest += stride_dest;
+ if ( p_alpha )
+ p_alpha += alpha_stride;
+ if ( p_luma )
+ p_luma += alpha_stride;
+ }
}
return ret;
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 : composite_line_yuv;
+ composite_line_fn line_fn = mlt_properties_get_int( properties, "_MMX" ) ? composite_line_yuv_mmx : NULL;
for ( field = 0; field < ( progressive ? 1 : 2 ); field++ )
{