MythTV  master
mythvtbinterop.h
Go to the documentation of this file.
1 #ifndef MYTHVTBINTEROP_H
2 #define MYTHVTBINTEROP_H
3 
4 // MythTV
6 
7 // OSX
8 #include <CoreVideo/CoreVideo.h>
9 
11 {
12  public:
13  static void GetVTBTypes(MythRenderOpenGL* Render, MythInteropGPU::InteropMap& Types);
15  vector<MythVideoTextureOpenGL*> Acquire(MythRenderOpenGL* Context,
16  MythVideoColourSpace* ColourSpace,
18  FrameScanType Scan) override;
19 
20  protected:
21  CVPixelBufferRef Verify(MythRenderOpenGL* Context, MythVideoColourSpace* ColourSpace,
24  ~MythVTBInterop() override;
25 };
26 
28 {
29  public:
31  ~MythVTBSurfaceInterop() override;
32 
33  vector<MythVideoTextureOpenGL*> Acquire(MythRenderOpenGL* Context,
34  MythVideoColourSpace* ColourSpace,
36  FrameScanType Scan) override;
37 
38  private:
39 
40  void RotateReferenceFrames(IOSurfaceID Buffer);
41  vector<MythVideoTextureOpenGL*> GetReferenceFrames(void);
42  QVector<IOSurfaceID> m_referenceFrames { };
43 };
44 
45 #endif
MythVTBInterop::Acquire
vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
Definition: mythvtbinterop.cpp:85
MythVTBSurfaceInterop::m_referenceFrames
QVector< IOSurfaceID > m_referenceFrames
Definition: mythvtbinterop.h:42
MythVTBSurfaceInterop::GetReferenceFrames
vector< MythVideoTextureOpenGL * > GetReferenceFrames(void)
Definition: mythvtbinterop.cpp:302
mythopenglinterop.h
Frame
Definition: zmdefines.h:93
FrameScanType
FrameScanType
Definition: videoouttypes.h:94
MythVTBInterop::Verify
CVPixelBufferRef Verify(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame)
Definition: mythvtbinterop.cpp:50
MythVTBInterop::CreateVTB
static MythVTBInterop * CreateVTB(MythPlayerUI *Player, MythRenderOpenGL *Context)
Definition: mythvtbinterop.cpp:20
MythInteropGPU::InteropMap
std::map< VideoFrameType, InteropTypes > InteropMap
Definition: mythinteropgpu.h:45
MythVTBInterop::GetVTBTypes
static void GetVTBTypes(MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types)
Definition: mythvtbinterop.cpp:9
MythVTBSurfaceInterop::MythVTBSurfaceInterop
MythVTBSurfaceInterop(MythPlayerUI *Player, MythRenderOpenGL *Context)
Definition: mythvtbinterop.cpp:169
MythPlayerUI
Definition: mythplayerui.h:10
MythVTBInterop::~MythVTBInterop
~MythVTBInterop() override
Definition: mythvtbinterop.cpp:46
MythOpenGLInterop
Definition: mythopenglinterop.h:17
MythVTBSurfaceInterop::~MythVTBSurfaceInterop
~MythVTBSurfaceInterop() override
Definition: mythvtbinterop.cpp:174
MythRenderOpenGL
Definition: mythrenderopengl.h:95
Buffer
Definition: MythExternControl.h:36
MythVTBInterop::MythVTBInterop
MythVTBInterop(MythPlayerUI *Player, MythRenderOpenGL *Context, MythOpenGLInterop::InteropType Type)
Definition: mythvtbinterop.cpp:40
MythVTBSurfaceInterop
Definition: mythvtbinterop.h:27
MythVTBSurfaceInterop::RotateReferenceFrames
void RotateReferenceFrames(IOSurfaceID Buffer)
Definition: mythvtbinterop.cpp:286
MythVTBSurfaceInterop::Acquire
vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
Definition: mythvtbinterop.cpp:178
Player
Definition: zmliveplayer.h:34
MythVideoFrame
Definition: mythframe.h:88
MythInteropGPU::InteropType
InteropType
Definition: mythinteropgpu.h:26
MythVTBInterop
Definition: mythvtbinterop.h:10
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:18