MythTV  master
mythvideodrm.h
Go to the documentation of this file.
1 #ifndef MYTHVIDEODRM_H
2 #define MYTHVIDEODRM_H
3 
4 // Qt
5 #include <QObject>
6 
7 // MythTV
10 
11 class MythVideoFrame;
13 
14 class MythVideoDRM : public QObject
15 {
16  Q_OBJECT
17 
18  public:
19  explicit MythVideoDRM(MythVideoColourSpace* ColourSpace);
20  ~MythVideoDRM() override;
21 
22  bool IsValid() const { return m_valid; };
23  bool RenderFrame(AVDRMFrameDescriptor* DRMDesc, MythVideoFrame* Frame);
24 
25  public slots:
26  void ColourSpaceUpdated(bool /*PrimariesChanged*/);
27 
28  private:
29  bool m_valid { false };
30  MythDRMPtr m_device { nullptr };
31  DRMPlane m_videoPlane { nullptr };
32  QRect m_lastSrc;
33  QRect m_lastDst;
34  QMap<AVDRMFrameDescriptor*,DRMHandle> m_handles;
36 };
37 
38 #endif
MythVideoDRM::IsValid
bool IsValid() const
Definition: mythvideodrm.h:22
MythVideoDRM::m_valid
bool m_valid
Definition: mythvideodrm.h:29
Frame
Definition: zmdefines.h:93
mythvideodrmbuffer.h
MythVideoDRM::MythVideoDRM
MythVideoDRM(MythVideoColourSpace *ColourSpace)
Definition: mythvideodrm.cpp:20
MythVideoDRM::~MythVideoDRM
~MythVideoDRM() override
Definition: mythvideodrm.cpp:65
MythVideoDRM::ColourSpaceUpdated
void ColourSpaceUpdated(bool)
Definition: mythvideodrm.cpp:77
MythVideoDRM::m_videoPlane
DRMPlane m_videoPlane
Definition: mythvideodrm.h:31
MythDRMPtr
std::shared_ptr< class MythDRMDevice > MythDRMPtr
Definition: mythdrmdevice.h:18
MythVideoDRM::RenderFrame
bool RenderFrame(AVDRMFrameDescriptor *DRMDesc, MythVideoFrame *Frame)
Definition: mythvideodrm.cpp:99
mythdrmplane.h
MythVideoDRM
Definition: mythvideodrm.h:14
MythVideoDRM::m_handles
QMap< AVDRMFrameDescriptor *, DRMHandle > m_handles
Definition: mythvideodrm.h:34
MythVideoDRM::m_colourSpace
MythVideoColourSpace * m_colourSpace
Definition: mythvideodrm.h:35
MythVideoDRM::m_lastSrc
QRect m_lastSrc
Definition: mythvideodrm.h:32
MythVideoDRM::m_lastDst
QRect m_lastDst
Definition: mythvideodrm.h:33
MythVideoDRM::m_device
MythDRMPtr m_device
Definition: mythvideodrm.h:30
DRMPlane
std::shared_ptr< class MythDRMPlane > DRMPlane
Definition: mythdrmplane.h:50
MythVideoFrame
Definition: mythframe.h:88
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:18