MythTV  master
mythdrmprimeinterop.h
Go to the documentation of this file.
1 #ifndef MYTHDRMPRIMEINTEROP_H
2 #define MYTHDRMPRIMEINTEROP_H
3 
4 // MythTV
5 #include "mythegldmabuf.h"
6 #include "mythopenglinterop.h"
7 
8 struct AVDRMFrameDescriptor;
9 
11 {
12  public:
13  static void GetDRMTypes(MythRenderOpenGL* Render, MythInteropGPU::InteropMap& Types);
15  void DeleteTextures(void) override;
16  vector<MythVideoTextureOpenGL*> Acquire(MythRenderOpenGL *Context,
17  MythVideoColourSpace *ColourSpace,
18  MythVideoFrame *Frame, FrameScanType Scan) override;
19 
20  protected:
22  ~MythDRMPRIMEInterop() override;
23 
24  private:
25  AVDRMFrameDescriptor* VerifyBuffer(MythRenderOpenGL *Context, MythVideoFrame *Frame);
26  bool m_deinterlacing { false };
27  bool m_composable { true };
28 };
29 
30 #endif
MythDRMPRIMEInterop::GetDRMTypes
static void GetDRMTypes(MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types)
Definition: mythdrmprimeinterop.cpp:61
MythDRMPRIMEInterop
Definition: mythdrmprimeinterop.h:10
mythopenglinterop.h
Frame
Definition: zmdefines.h:93
MythDRMPRIMEInterop::DeleteTextures
void DeleteTextures(void) override
Definition: mythdrmprimeinterop.cpp:24
FrameScanType
FrameScanType
Definition: videoouttypes.h:94
MythEGLDMABUF
Definition: mythegldmabuf.h:15
mythegldmabuf.h
MythInteropGPU::InteropMap
std::map< VideoFrameType, InteropTypes > InteropMap
Definition: mythinteropgpu.h:45
MythDRMPRIMEInterop::m_composable
bool m_composable
Definition: mythdrmprimeinterop.h:27
MythPlayerUI
Definition: mythplayerui.h:10
MythOpenGLInterop
Definition: mythopenglinterop.h:17
MythDRMPRIMEInterop::CreateDRM
static MythDRMPRIMEInterop * CreateDRM(MythRenderOpenGL *Context, MythPlayerUI *Player=nullptr)
Create a DRM PRIME interop instance.
Definition: mythdrmprimeinterop.cpp:56
MythDRMPRIMEInterop::m_deinterlacing
bool m_deinterlacing
Definition: mythdrmprimeinterop.h:26
MythDRMPRIMEInterop::MythDRMPRIMEInterop
MythDRMPRIMEInterop(MythRenderOpenGL *Context, MythPlayerUI *Player)
Definition: mythdrmprimeinterop.cpp:13
MythRenderOpenGL
Definition: mythrenderopengl.h:96
MythDRMPRIMEInterop::VerifyBuffer
AVDRMFrameDescriptor * VerifyBuffer(MythRenderOpenGL *Context, MythVideoFrame *Frame)
Definition: mythdrmprimeinterop.cpp:67
MythDRMPRIMEInterop::~MythDRMPRIMEInterop
~MythDRMPRIMEInterop() override
Definition: mythdrmprimeinterop.cpp:19
Player
Definition: zmliveplayer.h:34
MythVideoFrame
Definition: mythframe.h:85
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:20
MythDRMPRIMEInterop::Acquire
vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
Definition: mythdrmprimeinterop.cpp:100