MythTV  master
mythvideovulkan.h
Go to the documentation of this file.
1 #ifndef MYTHVULKANVIDEO_H
2 #define MYTHVULKANVIDEO_H
3 
4 // MythTV
6 
7 #include "mythframe.h"
8 #include "mythvideogpu.h"
9 #include "videoouttypes.h"
10 
11 // Std
12 #include <vector>
13 
14 class MythPainterVulkan;
15 class MythVideoVulkan;
17 
19 {
20  Q_OBJECT
21 
22  public:
24  MythVideoBounds* Bounds, const MythVideoProfilePtr& VideoProfile, 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  std::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:32
Frame
Definition: zmdefines.h:93
FrameScanType
FrameScanType
Definition: videoouttypes.h:94
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:18
MythVideoGPU
Definition: mythvideogpu.h:20
MythVideoVulkan::~MythVideoVulkan
~MythVideoVulkan() override
Definition: mythvideovulkan.cpp:27
MythVideoVulkan::ColourSpaceUpdate
void ColourSpaceUpdate(bool) override
Definition: mythvideovulkan.cpp:154
MythPainterVulkan
Definition: mythpaintervulkan.h:19
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 MythVideoProfilePtr &VideoProfile, const QString &Profile)
Definition: mythvideovulkan.cpp:15
mythvideogpu.h
MythVideoBounds
Definition: mythvideobounds.h:23
MythVideoVulkan::EndFrame
void EndFrame() override
Definition: mythvideovulkan.cpp:148
StereoscopicMode
StereoscopicMode
Definition: videoouttypes.h:134
MythVideoVulkan::m_inputTextures
std::vector< MythVideoTextureVulkan * > m_inputTextures
Definition: mythvideovulkan.h:42
VideoFrameType
VideoFrameType
Definition: mythframe.h:20
MythVideoProfilePtr
std::shared_ptr< MythVideoProfile > MythVideoProfilePtr
Definition: mythvideogpu.h:18
mythrendervulkan.h
MythVideoFrame
Definition: mythframe.h:88
MythVideoTextureVulkan
Definition: mythvideotexturevulkan.h:16
MythVideoColourSpace
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
Definition: mythvideocolourspace.h:18