Go to the documentation of this file.
103 void ClearMetadata();
104 void ClearBufferToBlank();
109 static void CopyPlane(uint8_t* To,
int ToPitch,
const uint8_t* From,
int FromPitch,
110 int PlaneWidth,
int PlaneHeight);
112 static uint8_t* GetAlignedBuffer(
size_t Size);
113 static uint8_t* CreateBuffer(
VideoFrameType Type,
int Width,
int Height);
117 static MythDeintType ParseDeinterlacer(
const QString& Deinterlacer);
120 uint8_t* m_buffer {
nullptr };
123 int m_bitsPerPixel { 0 };
124 size_t m_bufferSize { 0 };
127 float m_aspect { -1.0F };
128 double m_frameRate { -1.0 };
129 long long m_frameNumber { 0 };
130 uint64_t m_frameCounter { 0 };
131 std::chrono::milliseconds m_timecode { 0ms };
132 std::chrono::milliseconds m_displayTimecode { 0ms };
133 std::array<uint8_t*,4> m_priv {
nullptr };
134 int m_interlaced { 0 };
135 bool m_topFieldFirst {
true };
136 bool m_interlacedReverse {
false };
137 bool m_newGOP {
false };
138 bool m_repeatPic {
false };
139 bool m_forceKey {
false };
140 bool m_dummy {
false };
141 bool m_pauseFrame {
false };
145 int m_swPixFmt { 0 };
146 bool m_directRendering {
true };
148 int m_colorspace { 1 };
149 int m_colorrange { 1 };
150 int m_colorprimaries { 1 };
151 int m_colortransfer { 1 };
152 int m_chromalocation { 1 };
153 bool m_colorshifted {
false };
154 bool m_alreadyDeinterlaced {
false };
155 int m_rotation { 0 };
162 bool m_deinterlaceInuse2x {
false };
166 bool m_displayed {
false };
268 if (Plane == 0)
return Height;
269 if (Plane < 3)
return Height >> 1;
283 if (Plane < 3)
return Height;
288 if (Plane == 0)
return Height;
289 if (Plane < 2)
return Height >> 1;
297 if (Plane == 0)
return Height;
310 if (Plane == 0)
return Width;
311 if (Plane < 3)
return (Width + 1) >> 1;
323 if (Plane == 0)
return Width << 1;
324 if (Plane < 3)
return Width;
332 if (Plane < 3)
return Width;
335 if (Plane < 2)
return Width;
339 if (Plane < 2)
return Width << 1;
370 if (Plane == 0)
return Width;
371 if (Plane < 3)
return (Width + 1) >> 1;
379 if (Plane < 3)
return Width;
384 if (Plane < 2)
return Width;
392 if (Plane == 0)
return Width;
468 return FormatIs420(Type) || FormatIs422(Type) || FormatIs444(Type) ||
469 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)
@ FMT_RGB32
endian dependent format, ARGB or BGRA
static constexpr uint8_t MYTH_HEIGHT_ALIGNMENT
static bool FormatIsNV12(VideoFrameType Type)