MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
MythVideoOutput Class Referenceabstract

#include <mythvideoout.h>

Inheritance diagram for MythVideoOutput:
Inheritance graph
[legend]
Collaboration diagram for MythVideoOutput:
Collaboration graph
[legend]

Public Member Functions

 MythVideoOutput ()
 
virtual ~MythVideoOutput ()
 
virtual bool Init (const QSize &VideoDim, const QSize &VideoDispDim, float VideoAspect, MythDisplay *Display, const QRect &WindowRect, MythCodecID CodecID)
 
virtual void SetVideoFrameRate (float playback_fps)
 
virtual void SetDeinterlacing (bool Enable, bool DoubleRate, MythDeintType Force=DEINT_NONE)
 
virtual void ProcessFrame (VideoFrame *Frame, OSD *Osd, const PIPMap &PipPlayers, FrameScanType Scan=kScan_Ignore)=0
 
virtual void PrepareFrame (VideoFrame *Frame, FrameScanType, OSD *Osd)=0
 
virtual void Show (FrameScanType)=0
 
void SetReferenceFrames (int ReferenceFrames)
 
VideoDisplayProfileGetProfile ()
 
virtual void WindowResized (const QSize &)
 
virtual bool InputChanged (const QSize &VideoDim, const QSize &VideoDispDim, float VideoAspect, MythCodecID CodecID, bool &AspectChanged, MythMultiLocker *Locks, int ReferenceFrames, bool ForceChange)
 Tells video output to discard decoded frames and wait for new ones. More...
 
virtual void VideoAspectRatioChanged (float VideoAspect)
 
virtual void ResizeDisplayWindow (const QRect &Rect, bool SaveVisible)
 Resize Display Window. More...
 
virtual void EmbedInWidget (const QRect &EmbedRect)
 Tells video output to embed video in an existing window. More...
 
bool IsEmbedding (void)
 Returns if videooutput is embedding. More...
 
virtual void StopEmbedding (void)
 
virtual void ResizeForVideo (QSize Size=QSize())
 
virtual void Zoom (ZoomDirection Direction)
 
virtual void ToggleMoveBottomLine (void)
 
virtual void SaveBottomLine (void)
 
virtual void GetOSDBounds (QRect &Total, QRect &Visible, float &VisibleAspect, float &FontScaling, float ThemeAspect) const
 
QRect GetMHEGBounds (void)
 
AspectOverrideMode GetAspectOverride (void) const
 
virtual void ToggleAspectOverride (AspectOverrideMode AspectMode=kAspect_Toggle)
 
AdjustFillMode GetAdjustFill (void) const
 
virtual void ToggleAdjustFill (AdjustFillMode FillMode=kAdjustFill_Toggle)
 
QString GetZoomString (void) const
 
PictureAttributeSupported GetSupportedPictureAttributes (void)
 
int ChangePictureAttribute (PictureAttribute AttributeType, bool Direction)
 
virtual int SetPictureAttribute (PictureAttribute Attribute, int NewValue)
 
int GetPictureAttribute (PictureAttribute AttributeType)
 
virtual void InitPictureAttributes (void)
 
virtual bool IsPIPSupported (void) const
 
virtual bool IsPBPSupported (void) const
 
bool HasSoftwareFrames (void) const
 
virtual void SetFramesPlayed (long long FramesPlayed)
 
virtual long long GetFramesPlayed (void)
 
bool IsErrored () const
 
VideoErrorState GetError (void) const
 
void SetPrebuffering (bool Normal)
 Sets whether to use a normal number of buffers or fewer buffers. More...
 
virtual void ClearAfterSeek (void)
 Tells video output to toss decoded buffers due to a seek. More...
 
virtual int ValidVideoFrames (void) const
 Returns number of frames that are fully decoded. More...
 
int FreeVideoFrames (void)
 Returns number of frames available for decoding onto. More...
 
bool EnoughFreeFrames (void)
 Returns true iff enough frames are available to decode onto. More...
 
bool EnoughDecodedFrames (void)
 Returns true iff there are plenty of decoded frames ready for display. More...
 
virtual VideoFrameTypeDirectRenderFormats (void)
 
virtual VideoFrameGetNextFreeFrame (void)
 Blocks until it is possible to return a frame for decoding onto. More...
 
virtual void ReleaseFrame (VideoFrame *Frame)
 Releases a frame from the ready for decoding queue onto the queue of frames ready for display. More...
 
virtual void DeLimboFrame (VideoFrame *Frame)
 Releases a frame for reuse if it is in limbo. More...
 
