MythTV
master
|
#include <libmythtv/opengl/mythopenglinterop.h>
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 () |
MythPlayerUI * | GetPlayer () |
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 MythInteropGPU * | CreateDummy () |
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 | |
MythRenderOpenGL * | m_openglContext { nullptr } |
QHash< unsigned long long, std::vector< MythVideoTextureOpenGL * > > | m_openglTextures |
Protected Attributes inherited from MythInteropGPU | |
MythRender * | m_context { nullptr } |
QSize | m_textureSize |
uint64_t | m_discontinuityCounter { 0 } |
FreeAVHWDeviceContext | m_defaultFree { nullptr } |
void * | m_defaultUserOpaque { nullptr } |
MythPlayerUI * | m_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 : 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 > |
Definition at line 17 of file mythopenglinterop.h.
|
override |
Definition at line 125 of file mythopenglinterop.cpp.
|
protected |
Definition at line 119 of file mythopenglinterop.cpp.
|
static |
Definition at line 33 of file mythopenglinterop.cpp.
Referenced by MythVideoOutputOpenGL::GetAllowedRenderers(), and MythInteropGPU::GetTypes().
|
static |
Definition at line 69 of file mythopenglinterop.cpp.
Referenced by MythOpenGLVideo::RenderFrame().
|
virtual |
Reimplemented in MythVAAPIInteropGLXPixmap, MythVAAPIInteropGLXCopy, MythVDPAUInterop, MythVTBSurfaceInterop, MythNVDECInterop, MythMediaCodecInterop, MythDRMPRIMEInterop, MythVAAPIInteropDRM, MythMMALInterop, and MythVTBInterop.
Definition at line 131 of file mythopenglinterop.cpp.
Referenced by Retrieve().
|
protectedvirtual |
Reimplemented in MythDRMPRIMEInterop, MythNVDECInterop, and MythVAAPIInteropDRM.
Definition at line 138 of file mythopenglinterop.cpp.
Referenced by MythVDPAUInterop::Cleanup(), MythDRMPRIMEInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythNVDECInterop::DeleteTextures(), MythVTBInterop::Verify(), and ~MythOpenGLInterop().
|
protected |
Definition at line 41 of file mythopenglinterop.h.
Referenced by MythVTBInterop::Acquire(), MythMMALInterop::Acquire(), MythDRMPRIMEInterop::Acquire(), MythVAAPIInteropDRM::Acquire(), MythNVDECInterop::Acquire(), MythVTBSurfaceInterop::Acquire(), MythVDPAUInterop::Acquire(), MythVAAPIInteropGLXCopy::Acquire(), MythVAAPIInteropGLXPixmap::Acquire(), MythVDPAUInterop::Cleanup(), MythDRMPRIMEInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythNVDECInterop::DeleteTextures(), DeleteTextures(), MythMediaCodecInterop::Initialise(), MythNVDECInterop::InitialiseCuda(), MythVDPAUInterop::InitNV(), MythVAAPIInteropGLX::InitPictureAttributes(), MythVAAPIInteropGLXPixmap::InitPixmaps(), MythVDPAUInterop::InitVDPAU(), MythVAAPIInteropGLX::SetPictureAttribute(), MythVAAPIInteropDRM::TestPrimeInterop(), MythVDPAUInterop::UpdateColourSpace(), MythVTBInterop::Verify(), MythMMALInterop::VerifyBuffer(), MythDRMPRIMEInterop::VerifyBuffer(), MythVAAPIInterop::VerifySurface(), MythNVDECInterop::~MythNVDECInterop(), MythVAAPIInteropDRM::~MythVAAPIInteropDRM(), MythVAAPIInteropGLXCopy::~MythVAAPIInteropGLXCopy(), MythVAAPIInteropGLXPixmap::~MythVAAPIInteropGLXPixmap(), and MythVDPAUInterop::~MythVDPAUInterop().
|
protected |
Definition at line 42 of file mythopenglinterop.h.
Referenced by MythVTBInterop::Acquire(), MythMMALInterop::Acquire(), MythDRMPRIMEInterop::Acquire(), MythVAAPIInteropDRM::Acquire(), MythMediaCodecInterop::Acquire(), MythNVDECInterop::Acquire(), MythVTBSurfaceInterop::Acquire(), MythVDPAUInterop::Acquire(), MythVAAPIInteropGLXCopy::Acquire(), MythVAAPIInteropGLXPixmap::Acquire(), MythDRMPRIMEInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythNVDECInterop::DeleteTextures(), DeleteTextures(), MythVAAPIInteropDRM::GetReferenceFrames(), MythVTBSurfaceInterop::GetReferenceFrames(), MythMediaCodecInterop::Initialise(), MythVDPAUInterop::InitVDPAU(), and MythVTBInterop::Verify().