From 66bf5db2e1d1a24c48b0748f0cbf708b65c86e67 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 22 Nov 2020 10:24:07 +1100 Subject: [PATCH] gizmotraverser: return sequence resolution and adjust texture resolution by pixel aspect --- app/widget/viewer/gizmotraverser.cpp | 3 ++- app/widget/viewer/gizmotraverser.h | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/widget/viewer/gizmotraverser.cpp b/app/widget/viewer/gizmotraverser.cpp index e9938d9e8..6277b2226 100644 --- a/app/widget/viewer/gizmotraverser.cpp +++ b/app/widget/viewer/gizmotraverser.cpp @@ -28,7 +28,8 @@ QVariant GizmoTraverser::ProcessVideoFootage(StreamPtr stream, const rational &i VideoStreamPtr image_stream = std::static_pointer_cast(stream); - return QSize(image_stream->width(), image_stream->height()); + return QVector2D(image_stream->width() * image_stream->pixel_aspect_ratio().toDouble(), + image_stream->height()); } QVariant GizmoTraverser::ProcessShader(const Node *node, const TimeRange &range, const ShaderJob &job) diff --git a/app/widget/viewer/gizmotraverser.h b/app/widget/viewer/gizmotraverser.h index 576019855..f7334b9f9 100644 --- a/app/widget/viewer/gizmotraverser.h +++ b/app/widget/viewer/gizmotraverser.h @@ -28,7 +28,7 @@ namespace olive { class GizmoTraverser : public NodeTraverser { public: - GizmoTraverser(const QSize& sequence_resolution) : + GizmoTraverser(const QVector2D& sequence_resolution) : size_(sequence_resolution) { } @@ -38,10 +38,15 @@ protected: virtual QVariant ProcessShader(const Node *node, const TimeRange &range, const ShaderJob& job); + virtual QVector2D GenerateResolution() const + { + return size_; + } + // FIXME: Do something about audio? private: - QSize size_; + QVector2D size_; };