MythTV  master
Public Types | 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 Types

enum  Type {
  Unsupported = 0, VAAPIGLXCOPY, VAAPIGLXPIX, VAAPIEGLDRM,
  VTBOPENGL, VTBSURFACE, MEDIACODEC, VDPAU,
  NVDEC, MMAL, DRMPRIME, DUMMY
}
 

Public Member Functions

 ~MythOpenGLInterop () override
 
virtual vector< MythVideoTexture * > Acquire (MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan)
 
Type GetType (void)
 
MythPlayerGetPlayer (void)
 
void SetPlayer (MythPlayer *Player)
 
void SetDefaultFree (FreeAVHWDeviceContext FreeContext)
 
void SetDefaultUserOpaque (void *UserOpaque)
 
FreeAVHWDeviceContext GetDefaultFree (void)
 
void * GetDefaultUserOpaque (void)
 
- 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 QStringList GetAllowedRenderers (VideoFrameType Format)
 
static Type GetInteropType (VideoFrameType Format, MythPlayer *Player)
 Check whether we support direct rendering for the given VideoFrameType. More...
 
static void GetInteropTypeCallback (void *Wait, void *Format, void *Result)
 
static vector< MythVideoTexture * > Retrieve (MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan)
 
static QString TypeToString (Type InteropType)
 
static MythOpenGLInteropCreateDummy (void)
 
- 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, Type InteropType)
 
virtual void DeleteTextures (void)
 
- 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_context
 
Type m_type
 
QHash< unsigned long long, vector< MythVideoTexture * > > m_openglTextures
 
QSize m_openglTextureSize { }
 
long long m_discontinuityCounter { 0 }
 
FreeAVHWDeviceContext m_defaultFree { nullptr }
 
void * m_defaultUserOpaque { nullptr }
 
MythPlayerm_player { nullptr }
 
- 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}
 

Detailed Description

Definition at line 23 of file mythopenglinterop.h.

Member Enumeration Documentation

◆ Type

Enumerator
Unsupported 
VAAPIGLXCOPY 
VAAPIGLXPIX 
VAAPIEGLDRM 
VTBOPENGL 
VTBSURFACE 
MEDIACODEC 
VDPAU 
NVDEC 
MMAL 
DRMPRIME 
DUMMY 

Definition at line 29 of file mythopenglinterop.h.

Constructor & Destructor Documentation

◆ ~MythOpenGLInterop()

MythOpenGLInterop::~MythOpenGLInterop ( )
override

Definition at line 223 of file mythopenglinterop.cpp.

◆ MythOpenGLInterop()

MythOpenGLInterop::MythOpenGLInterop ( MythRenderOpenGL Context,
Type  InteropType 
)
explicitprotected

Definition at line 214 of file mythopenglinterop.cpp.

Referenced by CreateDummy().

Member Function Documentation

◆ GetAllowedRenderers()

QStringList MythOpenGLInterop::GetAllowedRenderers ( VideoFrameType  Format)
static

Definition at line 51 of file mythopenglinterop.cpp.

Referenced by MythVideoOutputOpenGL::GetAllowedRenderers().

◆ GetInteropType()

MythOpenGLInterop::Type MythOpenGLInterop::GetInteropType ( VideoFrameType  Format,
MythPlayer Player 
)
static

◆ GetInteropTypeCallback()

void MythOpenGLInterop::GetInteropTypeCallback ( void *  Wait,
void *  Format,
void *  Result 
)
static

Definition at line 59 of file mythopenglinterop.cpp.

Referenced by GetInteropType().

◆ Retrieve()

vector< MythVideoTexture * > MythOpenGLInterop::Retrieve ( MythRenderOpenGL Context,
VideoColourSpace ColourSpace,
VideoFrame Frame,
FrameScanType  Scan 
)
static

Definition at line 164 of file mythopenglinterop.cpp.

Referenced by MythOpenGLVideo::PrepareFrame().

◆ TypeToString()

QString MythOpenGLInterop::TypeToString ( Type  InteropType)
static

◆ CreateDummy()

MythOpenGLInterop * MythOpenGLInterop::CreateDummy ( void  )
static

Definition at line 230 of file mythopenglinterop.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ Acquire()

vector< MythVideoTexture * > MythOpenGLInterop::Acquire ( MythRenderOpenGL Context,
VideoColourSpace ColourSpace,
VideoFrame Frame,
FrameScanType  Scan 
)
virtual

◆ GetType()

MythOpenGLInterop::Type MythOpenGLInterop::GetType ( void  )

Definition at line 270 of file mythopenglinterop.cpp.

◆ GetPlayer()

MythPlayer * MythOpenGLInterop::GetPlayer ( void  )

Definition at line 275 of file mythopenglinterop.cpp.

Referenced by MythCodecContext::DestroyInterop().

◆ SetPlayer()

void MythOpenGLInterop::SetPlayer ( MythPlayer Player)

◆ SetDefaultFree()

void MythOpenGLInterop::SetDefaultFree ( FreeAVHWDeviceContext  FreeContext)

Definition at line 285 of file mythopenglinterop.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ SetDefaultUserOpaque()

void MythOpenGLInterop::SetDefaultUserOpaque ( void *  UserOpaque)

Definition at line 290 of file mythopenglinterop.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ GetDefaultFree()

FreeAVHWDeviceContext MythOpenGLInterop::GetDefaultFree ( void  )

Definition at line 295 of file mythopenglinterop.cpp.

◆ GetDefaultUserOpaque()

void * MythOpenGLInterop::GetDefaultUserOpaque ( void  )

Definition at line 300 of file mythopenglinterop.cpp.

◆ DeleteTextures()

void MythOpenGLInterop::DeleteTextures ( void  )
protectedvirtual

Member Data Documentation

◆ m_context

MythRenderOpenGL* MythOpenGLInterop::m_context
protected

◆ m_type

Type MythOpenGLInterop::m_type
protected

Definition at line 74 of file mythopenglinterop.h.

Referenced by GetType(), and MythVAAPIInterop::InitaliseDisplay().

◆ m_openglTextures

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

◆ m_openglTextureSize

QSize MythOpenGLInterop::m_openglTextureSize { }
protected

◆ m_discontinuityCounter

long long MythOpenGLInterop::m_discontinuityCounter { 0 }
protected

◆ m_defaultFree

FreeAVHWDeviceContext MythOpenGLInterop::m_defaultFree { nullptr }
protected

Definition at line 78 of file mythopenglinterop.h.

Referenced by GetDefaultFree(), and SetDefaultFree().

◆ m_defaultUserOpaque

void* MythOpenGLInterop::m_defaultUserOpaque { nullptr }
protected

Definition at line 79 of file mythopenglinterop.h.

Referenced by GetDefaultUserOpaque(), and SetDefaultUserOpaque().

◆ m_player

MythPlayer* MythOpenGLInterop::m_player { nullptr }
protected

Definition at line 80 of file mythopenglinterop.h.

Referenced by GetPlayer(), and SetPlayer().


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