|
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.
|
virtual |
Reimplemented in MythDRMPRIMEInterop, MythMediaCodecInterop, MythMMALInterop, MythNVDECInterop, MythVAAPIInteropDRM, MythVAAPIInteropGLXCopy, MythVAAPIInteropGLXPixmap, MythVDPAUInterop, MythVTBInterop, and MythVTBSurfaceInterop.
Definition at line 131 of file mythopenglinterop.cpp.
Referenced by Retrieve().
|
protectedvirtual |
Reimplemented in MythNVDECInterop, MythVAAPIInteropDRM, and MythDRMPRIMEInterop.
Definition at line 138 of file mythopenglinterop.cpp.
Referenced by MythVDPAUInterop::Cleanup(), MythNVDECInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythDRMPRIMEInterop::DeleteTextures(), MythVTBInterop::Verify(), and ~MythOpenGLInterop().
|
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().
|
protected |
Definition at line 41 of file mythopenglinterop.h.
Referenced by MythDRMPRIMEInterop::Acquire(), MythMMALInterop::Acquire(), MythNVDECInterop::Acquire(), MythVAAPIInteropDRM::Acquire(), MythVAAPIInteropGLXCopy::Acquire(), MythVAAPIInteropGLXPixmap::Acquire(), MythVDPAUInterop::Acquire(), MythVTBInterop::Acquire(), MythVTBSurfaceInterop::Acquire(), MythVDPAUInterop::Cleanup(), DeleteTextures(), MythNVDECInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythDRMPRIMEInterop::DeleteTextures(), MythMediaCodecInterop::Initialise(), MythNVDECInterop::InitialiseCuda(), MythVDPAUInterop::InitNV(), MythVAAPIInteropGLX::InitPictureAttributes(), MythVAAPIInteropGLXPixmap::InitPixmaps(), MythVDPAUInterop::InitVDPAU(), MythVAAPIInteropGLX::SetPictureAttribute(), MythVAAPIInteropDRM::TestPrimeInterop(), MythVDPAUInterop::UpdateColourSpace(), MythVTBInterop::Verify(), MythDRMPRIMEInterop::VerifyBuffer(), MythMMALInterop::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 MythDRMPRIMEInterop::Acquire(), MythMediaCodecInterop::Acquire(), MythMMALInterop::Acquire(), MythNVDECInterop::Acquire(), MythVAAPIInteropDRM::Acquire(), MythVAAPIInteropGLXCopy::Acquire(), MythVAAPIInteropGLXPixmap::Acquire(), MythVDPAUInterop::Acquire(), MythVTBInterop::Acquire(), MythVTBSurfaceInterop::Acquire(), DeleteTextures(), MythNVDECInterop::DeleteTextures(), MythVAAPIInteropDRM::DeleteTextures(), MythDRMPRIMEInterop::DeleteTextures(), MythVAAPIInteropDRM::GetReferenceFrames(), MythVTBSurfaceInterop::GetReferenceFrames(), MythMediaCodecInterop::Initialise(), MythVDPAUInterop::InitVDPAU(), and MythVTBInterop::Verify().