MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MythOpenGLInterop Class Reference

#include <mythopenglinterop.h>

Inheritance diagram for MythOpenGLInterop:
Inheritance graph
[legend]
Collaboration diagram for MythOpenGLInterop:
Collaboration graph
[legend]

Public Member Functions

 ~MythOpenGLInterop () override
 
virtual std::vector< MythVideoTextureOpenGL * > Acquire (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
 
- Public Member Functions inherited from MythInteropGPU
 MythInteropGPU (MythRender *Context, InteropType Type, MythPlayerUI *Player=nullptr)
 
 ~MythInteropGPU () override
 
InteropType GetType ()
 
MythPlayerUIGetPlayer ()
 
void SetDefaultFree (FreeAVHWDeviceContext FreeContext)
 
void SetDefaultUserOpaque (void *UserOpaque)
 
FreeAVHWDeviceContext GetDefaultFree ()
 
void * GetDefaultUserOpaque ()
 
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter (const QString &debugName, bool logDebug=true)
 Creates reference counter with an initial value of 1. More...
 
virtual int IncrRef (void)
 Increments reference count. More...
 
virtual int DecrRef (void)
 Decrements reference count and deletes on 0. More...
 

Static Public Member Functions

static void GetTypes (MythRender *Render, MythInteropGPU::InteropMap &Types)
 
static std::vector< MythVideoTextureOpenGL * > Retrieve (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
 
- Static Public Member Functions inherited from MythInteropGPU
static InteropMap GetTypes (MythRender *Render)
 
static QString TypeToString (InteropType Type)
 
static QString TypesToString (const InteropMap &Types)
 
static MythInteropGPUCreateDummy ()
 
- Static Public Member Functions inherited from ReferenceCounter
static void PrintDebug (void)
 Print out any leaks if that level of debugging is enabled. More...
 

Protected Member Functions

 MythOpenGLInterop (MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr)
 
virtual void DeleteTextures ()
 
- Protected Member Functions inherited from ReferenceCounter
virtual ~ReferenceCounter (void)
 Called on destruction, will warn if object deleted with references in place. More...
 

Protected Attributes

MythRenderOpenGLm_openglContext { nullptr }
 
QHash< unsigned long long, std::vector< MythVideoTextureOpenGL * > > m_openglTextures
 
- Protected Attributes inherited from MythInteropGPU
MythRenderm_context { nullptr }
 
QSize m_textureSize { }
 
uint64_t m_discontinuityCounter { 0 }
 
FreeAVHWDeviceContext m_defaultFree { nullptr }
 
void * m_defaultUserOpaque { nullptr }
 
MythPlayerUIm_player { nullptr }
 
InteropType m_type { Unsupported }
 
- Protected Attributes inherited from ReferenceCounter
bool m_logDebug
 This is used to suppress creating LoggingItem classes for LoggingItem reference count changes. More...
 
QAtomicInt m_referenceCount {1}
 

Additional Inherited Members

- Public Types inherited from MythInteropGPU
enum  InteropType {
  Unsupported = 0, GL_VAAPIGLXCOPY, GL_VAAPIGLXPIX, GL_VAAPIEGLDRM,
  GL_VTB, GL_VTBSURFACE, GL_MEDIACODEC, GL_VDPAU,
  GL_NVDEC, GL_MMAL, GL_DRMPRIME, DRM_DRMPRIME,
  DUMMY
}
 
using InteropTypes = std::vector< InteropType >
 
using InteropMap = std::map< VideoFrameType, InteropTypes >
 

Detailed Description

Definition at line 17 of file mythopenglinterop.h.

Constructor & Destructor Documentation

◆ ~MythOpenGLInterop()

MythOpenGLInterop::~MythOpenGLInterop ( )
override

Definition at line 125 of file mythopenglinterop.cpp.

◆ MythOpenGLInterop()

MythOpenGLInterop::MythOpenGLInterop ( MythRenderOpenGL Context,
InteropType  Type,
MythPlayerUI Player = nullptr 
)
protected

Definition at line 119 of file mythopenglinterop.cpp.

Member Function Documentation

◆ GetTypes()

void MythOpenGLInterop::GetTypes ( MythRender Render,
MythInteropGPU::InteropMap Types 
)
static

◆ Retrieve()

std::vector< MythVideoTextureOpenGL * > MythOpenGLInterop::Retrieve ( MythRenderOpenGL Context,
MythVideoColourSpace ColourSpace,
MythVideoFrame Frame,
FrameScanType  Scan 
)
static

Definition at line 69 of file mythopenglinterop.cpp.

Referenced by MythOpenGLVideo::RenderFrame().

◆ Acquire()

std::vector< MythVideoTextureOpenGL * > MythOpenGLInterop::Acquire ( MythRenderOpenGL Context,
MythVideoColourSpace ColourSpace,
MythVideoFrame Frame,
FrameScanType  Scan 
)
virtual

◆ DeleteTextures()

void MythOpenGLInterop::DeleteTextures ( )
protectedvirtual

Member Data Documentation

◆ m_openglContext

MythRenderOpenGL* MythOpenGLInterop::m_openglContext { nullptr }
protected

◆ m_openglTextures

QHash<unsigned long long, std::vector<MythVideoTextureOpenGL*> > MythOpenGLInterop::m_openglTextures
protected

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