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 std::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 std::vector<MythVideoTextureOpenGL*> Acquire(MythRenderOpenGL* Context,
34 MythVideoColourSpace* ColourSpace,
36 FrameScanType Scan) override;
37
38 private:
39
40 void RotateReferenceFrames(IOSurfaceID Buffer);
41 std::vector<MythVideoTextureOpenGL*> GetReferenceFrames(void);
42 QVector<IOSurfaceID> m_referenceFrames { };
43};
44
45#endif
std::map< VideoFrameType, InteropTypes > InteropMap
CVPixelBufferRef Verify(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame)
static MythVTBInterop * CreateVTB(MythPlayerUI *Player, MythRenderOpenGL *Context)
static void GetVTBTypes(MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types)
MythVTBInterop(MythPlayerUI *Player, MythRenderOpenGL *Context, MythOpenGLInterop::InteropType Type)
std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
~MythVTBInterop() override
MythVTBSurfaceInterop(MythPlayerUI *Player, MythRenderOpenGL *Context)
QVector< IOSurfaceID > m_referenceFrames
~MythVTBSurfaceInterop() override
std::vector< MythVideoTextureOpenGL * > GetReferenceFrames(void)
std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
void RotateReferenceFrames(IOSurfaceID Buffer)
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
FrameScanType
Definition: videoouttypes.h:95