MythTV
master
|
#include <libmythtv/mythvideogpu.h>
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 | |
MythRender * | m_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 |
MythVideoColourSpace * | m_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 } |
Definition at line 20 of file mythvideogpu.h.
enum MythVideoGPU::VideoResize : std::uint8_t |
Enumerator | |
---|---|
None | |
Deinterlacer | |
Sampling | |
Performance | |
Framebuffer | |
ToneMap | |
Bicubic |
Definition at line 25 of file mythvideogpu.h.
|
override |
Definition at line 50 of file mythvideogpu.cpp.
|
protected |
Definition at line 9 of file mythvideogpu.cpp.
|
static |
Definition at line 108 of file mythvideogpu.cpp.
Referenced by MythOpenGLVideo::RenderFrame().
|
pure virtual |
Implemented in MythOpenGLVideo, and MythVideoVulkan.
Referenced by MythVideoOutputVulkan::RenderFrame().
|
pure virtual |
Implemented in MythVideoVulkan, and MythOpenGLVideo.
Referenced by MythVideoOutputGPU::PrepareFrame(), and MythVideoOutputGPU::UpdatePauseFrame().
|
pure virtual |
Implemented in MythOpenGLVideo, and MythVideoVulkan.
Referenced by MythVideoOutputGPU::RenderFrame().
|
pure virtual |
Implemented in MythOpenGLVideo, and MythVideoVulkan.
Referenced by MythVideoOutputVulkan::EndFrame(), and MythVideoOutputGPU::EndFrame().
|
virtual |
Reimplemented in MythOpenGLVideo, and MythVideoVulkan.
Definition at line 98 of file mythvideogpu.cpp.
Referenced by MythVideoOutputGPU::Init(), MythVideoVulkan::ResetFrameFormat(), and MythOpenGLVideo::ResetFrameFormat().
|
pure virtual |
Implemented in MythOpenGLVideo, and MythVideoVulkan.
Referenced by MythVideoOutputGPU::ClearAfterSeek().
|
virtual |
Reimplemented in MythOpenGLVideo.
Definition at line 83 of file mythvideogpu.cpp.
bool MythVideoGPU::IsValid | ( | ) | const |
Definition at line 73 of file mythvideogpu.cpp.
Referenced by MythVideoOutputGPU::Init(), MythVideoOutputOpenGL::MythVideoOutputOpenGL(), and MythVideoOutputVulkan::MythVideoOutputVulkan().
void MythVideoGPU::SetProfile | ( | const QString & | Profile | ) |
Definition at line 78 of file mythvideogpu.cpp.
Referenced by MythVideoOutputGPU::Init().
void MythVideoGPU::SetMasterViewport | ( | QSize | Size | ) |
Definition at line 88 of file mythvideogpu.cpp.
Referenced by SetViewportRect().
QSize MythVideoGPU::GetVideoDim | ( | ) | const |
Definition at line 93 of file mythvideogpu.cpp.
|
signal |
|
slot |
Definition at line 60 of file mythvideogpu.cpp.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythVideoGPU(), and MythOpenGLVideo::SetupFrameFormat().
|
slot |
Definition at line 120 of file mythvideogpu.cpp.
Referenced by MythVideoGPU().
|
slot |
Definition at line 126 of file mythvideogpu.cpp.
Referenced by MythVideoGPU().
|
slot |
Definition at line 132 of file mythvideogpu.cpp.
Referenced by MythVideoGPU(), and MythVideoOutputOpenGL::MythVideoOutputOpenGL().
|
slot |
Definition at line 65 of file mythvideogpu.cpp.
Referenced by MythVideoGPU().
|
protectedpure virtual |
Implemented in MythVideoVulkan, and MythOpenGLVideo.
Referenced by UpdateColourSpace().
|
protected |
Definition at line 77 of file mythvideogpu.h.
Referenced by MythVideoGPU(), and ~MythVideoGPU().
|
protected |
Definition at line 78 of file mythvideogpu.h.
Referenced by MythVideoVulkan::PrepareFrame(), and MythOpenGLVideo::PrepareFrame().
|
protected |
Definition at line 79 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::CleanupDeinterlacers(), GetProfile(), MythOpenGLVideo::PrepareFrame(), and SetProfile().
|
protected |
Definition at line 80 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::BindTextures(), MythOpenGLVideo::CleanupDeinterlacers(), MythOpenGLVideo::ColourSpaceUpdate(), MythOpenGLVideo::CreateVideoShader(), MythOpenGLVideo::GetProfile(), MythVideoVulkan::PrepareFrame(), MythOpenGLVideo::PrepareFrame(), MythOpenGLVideo::RenderFrame(), ResetFrameFormat(), MythVideoVulkan::SetupFrameFormat(), and MythOpenGLVideo::SetupFrameFormat().
|
protected |
Definition at line 81 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::CleanupDeinterlacers(), MythOpenGLVideo::ColourSpaceUpdate(), MythOpenGLVideo::CreateVideoShader(), MythOpenGLVideo::GetProfile(), MythOpenGLVideo::RenderFrame(), ResetFrameFormat(), MythVideoVulkan::SetupFrameFormat(), and MythOpenGLVideo::SetupFrameFormat().
|
protected |
Definition at line 82 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), MythOpenGLVideo::SetupBicubic(), SetVideoDimensions(), and MythOpenGLVideo::UpdateShaderParameters().
|
protected |
Definition at line 83 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::CleanupDeinterlacers(), MythOpenGLVideo::ColourSpaceUpdate(), GetVideoDim(), MythVideoVulkan::PrepareFrame(), MythOpenGLVideo::PrepareFrame(), MythVideoVulkan::SetupFrameFormat(), MythOpenGLVideo::SetupFrameFormat(), SetVideoDimensions(), and MythOpenGLVideo::UpdateShaderParameters().
|
protected |
Definition at line 84 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), and SetMasterViewport().
|
protected |
Definition at line 85 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), MythOpenGLVideo::SetupBicubic(), and SetVideoRects().
|
protected |
Definition at line 86 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), and SetVideoRects().
|
protected |
Definition at line 87 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::ColourSpaceUpdate(), MythOpenGLVideo::CreateVideoShader(), MythOpenGLVideo::MythOpenGLVideo(), MythVideoGPU(), MythVideoVulkan::MythVideoVulkan(), MythVideoVulkan::PrepareFrame(), MythOpenGLVideo::PrepareFrame(), MythOpenGLVideo::RenderFrame(), and ~MythVideoGPU().
|
protected |
Definition at line 88 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), ResetFrameFormat(), MythOpenGLVideo::SetupFrameFormat(), and MythOpenGLVideo::UpdateShaderParameters().
|
protected |
Definition at line 89 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::RenderFrame(), and ResetFrameFormat().
|
protected |
Definition at line 90 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame().
|
protected |
Definition at line 91 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::CleanupDeinterlacers(), MythOpenGLVideo::PrepareFrame(), MythOpenGLVideo::RenderFrame(), and ResetFrameFormat().
Definition at line 92 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::AddDeinterlacer(), MythOpenGLVideo::CleanupDeinterlacers(), and MythOpenGLVideo::RenderFrame().
Definition at line 93 of file mythvideogpu.h.
Referenced by MythVideoVulkan::EndFrame(), IsValid(), MythOpenGLVideo::MythOpenGLVideo(), MythVideoVulkan::MythVideoVulkan(), MythVideoVulkan::PrepareFrame(), MythVideoVulkan::RenderFrame(), and MythVideoVulkan::StartFrame().
Definition at line 94 of file mythvideogpu.h.
|
protected |
Definition at line 95 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame().
|
protected |
Definition at line 96 of file mythvideogpu.h.
Referenced by MythVideoGPU(), and MythOpenGLVideo::RenderFrame().
Definition at line 97 of file mythvideogpu.h.
Referenced by MythOpenGLVideo::RenderFrame(), MythOpenGLVideo::SetupBicubic(), and UpscalerChanged().