From c35005d1bf1784ed8ca031a061dc0988e71396a6 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 25 Nov 2020 11:45:42 +1100 Subject: [PATCH] renderer: only use different footage dividers on smaller footage --- app/render/renderprocessor.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/render/renderprocessor.cpp b/app/render/renderprocessor.cpp index 01a2a2046..b2d558064 100644 --- a/app/render/renderprocessor.cpp +++ b/app/render/renderprocessor.cpp @@ -270,11 +270,12 @@ QVariant RenderProcessor::ProcessVideoFootage(StreamPtr stream, const rational & ColorManager* color_manager = Node::ValueToPtr(ticket_->property("colormanager")); - // Calculate footage divider that still fits in the divider chosen - int footage_divider = 1; - while (VideoParams::GetScaledDimension(video_stream->width(), footage_divider) > video_params.effective_width() - || VideoParams::GetScaledDimension(video_stream->height(), footage_divider) > video_params.effective_height()) { - footage_divider++; + // See if we can make this divider larger (i.e. if the fooage is smaller) + int footage_divider = video_params.divider(); + while (footage_divider > 1 + && VideoParams::GetScaledDimension(video_stream->width(), footage_divider-1) < video_params.effective_width() + && VideoParams::GetScaledDimension(video_stream->height(), footage_divider-1) < video_params.effective_height()) { + footage_divider--; } StillImageCache::EntryPtr want_entry = std::make_shared(