MythTV  master
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MythVideoGPU Class Referenceabstract

#include <libmythtv/mythvideogpu.h>

Inheritance diagram for MythVideoGPU:
[legend]
Collaboration diagram for MythVideoGPU:
[legend]

Public Types

enum  VideoResize : std::uint8_t {
  None = 0x000, Deinterlacer = 0x001, Sampling = 0x002, Performance = 0x004,
  Framebuffer = 0x008, ToneMap = 0x010, Bicubic = 0x020
}
 

Public Slots

void UpdateColourSpace (bool PrimariesChanged)
 
void SetVideoDimensions (QSize VideoDim, QSize VideoDispDim)
 
void SetVideoRects (QRect DisplayVideoRect, QRect VideoRect)
 
void SetViewportRect (QRect DisplayVisibleRect)
 
void UpscalerChanged (const QString &Upscaler)
 

Signals

void OutputChanged (QSize VideoDim, QSize VideoDispDim, float)
 

Public Member Functions

 ~MythVideoGPU () override
 
virtual void StartFrame ()=0
 
virtual void PrepareFrame (MythVideoFrame *Frame, FrameScanType Scan=kScan_Progressive)=0
 
virtual void RenderFrame (MythVideoFrame *Frame, bool TopFieldFirst, FrameScanType Scan, StereoscopicMode StereoOverride, bool DrawBorder=false)=0
 
virtual void EndFrame ()=0
 
virtual void ResetFrameFormat ()
 
virtual void ResetTextures ()=0
 
virtual QString GetProfile () const
 
bool IsValid () const
 
void SetProfile (const QString &Profile)
 
void SetMasterViewport (QSize Size)
 
QSize GetVideoDim () const
 

Static Public Member Functions

static QString VideoResizeToString (VideoResizing Resize)
 

Protected Member Functions

 MythVideoGPU (MythRender *Render, MythVideoColourSpace *ColourSpace, MythVideoBounds *Bounds, const MythVideoProfilePtr &VideoProfile, QString Profile)
 
virtual void ColourSpaceUpdate (bool PrimariesChanged)=0
 

Protected Attributes

MythRenderm_render { nullptr }
 
uint64_t m_discontinuityCounter { 0 }
 
QString m_profile
 
VideoFrameType m_inputType { FMT_NONE }
 
VideoFrameType m_outputType { FMT_NONE }
 
QSize m_videoDispDim
 
QSize m_videoDim
 
QSize m_masterViewportSize
 
QRect m_displayVideoRect
 
QRect m_videoRect
 
MythVideoColourSpacem_videoColourSpace { nullptr }
 
QSize m_inputTextureSize
 
VideoResizing m_resizing { None }
 
int m_lastRotation { 0 }
 
MythDeintType m_deinterlacer { MythDeintType::DEINT_NONE }
 
bool m_deinterlacer2x { false }
 
bool m_valid { false }
 
bool m_viewportControl { true }
 
uint m_lastStereo { 0 }
 
StereoscopicMode m_stereoMode { kStereoscopicModeSideBySideDiscard }
 
bool m_bicubicUpsize { false }
 

Detailed Description

Definition at line 20 of file mythvideogpu.h.

Member Enumeration Documentation

◆ VideoResize

enum MythVideoGPU::VideoResize : std::uint8_t
Enumerator
None 
Deinterlacer 
Sampling 
Performance 
Framebuffer 
ToneMap 
Bicubic 

Definition at line 25 of file mythvideogpu.h.

Constructor & Destructor Documentation

◆ ~MythVideoGPU()

MythVideoGPU::~MythVideoGPU ( )
override

Definition at line 50 of file mythvideogpu.cpp.

◆ MythVideoGPU()

MythVideoGPU::MythVideoGPU ( MythRender Render,
MythVideoColourSpace ColourSpace,
MythVideoBounds Bounds,
const MythVideoProfilePtr VideoProfile,
QString  Profile 
)
protected

Definition at line 9 of file mythvideogpu.cpp.

Member Function Documentation

◆ VideoResizeToString()

QString MythVideoGPU::VideoResizeToString ( VideoResizing  Resize)
static

Definition at line 108 of file mythvideogpu.cpp.

Referenced by MythOpenGLVideo::RenderFrame().

◆ StartFrame()

virtual void MythVideoGPU::StartFrame ( )
pure virtual

◆ PrepareFrame()

virtual void MythVideoGPU::PrepareFrame ( MythVideoFrame Frame,
FrameScanType  Scan = kScan_Progressive 
)
pure virtual

◆ RenderFrame()

virtual void MythVideoGPU::RenderFrame ( MythVideoFrame Frame,
bool  TopFieldFirst,
FrameScanType  Scan,
StereoscopicMode  StereoOverride,
bool  DrawBorder = false 
)
pure virtual

◆ EndFrame()

virtual void MythVideoGPU::EndFrame ( )
pure virtual

◆ ResetFrameFormat()

void MythVideoGPU::ResetFrameFormat ( )
virtual

◆ ResetTextures()

virtual void MythVideoGPU::ResetTextures ( )
pure virtual

◆ GetProfile()

QString MythVideoGPU::GetProfile ( ) const
virtual

Reimplemented in MythOpenGLVideo.

Definition at line 83 of file mythvideogpu.cpp.

◆ IsValid()

bool MythVideoGPU::IsValid ( ) const

◆ SetProfile()

void MythVideoGPU::SetProfile ( const QString &  Profile)