virtual void StartDisplayingFrame (void)
 Tell GetLastShownFrame() to return the next frame from the head of the queue of frames to display. More...
 
virtual void DoneDisplayingFrame (VideoFrame *Frame)
 Releases frame returned from GetLastShownFrame() onto the queue of frames ready for decoding onto. More...
 
virtual void DiscardFrame (VideoFrame *frame)
 Releases frame from any queue onto the queue of frames ready for decoding onto. More...
 
virtual void DiscardFrames (bool KeyFrame, bool Flushed)
 Releases all frames not being actively displayed from any queue onto the queue of frames ready for decoding onto. More...
 
virtual void CheckFrameStates (void)
 
virtual VideoFrameGetLastDecodedFrame (void)
 
virtual VideoFrameGetLastShownFrame (void)
 Returns frame from the head of the ready to be displayed queue, if StartDisplayingFrame has been called. More...
 
QString GetFrameStatus (void) const
 Returns string with status of each frame for debugging. More...
 
virtual void UpdatePauseFrame (int64_t &DisplayTimecode, FrameScanType Scan=kScan_Progressive)=0
 
void SetVideoResize (const QRect &VideoRect)
 Tells the player to resize the video frame (used for ITV) More...
 
void SetVideoScalingAllowed (bool Allow)
 Disable or enable underscan/overscan. More...
 
virtual QRect GetPIPRect (PIPLocation Location, MythPlayer *PiPPlayer=nullptr, bool DoPixelAdj=true) const
 returns QRect of PIP based on PIPLocation More...
 
virtual void RemovePIP (MythPlayer *)
 
virtual void SetPIPState (PIPState Setting)
 
virtual MythPainterGetOSDPainter (void)
 
QRect GetImageRect (const QRect &Rect, QRect *DisplayRect=nullptr)
 translates caption/dvd button rectangle into 'screen' space More...
 
QRect GetSafeRect (void)
 Returns a QRect describing an area of the screen on which it is 'safe' to render the On Screen Display. More...
 
bool EnableVisualisation (AudioPlayer *Audio, bool Enable, const QString &Name=QString(""))
 
virtual bool CanVisualise (AudioPlayer *Audio, MythRender *Render)
 
virtual bool SetupVisualisation (AudioPlayer *Audio, MythRender *Render, const QString &Name)
 
VideoVisualGetVisualisation (void)
 
QString GetVisualiserName (void)
 
virtual QStringList GetVisualiserList (void)
 
void DestroyVisualisation (void)
 
virtual bool StereoscopicModesAllowed (void) const
 
void SetStereoscopicMode (StereoscopicMode mode)
 
StereoscopicMode GetStereoscopicMode (void) const
 

Static Public Member Functions

static void GetRenderOptions (RenderOptions &Options)
 
static MythVideoOutputCreate (const QString &Decoder, MythCodecID CodecID, PIPState PiPState, const QSize &VideoDim, const QSize &VideoDispDim, float VideoAspect, QWidget *ParentWidget, const QRect &EmbedRect, float FrameRate, uint PlayerFlags, QString &Codec, int ReferenceFrames)
 Depending on compile-time configure settings and run-time renderer settings, create a relevant VideoOutput subclass. More...
 
static int CalcHueBase (const QString &AdaptorName)
 
static MythDeintType ParseDeinterlacer (const QString &Deinterlacer)
 

Protected Member Functions

virtual void MoveResize (void)
 
void InitDisplayMeasurements (void)
 Initialise display measurement. More...
 
virtual void ShowPIPs (VideoFrame *Frame, const PIPMap &PiPPlayers)
 
virtual void ShowPIP (VideoFrame *, MythPlayer *, PIPLocation)
 
QRect GetVisibleOSDBounds (float &VisibleAspect, float &FontScaling, float ThemeAspect) const
 Returns visible portions of total OSD bounds. More...
 
QRect GetTotalOSDBounds (void) const
 

Static Protected Member Functions

static void CopyFrame (VideoFrame *To, const VideoFrame *From)
 

Protected Attributes

MythDisplaym_display {nullptr}
 
VideoOutWindow m_window
 
VideoColourSpace m_videoColourSpace
 
AspectOverrideMode m_dbAspectOverride {kAspect_Off}
 
AdjustFillMode m_dbAdjustFill {kAdjustFill_Off}
 
LetterBoxColour m_dbLetterboxColour {kLetterBoxColour_Black}
 
