MythTV master
mythvideotexturevulkan.h
Go to the documentation of this file.
1#ifndef MYTHVIDEOTEXTUREVULKAN_H
2#define MYTHVIDEOTEXTUREVULKAN_H
3
4// MythTV
6#include "mythframe.h"
7
8// FFmpeg
9extern "C" {
10#include "libavutil/pixfmt.h"
11}
12
13// Std
14#include <vector>
15
17{
18 public:
19 static std::vector<MythVideoTextureVulkan*>
21 VkCommandBuffer CommandBuffer,
22 VideoFrameType Type,
24 QSize Size);
25 static void DeleteTextures(MythVulkanObject* Vulkan,
26 VkCommandBuffer CommandBuffer,
27 std::vector<MythVideoTextureVulkan*>& Textures);
28 protected:
31
32 private:
33 Q_DISABLE_COPY(MythVideoTextureVulkan)
34 static std::vector<MythVideoTextureVulkan*>
36 VkCommandBuffer CommandBuffer,
37 VideoFrameType Type,
39 QSize Size);
40 static void DeleteTexture (MythVulkanObject* Vulkan,
41 VkCommandBuffer CommandBuffer,
42 MythVideoTextureVulkan* Texture);
43
44#if 0
45 bool m_valid { false };
46 VideoFrameType m_frameType { FMT_NONE };
47 VideoFrameType m_frameFormat { FMT_NONE };
48 uint m_plane { 0 };
49 uint m_planeCount { 0 };
50#endif
51};
52
53#endif
static void DeleteTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, std::vector< MythVideoTextureVulkan * > &Textures)
static void DeleteTexture(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, MythVideoTextureVulkan *Texture)
MythVideoTextureVulkan()=default
static std::vector< MythVideoTextureVulkan * > CreateTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, VideoFrameType Type, VideoFrameType Format, QSize Size)
static std::vector< MythVideoTextureVulkan * > CreateSoftwareTextures(MythVulkanObject *Vulkan, VkCommandBuffer CommandBuffer, VideoFrameType Type, VideoFrameType Format, QSize Size)
unsigned int uint
Definition: freesurround.h:24
VideoFrameType
Definition: mythframe.h:20
@ FMT_NONE
Definition: mythframe.h:21