MythTV  master
mythopenglinterop.h
Go to the documentation of this file.
1 #ifndef MYTHOPENGLINTEROP_H
2 #define MYTHOPENGLINTEROP_H
3 
4 // Qt
5 #include <QObject>
6 
7 // MythTV
10 #include "videoouttypes.h"
11 #include "mythframe.h"
13 #include "mythinteropgpu.h"
14 
16 
18 {
19  Q_OBJECT
20 
21  public:
22  static void GetTypes(MythRender* Render, MythInteropGPU::InteropMap& Types);
23  static std::vector<MythVideoTextureOpenGL*>
24  Retrieve(MythRenderOpenGL *Context,
25  MythVideoColourSpace *ColourSpace,
27  FrameScanType Scan);
28 
29  ~MythOpenGLInterop() override;
30 
31  virtual std::vector<MythVideoTextureOpenGL*>
32  Acquire(MythRenderOpenGL *Context,
33  MythVideoColourSpace *ColourSpace,
35 
36  protected:
38  virtual void DeleteTextures ();
39 
40  protected:
42  QHash<unsigned long long, std::vector<MythVideoTextureOpenGL*> > m_openglTextures;
43 };
44 
45 #endif
Frame
Definition: zmdefines.h:93
FrameScanType
FrameScanType
Definition: videoouttypes.h:94
mythframe.h
mythvideotextureopengl.h
MythOpenGLInterop::~MythOpenGLInterop
~MythOpenGLInterop() override
Definition: mythopenglinterop.cpp:125
MythInteropGPU::InteropMap
std::map< VideoFrameType, InteropTypes > InteropMap
Definition: mythinteropgpu.h:44
mythrenderopengl.h
MythPlayerUI
Definition: mythplayerui.h:10
mythinteropgpu.h
MythOpenGLInterop
Definition: mythopenglinterop.h:17
MythOpenGLInterop::m_openglContext
MythRenderOpenGL * m_openglContext
Definition: mythopenglinterop.h:41
videoouttypes.h
referencecounter.h
MythOpenGLInterop::m_openglTextures
QHash< unsigned long long, std::vector< MythVideoTextureOpenGL * > > m_openglTextures
Definition: mythopenglinterop.h:42
MythRenderOpenGL
Definition: mythrenderopengl.h:100
MythOpenGLInterop::MythOpenGLInterop
MythOpenGLInterop(MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr)
Definition: mythopenglinterop.cpp:119
MythRender
Definition: mythrender_base.h:23
MythOpenGLInterop::DeleteTextures
virtual void DeleteTextures()
Definition: mythopenglinterop.cpp:138
MythOpenGLInterop::Acquire
virtual std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
Definition: mythopenglinterop.cpp:131
Player
Definition: zmliveplayer.h:34
MythVideoFrame
Definition: mythframe.h:88
MythInteropGPU::InteropType
InteropType
Definition: mythinteropgpu.h:25
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:18
MythOpenGLInterop::Retrieve
static std::vector< MythVideoTextureOpenGL * > Retrieve(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
Definition: mythopenglinterop.cpp:69
MythOpenGLInterop::GetTypes
static void GetTypes(MythRender *Render, MythInteropGPU::InteropMap &Types)
Definition: mythopenglinterop.cpp:33
MythInteropGPU
Definition: mythinteropgpu.h:20