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

#include <libmythtv/mythinteropgpu.h>

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

Public Types

enum  InteropType : std::uint8_t {
  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 >
 

Public Member Functions

 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 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 Attributes

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

- Protected Member Functions inherited from ReferenceCounter
virtual ~ReferenceCounter (void)
 Called on destruction, will warn if object deleted with references in place. More...
 

Detailed Description

Definition at line 20 of file mythinteropgpu.h.

Member Typedef Documentation

◆ InteropTypes

Definition at line 43 of file mythinteropgpu.h.

◆ InteropMap

Definition at line 44 of file mythinteropgpu.h.

Member Enumeration Documentation

◆ InteropType

enum MythInteropGPU::InteropType : std::uint8_t
Enumerator
Unsupported 
GL_VAAPIGLXCOPY 
GL_VAAPIGLXPIX 
GL_VAAPIEGLDRM 
GL_VTB 
GL_VTBSURFACE 
GL_MEDIACODEC 
GL_VDPAU 
GL_NVDEC 
GL_MMAL 
GL_DRMPRIME 
DRM_DRMPRIME 
DUMMY 

Definition at line 25 of file mythinteropgpu.h.

Constructor & Destructor Documentation

◆ MythInteropGPU()

MythInteropGPU::MythInteropGPU ( MythRender Context,
InteropType  Type,
MythPlayerUI Player = nullptr 
)

Definition at line 58 of file mythinteropgpu.cpp.

Referenced by CreateDummy().

◆ ~MythInteropGPU()

MythInteropGPU::~MythInteropGPU ( )
override

Definition at line 68 of file mythinteropgpu.cpp.

Member Function Documentation

◆ GetTypes()

MythInteropGPU::InteropMap MythInteropGPU::GetTypes ( MythRender Render)
static

◆ TypeToString()

QString MythInteropGPU::TypeToString ( InteropType  Type)
static

◆ TypesToString()

QString MythInteropGPU::TypesToString ( const InteropMap Types)
static

Definition at line 39 of file mythinteropgpu.cpp.

Referenced by MythVideoProfile::InitStatics().

◆ CreateDummy()

MythInteropGPU * MythInteropGPU::CreateDummy ( )
static

Definition at line 49 of file mythinteropgpu.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ GetType()

MythInteropGPU::InteropType MythInteropGPU::GetType ( )

Definition at line 74 of file mythinteropgpu.cpp.

Referenced by MythVAAPIContext::InitialiseContext().

◆ GetPlayer()

MythPlayerUI * MythInteropGPU::GetPlayer ( )

Definition at line 79 of file mythinteropgpu.cpp.

Referenced by MythCodecContext::DestroyInterop().

◆ SetDefaultFree()

void MythInteropGPU::SetDefaultFree ( FreeAVHWDeviceContext  FreeContext)

Definition at line 84 of file mythinteropgpu.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ SetDefaultUserOpaque()

void MythInteropGPU::SetDefaultUserOpaque ( void *  UserOpaque)

Definition at line 89 of file mythinteropgpu.cpp.

Referenced by MythCodecContext::CreateDevice().

◆ GetDefaultFree()

FreeAVHWDeviceContext MythInteropGPU::GetDefaultFree ( )

Definition at line 94 of file mythinteropgpu.cpp.

◆ GetDefaultUserOpaque()

void * MythInteropGPU::GetDefaultUserOpaque ( )

Definition at line 99 of file mythinteropgpu.cpp.

Member Data Documentation

◆ m_context

MythRender* MythInteropGPU::m_context { nullptr }
protected

Definition at line 61 of file mythinteropgpu.h.

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

◆ m_textureSize

QSize MythInteropGPU::m_textureSize
protected

◆ m_discontinuityCounter

uint64_t MythInteropGPU::m_discontinuityCounter { 0 }
protected

◆ m_defaultFree

FreeAVHWDeviceContext MythInteropGPU::m_defaultFree { nullptr }
protected

Definition at line 64 of file mythinteropgpu.h.

Referenced by GetDefaultFree(), and SetDefaultFree().

◆ m_defaultUserOpaque

void* MythInteropGPU::m_defaultUserOpaque { nullptr }
protected

Definition at line 65 of file mythinteropgpu.h.

Referenced by GetDefaultUserOpaque(), and SetDefaultUserOpaque().

◆ m_player

MythPlayerUI* MythInteropGPU::m_player { nullptr }
protected

Definition at line 66 of file mythinteropgpu.h.

Referenced by GetPlayer().

◆ m_type

InteropType MythInteropGPU::m_type { Unsupported }
protected

Definition at line 67 of file mythinteropgpu.h.

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


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