MythCodecID m_videoCodecID {kCodec_NONE}
 
int m_maxReferenceFrames {16}
 
VideoDisplayProfilem_dbDisplayProfile {nullptr}
 
VideoBuffers m_videoBuffers
 
VideoErrorState m_errorState {kError_None}
 
long long m_framesPlayed {0}
 
VideoVisualm_visual {nullptr}
 
StereoscopicMode m_stereo {kStereoscopicModeNone}
 
MythAVCopy m_copyFrame
 
MythDeinterlacer m_deinterlacer
 

Detailed Description

Definition at line 36 of file mythvideoout.h.

Constructor & Destructor Documentation

◆ MythVideoOutput()

MythVideoOutput::MythVideoOutput ( )

Definition at line 280 of file mythvideoout.cpp.

◆ ~MythVideoOutput()

MythVideoOutput::~MythVideoOutput ( )
virtual

Definition at line 292 of file mythvideoout.cpp.

Member Function Documentation

◆ GetRenderOptions()

void MythVideoOutput::GetRenderOptions ( RenderOptions Options)
static

Definition at line 28 of file mythvideoout.cpp.

Referenced by VideoDisplayProfile::InitStatics().

◆ Create()

MythVideoOutput * MythVideoOutput::Create ( const QString &  Decoder,
MythCodecID  CodecID,
PIPState  PiPState,
const QSize &  VideoDim,
const QSize &  VideoDispDim,
float  VideoAspect,
QWidget *  ParentWidget,
const QRect &  EmbedRect,
float  FrameRate,
uint  PlayerFlags,
QString &  Codec,
int  ReferenceFrames 
)
static

Depending on compile-time configure settings and run-time renderer settings, create a relevant VideoOutput subclass.

Returns
instance of VideoOutput if successful, nullptr otherwise.

Definition at line 46 of file mythvideoout.cpp.

Referenced by MythPlayer::InitVideo().

◆ Init()

bool MythVideoOutput::Init ( const QSize &  VideoDim,
const QSize &  VideoDispDim,
float  VideoAspect,
MythDisplay Display,
const QRect &  WindowRect,
MythCodecID  CodecID 
)
virtual

◆ SetVideoFrameRate()

void MythVideoOutput::SetVideoFrameRate ( float  playback_fps)
virtual

Reimplemented in MythVideoOutputOpenGL.

Definition at line 334 of file mythvideoout.cpp.

Referenced by MythPlayer::ChangeSpeed(), Create(), and MythPlayer::ReinitVideo().

◆ SetDeinterlacing()

void MythVideoOutput::SetDeinterlacing ( bool  Enable,
bool  DoubleRate,
MythDeintType  Force = DEINT_NONE 
)
virtual

◆ ProcessFrame()

virtual void MythVideoOutput::ProcessFrame ( VideoFrame Frame,
OSD Osd,
const PIPMap PipPlayers,
FrameScanType  Scan = kScan_Ignore 
)
pure virtual

◆ PrepareFrame()

virtual void MythVideoOutput::PrepareFrame ( VideoFrame Frame,
FrameScanType  ,
OSD Osd 
)
pure virtual

◆ Show()

virtual void MythVideoOutput::Show ( FrameScanType  )
pure virtual

◆ SetReferenceFrames()

void MythVideoOutput::SetReferenceFrames ( int  ReferenceFrames)

Definition at line 340 of file mythvideoout.cpp.

Referenced by Create().

◆ GetProfile()

VideoDisplayProfile* MythVideoOutput::GetProfile ( )
inline

Definition at line 60 of file mythvideoout.h.

◆ WindowResized()

virtual void MythVideoOutput::WindowResized ( const QSize &  )
inlinevirtual

Reimplemented in MythVideoOutputOpenGL, and VideoOutputD3D.

Definition at line 61 of file mythvideoout.h.

Referenced by MythPlayer::WindowResized().

◆ InputChanged()

bool MythVideoOutput::InputChanged ( const QSize &  VideoDim,
const QSize &  VideoDispDim,
float  VideoAspect,
MythCodecID  CodecID,
bool AspectChanged,
MythMultiLocker Locks,
int  ReferenceFrames,
bool  ForceChange 
)
virtual

Tells video output to discard decoded frames and wait for new ones.

Bug:
We set the new width height and aspect ratio here, but we should do this based on the new video frames in Show().

Reimplemented in MythVideoOutputOpenGL, and MythVideoOutputNull.

Definition at line 414 of file mythvideoout.cpp.

Referenced by MythVideoOutputNull::InputChanged(), and MythPlayer::ReinitVideo().

◆ VideoAspectRatioChanged()

void MythVideoOutput::VideoAspectRatioChanged ( float  VideoAspect)
virtual

◆ ResizeDisplayWindow()

void MythVideoOutput::ResizeDisplayWindow ( const QRect &  Rect,
bool  SaveVisible 
)
virtual

Resize Display Window.

Definition at line 435 of file mythvideoout.cpp.

Referenced by MythVideoOutputOpenGL::Init(), and PlayerContext::ResizePIPWindow().

◆ EmbedInWidget()

void MythVideoOutput::EmbedInWidget ( const QRect &  EmbedRect)
virtual

Tells video output to embed video in an existing window.

See also
StopEmbedding()

Reimplemented in VideoOutputD3D, and MythVideoOutputNull.

Definition at line 444 of file mythvideoout.cpp.

Referenced by MythVideoOutputNull::EmbedInWidget(), VideoOutputD3D::EmbedInWidget(), MythPlayer::EmbedInWidget(), Init(), MythPlayer::InitVideo(), and MythVideoOutputOpenGL::ProcessFrame().

◆ IsEmbedding()

bool MythVideoOutput::IsEmbedding ( void  )

Returns if videooutput is embedding.

Definition at line 894 of file mythvideoout.cpp.

Referenced by MythPlayer::IsEmbedding().

◆ StopEmbedding()

void MythVideoOutput::StopEmbedding ( void  )
virtual

◆ ResizeForVideo()

void MythVideoOutput::ResizeForVideo ( QSize  Size = QSize())
virtual

◆ Zoom()

void MythVideoOutput::Zoom ( ZoomDirection  Direction)
virtual

Definition at line 527 of file mythvideoout.cpp.

Referenced by MythPlayer::Zoom().

◆ ToggleMoveBottomLine()

void MythVideoOutput::ToggleMoveBottomLine ( void  )
virtual

Definition at line 537 of file mythvideoout.cpp.

Referenced by MythPlayer::ToggleMoveBottomLine().

◆ SaveBottomLine()

void MythVideoOutput::SaveBottomLine ( void  )
virtual

Definition at line 546 of file mythvideoout.cpp.

Referenced by MythPlayer::SaveBottomLine().

◆ GetOSDBounds()

void MythVideoOutput::GetOSDBounds ( QRect &  Total,
QRect &  Visible,
float &  VisibleAspect,
float &  FontScaling,
float  ThemeAspect 
) const
virtual

◆ GetMHEGBounds()

QRect MythVideoOutput::GetMHEGBounds ( void  )

◆ GetAspectOverride()

AspectOverrideMode MythVideoOutput::GetAspectOverride ( void  ) const

Definition at line 690 of file mythvideoout.cpp.

Referenced by MythPlayer::GetAspectOverride().

◆ ToggleAspectOverride()

void MythVideoOutput::ToggleAspectOverride ( AspectOverrideMode  AspectMode = kAspect_Toggle)
virtual

Definition at line 558 of file mythvideoout.cpp.

Referenced by MythPlayer::ToggleAspectOverride().

◆ GetAdjustFill()

AdjustFillMode MythVideoOutput::GetAdjustFill ( void  ) const

Definition at line 695 of file mythvideoout.cpp.

Referenced by MythPlayer::GetAdjustFill().

◆ ToggleAdjustFill()

void MythVideoOutput::ToggleAdjustFill ( AdjustFillMode  FillMode = kAdjustFill_Toggle)
virtual

Definition at line 570 of file mythvideoout.cpp.

Referenced by DetectLetterbox::SwitchTo(), and MythPlayer::ToggleAdjustFill().

◆ GetZoomString()

QString MythVideoOutput::GetZoomString ( void  ) const

Definition at line 575 of file mythvideoout.cpp.

Referenced by TV::ManualZoomHandleAction(), and TV::ToggleMoveBottomLine().

◆ GetSupportedPictureAttributes()

PictureAttributeSupported MythVideoOutput::GetSupportedPictureAttributes ( void  )

◆ ChangePictureAttribute()

int MythVideoOutput::ChangePictureAttribute ( PictureAttribute  AttributeType,
bool  Direction 
)

Definition at line 585 of file mythvideoout.cpp.

Referenced by TV::DoChangePictureAttribute().

◆ SetPictureAttribute()

int MythVideoOutput::SetPictureAttribute ( PictureAttribute  Attribute,
int  NewValue 
)
virtual

◆ GetPictureAttribute()

int MythVideoOutput::GetPictureAttribute ( PictureAttribute  AttributeType)

◆ InitPictureAttributes()

virtual void MythVideoOutput::InitPictureAttributes ( void  )
inlinevirtual

Reimplemented in MythVideoOutputOpenGL.

Definition at line 88 of file mythvideoout.h.

◆ IsPIPSupported()

virtual bool MythVideoOutput::IsPIPSupported ( void  ) const
inlinevirtual

Reimplemented in VideoOutputD3D, and MythVideoOutputOpenGL.

Definition at line 89 of file mythvideoout.h.

Referenced by PlayerContext::IsPIPSupported().

◆ IsPBPSupported()

virtual bool MythVideoOutput::IsPBPSupported ( void  ) const
inlinevirtual

Definition at line 90 of file mythvideoout.h.

Referenced by PlayerContext::IsPBPSupported().

◆ HasSoftwareFrames()

bool MythVideoOutput::HasSoftwareFrames ( void  ) const
inline

Definition at line 91 of file mythvideoout.h.

Referenced by TV::PlaybackMenuInit().

◆ SetFramesPlayed()

void MythVideoOutput::SetFramesPlayed ( long long  FramesPlayed)
virtual

Definition at line 621 of file mythvideoout.cpp.

Referenced by MythPlayer::AVSync(), and MythPlayer::SetFramesPlayed().

◆ GetFramesPlayed()

long long MythVideoOutput::GetFramesPlayed ( void  )
virtual

Definition at line 626 of file mythvideoout.cpp.

Referenced by MythPlayer::Pause(), and MythPlayer::VideoLoop().

◆ IsErrored()

bool MythVideoOutput::IsErrored ( void  ) const

◆ GetError()

VideoErrorState MythVideoOutput::GetError ( void  ) const

Definition at line 636 of file mythvideoout.cpp.

Referenced by MythPlayer::SetErrored().

◆ SetPrebuffering()

void MythVideoOutput::SetPrebuffering ( bool  Normal)

Sets whether to use a normal number of buffers or fewer buffers.

Definition at line 642 of file mythvideoout.cpp.

Referenced by MythPlayer::ChangeSpeed().

◆ ClearAfterSeek()

void MythVideoOutput::ClearAfterSeek ( void  )
virtual

Tells video output to toss decoded buffers due to a seek.

Reimplemented in MythVideoOutputOpenGL.

Definition at line 648 of file mythvideoout.cpp.

Referenced by MythVideoOutputOpenGL::ClearAfterSeek(), and MythPlayer::ClearAfterSeek().

◆ ValidVideoFrames()

int MythVideoOutput::ValidVideoFrames ( void  ) const
virtual

◆ FreeVideoFrames()

int MythVideoOutput::FreeVideoFrames ( void  )

Returns number of frames available for decoding onto.

Definition at line 660 of file mythvideoout.cpp.

Referenced by MythPlayer::GetFreeVideoFrames(), and MythPlayer::GetPlaybackData().

◆ EnoughFreeFrames()

bool MythVideoOutput::EnoughFreeFrames ( void  )

Returns true iff enough frames are available to decode onto.

Definition at line 666 of file mythvideoout.cpp.

Referenced by MythPlayer::DecoderGetFrame(), MythPlayer::PrebufferEnoughFrames(), and MythDVDPlayer::VideoLoop().

◆ EnoughDecodedFrames()

bool MythVideoOutput::EnoughDecodedFrames ( void  )

Returns true iff there are plenty of decoded frames ready for display.

Definition at line 673 of file mythvideoout.cpp.

Referenced by MythPlayer::PrebufferEnoughFrames().

◆ DirectRenderFormats()

VideoFrameType * MythVideoOutput::DirectRenderFormats ( void  )
virtual

Reimplemented in MythVideoOutputOpenGL.

Definition at line 866 of file mythvideoout.cpp.

Referenced by MythPlayer::DirectRenderFormats().

◆ GetNextFreeFrame()

VideoFrame * MythVideoOutput::GetNextFreeFrame ( void  )
virtual

Blocks until it is possible to return a frame for decoding onto.

Definition at line 875 of file mythvideoout.cpp.

Referenced by MythPlayer::GetNextVideoFrame().

◆ ReleaseFrame()

void MythVideoOutput::ReleaseFrame ( VideoFrame Frame)
virtual

Releases a frame from the ready for decoding queue onto the queue of frames ready for display.

