]> git.sesse.net Git - mlt/commitdiff
Revert "Revert "make speed of editing AVCHD tolerable""
authorDan Dennedy <dan@dennedy.org>
Fri, 1 Jun 2012 15:45:17 +0000 (08:45 -0700)
committerDan Dennedy <dan@dennedy.org>
Fri, 1 Jun 2012 15:45:17 +0000 (08:45 -0700)
This reverts commit c02b411377f471c5c768dfb5f83171964c6c273a.

src/modules/avformat/producer_avformat.c

index 56cc702734d61cdcc02c97aaa50c9650904f8013..455de31c9dbd7a840364fd5425d613ff0e1cd92d 100644 (file)
@@ -1480,7 +1480,13 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
        double delay = mlt_properties_get_double( properties, "video_delay" );
 
        // Seek if necessary
-       int paused = seek_video( self, position, req_position, must_decode, use_new_seek, &ignore );
+       const char *interp = mlt_properties_get( frame_properties, "rescale.interp" );
+       int preseek = must_decode
+#if defined(FFUDIV) && LIBAVFORMAT_VERSION_INT >= ((53<<16)+(24<<8)+2)
+               && ( !use_new_seek || ( interp && strcmp( interp, "nearest" ) ) )
+#endif
+               && codec_context->has_b_frames;
+       int paused = seek_video( self, position, req_position, preseek, use_new_seek, &ignore );
 
        // Seek might have reopened the file
        context = self->video_format;