Definition at line 78 of file mythvideogpu.cpp.

Referenced by MythVideoOutputGPU::Init().

◆ SetMasterViewport()

void MythVideoGPU::SetMasterViewport ( QSize  Size)

Definition at line 88 of file mythvideogpu.cpp.

Referenced by SetViewportRect().

◆ GetVideoDim()

QSize MythVideoGPU::GetVideoDim ( ) const

Definition at line 93 of file mythvideogpu.cpp.

◆ OutputChanged

void MythVideoGPU::OutputChanged ( QSize  VideoDim,
QSize  VideoDispDim,
float   
)
signal

◆ UpdateColourSpace

void MythVideoGPU::UpdateColourSpace ( bool  PrimariesChanged)
slot
Note
QObject::connect with function pointers does not work when the slot is overridden and connected from the base class- so use an intermediate slot.

Definition at line 60 of file mythvideogpu.cpp.

Referenced by MythOpenGLVideo::AddDeinterlacer(), MythVideoGPU(), and MythOpenGLVideo::SetupFrameFormat().

◆ SetVideoDimensions

void MythVideoGPU::SetVideoDimensions ( QSize  VideoDim,
QSize  VideoDispDim 
)
slot

Definition at line 120 of file mythvideogpu.cpp.

Referenced by MythVideoGPU().

◆ SetVideoRects

void MythVideoGPU::SetVideoRects ( QRect  DisplayVideoRect,
QRect  VideoRect 
)
slot

Definition at line 126 of file mythvideogpu.cpp.

Referenced by MythVideoGPU().

◆ SetViewportRect

void MythVideoGPU::SetViewportRect ( QRect  DisplayVisibleRect)
slot

Definition at line 132 of file mythvideogpu.cpp.

Referenced by MythVideoGPU(), and MythVideoOutputOpenGL::MythVideoOutputOpenGL().

◆ UpscalerChanged

void MythVideoGPU::UpscalerChanged ( const QString &  Upscaler)
slot

Definition at line 65 of file mythvideogpu.cpp.

Referenced by MythVideoGPU().

◆ ColourSpaceUpdate()

virtual void MythVideoGPU::ColourSpaceUpdate ( bool  PrimariesChanged)
protectedpure virtual

Implemented in MythVideoVulkan, and MythOpenGLVideo.

Referenced by UpdateColourSpace().

Member Data Documentation

◆ m_render

MythRender* MythVideoGPU::m_render { nullptr }
protected

Definition at line 77 of file mythvideogpu.h.

Referenced by MythVideoGPU(), and ~MythVideoGPU().

◆ m_discontinuityCounter

uint64_t MythVideoGPU::m_discontinuityCounter { 0 }
protected

Definition at line 78 of file mythvideogpu.h.

Referenced by MythVideoVulkan::PrepareFrame(), and MythOpenGLVideo::PrepareFrame().

◆ m_profile

QString MythVideoGPU::m_profile
protected

◆ m_inputType

VideoFrameType MythVideoGPU::m_inputType { FMT_NONE }
protected

◆ m_outputType

VideoFrameType MythVideoGPU::m_outputType { FMT_NONE }
protected

◆ m_videoDispDim

QSize MythVideoGPU::m_videoDispDim
protected

◆ m_videoDim

QSize MythVideoGPU::m_videoDim
protected

◆ m_masterViewportSize

QSize MythVideoGPU::m_masterViewportSize
protected

Definition at line 84 of file mythvideogpu.h.

Referenced by MythOpenGLVideo::RenderFrame(), and SetMasterViewport().

◆ m_displayVideoRect

QRect MythVideoGPU::m_displayVideoRect
protected

◆ m_videoRect

QRect MythVideoGPU::m_videoRect
protected

Definition at line 86 of file mythvideogpu.h.

Referenced by MythOpenGLVideo::RenderFrame(), and SetVideoRects().

◆ m_videoColourSpace

MythVideoColourSpace* MythVideoGPU::m_videoColourSpace { nullptr }
protected

◆ m_inputTextureSize

QSize MythVideoGPU::m_inputTextureSize
protected

◆ m_resizing

VideoResizing MythVideoGPU::m_resizing { None }
protected

◆ m_lastRotation

int MythVideoGPU::m_lastRotation { 0 }
protected

Definition at line 90 of file mythvideogpu.h.

Referenced by MythOpenGLVideo::RenderFrame().

◆ m_deinterlacer

MythDeintType MythVideoGPU::m_deinterlacer { MythDeintType::DEINT_NONE }
protected

◆ m_deinterlacer2x

bool MythVideoGPU::m_deinterlacer2x { false }
protected

◆ m_valid

bool MythVideoGPU::m_valid { false }
protected

◆ m_viewportControl

bool MythVideoGPU::m_viewportControl { true }
protected

Definition at line 94 of file mythvideogpu.h.

◆ m_lastStereo

uint MythVideoGPU::m_lastStereo { 0 }
protected

Definition at line 95 of file mythvideogpu.h.

Referenced by MythOpenGLVideo::RenderFrame().

◆ m_stereoMode

StereoscopicMode MythVideoGPU::m_stereoMode { kStereoscopicModeSideBySideDiscard }
protected

Definition at line 96 of file mythvideogpu.h.

Referenced by MythVideoGPU(), and MythOpenGLVideo::RenderFrame().

◆ m_bicubicUpsize

bool MythVideoGPU::m_bicubicUpsize { false }
protected

The documentation for this class was generated from the following files: