Go to the documentation of this file. 1 #ifndef MYTHVIDEOOUTGPU_H
2 #define MYTHVIDEOOUTGPU_H
22 QSize VideoDispDim,
float VideoAspect,
24 const QString& Codec,
int ReferenceFrames,
48 float VideoAspect,
MythCodecID CodecId,
bool& AspectOnly,
49 int ReferenceFrames,
bool ForceChange)
override;
58 bool Init (QSize VideoDim, QSize VideoDispDim,
float Aspect,
59 QRect DisplayVisibleRect,
MythCodecID CodecId)
override;
void InitPictureAttributes() override
void DiscardFrames(bool KeyFrame, bool Flushed) override
Discard video frames.
void SetVideoFrameRate(float NewRate) override
void InitDisplayMeasurements()
Initialise display measurement.
void PictureAttributesUpdated(const std::map< PictureAttribute, int > &Values)
void ClearAfterSeek() override
Tells video output to toss decoded buffers due to a seek.
void ResizeForVideo(QSize Size=QSize())
bool Init(QSize VideoDim, QSize VideoDispDim, float Aspect, QRect DisplayVisibleRect, MythCodecID CodecId) override
static void GetRenderOptions(RenderOptions &Options, MythRender *Render)
void DoneDisplayingFrame(MythVideoFrame *Frame) override
Release a video frame back into the decoder pool.
MythMainWindow * m_mainWindow
PictureAttributeSupported
void UpdatePauseFrame(std::chrono::milliseconds &DisplayTimecode, FrameScanType Scan=kScan_Progressive) override
std::vector< VideoFrameType > VideoFrameTypes
void PictureAttributeChanged(PictureAttribute Attribute, int Value)
static MythVideoOutputGPU * Create(MythMainWindow *MainWindow, MythRender *Render, MythPainter *Painter, MythDisplay *Display, const QString &Decoder, MythCodecID CodecID, QSize VideoDim, QSize VideoDispDim, float VideoAspect, float FrameRate, uint PlayerFlags, const QString &Codec, int ReferenceFrames, const VideoFrameTypes *&RenderFormats)
void SetReferenceFrames(int ReferenceFrames)
void PrepareFrame(MythVideoFrame *Frame, FrameScanType Scan) override
std::shared_ptr< class MythHDRTracker > HDRTracker
static VideoFrameType FrameTypeForCodec(MythCodecID CodecId)
bool ProcessInputChange()
void ChangePictureAttribute(PictureAttribute Attribute, bool Direction, int Value)
bool InputChanged(QSize VideoDim, QSize VideoDispDim, float VideoAspect, MythCodecID CodecId, bool &AspectOnly, int ReferenceFrames, bool ForceChange) override
Tells video output to discard decoded frames and wait for new ones.
MythVideoOutputGPU(MythMainWindow *MainWindow, MythRender *Render, MythPainterGPU *Painter, MythDisplay *Display, MythVideoProfilePtr VideoProfile, QString &Profile)
void RenderFrame(MythVideoFrame *Frame, FrameScanType Scan) override
bool CreateBuffers(MythCodecID CodecID, QSize Size)
Common code shared between GPU accelerated sub-classes (e.g. OpenGL)
void SupportedAttributesChanged(PictureAttributeSupported Supported)
virtual QRect GetDisplayVisibleRectAdj()
std::shared_ptr< MythVideoProfile > MythVideoProfilePtr
MythPainterGPU * m_painter
~MythVideoOutputGPU() override
void WindowResized(QSize Size)