Definition at line 882 of file mythvideoout.cpp.

Referenced by MythPlayer::ReleaseNextVideoFrame().

◆ DeLimboFrame()

void MythVideoOutput::DeLimboFrame ( VideoFrame Frame)
virtual

Releases a frame for reuse if it is in limbo.

Definition at line 888 of file mythvideoout.cpp.

Referenced by MythPlayer::DeLimboFrame().

◆ StartDisplayingFrame()

void MythVideoOutput::StartDisplayingFrame ( void  )
virtual

Tell GetLastShownFrame() to return the next frame from the head of the queue of frames to display.

Definition at line 901 of file mythvideoout.cpp.

Referenced by MythPlayer::DisplayNormalFrame(), MythPlayer::GetRawVideoFrame(), MythCCExtractorPlayer::OnGotNewFrame(), MythPlayer::PipSync(), and VideoPerformanceTest::Test().

◆ DoneDisplayingFrame()

void MythVideoOutput::DoneDisplayingFrame ( VideoFrame Frame)
virtual

Releases frame returned from GetLastShownFrame() onto the queue of frames ready for decoding onto.

Reimplemented in MythVideoOutputOpenGL.

Definition at line 908 of file mythvideoout.cpp.

Referenced by MythPlayer::DisplayNormalFrame(), MythCCExtractorPlayer::OnGotNewFrame(), MythPlayer::PipSync(), VideoPerformanceTest::Test(), and Transcode::TranscodeFile().

◆ DiscardFrame()

void MythVideoOutput::DiscardFrame ( VideoFrame Frame)
virtual

Releases frame from any queue onto the queue of frames ready for decoding onto.

Definition at line 915 of file mythvideoout.cpp.

Referenced by MythPlayer::DiscardVideoFrame().

◆ DiscardFrames()

void MythVideoOutput::DiscardFrames ( bool  KeyFrame,
bool  Flushed 
)
virtual

Releases all frames not being actively displayed from any queue onto the queue of frames ready for decoding onto.

Reimplemented in MythVideoOutputOpenGL.

Definition at line 922 of file mythvideoout.cpp.

Referenced by MythPlayer::ClearBeforeSeek(), MythVideoOutputOpenGL::DiscardFrames(), MythPlayer::DiscardVideoFrames(), and InputChanged().

◆ CheckFrameStates()

virtual void MythVideoOutput::CheckFrameStates ( void  )
inlinevirtual

Definition at line 111 of file mythvideoout.h.

◆ GetLastDecodedFrame()

VideoFrame * MythVideoOutput::GetLastDecodedFrame ( void  )
virtual
Bug:
not implemented correctly. vpos is not updated.

Definition at line 701 of file mythvideoout.cpp.

Referenced by MythPlayer::GetScreenGrabAtFrame(), VideoDecodeBuffer::run(), MythPlayer::SeekForScreenGrab(), and MythPlayer::TranscodeGetNextFrame().

◆ GetLastShownFrame()

VideoFrame * MythVideoOutput::GetLastShownFrame ( void  )
virtual

◆ GetFrameStatus()

QString MythVideoOutput::GetFrameStatus ( void  ) const

Returns string with status of each frame for debugging.

Definition at line 707 of file mythvideoout.cpp.

Referenced by MythPlayer::PrebufferEnoughFrames().

◆ UpdatePauseFrame()

virtual void MythVideoOutput::UpdatePauseFrame ( int64_t &  DisplayTimecode,
FrameScanType  Scan = kScan_Progressive 
)
pure virtual

◆ SetVideoResize()

void MythVideoOutput::SetVideoResize ( const QRect &  VideoRect)

Tells the player to resize the video frame (used for ITV)

Definition at line 720 of file mythvideoout.cpp.

Referenced by MythPlayer::SetVideoResize().

◆ SetVideoScalingAllowed()

void MythVideoOutput::SetVideoScalingAllowed ( bool  Allow)

Disable or enable underscan/overscan.

Definition at line 728 of file mythvideoout.cpp.

Referenced by Create().

◆ GetPIPRect()

QRect MythVideoOutput::GetPIPRect ( PIPLocation  Location,
MythPlayer PiPPlayer = nullptr,
bool  DoPixelAdj = true 
) const
virtual

returns QRect of PIP based on PIPLocation

Definition at line 679 of file mythvideoout.cpp.

Referenced by TV::ResizePIPWindow(), MythVideoOutputOpenGL::ShowPIP(), and VideoOutputD3D::ShowPIP().

◆ RemovePIP()

