From 69c9f79af6e4a6a34e5b17cc249cac41f463bd9b Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Fri, 1 Jun 2012 08:45:17 -0700 Subject: [PATCH] Revert "Revert "make speed of editing AVCHD tolerable"" This reverts commit c02b411377f471c5c768dfb5f83171964c6c273a. --- src/modules/avformat/producer_avformat.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c index 56cc7027..455de31c 100644 --- a/src/modules/avformat/producer_avformat.c +++ b/src/modules/avformat/producer_avformat.c @@ -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; -- 2.39.2