Go to the documentation of this file.
102 void ClearMetadata();
103 void ClearBufferToBlank();
108 static void CopyPlane(uint8_t* To,
int ToPitch,
const uint8_t* From,
int FromPitch,
109 int PlaneWidth,
int PlaneHeight);
111 static uint8_t* GetAlignedBuffer(
size_t Size);
112 static uint8_t* CreateBuffer(
VideoFrameType Type,
int Width,
int Height);
116 static MythDeintType ParseDeinterlacer(
const QString& Deinterlacer);
119 uint8_t* m_buffer {
nullptr };
122 int m_bitsPerPixel { 0 };
123 size_t m_bufferSize { 0 };
126 float m_aspect { -1.0F };
127 double m_frameRate { -1.0 };
128 long long m_frameNumber { 0 };
129 uint64_t m_frameCounter { 0 };
130 std::chrono::milliseconds m_timecode { 0ms };
131 std::chrono::milliseconds m_displayTimecode { 0ms };
132 std::array<uint8_t*,4> m_priv {
nullptr };
133 bool m_interlaced {
false };
134 bool m_topFieldFirst {
true };
135 bool m_interlacedReverse {
false };
136 bool m_newGOP {
false };
137 bool m_repeatPic {
false };
138 bool m_forceKey {
false };
139 bool m_dummy {
false };
140 bool m_pauseFrame {
false };
144 int m_swPixFmt { 0 };
145 bool m_directRendering {
true };
147 int m_colorspace { 1 };
148 int m_colorrange { 1 };
149 int m_colorprimaries { 1 };
150 int m_colortransfer { 1 };
151 int m_chromalocation { 1 };
152 bool m_colorshifted {
false };
153 bool m_alreadyDeinterlaced {
false };
154 int m_rotation { 0 };
161 bool m_deinterlaceInuse2x {
false };
165 bool m_displayed {
false };
267 if (Plane == 0)
return Height;
268 if (Plane < 3)
return Height >> 1;
282 if (Plane < 3)
return Height;
287 if (Plane == 0)
return Height;
288 if (Plane < 2)
return Height >> 1;
296 if (Plane == 0)
return Height;
309 if (Plane == 0)
return Width;
310 if (Plane < 3)
return (Width + 1) >> 1;
322 if (Plane == 0)
return Width << 1;
323 if (Plane < 3)
return Width;
331 if (Plane < 3)
return Width;
334 if (Plane < 2)
return Width;
338 if (Plane < 2)
return Width << 1;
369 if (Plane == 0)
return Width;
370 if (Plane < 3)
return (Width + 1) >> 1;
378 if (Plane < 3)
return Width;
383 if (Plane < 2)
return Width;
391 if (Plane == 0)
return Width;
467 return FormatIs420(Type) || FormatIs422(Type) || FormatIs444(Type) ||
468 FormatIsNV12(Type) || PackedFormat(Type);
static int GetPitchForPlane(VideoFrameType Type, int Width, uint Plane)
static bool PackedFormat(VideoFrameType Type)
static bool HardwareFramesFormat(VideoFrameType Type)
MythDeintType operator|(MythDeintType a, MythDeintType b)
static bool FormatIsRGB(VideoFrameType Type)
MythDeintType operator~(MythDeintType a)
std::array< int, 3 > FramePitches
static bool HardwareFormat(VideoFrameType Type)
static constexpr uint8_t MYTH_WIDTH_ALIGNMENT
std::array< int, 3 > FrameOffsets
static bool FormatIs422(VideoFrameType Type)
static int BitsPerPixel(VideoFrameType Type)
static bool YUVFormat(VideoFrameType Type)
std::vector< VideoFrameType > VideoFrameTypes
std::shared_ptr< class MythHDRVideoMetadata > MythHDRVideoPtr
static int ColorDepth(int Format)
static int GetWidthForPlane(VideoFrameType Type, int Width, uint Plane)
MythDeintType operator&(MythDeintType a, MythDeintType b)
static bool FormatIs444(VideoFrameType Type)
static bool FormatIs420(VideoFrameType Type)
static int GetHeightForPlane(VideoFrameType Type, int Height, uint Plane)
static uint GetNumPlanes(VideoFrameType Type)
static constexpr uint8_t MYTH_HEIGHT_ALIGNMENT
@ FMT_RGB32
endian dependent format, ARGB or BGRA
static bool FormatIsNV12(VideoFrameType Type)