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
11class MythVideoFrame;
13
14class 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 };
32 QRect m_lastSrc;
33 QRect m_lastDst;
34 QMap<AVDRMFrameDescriptor*,DRMHandle> m_handles;
36};
37
38#endif
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
~MythVideoDRM() override
QMap< AVDRMFrameDescriptor *, DRMHandle > m_handles
Definition: mythvideodrm.h:34
void ColourSpaceUpdated(bool)
MythDRMPtr m_device
Definition: mythvideodrm.h:30
MythVideoColourSpace * m_colourSpace
Definition: mythvideodrm.h:35
bool IsValid() const
Definition: mythvideodrm.h:22
QRect m_lastSrc
Definition: mythvideodrm.h:32
QRect m_lastDst
Definition: mythvideodrm.h:33
DRMPlane m_videoPlane
Definition: mythvideodrm.h:31
bool RenderFrame(AVDRMFrameDescriptor *DRMDesc, MythVideoFrame *Frame)
MythVideoDRM(MythVideoColourSpace *ColourSpace)
std::shared_ptr< class MythDRMDevice > MythDRMPtr
Definition: mythdrmdevice.h:19
std::shared_ptr< class MythDRMPlane > DRMPlane
Definition: mythdrmplane.h:50