]> git.sesse.net Git - mlt/commitdiff
minor mods
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 2 Apr 2004 14:41:39 +0000 (14:41 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Fri, 2 Apr 2004 14:41:39 +0000 (14:41 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@265 d19143bc-622f-0410-bfdd-b5b2a6649095

demo/demo.ini
demo/mlt_squeeze
demo/mlt_squeeze_box [new file with mode: 0644]
docs/framework.txt
docs/services.txt
src/modules/core/transition_composite.c

index 9bfd05b7e0735206994fd387a741c47dfcccb43c..128821ee4ff063261a627f785522bcb8a5655a4a 100644 (file)
@@ -18,6 +18,7 @@ mlt_bouncy                                    Bouncy, Bouncy                                          clip1.dv,clip3.dv
 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_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
 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
index 6b90afff1a380b3a406af5e42bbc067f0f784588..839efe9294e057f25c0e62b3fc68f9f4d14845a0 100644 (file)
@@ -2,7 +2,8 @@ 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 \
 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 \
 $*
 $*
diff --git a/demo/mlt_squeeze_box b/demo/mlt_squeeze_box
new file mode 100644 (file)
index 0000000..dfa0ced
--- /dev/null
@@ -0,0 +1,9 @@
+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 \
+$*
index a1276db855b69ec6ac3f340965b09efc936cfba6..a118e93809d2d034a1320f6563ea9f204265d6f1 100644 (file)
@@ -403,8 +403,9 @@ Multiple Tracks and Transitions:
                           +------------------------------+
 
        The overlapping areas of track 0 and 1 would (presumably) have some kind of
                           +------------------------------+
 
        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.
 
        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.
@@ -441,7 +442,7 @@ Multiple Tracks and Transitions:
        +----------+
 
        With a combination of the two, we can now connect multitracks to consumers.
        +----------+
 
        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. 
 
 
        The tracks can be producers, playlists, or even other tractors. 
 
@@ -450,7 +451,7 @@ Multiple Tracks and Transitions:
        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. 
        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 
        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 
@@ -536,7 +537,9 @@ Multiple Tracks and Transitions:
            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_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 );
            // Now set the properties on the transition
            properties = mlt_transition_properties( transition );
            mlt_properties_set_position( properties, "in", 0 );
index 430060db08adf28d2026f493b770f4c48d56bdb5..c0742065e953e673af4a27ef59d166349fb89c7d 100644 (file)
@@ -2,7 +2,7 @@ Service Documentation
 
 Copyright (C) 2004 Ushodaya Enterprises Limited
 Authors: Charles Yates <charles.yates@pandora.be>
 
 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
 
 
 Last Revision: 2004-03-20
 
 
@@ -95,7 +95,7 @@ Producers
 
            Details
 
 
            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;
 
                1. it handles the mappings of all file names to the other
                producers;
@@ -636,36 +636,6 @@ Filters
                Not a bug, but it only provides fair quality.
                
            
                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
        gamma
        
            Description
index f8f78c96b98b4db68af8733bee27b738006b4d23..88c12225c556cf8300cb997bf4572a09a2433550 100644 (file)
@@ -622,20 +622,34 @@ static int composite_yuv( uint8_t *p_dest, int width_dest, int height_dest, uint
        stride_dest *= step;
        int alpha_stride = stride_src / bpp;
 
        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
        // 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;
        }
 
        return ret;
@@ -1019,7 +1033,7 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f
                        
                        int32_t luma_softness = mlt_properties_get_double( properties, "softness" ) * ( 1 << 16 );
                        uint16_t *luma_bitmap = get_luma( properties, width_b, height_b );
                        
                        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++ )
                        {
 
                        for ( field = 0; field < ( progressive ? 1 : 2 ); field++ )
                        {