From bd208d01a2a792e698a9b4884b43602b2f245a8f Mon Sep 17 00:00:00 2001 From: ddennedy Date: Tue, 13 Apr 2004 16:59:00 +0000 Subject: [PATCH] field order normalisation fix, add .vob to fezzik, field order detection for avformat git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@273 d19143bc-622f-0410-bfdd-b5b2a6649095 --- src/modules/avformat/producer_avformat.c | 5 +++++ src/modules/core/filter_resize.c | 5 ++++- src/modules/fezzik.dict | 1 + src/modules/westley/producer_westley.c | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c index f4cb38b..ed7694d 100644 --- a/src/modules/avformat/producer_avformat.c +++ b/src/modules/avformat/producer_avformat.c @@ -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 ); diff --git a/src/modules/core/filter_resize.c b/src/modules/core/filter_resize.c index 435cf12..1d551c2 100644 --- a/src/modules/core/filter_resize.c +++ b/src/modules/core/filter_resize.c @@ -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 ); diff --git a/src/modules/fezzik.dict b/src/modules/fezzik.dict index 0ba05b5..53da9bd 100644 --- a/src/modules/fezzik.dict +++ b/src/modules/fezzik.dict @@ -18,6 +18,7 @@ http://*=avformat *.svg=pixbuf *.tga=pixbuf *.txt=pango +*.vob=mcmpeg,avformat *.wav=avformat *.wmv=avformat *=avformat diff --git a/src/modules/westley/producer_westley.c b/src/modules/westley/producer_westley.c index e32b62b..ff1649d 100644 --- a/src/modules/westley/producer_westley.c +++ b/src/modules/westley/producer_westley.c @@ -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 ); -- 1.7.4.4