virtual void MythVideoOutput::RemovePIP ( MythPlayer )
inlinevirtual

Reimplemented in VideoOutputD3D, and MythVideoOutputOpenGL.

Definition at line 122 of file mythvideoout.h.

Referenced by MythPlayer::RemovePIPPlayer().

◆ SetPIPState()

void MythVideoOutput::SetPIPState ( PIPState  Setting)
virtual

Definition at line 861 of file mythvideoout.cpp.

Referenced by Create().

◆ GetOSDPainter()

virtual MythPainter* MythVideoOutput::GetOSDPainter ( void  )
inlinevirtual

◆ GetImageRect()

QRect MythVideoOutput::GetImageRect ( const QRect &  Rect,
QRect *  DisplayRect = nullptr 
)

translates caption/dvd button rectangle into 'screen' space

Definition at line 796 of file mythvideoout.cpp.

Referenced by SubtitleScreen::AddScaledImage(), BDOverlayScreen::DisplayBDOverlay(), and SubtitleScreen::DisplayScaledAVSubtitles().

◆ GetSafeRect()

QRect MythVideoOutput::GetSafeRect ( void  )

Returns a QRect describing an area of the screen on which it is 'safe' to render the On Screen Display.

For 'fullscreen' OSDs this will still translate to a subset of the video frame area to ensure consistency of presentation for subtitling etc.

Definition at line 850 of file mythvideoout.cpp.

Referenced by SubtitleScreen::DisplayCC608Subtitles(), SubtitleScreen::DisplayCC708Subtitles(), SubtitleScreen::DisplayRawTextSubtitles(), SubtitleScreen::DisplayTextSubtitles(), and TeletextScreen::Pulse().

◆ EnableVisualisation()

bool MythVideoOutput::EnableVisualisation ( AudioPlayer Audio,
bool  Enable,
const QString &  Name = QString("") 
)

Definition at line 733 of file mythvideoout.cpp.

Referenced by MythPlayer::EnableVisualisation().

◆ CanVisualise()

bool MythVideoOutput::CanVisualise ( AudioPlayer Audio,
MythRender Render 
)
virtual

◆ SetupVisualisation()

bool MythVideoOutput::SetupVisualisation ( AudioPlayer Audio,
MythRender Render,
const QString &  Name 
)
virtual

◆ GetVisualisation()

VideoVisual* MythVideoOutput::GetVisualisation ( void  )
inline

Definition at line 134 of file mythvideoout.h.

Referenced by MythPlayer::IsVisualising().

◆ GetVisualiserName()

QString MythVideoOutput::GetVisualiserName ( void  )

Definition at line 757 of file mythvideoout.cpp.

Referenced by MythPlayer::GetVisualiserName().

◆ GetVisualiserList()

QStringList MythVideoOutput::GetVisualiserList ( void  )
virtual

◆ DestroyVisualisation()

void MythVideoOutput::DestroyVisualisation ( void  )

Definition at line 769 of file mythvideoout.cpp.

Referenced by EnableVisualisation(), and SetupVisualisation().

◆ CalcHueBase()

int MythVideoOutput::CalcHueBase ( const QString &  AdaptorName)
static
Note
Probably no longer required

Definition at line 1041 of file mythvideoout.cpp.

Referenced by MythVAAPIInteropGLX::InitPictureAttributes().

◆ ParseDeinterlacer()

MythDeintType MythVideoOutput::ParseDeinterlacer ( const QString &  Deinterlacer)
static

Definition at line 345 of file mythvideoout.cpp.

Referenced by MythNVDECContext::SetDeinterlacing(), and SetDeinterlacing().

◆ StereoscopicModesAllowed()

virtual bool MythVideoOutput::StereoscopicModesAllowed ( void  ) const
inlinevirtual

Reimplemented in MythVideoOutputOpenGL.

Definition at line 141 of file mythvideoout.h.

Referenced by TV::Handle3D(), and TV::PlaybackMenuInit().

◆ SetStereoscopicMode()

void MythVideoOutput::SetStereoscopicMode ( StereoscopicMode  mode)
inline

Definition at line 142 of file mythvideoout.h.

Referenced by TV::Handle3D().

◆ GetStereoscopicMode()

StereoscopicMode MythVideoOutput::GetStereoscopicMode ( void  ) const
inline

Definition at line 143 of file mythvideoout.h.

Referenced by TV::PlaybackMenuInit().

◆ MoveResize()

void MythVideoOutput::MoveResize ( void  )
protectedvirtual

