From 8b92bbef4476698fc0f451a67b9f8f09fa513478 Mon Sep 17 00:00:00 2001 From: Mark Kendall Date: Thu, 17 Sep 2020 14:21:05 +0100 Subject: [PATCH] MythVideoOutput: Move stereo tracking into MythVideoBounds --- mythtv/libs/libmythtv/mythvideobounds.cpp | 10 ++++++++++ mythtv/libs/libmythtv/mythvideobounds.h | 3 +++ mythtv/libs/libmythtv/mythvideoout.h | 2 -- mythtv/libs/libmythtv/mythvideooutgpu.cpp | 12 +----------- mythtv/libs/libmythtv/mythvideooutgpu.h | 3 --- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/mythtv/libs/libmythtv/mythvideobounds.cpp b/mythtv/libs/libmythtv/mythvideobounds.cpp index 71f7bc9697f..b5119f5f064 100644 --- a/mythtv/libs/libmythtv/mythvideobounds.cpp +++ b/mythtv/libs/libmythtv/mythvideobounds.cpp @@ -1065,3 +1065,13 @@ static float snap(float value, float snapto, float diff) return snapto; return value; } + +void MythVideoBounds::SetStereoscopicMode(StereoscopicMode Mode) +{ + m_stereo = Mode; +} + +StereoscopicMode MythVideoBounds::GetStereoscopicMode() const +{ + return m_stereo; +} diff --git a/mythtv/libs/libmythtv/mythvideobounds.h b/mythtv/libs/libmythtv/mythvideobounds.h index d40628fb751..bb173482baa 100644 --- a/mythtv/libs/libmythtv/mythvideobounds.h +++ b/mythtv/libs/libmythtv/mythvideobounds.h @@ -63,6 +63,7 @@ class MythVideoBounds : public QObject void SetWindowSize (QSize Size); void SetITVResize (QRect Rect); void SetRotation (int Rotation); + void SetStereoscopicMode (StereoscopicMode Mode); public: // Gets @@ -95,6 +96,7 @@ class MythVideoBounds : public QObject bool DoPixelAdjustment = true) const; bool VideoIsFullScreen(void) const; QRegion GetBoundingRegion(void) const; + StereoscopicMode GetStereoscopicMode() const; private: void PopulateGeometry (void); @@ -142,6 +144,7 @@ class MythVideoBounds : public QObject /// Zoom mode AdjustFillMode m_adjustFill {kAdjustFill_Off}; int m_rotation {0}; + StereoscopicMode m_stereo { kStereoscopicModeNone }; /// Pixel rectangle in video frame to display QRect m_videoRect {0,0,0,0}; diff --git a/mythtv/libs/libmythtv/mythvideoout.h b/mythtv/libs/libmythtv/mythvideoout.h index ad31dd193af..57df5729516 100644 --- a/mythtv/libs/libmythtv/mythvideoout.h +++ b/mythtv/libs/libmythtv/mythvideoout.h @@ -117,8 +117,6 @@ class MythVideoOutput : public MythVideoBounds virtual QStringList GetVisualiserList () { return QStringList {}; } virtual void DestroyVisualisation() { } virtual bool StereoscopicModesAllowed() const { return false; } - virtual void SetStereoscopicMode (StereoscopicMode /*Mode*/) { } - virtual StereoscopicMode GetStereoscopicMode() const { return kStereoscopicModeNone; } protected: virtual void ShowPIPs (const PIPMap& /*PiPPlayers*/) { } diff --git a/mythtv/libs/libmythtv/mythvideooutgpu.cpp b/mythtv/libs/libmythtv/mythvideooutgpu.cpp index 1c6d724c215..40478bc1edb 100644 --- a/mythtv/libs/libmythtv/mythvideooutgpu.cpp +++ b/mythtv/libs/libmythtv/mythvideooutgpu.cpp @@ -453,7 +453,7 @@ void MythVideoOutputGPU::RenderFrame(VideoFrame *Frame, FrameScanType Scan, OSD // Video // N.B. dummy streams need the viewport updated in case we have resized the window (i.e. LiveTV) if (m_video && !dummy) - m_video->RenderFrame(Frame, topfieldfirst, Scan, m_stereo); + m_video->RenderFrame(Frame, topfieldfirst, Scan, GetStereoscopicMode()); else if (dummy) m_render->SetViewPort(GetWindowRect()); @@ -553,16 +553,6 @@ bool MythVideoOutputGPU::StereoscopicModesAllowed() const return true; } -void MythVideoOutputGPU::SetStereoscopicMode(StereoscopicMode Mode) -{ - m_stereo = Mode; -} - -StereoscopicMode MythVideoOutputGPU::GetStereoscopicMode() const -{ - return m_stereo; -} - QStringList MythVideoOutputGPU::GetVisualiserList() { if (m_render) diff --git a/mythtv/libs/libmythtv/mythvideooutgpu.h b/mythtv/libs/libmythtv/mythvideooutgpu.h index 39045fc0420..4f392c4e8bb 100644 --- a/mythtv/libs/libmythtv/mythvideooutgpu.h +++ b/mythtv/libs/libmythtv/mythvideooutgpu.h @@ -38,8 +38,6 @@ class MythVideoOutputGPU : public MythVideoOutput QStringList GetVisualiserList () override; void DestroyVisualisation () override; bool StereoscopicModesAllowed() const override; - void SetStereoscopicMode (StereoscopicMode Mode) override; - StereoscopicMode GetStereoscopicMode () const override; protected: virtual MythVideoGPU* CreateSecondaryVideo(const QSize& VideoDim, @@ -68,7 +66,6 @@ class MythVideoOutputGPU : public MythVideoOutput bool m_buffersCreated { false }; QString m_profile; VideoVisual* m_visual { nullptr }; - StereoscopicMode m_stereo { kStereoscopicModeNone }; QMap m_pxpVideos; QMap m_pxpVideosReady;