MythTV  master
mythvideovulkan.h
Go to the documentation of this file.
1 #ifndef MYTHVULKANVIDEO_H
2 #define MYTHVULKANVIDEO_H
3 
4 // MythTV
5 #include "mythframe.h"
6 #include "videoouttypes.h"
7 #include "mythvideogpu.h"
9 
10 // Std
11 #include <vector>
12 using std::vector;
13 
14 class MythPainterVulkan;
15 class MythVideoVulkan;
17 
19 {
20  Q_OBJECT
21 
22  public:
24  MythVideoBounds* Bounds, const QString &Profile);
25  ~MythVideoVulkan() override;
26 
27  void StartFrame () override;
29  void RenderFrame (MythVideoFrame* /*Frame*/, bool /*TopFieldFirst*/,
30  FrameScanType /*Scan*/, StereoscopicMode /*StereoOverride*/, bool /*DrawBorder*/ = false) override;
31  void EndFrame () override;
32  void ResetFrameFormat () override;
33  void ResetTextures () override {}
34 
35  protected:
36  void ColourSpaceUpdate(bool /*PrimariesChanged*/) override;
37 
38  private:
39  bool SetupFrameFormat (VideoFrameType InputType, VideoFrameType OutputType, QSize Size,
40  VkCommandBuffer CmdBuffer);
41 
42  vector<MythVideoTextureVulkan*> m_inputTextures;
43 };
44 
45 #endif
MythVideoVulkan::ResetFrameFormat
void ResetFrameFormat() override
Definition: mythvideovulkan.cpp:32
MythVideoVulkan::ResetTextures
void ResetTextures() override
Definition: mythvideovulkan.h:33
MythVulkanObject
Definition: mythrendervulkan.h:29
Frame
Definition: zmdefines.h:94
FrameScanType
FrameScanType
Definition: videoouttypes.h:95
mythframe.h
MythVideoVulkan::SetupFrameFormat
bool SetupFrameFormat(VideoFrameType InputType, VideoFrameType OutputType, QSize Size, VkCommandBuffer CmdBuffer)
Definition: mythvideovulkan.cpp:38
MythVideoVulkan::RenderFrame
void RenderFrame(MythVideoFrame *, bool, FrameScanType, StereoscopicMode, bool=false) override
Definition: mythvideovulkan.cpp:140
MythVideoVulkan
Definition: mythvideovulkan.h:19
MythVideoGPU
Definition: mythvideogpu.h:16
MythVideoVulkan::~MythVideoVulkan
~MythVideoVulkan() override
Definition: mythvideovulkan.cpp:27
MythVideoVulkan::ColourSpaceUpdate
void ColourSpaceUpdate(bool) override
Definition: mythvideovulkan.cpp:154
MythPainterVulkan
Definition: mythpaintervulkan.h:20
MythVideoVulkan::StartFrame
void StartFrame() override
Definition: mythvideovulkan.cpp:67
videoouttypes.h
kScan_Progressive
@ kScan_Progressive
Definition: videoouttypes.h:100
MythVideoVulkan::PrepareFrame
void PrepareFrame(MythVideoFrame *Frame, FrameScanType=kScan_Progressive) override
Definition: mythvideovulkan.cpp:81
MythVideoVulkan::MythVideoVulkan
MythVideoVulkan(MythVulkanObject *Vulkan, MythVideoColourSpace *ColourSpace, MythVideoBounds *Bounds, const QString &Profile)
Definition: mythvideovulkan.cpp:15
mythvideogpu.h
MythVideoBounds
Definition: mythvideobounds.h:24
MythVideoVulkan::EndFrame
void EndFrame() override
Definition: mythvideovulkan.cpp:148
StereoscopicMode
StereoscopicMode
Definition: videoouttypes.h:135
MythVideoVulkan::m_inputTextures
vector< MythVideoTextureVulkan * > m_inputTextures
Definition: mythvideovulkan.h:42
VideoFrameType
VideoFrameType
Definition: mythframe.h:16
mythrendervulkan.h
MythVideoFrame
Definition: mythframe.h:83
MythVideoTextureVulkan
Definition: mythvideotexturevulkan.h:18
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:21