MythTV master
mythmmalinterop.h
Go to the documentation of this file.
1#ifndef MYTHMMALINTEROP_H
2#define MYTHMMALINTEROP_H
3
4// MythTV
6
7// MMAL
8extern "C" {
9#include <interface/mmal/mmal.h>
10#include <interface/mmal/mmal_buffer.h>
11}
12
14{
15 public:
16 static void GetMMALTypes(MythRenderOpenGL* Render, MythInteropGPU::InteropMap& Types);
18 virtual std::vector<MythVideoTextureOpenGL*>
20 MythVideoColourSpace *ColourSpace,
21 MythVideoFrame *Frame, FrameScanType Scan) override;
22
23 protected:
25 virtual ~MythMMALInterop() override;
26
27 private:
28 MMAL_BUFFER_HEADER_T* VerifyBuffer(MythRenderOpenGL *Context, MythVideoFrame *Frame);
29};
30
31#endif // MYTHMMALINTEROP_H
std::map< VideoFrameType, InteropTypes > InteropMap
MythMMALInterop(MythRenderOpenGL *Context)
MMAL_BUFFER_HEADER_T * VerifyBuffer(MythRenderOpenGL *Context, MythVideoFrame *Frame)
static void GetMMALTypes(MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types)
static MythMMALInterop * CreateMMAL(MythRenderOpenGL *Context)
Create an MMAL interop.
virtual std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
virtual ~MythMMALInterop() override
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
FrameScanType
Definition: videoouttypes.h:95