]> git.sesse.net Git - mlt/commitdiff
field order normalisation fix, add .vob to fezzik, field order detection for avformat
authorddennedy <ddennedy@d19143bc-622f-0410-bfdd-b5b2a6649095>
Tue, 13 Apr 2004 16:59:00 +0000 (16:59 +0000)
committerddennedy <ddennedy@d19143bc-622f-0410-bfdd-b5b2a6649095>
Tue, 13 Apr 2004 16:59:00 +0000 (16:59 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@273 d19143bc-622f-0410-bfdd-b5b2a6649095

src/modules/avformat/producer_avformat.c
src/modules/core/filter_resize.c
src/modules/fezzik.dict
src/modules/westley/producer_westley.c

index f4cb38b6eed95e6cfc92e56c1f3631cbaf0dac26..ed7694d5b0a8c5e5fc06a214ed422f4b026e4eee 100644 (file)
@@ -483,6 +483,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
                                        {
                                                got_picture = 0;
                                        }
+                                       mlt_properties_set_int( properties, "top_field_first", frame.top_field_first );
                                }
                        }
 
@@ -571,6 +572,10 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
                        }
                }
        }
+       
+       // Set the field order property for this frame
+       mlt_properties_set_int( frame_properties, "top_field_first", 
+               mlt_properties_get_int( properties, "top_field_first" ) );
 
        // Regardless of speed, we expect to get the next frame (cos we ain't too bright)
        mlt_properties_set_position( properties, "video_expected", position + 1 );
index 435cf12767e869af13ae471474f5ddfe6dec22a7..1d551c2f6f416c90cf87af052aec438db9513b70 100644 (file)
@@ -104,10 +104,13 @@ static int filter_get_image( mlt_frame this, uint8_t **image, mlt_image_format *
                        // Keep the original image around to be destroyed on frame close
                        mlt_properties_rename( properties, "image", "original_image" );
 
+                       // Duplicate the last line in the field to avoid artifact
+                       memcpy( image + oheight * owidth * 2, image + oheight * owidth * 2 - owidth * 4, owidth * 2 );
+
                        // Offset the image pointer by one line
                        image += owidth * 2;
                        size -= owidth * 2;
-
+                       
                        // Set the new image pointer with no destructor
                        mlt_properties_set_data( properties, "image", image, size, NULL, NULL );
 
index 0ba05b5d709a814c954318ded4344693d9126c31..53da9bddd67214ccb51712b0345444b237168ccf 100644 (file)
@@ -18,6 +18,7 @@ http://*=avformat
 *.svg=pixbuf
 *.tga=pixbuf
 *.txt=pango
+*.vob=mcmpeg,avformat
 *.wav=avformat
 *.wmv=avformat
 *=avformat
index e32b62ba6d7a25e8d1d9df49ee017bca2e578f36..ff1649dee9a3d5c0c9ef8583e3568c6a1008aeb5 100644 (file)
@@ -141,7 +141,7 @@ static void track_service( mlt_properties properties, void *service, mlt_destruc
 }
 
 
-// Prepend the property value with the server root
+// Prepend the property value with the document root
 static inline void qualify_property( deserialise_context context, mlt_properties properties, char *name )
 {
        char *resource = mlt_properties_get( properties, name );