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*>
25 MythVideoColourSpace *ColourSpace,
27 FrameScanType Scan);
28
29 ~MythOpenGLInterop() override;
30
31 virtual std::vector<MythVideoTextureOpenGL*>
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
std::map< VideoFrameType, InteropTypes > InteropMap
MythOpenGLInterop(MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr)
virtual void DeleteTextures()
static void GetTypes(MythRender *Render, MythInteropGPU::InteropMap &Types)
virtual std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
static std::vector< MythVideoTextureOpenGL * > Retrieve(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan)
MythRenderOpenGL * m_openglContext
QHash< unsigned long long, std::vector< MythVideoTextureOpenGL * > > m_openglTextures
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
FrameScanType
Definition: videoouttypes.h:95