MythTV  master
mythvtbinterop.h
Go to the documentation of this file.
1 #ifndef MYTHVTBINTEROP_H
2 #define MYTHVTBINTEROP_H
3 
4 // MythTV
5 #include "mythopenglinterop.h"
6 
7 // OSX
8 #include <CoreVideo/CoreVideo.h>
9 
11 {
12  friend class MythOpenGLInterop;
13 
14  public:
16  vector<MythVideoTexture*> Acquire(MythRenderOpenGL *Context,
17  VideoColourSpace *ColourSpace,
19  FrameScanType Scan) override;
20 
21  protected:
22  CVPixelBufferRef Verify(MythRenderOpenGL *Context, VideoColourSpace *ColourSpace,
23  VideoFrame *Frame);
26  ~MythVTBInterop() override;
27 };
28 
30 {
31  public:
33  ~MythVTBSurfaceInterop() override;
34 
35  vector<MythVideoTexture*> Acquire(MythRenderOpenGL *Context,
36  VideoColourSpace *ColourSpace,
38  FrameScanType Scan) override;
39 
40  private:
41 
42  void RotateReferenceFrames(IOSurfaceID Buffer);
43  vector<MythVideoTexture*> GetReferenceFrames(void);
44  QVector<IOSurfaceID> m_referenceFrames { };
45 };
46 
47 #endif
MythVTBSurfaceInterop::m_referenceFrames
QVector< IOSurfaceID > m_referenceFrames
Definition: mythvtbinterop.h:44
MythVTBInterop::Verify
CVPixelBufferRef Verify(MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame)
Definition: mythvtbinterop.cpp:47
MythVTBInterop::GetInteropType
static Type GetInteropType(VideoFrameType Format)
Definition: mythvtbinterop.cpp:9
MythVTBSurfaceInterop::MythVTBSurfaceInterop
MythVTBSurfaceInterop(MythRenderOpenGL *Context)
Definition: mythvtbinterop.cpp:166
mythopenglinterop.h
Frame
Definition: zmdefines.h:94
FrameScanType
FrameScanType
Definition: videoouttypes.h:79
Context
QHash< QString, Action * > Context
Definition: action.h:77
MythDate::Format
Format
Definition: mythdate.h:13
VideoFrame
Definition: mythframe.h:138
MythVTBInterop::~MythVTBInterop
~MythVTBInterop() override
Definition: mythvtbinterop.cpp:43
MythOpenGLInterop
Definition: mythopenglinterop.h:24
MythVTBInterop::MythVTBInterop
MythVTBInterop(MythRenderOpenGL *Context, MythOpenGLInterop::Type Type)
Definition: mythvtbinterop.cpp:38
MythVTBSurfaceInterop::Acquire
vector< MythVideoTexture * > Acquire(MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan) override
Definition: mythvtbinterop.cpp:175
MythOpenGLInterop::Type
Type
Definition: mythopenglinterop.h:30
MythVTBSurfaceInterop::~MythVTBSurfaceInterop
~MythVTBSurfaceInterop() override
Definition: mythvtbinterop.cpp:171
MythRenderOpenGL
Definition: mythrenderopengl.h:95
MythVTBSurfaceInterop::GetReferenceFrames
vector< MythVideoTexture * > GetReferenceFrames(void)
Definition: mythvtbinterop.cpp:299
VideoColourSpace
VideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: videocolourspace.h:18
Buffer
Definition: MythExternControl.h:37
MythVTBSurfaceInterop
Definition: mythvtbinterop.h:30
MythVTBSurfaceInterop::RotateReferenceFrames
void RotateReferenceFrames(IOSurfaceID Buffer)
Definition: mythvtbinterop.cpp:283
MythVTBInterop::Create
static MythVTBInterop * Create(MythRenderOpenGL *Context, MythOpenGLInterop::Type Type)
Definition: mythvtbinterop.cpp:26
MythVTBInterop::Acquire
vector< MythVideoTexture * > Acquire(MythRenderOpenGL *Context, VideoColourSpace *ColourSpace, VideoFrame *Frame, FrameScanType Scan) override
Definition: mythvtbinterop.cpp:82
VideoFrameType
VideoFrameType
Definition: mythframe.h:25
MythVTBInterop
Definition: mythvtbinterop.h:11