MythTV  master
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MythVTBSurfaceInterop Class Reference

#include <mythvtbinterop.h>

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

Public Member Functions

 MythVTBSurfaceInterop (MythRenderOpenGL *Context)
 
 ~MythVTBSurfaceInterop () override
 
vector< MythVideoTexture * > Acquire (MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan) override
 
- Public Member Functions inherited from MythOpenGLInterop
 ~MythOpenGLInterop () override
 
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...
 

Private Member Functions

void RotateReferenceFrames (IOSurfaceID Buffer)
 
vector< MythVideoTexture * > GetReferenceFrames (void)
 

Private Attributes

QVector< IOSurfaceID > m_referenceFrames { }
 

Additional Inherited Members

- Public Types inherited from MythOpenGLInterop
enum  Type {
  Unsupported = 0, VAAPIGLXCOPY, VAAPIGLXPIX, VAAPIEGLDRM,
  VTBOPENGL, VTBSURFACE, MEDIACODEC, VDPAU,
  NVDEC, MMAL, DRMPRIME, DUMMY
}
 
- Static Public Member Functions inherited from MythVTBInterop
static MythVTBInteropCreate (MythRenderOpenGL *Context, MythOpenGLInterop::Type Type)
 
- Static Public Member Functions inherited from MythOpenGLInterop
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 inherited from MythVTBInterop
CVPixelBufferRef Verify (MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame)
 
 MythVTBInterop (MythRenderOpenGL *Context, MythOpenGLInterop::Type Type)
 
 ~MythVTBInterop () override
 
- Protected Member Functions inherited from MythOpenGLInterop
 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...
 
- Static Protected Member Functions inherited from MythVTBInterop
static Type GetInteropType (VideoFrameType Format)
 
- Protected Attributes inherited from MythOpenGLInterop
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 29 of file mythvtbinterop.h.

Constructor & Destructor Documentation

◆ MythVTBSurfaceInterop()

MythVTBSurfaceInterop::MythVTBSurfaceInterop ( MythRenderOpenGL Context)

Definition at line 166 of file mythvtbinterop.cpp.

◆ ~MythVTBSurfaceInterop()

MythVTBSurfaceInterop::~MythVTBSurfaceInterop ( )
override

Definition at line 171 of file mythvtbinterop.cpp.

Member Function Documentation

◆ Acquire()

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

Reimplemented from MythVTBInterop.

Definition at line 175 of file mythvtbinterop.cpp.

◆ RotateReferenceFrames()

void MythVTBSurfaceInterop::RotateReferenceFrames ( IOSurfaceID  Buffer)
private

Definition at line 283 of file mythvtbinterop.cpp.

Referenced by Acquire().

◆ GetReferenceFrames()

vector< MythVideoTexture * > MythVTBSurfaceInterop::GetReferenceFrames ( void  )
private

Definition at line 299 of file mythvtbinterop.cpp.

Referenced by Acquire().

Member Data Documentation

◆ m_referenceFrames

QVector<IOSurfaceID> MythVTBSurfaceInterop::m_referenceFrames { }
private

Definition at line 44 of file mythvtbinterop.h.

Referenced by Acquire(), GetReferenceFrames(), and RotateReferenceFrames().


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