Definition at line 516 of file mythvideoout.cpp.

Referenced by VideoOutputD3D::Init(), and VideoOutputD3D::InputChanged().

◆ InitDisplayMeasurements()

void MythVideoOutput::InitDisplayMeasurements ( void  )
protected

Initialise display measurement.

The sole intent here is to ensure that VideoOutWindow has the correct aspect ratio when it calculates the video display rectangle.

Definition at line 1005 of file mythvideoout.cpp.

Referenced by VideoOutputD3D::Init(), MythVideoOutputOpenGL::Init(), and MythVideoOutputOpenGL::WindowResized().

◆ ShowPIPs()

void MythVideoOutput::ShowPIPs ( VideoFrame Frame,
const PIPMap PiPPlayers 
)
protectedvirtual

◆ ShowPIP()

virtual void MythVideoOutput::ShowPIP ( VideoFrame ,
MythPlayer ,
PIPLocation   
)
inlineprotectedvirtual

Reimplemented in VideoOutputD3D, and MythVideoOutputOpenGL.

Definition at line 149 of file mythvideoout.h.

Referenced by ShowPIPs().

◆ GetVisibleOSDBounds()

QRect MythVideoOutput::GetVisibleOSDBounds ( float &  VisibleAspect,
float &  FontScaling,
float  ThemeAspect 
) const
protected

Returns visible portions of total OSD bounds.

Parameters
VisibleAspectphysical aspect ratio of bounds returned
FontScalingscaling to apply to fonts
ThemeAspectaspect ration of the theme

Definition at line 474 of file mythvideoout.cpp.

Referenced by GetOSDBounds(), and GetSafeRect().

◆ GetTotalOSDBounds()

QRect MythVideoOutput::GetTotalOSDBounds ( void  ) const
protected

◆ CopyFrame()

void MythVideoOutput::CopyFrame ( VideoFrame To,
const VideoFrame From 
)
staticprotected

Member Data Documentation

◆ m_display

MythDisplay* MythVideoOutput::m_display {nullptr}
protected

◆ m_window

VideoOutWindow MythVideoOutput::m_window
protected

◆ m_videoColourSpace

VideoColourSpace MythVideoOutput::m_videoColourSpace
protected

◆ m_dbAspectOverride

AspectOverrideMode MythVideoOutput::m_dbAspectOverride {kAspect_Off}
protected

Definition at line 161 of file mythvideoout.h.

Referenced by Init(), and MythVideoOutput().

◆ m_dbAdjustFill

AdjustFillMode MythVideoOutput::m_dbAdjustFill {kAdjustFill_Off}
protected

Definition at line 162 of file mythvideoout.h.

Referenced by Init(), and MythVideoOutput().

◆ m_dbLetterboxColour

LetterBoxColour MythVideoOutput::m_dbLetterboxColour {kLetterBoxColour_Black}
protected

Definition at line 163 of file mythvideoout.h.

Referenced by MythVideoOutput(), and MythVideoOutputOpenGL::PrepareFrame().

◆ m_videoCodecID

MythCodecID MythVideoOutput::m_videoCodecID {kCodec_NONE}
protected

◆ m_maxReferenceFrames

int MythVideoOutput::m_maxReferenceFrames {16}
protected

◆ m_dbDisplayProfile

VideoDisplayProfile* MythVideoOutput::m_dbDisplayProfile {nullptr}
protected

◆ m_videoBuffers

VideoBuffers MythVideoOutput::m_videoBuffers
protected

◆ m_errorState

VideoErrorState MythVideoOutput::m_errorState {kError_None}
protected

Definition at line 168 of file mythvideoout.h.

Referenced by GetError(), VideoOutputD3D::InputChanged(), and IsErrored().

◆ m_framesPlayed

long long MythVideoOutput::m_framesPlayed {0}
protected

◆ m_visual

VideoVisual* MythVideoOutput::m_visual {nullptr}
protected

◆ m_stereo

StereoscopicMode MythVideoOutput::m_stereo {kStereoscopicModeNone}
protected

Definition at line 171 of file mythvideoout.h.

Referenced by MythVideoOutputOpenGL::PrepareFrame().

◆ m_copyFrame

MythAVCopy MythVideoOutput::m_copyFrame
protected

Definition at line 172 of file mythvideoout.h.

Referenced by VideoOutputD3D::UpdateFrame().

◆ m_deinterlacer

MythDeinterlacer MythVideoOutput::m_deinterlacer
protected

The documentation for this class was generated from the following files: