MythTV  master
Classes | Typedefs | Enumerations | Functions | Variables
mythframe.h File Reference
#include <QRect>
#include "libmyth/mythaverror.h"
#include "libmythbase/mythchrono.h"
#include "libmythtv/mythtvexp.h"
#include <array>
#include <vector>
#include <memory>
Include dependency graph for mythframe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MythVideoFrame
 

Typedefs

using VideoFrameTypes = std::vector< VideoFrameType >
 
using FramePitches = std::array< int, 3 >
 
using FrameOffsets = std::array< int, 3 >
 
using MythHDRVideoPtr = std::shared_ptr< class MythHDRVideoMetadata >
 

Enumerations

enum  VideoFrameType : std::int8_t {
  FMT_NONE = -1, FMT_YV12 = 0, FMT_YUV420P9 = 1, FMT_YUV420P10 = 2,
  FMT_YUV420P12 = 3, FMT_YUV420P14 = 4, FMT_YUV420P16 = 5, FMT_RGB24 = 6,
  FMT_BGRA = 7, FMT_RGB32 = 8, FMT_ARGB32 = 9, FMT_RGBA32 = 10,
  FMT_YUV422P = 11, FMT_YUV422P9 = 12, FMT_YUV422P10 = 13, FMT_YUV422P12 = 14,
  FMT_YUV422P14 = 15, FMT_YUV422P16 = 16, FMT_YUV444P = 17, FMT_YUV444P9 = 18,
  FMT_YUV444P10 = 19, FMT_YUV444P12 = 20, FMT_YUV444P14 = 21, FMT_YUV444P16 = 22,
  FMT_YUY2 = 23, FMT_NV12 = 24, FMT_P010 = 25, FMT_P016 = 26,
  FMT_VDPAU = 27, FMT_VAAPI = 28, FMT_DXVA2 = 29, FMT_MMAL = 30,
  FMT_MEDIACODEC = 31, FMT_VTB = 32, FMT_NVDEC = 33, FMT_DRMPRIME = 34
}
 
enum  MythDeintType : std::uint8_t {
  DEINT_NONE = 0x0000, DEINT_BASIC = 0x0001, DEINT_MEDIUM = 0x0002, DEINT_HIGH = 0x0004,
  DEINT_CPU = 0x0010, DEINT_SHADER = 0x0020, DEINT_DRIVER = 0x0040, DEINT_ALL = 0x0077
}
 

Functions

MythDeintType operator| (MythDeintType a, MythDeintType b)
 
MythDeintType operator& (MythDeintType a, MythDeintType b)
 
MythDeintType operator~ (MythDeintType a)
 

Variables

static constexpr uint8_t MYTH_WIDTH_ALIGNMENT { 64 }
 
static constexpr uint8_t MYTH_HEIGHT_ALIGNMENT { 16 }
 

Typedef Documentation

◆ VideoFrameTypes

using VideoFrameTypes = std::vector<VideoFrameType>

Definition at line 83 of file mythframe.h.

◆ FramePitches

using FramePitches = std::array<int,3>

Definition at line 84 of file mythframe.h.

◆ FrameOffsets

using FrameOffsets = std::array<int,3>

Definition at line 85 of file mythframe.h.

◆ MythHDRVideoPtr

using MythHDRVideoPtr = std::shared_ptr<class MythHDRVideoMetadata>

Definition at line 86 of file mythframe.h.

Enumeration Type Documentation

◆ VideoFrameType

enum VideoFrameType : std::int8_t
Enumerator
FMT_NONE 
FMT_YV12 
FMT_YUV420P9 
FMT_YUV420P10 
FMT_YUV420P12 
FMT_YUV420P14 
FMT_YUV420P16 
FMT_RGB24 
FMT_BGRA 
FMT_RGB32 

endian dependent format, ARGB or BGRA

FMT_ARGB32 
FMT_RGBA32 
FMT_YUV422P 
FMT_YUV422P9 
FMT_YUV422P10 
FMT_YUV422P12 
FMT_YUV422P14 
FMT_YUV422P16 
FMT_YUV444P 
FMT_YUV444P9 
FMT_YUV444P10 
FMT_YUV444P12 
FMT_YUV444P14 
FMT_YUV444P16 
FMT_YUY2 
FMT_NV12 
FMT_P010 
FMT_P016 
FMT_VDPAU 
FMT_VAAPI 
FMT_DXVA2 
FMT_MMAL 
FMT_MEDIACODEC 
FMT_VTB 
FMT_NVDEC 
FMT_DRMPRIME 

Definition at line 20 of file mythframe.h.

◆ MythDeintType

enum MythDeintType : std::uint8_t
Enumerator
DEINT_NONE 
DEINT_BASIC 
DEINT_MEDIUM 
DEINT_HIGH 
DEINT_CPU 
DEINT_SHADER 
DEINT_DRIVER 
DEINT_ALL 

Definition at line 67 of file mythframe.h.

Function Documentation

◆ operator|()

MythDeintType operator| ( MythDeintType  a,
MythDeintType  b 
)
inline

Definition at line 79 of file mythframe.h.

◆ operator&()

MythDeintType operator& ( MythDeintType  a,
MythDeintType  b 
)
inline

Definition at line 80 of file mythframe.h.

◆ operator~()

MythDeintType operator~ ( MythDeintType  a)
inline

Definition at line 81 of file mythframe.h.

Variable Documentation

◆ MYTH_WIDTH_ALIGNMENT

constexpr uint8_t MYTH_WIDTH_ALIGNMENT { 64 }
staticconstexpr

Definition at line 17 of file mythframe.h.

Referenced by get_avf_buffer().

◆ MYTH_HEIGHT_ALIGNMENT

constexpr uint8_t MYTH_HEIGHT_ALIGNMENT { 16 }
staticconstexpr

Definition at line 18 of file mythframe.h.

Referenced by get_avf_buffer(), MythVideoFrame::GetBufferSize(), and MythVideoFrame::Init().