MythTV  0.25-pre
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
VideoOutput Class Reference

This class serves as the base class for all video output methods. More...

#include <videooutbase.h>

Inheritance diagram for VideoOutput:
VideoOutputD3D VideoOutputNull VideoOutputNullVAAPI VideoOutputNullVDPAU VideoOutputOpenGL VideoOutputQuartz VideoOutputVDPAU VideoOutputXv

List of all members.

Public Member Functions

 VideoOutput ()
 This constructor for VideoOutput must be followed by an Init(int,int,float,WId,int,int,int,int,WId) call.
virtual ~VideoOutput ()
 Shuts down video output.
virtual bool Init (int width, int height, float aspect, WId winid, const QRect &win_rect, MythCodecID codec_id)
 Performs most of the initialization for VideoOutput.
virtual void InitOSD (OSD *osd)
virtual void SetVideoFrameRate (float)
virtual bool IsPreferredRenderer (QSize video_size)
virtual bool SetDeinterlacingEnabled (bool)
 Attempts to enable/disable deinterlacing using existing deinterlace method when enabling.
virtual bool SetupDeinterlace (bool i, const QString &ovrf="")
 Attempts to enable or disable deinterlacing.
virtual void FallbackDeint (void)
 Fallback to non-frame-rate-doubling deinterlacing method.
virtual void BestDeint (void)
 Change to the best deinterlacing method.
virtual bool NeedsDoubleFramerate (void) const
 Should Prepare() and Show() be called twice for every ProcessFrame().
virtual bool IsBobDeint (void) const
virtual bool IsExtraProcessingRequired (void) const
 Should Prepare() and Show() and ProcessFrame be called twice for every Frameloop().
virtual bool ApproveDeintFilter (const QString &filtername) const
 Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&).
void GetDeinterlacers (QStringList &deinterlacers)
QString GetDeinterlacer (void)
virtual void PrepareFrame (VideoFrame *buffer, FrameScanType, OSD *osd)=0
virtual void Show (FrameScanType)=0
virtual void WindowResized (const QSize &new_size)
virtual bool InputChanged (const QSize &input_size, float aspect, MythCodecID myth_codec_id, void *codec_private, bool &aspect_changed)
 Tells video output to discard decoded frames and wait for new ones.
virtual void VideoAspectRatioChanged (float aspect)
 Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes.
virtual void ResizeDisplayWindow (const QRect &, bool)
 Resize Display Window.
virtual void EmbedInWidget (const QRect &rect)
 Tells video output to embed video in an existing window.
virtual void StopEmbedding (void)
 Tells video output to stop embedding video in an existing window.
virtual void ResizeForGui (void)
 If we are using DisplayRes support, return the screen size and refresh rate to those used for the GUI.
virtual void ResizeForVideo (uint width=0, uint height=0)
 Sets display parameters based on video resolution.
virtual void MoveResizeWindow (QRect new_rect)=0
virtual void MoveResize (void)
 performs all the calculations for video framing and any resizing.
virtual void Zoom (ZoomDirection direction)
 Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize().
virtual void GetOSDBounds (QRect &total, QRect &visible, float &visibleAspect, float &fontScale, float themeAspect) const
QRect GetMHEGBounds (void)
virtual void DrawSlice (VideoFrame *frame, int x, int y, int w, int h)
 Informs video output of new data for frame, used for hardware accelerated decoding.
virtual void DrawUnusedRects (bool sync=true)=0
 Draws non-video portions of the screen.
virtual float GetDisplayAspect (void) const
 Returns current display aspect ratio.
AspectOverrideMode GetAspectOverride (void) const
 Returns current aspect override mode.
virtual void ToggleAspectOverride (AspectOverrideMode aspectOverrideMode=kAspect_Toggle)
 Enforce different aspect ration than detected, then calls VideoAspectRatioChanged(float) to apply them.
AdjustFillMode GetAdjustFill (void) const
 Returns current adjust fill mode.
virtual void ToggleAdjustFill (AdjustFillMode adjustFillMode=kAdjustFill_Toggle)
 Sets up letterboxing for various standard video frame and monitor dimensions, then calls MoveResize() to apply them.
virtual void ProcessFrame (VideoFrame *frame, OSD *osd, FilterChain *filterList, const PIPMap &pipPlayers, FrameScanType scan=kScan_Ignore)=0
void ExposeEvent (void)
 Tells video output that a full repaint is needed.
PictureAttributeSupported GetSupportedPictureAttributes (void)
int ChangePictureAttribute (PictureAttribute, bool direction)
virtual int SetPictureAttribute (PictureAttribute, int newValue)
 Sets a specified picture attribute.
int GetPictureAttribute (PictureAttribute)
virtual void InitPictureAttributes (void)
bool AllowPreviewEPG (void) const
virtual bool IsPIPSupported (void) const
virtual bool IsPBPSupported (void) const
virtual bool NeedExtraAudioDecode (void) const
virtual bool hasHWAcceleration (void) const
 Return true if HW Acceleration is running.
virtual voidGetDecoderContext (unsigned char *buf, uint8_t *&id)
virtual void SetFramesPlayed (long long fp)
 Sets the number of frames played.
virtual long long GetFramesPlayed (void)
 Returns the number of frames played.
bool IsErrored () const
 Returns true if a fatal error has been encountered.
VideoErrorState GetError (void) const
 Returns error type.
void SetPrebuffering (bool normal)
 Sets whether to use a normal number of buffers or fewer buffers.
virtual void ClearAfterSeek (void)
 Tells video output to toss decoded buffers due to a seek.
virtual int ValidVideoFrames (void) const
 Returns number of frames that are fully decoded.
int FreeVideoFrames (void)
 Returns number of frames available for decoding onto.
bool EnoughFreeFrames (void)
 Returns true iff enough frames are available to decode onto.
bool EnoughDecodedFrames (void)
 Returns true iff there are plenty of decoded frames ready for display.
bool EnoughPrebufferedFrames (void)
 Returns true iff we have at least the minimum number of decoded frames ready for display.
bool IsEmbedding (void)
 Returns if videooutput is embedding.
virtual VideoFrameGetNextFreeFrame (void)
 Blocks until it is possible to return a frame for decoding onto.
virtual void ReleaseFrame (VideoFrame *frame)
 Releases a frame from the ready for decoding queue onto the queue of frames ready for display.
virtual void DeLimboFrame (VideoFrame *frame)
 Releases a frame for reuse if it is in limbo.
virtual void StartDisplayingFrame (void)
 Tell GetLastShownFrame() to return the next frame from the head of the queue of frames to display.
virtual void DoneDisplayingFrame (VideoFrame *frame)
 Releases frame returned from GetLastShownFrame() onto the queue of frames ready for decoding onto.
virtual void DiscardFrame (VideoFrame *frame)
 Releases frame from any queue onto the queue of frames ready for decoding onto.
virtual void DiscardFrames (bool kf)
 Releases all frames not being actively displayed from any queue onto the queue of frames ready for decoding onto.
virtual void ClearDummyFrame (VideoFrame *frame)
 Clears the frame to black.
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.
QString GetFrameStatus (void) const
 Returns string with status of each frame for debugging.
virtual void UpdatePauseFrame (int64_t &disp_timecode)=0
 Updates frame displayed when video is paused.
void SetVideoResize (const QRect &videoRect)
 Tells the player to resize the video frame (used for ITV)
void SetVideoScalingAllowed (bool change)
 Disable or enable underscan/overscan.
bool IsVideoScalingAllowed (void) const
 check if video underscan/overscan is allowed
virtual QRect GetPIPRect (PIPLocation location, MythPlayer *pipplayer=NULL, bool do_pixel_adj=true) const
 returns QRect of PIP based on PIPLocation
virtual void RemovePIP (MythPlayer *pipplayer)
virtual void SetPIPState (PIPState setting)
virtual QString GetOSDRenderer (void) const
 \ brief return OSD renderer type for this videoOutput
virtual MythPainterGetOSDPainter (void)
virtual bool GetScreenShot (int width=0, int height=0, QString filename="")
QString GetFilters (void) const
QRect GetImageRect (const QRect &rect, QRect *display=NULL)
 translates caption/dvd button rectangle into 'screen' space
QRect GetSafeRect (void)
 Returns a QRect describing an area of the screen on which it is 'safe' to render the On Screen Display.
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 (render_opts &opts)
static VideoOutputCreate (const QString &decoder, MythCodecID codec_id, void *codec_priv, PIPState pipState, const QSize &video_dim, float video_aspect, QWidget *parentwidget, const QRect &embed_rect, float video_prate, uint playerFlags)
 Depending on compile-time configure settings and run-time renderer settings, create a relevant VideoOutput subclass.
static int CalcHueBase (const QString &adaptor_name)

Protected Member Functions

void InitBuffers (int numdecode, bool extra_for_pause, int need_free, int needprebuffer_normal, int needprebuffer_small, int keepprebuffer)
void InitDisplayMeasurements (uint width, uint height, bool resize)
 Init display measurements based on database settings and actual screen parameters.
virtual void ShowPIPs (VideoFrame *frame, const PIPMap &pipPlayers)
virtual void ShowPIP (VideoFrame *frame, MythPlayer *pipplayer, PIPLocation loc)
 Composites PiP image onto a video frame.
virtual bool DisplayOSD (VideoFrame *frame, OSD *osd)
 If the OSD has changed, this will convert the OSD buffer to the OSDSurface's color format.
QRect GetVisibleOSDBounds (float &, float &, float) const
 Returns visible portions of total OSD bounds.
QRect GetTotalOSDBounds (void) const
 Returns total OSD bounds.
virtual bool hasFullScreenOSD (void) const
void DoPipResize (int pipwidth, int pipheight)
 Sets up Picture in Picture image resampler.
void ShutdownPipResize (void)
 Shuts down Picture in Picture image resampler.
void ResizeVideo (VideoFrame *frame)
void DoVideoResize (const QSize &inDim, const QSize &outDim)
 Sets up Picture in Picture image resampler.
virtual void ShutdownVideoResize (void)

Static Protected Member Functions

static void CopyFrame (VideoFrame *to, const VideoFrame *from)
 Copies frame data from one VideoFrame to another.

Protected Attributes

VideoOutWindow window
QSize db_display_dim
 Screen dimensions in millimeters from DB.
VideoColourSpace videoColourSpace
AspectOverrideMode db_aspectoverride
AdjustFillMode db_adjustfill
LetterBoxColour db_letterbox_colour
QString db_deint_filtername
MythCodecID video_codec_id
VideoDisplayProfiledb_vdisp_profile
QSize pip_desired_display_size
QSize pip_display_size
QSize pip_video_size
unsigned char * pip_tmp_buf
unsigned char * pip_tmp_buf2
struct SwsContext * pip_scaling_context
VideoFrame pip_tmp_image
bool vsz_enabled
QRect vsz_desired_display_rect
QSize vsz_display_size
QSize vsz_video_size
unsigned char * vsz_tmp_buf
struct SwsContext * vsz_scale_context
bool m_deinterlacing
QString m_deintfiltername
FilterManagerm_deintFiltMan
FilterChainm_deintFilter
bool m_deinterlaceBeforeOSD
VideoBuffers vbuffers
 VideoBuffers instance used to track video output buffers.
VideoErrorState errorState
long long framesPlayed
DisplayResdisplay_res
QSize monitor_sz
QSize monitor_dim
MythYUVAPainterosd_painter
MythImageosd_image
VideoVisualm_visual
StereoscopicMode m_stereo

Detailed Description

This class serves as the base class for all video output methods.

The basic use is:

 VideoOutputType type = kVideoOutput_Default;
 vo = VideoOutput::InitVideoOut(type);
 vo->Init(width, height, aspect ...);

 // Then create two threads.
 // In the decoding thread
 while (decoding)
 {
     if (vo->WaitForAvailable(1000)
     {
         frame = vo->GetNextFreeFrame(); // remove frame from "available"
         av_lib_process(frame);   // do something to fill it.
         // call DrawSlice()      // if you need piecemeal processing
                                  // by VideoOutput use DrawSlice
         vo->ReleaseFrame(frame); // enqueues frame in "used" queue
     }
 }

 // In the displaying thread
 while (playing)
 {
     if (vo->EnoughPrebufferedFrames())
     {
         // Sets "Last Shown Frame" to head of "used" queue
         vo->StartDisplayingFrame();
         // Get pointer to "Last Shown Frame"
         frame = vo->GetLastShownFrame();
         // add OSD, do any filtering, etc.
         vo->ProcessFrame(frame, osd, filters, pict-in-pict);
         // tells show what frame to be show, do other last minute stuff
         vo->PrepareFrame(frame, scan);
         // here you wait until it's time to show the frame
         // Show blits the last prepared frame to the screen
         // as quickly as possible.
         vo->Show(scan);
         // remove frame from the head of "used",
         // vo must get it into "available" eventually.
         vo->DoneDisplayingFrame();
     }
 }
 delete vo;

Note: Show() may be called multiple times between PrepareFrame() and DoneDisplayingFrame(). But if a frame is ever removed from available via GetNextFreeFrame(), you must either call DoneDisplayFrame() or call DiscardFrame(VideoFrame*) on it.

Note: ProcessFrame() may be called multiple times on a frame, to update an OSD for example.

The VideoBuffers class handles the buffer tracking, see it for more details on the states a buffer can take before it becomes available for reuse.

See also:
VideoBuffers, MythPlayer

Definition at line 47 of file videooutbase.h.


Constructor & Destructor Documentation

This constructor for VideoOutput must be followed by an Init(int,int,float,WId,int,int,int,int,WId) call.

Definition at line 371 of file videooutbase.cpp.

Shuts down video output.

Definition at line 435 of file videooutbase.cpp.


Member Function Documentation

VideoOutput * VideoOutput::Create ( const QString &  decoder,
MythCodecID  codec_id,
void codec_priv,
PIPState  pipState,
const QSize &  video_dim,
float  video_aspect,
QWidget *  parentwidget,
const QRect &  embed_rect,
float  video_prate,
uint  playerFlags 
) [static]

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

Returns:
instance of VideoOutput if successful, NULL otherwise.

Definition at line 109 of file videooutbase.cpp.

Referenced by MythPlayer::InitVideo(), VideoOutputOpenGL::SetupContext(), and SetupVisualisation().

bool VideoOutput::Init ( int  width,
int  height,
float  aspect,
WId  winid,
const QRect &  win_rect,
MythCodecID  codec_id 
) [virtual]

Performs most of the initialization for VideoOutput.

Returns:
true if successful, false otherwise.

Reimplemented in VideoOutputNullVDPAU, VideoOutputXv, VideoOutputVDPAU, VideoOutputD3D, VideoOutputNullVAAPI, VideoOutputOpenGL, VideoOutputOpenGLVAAPI, VideoOutputNull, and VideoOutputQuartz.

Definition at line 463 of file videooutbase.cpp.

Referenced by Create().

void VideoOutput::InitOSD ( OSD osd) [virtual]

Definition at line 491 of file videooutbase.cpp.

Referenced by MythPlayer::VideoStart().

void VideoOutput::SetVideoFrameRate ( float  playback_fps) [virtual]

Reimplemented in VideoOutputQuartz.

Definition at line 518 of file videooutbase.cpp.

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

bool VideoOutput::IsPreferredRenderer ( QSize  video_size) [virtual]

Definition at line 504 of file videooutbase.cpp.

Referenced by MythPlayer::ReinitVideo().

Attempts to enable/disable deinterlacing using existing deinterlace method when enabling.

Reimplemented in VideoOutputNullVDPAU, VideoOutputOpenGL, VideoOutputXv, VideoOutputOpenGLVAAPI, VideoOutputNullVAAPI, and VideoOutputVDPAU.

Definition at line 529 of file videooutbase.cpp.

Referenced by MythPlayer::SetScanType().

bool VideoOutput::SetupDeinterlace ( bool  i,
const QString &  ovrf = "" 
) [virtual]

Attempts to enable or disable deinterlacing.

Returns:
true if successful, false otherwise.
Parameters:
overridefilteroptional, explicitly use this nondefault deint filter

Reimplemented in VideoOutputNullVDPAU, VideoOutputOpenGL, VideoOutputXv, VideoOutputOpenGLVAAPI, VideoOutputVDPAU, VideoOutputNullVAAPI, and VideoOutputNull.

Definition at line 548 of file videooutbase.cpp.

Referenced by BestDeint(), FallbackDeint(), MythPlayer::ForceDeinterlacer(), SetDeinterlacingEnabled(), and MythPlayer::VideoStart().

Fallback to non-frame-rate-doubling deinterlacing method.

Definition at line 635 of file videooutbase.cpp.

Referenced by MythPlayer::ChangeSpeed(), and MythPlayer::FallbackDeint().

void VideoOutput::BestDeint ( void  ) [virtual]

Should Prepare() and Show() be called twice for every ProcessFrame().

Returns:
m_deintfiltername == "bobdeint" && m_deinterlacing

Definition at line 670 of file videooutbase.cpp.

Referenced by MythPlayer::ChangeSpeed(), MythPlayer::ForceDeinterlacer(), MythPlayer::SetScanType(), and MythPlayer::VideoStart().

bool VideoOutput::IsBobDeint ( void  ) const [virtual]

Should Prepare() and Show() and ProcessFrame be called twice for every Frameloop().

All adaptive full framerate deinterlacers require an extra ProcessFrame() call.

Returns:
true if deint name contains doubleprocess

Definition at line 660 of file videooutbase.cpp.

Referenced by MythPlayer::ChangeSpeed(), MythPlayer::ForceDeinterlacer(), MythPlayer::SetScanType(), and MythPlayer::VideoStart().

bool VideoOutput::ApproveDeintFilter ( const QString &  filtername) const [virtual]

Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&).

Approves all deinterlace filters, except ones which must be supported by a specific video output class.

Returns:
whether current video output supports a specific filter.

Reimplemented in VideoOutputD3D, VideoOutputOpenGL, VideoOutputNullVDPAU, VideoOutputXv, VideoOutputOpenGLVAAPI, VideoOutputVDPAU, and VideoOutputNullVAAPI.

Definition at line 689 of file videooutbase.cpp.

Referenced by SetupDeinterlace().

void VideoOutput::GetDeinterlacers ( QStringList &  deinterlacers)

Definition at line 698 of file videooutbase.cpp.

Referenced by TV::FillOSDMenuVideo().

Definition at line 706 of file videooutbase.cpp.

Referenced by TV::FillOSDMenuVideo().

virtual void VideoOutput::PrepareFrame ( VideoFrame buffer,
FrameScanType  ,
OSD osd 
) [pure virtual]
virtual void VideoOutput::Show ( FrameScanType  ) [pure virtual]
virtual void VideoOutput::WindowResized ( const QSize &  new_size) [inline, virtual]

Reimplemented in VideoOutputXv, and VideoOutputD3D.

Definition at line 79 of file videooutbase.h.

Referenced by MythPlayer::WindowResized().

bool VideoOutput::InputChanged ( const QSize &  input_size,
float  aspect,
MythCodecID  myth_codec_id,
void codec_private,
bool aspect_only 
) [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 VideoOutputXv, VideoOutputNullVDPAU, VideoOutputVDPAU, VideoOutputD3D, VideoOutputQuartz, VideoOutputOpenGL, VideoOutputOpenGLVAAPI, VideoOutputNull, and VideoOutputNullVAAPI.

Definition at line 729 of file videooutbase.cpp.

Referenced by MythPlayer::ReinitVideo().

void VideoOutput::VideoAspectRatioChanged ( float  aspect) [virtual]

Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes.

Parameters:
aspectvideo aspect ratio to use

Reimplemented in VideoOutputXv, VideoOutputVDPAU, and VideoOutputQuartz.

Definition at line 719 of file videooutbase.cpp.

Referenced by MythPlayer::CheckAspectRatio(), Init(), VideoOutputOpenGLVAAPI::InputChanged(), VideoOutputOpenGL::InputChanged(), and VideoOutputD3D::InputChanged().

void VideoOutput::ResizeDisplayWindow ( const QRect &  rect,
bool  save_visible_rect 
) [virtual]

Resize Display Window.

Definition at line 749 of file videooutbase.cpp.

Referenced by PlayerContext::ResizePIPWindow(), and VideoOutputOpenGL::SetupOpenGL().

void VideoOutput::EmbedInWidget ( const QRect &  rect) [virtual]

Tells video output to stop embedding video in an existing window.

See also:
EmbedInWidget(const QRect&)

Reimplemented in VideoOutputXv, VideoOutputNullVDPAU, VideoOutputVDPAU, VideoOutputD3D, VideoOutputNullVAAPI, VideoOutputOpenGL, VideoOutputQuartz, and VideoOutputNull.

Definition at line 768 of file videooutbase.cpp.

Referenced by Init(), VideoOutputNull::StopEmbedding(), and MythPlayer::StopEmbedding().

If we are using DisplayRes support, return the screen size and refresh rate to those used for the GUI.

Reimplemented in VideoOutputQuartz.

Definition at line 1647 of file videooutbase.cpp.

Referenced by TV::DoEditSchedule(), and ~VideoOutput().

void VideoOutput::ResizeForVideo ( uint  width = 0,
uint  height = 0 
) [virtual]

Sets display parameters based on video resolution.

If we are using DisplayRes support we use the video size to determine the desired screen size and refresh rate. If we are also not using "GuiSizeForTV" we also resize the video output window.

Parameters:
width,heightResolution of the video we will be playing

Reimplemented in VideoOutputQuartz.

Definition at line 1664 of file videooutbase.cpp.

Referenced by TV::customEvent(), InitDisplayMeasurements(), and VideoOutputXv::InputChanged().

virtual void VideoOutput::MoveResizeWindow ( QRect  new_rect) [pure virtual]

performs all the calculations for video framing and any resizing.

First we apply playback over/underscanning and offsetting, then we letterbox settings, and finally we apply manual scale & move properties for "Zoom Mode".

See also:
Zoom(ZoomDirection), ToggleAdjustFill(int)

Reimplemented in VideoOutputXv, VideoOutputOpenGL, and VideoOutputQuartz.

Definition at line 866 of file videooutbase.cpp.

Referenced by VideoOutputVDPAU::EmbedInWidget(), VideoOutputNull::Init(), VideoOutputD3D::Init(), VideoOutputVDPAU::Init(), VideoOutputNull::InputChanged(), VideoOutputD3D::InputChanged(), VideoOutputVDPAU::InputChanged(), ResizeForVideo(), VideoOutputVDPAU::StopEmbedding(), VideoOutputNull::Zoom(), VideoOutputD3D::Zoom(), and VideoOutputVDPAU::Zoom().

void VideoOutput::Zoom ( ZoomDirection  direction) [virtual]

Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize().

See also:
ToggleAdjustFill(AdjustFillMode)

Reimplemented in VideoOutputXv, VideoOutputNullVDPAU, VideoOutputVDPAU, VideoOutputD3D, VideoOutputNullVAAPI, VideoOutputQuartz, VideoOutputOpenGL, and VideoOutputNull.

Definition at line 877 of file videooutbase.cpp.

Referenced by MythPlayer::Zoom().

void VideoOutput::GetOSDBounds ( QRect &  total,
QRect &  visible,
float &  visibleAspect,
float &  fontScale,
float  themeAspect 
) const [virtual]
void VideoOutput::DrawSlice ( VideoFrame frame,
int  x,
int  y,
int  w,
int  h 
) [virtual]

Informs video output of new data for frame, used for hardware accelerated decoding.

Reimplemented in VideoOutputNullVDPAU, and VideoOutputVDPAU.

Definition at line 778 of file videooutbase.cpp.

Referenced by MythPlayer::DrawSlice().

virtual void VideoOutput::DrawUnusedRects ( bool  sync = true) [pure virtual]

Draws non-video portions of the screen.

Parameters:
syncif set any queued up draws are sent immediately to the graphics context and we block until they have completed.

Implemented in VideoOutputXv, VideoOutputNullVDPAU, VideoOutputVDPAU, VideoOutputQuartz, VideoOutputNullVAAPI, VideoOutputD3D, VideoOutputOpenGL, and VideoOutputNull.

float VideoOutput::GetDisplayAspect ( void  ) const [virtual]

Returns current display aspect ratio.

Definition at line 1259 of file videooutbase.cpp.

Referenced by GetVisibleOSDBounds().

Returns current aspect override mode.

See also:
ToggleAspectOverride(AspectOverrideMode)

Definition at line 1249 of file videooutbase.cpp.

Referenced by MythPlayer::GetAspectOverride().

Enforce different aspect ration than detected, then calls VideoAspectRatioChanged(float) to apply them.

See also:
Zoom(ZoomDirection), ToggleAdjustFill(AdjustFillMode)

Reimplemented in VideoOutputQuartz.

Definition at line 889 of file videooutbase.cpp.

Referenced by MythPlayer::ToggleAspectOverride().

Returns current adjust fill mode.

See also:
ToggleAdjustFill(AdjustFillMode)

Definition at line 1254 of file videooutbase.cpp.

Referenced by MythPlayer::GetAdjustFill().

Sets up letterboxing for various standard video frame and monitor dimensions, then calls MoveResize() to apply them.

See also:
Zoom(ZoomDirection), ToggleAspectOverride(AspectOverrideMode)

Reimplemented in VideoOutputQuartz.

Definition at line 901 of file videooutbase.cpp.

Referenced by MythPlayer::ToggleAdjustFill().

virtual void VideoOutput::ProcessFrame ( VideoFrame frame,
OSD osd,
FilterChain filterList,
const PIPMap pipPlayers,
FrameScanType  scan = kScan_Ignore 
) [pure virtual]

Tells video output that a full repaint is needed.

Definition at line 1637 of file videooutbase.cpp.

Referenced by MythPlayer::ExposeEvent(), and MythPlayer::UnpauseVideo().

int VideoOutput::ChangePictureAttribute ( PictureAttribute  attributeType,
bool  direction 
)

Definition at line 906 of file videooutbase.cpp.

Referenced by TV::DoChangePictureAttribute().

int VideoOutput::SetPictureAttribute ( PictureAttribute  attribute,
int  newValue 
) [virtual]

Sets a specified picture attribute.

Parameters:
attributePicture attribute to set.
newValueValue to set attribute to.
Returns:
Set value if it succeeds, -1 if it does not.

Reimplemented in VideoOutputXv, VideoOutputVDPAU, VideoOutputOpenGLVAAPI, and VideoOutputOpenGL.

Definition at line 933 of file videooutbase.cpp.

Referenced by ChangePictureAttribute(), TV::DoChangePictureAttribute(), MythPlayer::ToggleNightMode(), and MythPlayer::ToggleStudioLevels().

virtual void VideoOutput::InitPictureAttributes ( void  ) [inline, virtual]

Reimplemented in VideoOutputXv, VideoOutputVDPAU, VideoOutputOpenGLVAAPI, and VideoOutputOpenGL.

Definition at line 138 of file videooutbase.h.

Definition at line 851 of file videooutbase.cpp.

Referenced by TV::DoEditSchedule().

virtual bool VideoOutput::IsPIPSupported ( void  ) const [inline, virtual]

Reimplemented in VideoOutputXv, VideoOutputVDPAU, VideoOutputD3D, and VideoOutputOpenGL.

Definition at line 142 of file videooutbase.h.

Referenced by PlayerContext::IsPIPSupported().

virtual bool VideoOutput::IsPBPSupported ( void  ) const [inline, virtual]

Reimplemented in VideoOutputXv, and VideoOutputVDPAU.

Definition at line 143 of file videooutbase.h.

Referenced by PlayerContext::IsPBPSupported().

virtual bool VideoOutput::NeedExtraAudioDecode ( void  ) const [inline, virtual]

Reimplemented in VideoOutputXv, VideoOutputVDPAU, and VideoOutputQuartz.

Definition at line 144 of file videooutbase.h.

Referenced by MythPlayer::CheckExtraAudioDecode().

virtual bool VideoOutput::hasHWAcceleration ( void  ) const [inline, virtual]

Return true if HW Acceleration is running.

Reimplemented in VideoOutputVDPAU, and VideoOutputD3D.

Definition at line 147 of file videooutbase.h.

Referenced by TV::FillOSDMenuVideo(), and MythPlayer::PrebufferEnoughFrames().

virtual void* VideoOutput::GetDecoderContext ( unsigned char *  buf,
uint8_t *&  id 
) [inline, virtual]

Reimplemented in VideoOutputD3D, VideoOutputOpenGLVAAPI, and VideoOutputNullVAAPI.

Definition at line 148 of file videooutbase.h.

Referenced by MythPlayer::GetDecoderContext().

virtual void VideoOutput::SetFramesPlayed ( long long  fp) [inline, virtual]

Sets the number of frames played.

Definition at line 151 of file videooutbase.h.

Referenced by MythPlayer::SetFramesPlayed().

virtual long long VideoOutput::GetFramesPlayed ( void  ) [inline, virtual]

Returns the number of frames played.

Definition at line 153 of file videooutbase.h.

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

bool VideoOutput::IsErrored ( void  ) const [inline]

Returns error type.

Definition at line 158 of file videooutbase.h.

Referenced by MythPlayer::SetErrored().

void VideoOutput::SetPrebuffering ( bool  normal) [inline]

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

Definition at line 161 of file videooutbase.h.

Referenced by MythPlayer::ChangeSpeed().

virtual void VideoOutput::ClearAfterSeek ( void  ) [inline, virtual]

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

Reimplemented in VideoOutputXv, VideoOutputNullVDPAU, and VideoOutputVDPAU.

Definition at line 163 of file videooutbase.h.

Referenced by MythPlayer::ClearAfterSeek().

virtual int VideoOutput::ValidVideoFrames ( void  ) const [inline, virtual]

Returns number of frames available for decoding onto.

Definition at line 169 of file videooutbase.h.

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

Returns true iff enough frames are available to decode onto.

Definition at line 171 of file videooutbase.h.

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

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

Definition at line 174 of file videooutbase.h.

Referenced by MythPlayer::PrebufferEnoughFrames().

Returns true iff we have at least the minimum number of decoded frames ready for display.

Definition at line 177 of file videooutbase.h.

Referenced by MythPlayer::PrebufferEnoughFrames().

Returns if videooutput is embedding.

Definition at line 1632 of file videooutbase.cpp.

Referenced by MythPlayer::IsEmbedding().

virtual VideoFrame* VideoOutput::GetNextFreeFrame ( void  ) [inline, virtual]

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

Definition at line 185 of file videooutbase.h.

Referenced by MythPlayer::GetNextVideoFrame().

virtual void VideoOutput::ReleaseFrame ( VideoFrame frame) [inline, virtual]

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

Reimplemented in VideoOutputNullVDPAU, and VideoOutputNullVAAPI.

Definition at line 189 of file videooutbase.h.

Referenced by MythPlayer::ReleaseNextVideoFrame().

virtual void VideoOutput::DeLimboFrame ( VideoFrame frame) [inline, virtual]

Releases a frame for reuse if it is in limbo.

Definition at line 191 of file videooutbase.h.

Referenced by MythPlayer::DeLimboFrame().

virtual void VideoOutput::StartDisplayingFrame ( void  ) [inline, virtual]

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

Definition at line 194 of file videooutbase.h.

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

virtual void VideoOutput::DoneDisplayingFrame ( VideoFrame frame) [inline, virtual]

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

Reimplemented in VideoOutputVDPAU, VideoOutputNullVDPAU, and VideoOutputNullVAAPI.

Definition at line 197 of file videooutbase.h.

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

virtual void VideoOutput::DiscardFrame ( VideoFrame frame) [inline, virtual]

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

Reimplemented in VideoOutputXv, VideoOutputVDPAU, VideoOutputNullVDPAU, and VideoOutputNullVAAPI.

Definition at line 201 of file videooutbase.h.

Referenced by MythPlayer::DiscardVideoFrame().

virtual void VideoOutput::DiscardFrames ( bool  kf) [inline, virtual]

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

Reimplemented in VideoOutputXv, VideoOutputVDPAU, and VideoOutputNullVDPAU.

Definition at line 204 of file videooutbase.h.

Referenced by VideoOutputNullVAAPI::DeleteBuffers(), VideoOutputOpenGL::DestroyCPUResources(), MythPlayer::DiscardVideoFrames(), and InputChanged().

Clears the frame to black.

Subclasses may choose to mark the frame as a dummy and act appropriately

Reimplemented in VideoOutputVDPAU.

Definition at line 1288 of file videooutbase.cpp.

Referenced by MythPlayer::ClearDummyVideoFrame().

virtual void VideoOutput::CheckFrameStates ( void  ) [inline, virtual]

Reimplemented in VideoOutputVDPAU, and VideoOutputNullVDPAU.

Definition at line 208 of file videooutbase.h.

virtual VideoFrame* VideoOutput::GetLastDecodedFrame ( void  ) [inline, virtual]
Bug:
not implemented correctly. vpos is not updated.

Reimplemented in VideoOutputNullVDPAU, and VideoOutputNullVAAPI.

Definition at line 211 of file videooutbase.h.

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

virtual VideoFrame* VideoOutput::GetLastShownFrame ( void  ) [inline, virtual]
QString VideoOutput::GetFrameStatus ( void  ) const [inline]

Returns string with status of each frame for debugging.

Definition at line 220 of file videooutbase.h.

Referenced by MythPlayer::PrebufferEnoughFrames().

virtual void VideoOutput::UpdatePauseFrame ( int64_t disp_timecode) [pure virtual]
void VideoOutput::SetVideoResize ( const QRect &  videoRect)

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

Definition at line 1297 of file videooutbase.cpp.

Referenced by InteractiveScreen::Close(), and MythPlayer::SetVideoResize().

Disable or enable underscan/overscan.

Definition at line 1316 of file videooutbase.cpp.

Referenced by Create().

check if video underscan/overscan is allowed

Definition at line 1264 of file videooutbase.cpp.

QRect VideoOutput::GetPIPRect ( PIPLocation  location,
MythPlayer pipplayer = NULL,
bool  do_pixel_adj = true 
) const [virtual]

returns QRect of PIP based on PIPLocation

Reimplemented in VideoOutputXv.

Definition at line 954 of file videooutbase.cpp.

Referenced by VideoOutputXv::GetPIPRect(), TV::ResizePIPWindow(), VideoOutputOpenGL::ShowPIP(), VideoOutputD3D::ShowPIP(), VideoOutputVDPAU::ShowPIP(), and ShowPIP().

virtual void VideoOutput::RemovePIP ( MythPlayer pipplayer) [inline, virtual]

Reimplemented in VideoOutputVDPAU, VideoOutputD3D, and VideoOutputOpenGL.

Definition at line 237 of file videooutbase.h.

Referenced by MythPlayer::RemovePIPPlayer().

void VideoOutput::SetPIPState ( PIPState  setting) [virtual]

Definition at line 1614 of file videooutbase.cpp.

Referenced by Create().

QString VideoOutput::GetOSDRenderer ( void  ) const [virtual]

\ brief return OSD renderer type for this videoOutput

Definition at line 946 of file videooutbase.cpp.

virtual MythPainter* VideoOutput::GetOSDPainter ( void  ) [inline, virtual]
virtual bool VideoOutput::GetScreenShot ( int  width = 0,
int  height = 0,
QString  filename = "" 
) [inline, virtual]

Reimplemented in VideoOutputVDPAU.

Definition at line 243 of file videooutbase.h.

Referenced by MythPlayer::GetScreenShot().

QString VideoOutput::GetFilters ( void  ) const
QRect VideoOutput::GetImageRect ( const QRect &  rect,
QRect *  display = NULL 
)

translates caption/dvd button rectangle into 'screen' space

Definition at line 1533 of file videooutbase.cpp.

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

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 1603 of file videooutbase.cpp.

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

bool VideoOutput::EnableVisualisation ( AudioPlayer audio,
bool  enable,
const QString &  name = QString("") 
)

Definition at line 1426 of file videooutbase.cpp.

Referenced by MythPlayer::EnableVisualisation().

bool VideoOutput::CanVisualise ( AudioPlayer audio,
MythRender render 
) [virtual]
bool VideoOutput::SetupVisualisation ( AudioPlayer audio,
MythRender render,
const QString &  name 
) [virtual]

Definition at line 257 of file videooutbase.h.

Referenced by MythPlayer::IsVisualising().

Definition at line 1450 of file videooutbase.cpp.

Referenced by MythPlayer::GetVisualiserName().

QStringList VideoOutput::GetVisualiserList ( void  ) [virtual]

Reimplemented in VideoOutputVDPAU, and VideoOutputOpenGL.

Definition at line 1457 of file videooutbase.cpp.

Referenced by MythPlayer::GetVisualiserList().

Definition at line 1462 of file videooutbase.cpp.

Referenced by EnableVisualisation(), and SetupVisualisation().

int VideoOutput::CalcHueBase ( const QString &  adaptor_name) [static]

Definition at line 1830 of file videooutbase.cpp.

Referenced by VAAPIContext::CreateDisplay(), and VideoOutputXv::InitXVideo().

virtual bool VideoOutput::StereoscopicModesAllowed ( void  ) const [inline, virtual]

Reimplemented in VideoOutputOpenGL.

Definition at line 266 of file videooutbase.h.

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

Definition at line 267 of file videooutbase.h.

Referenced by TV::Handle3D().

Definition at line 268 of file videooutbase.h.

Referenced by TV::FillOSDMenuVideo().

void VideoOutput::InitBuffers ( int  numdecode,
bool  extra_for_pause,
int  need_free,
int  needprebuffer_normal,
int  needprebuffer_small,
int  keepprebuffer 
) [protected]
void VideoOutput::InitDisplayMeasurements ( uint  width,
uint  height,
bool  resize 
) [protected]

Init display measurements based on database settings and actual screen parameters.

Definition at line 1716 of file videooutbase.cpp.

Referenced by VideoOutputOpenGL::CreateGPUResources(), VideoOutputD3D::Init(), VideoOutputVDPAU::Init(), VideoOutputXv::Init(), and VideoOutputOpenGL::ProcessFrame().

void VideoOutput::ShowPIPs ( VideoFrame frame,
const PIPMap pipPlayers 
) [protected, virtual]
void VideoOutput::ShowPIP ( VideoFrame frame,
MythPlayer pipplayer,
PIPLocation  loc 
) [protected, virtual]

Composites PiP image onto a video frame.

Note: This only works with memory backed VideoFrames.

Parameters:
frameFrame to composite PiP onto.
pipplayerPicture-in-Picture Player.
locLocation of this PiP on the frame.

Reimplemented in VideoOutputVDPAU, VideoOutputD3D, and VideoOutputOpenGL.

Definition at line 1038 of file videooutbase.cpp.

Referenced by ShowPIPs().

bool VideoOutput::DisplayOSD ( VideoFrame frame,
OSD osd 
) [protected, virtual]

If the OSD has changed, this will convert the OSD buffer to the OSDSurface's color format.

If the destination format is either IA44 or AI44 the osd is converted to greyscale.

Returns:
true if visible, false otherwise

Definition at line 1331 of file videooutbase.cpp.

Referenced by VideoOutputQuartz::ProcessFrame(), and VideoOutputXv::ProcessFrame().

QRect VideoOutput::GetVisibleOSDBounds ( float &  visible_aspect,
float &  font_scaling,
float  themeaspect 
) const [protected]

Returns visible portions of total OSD bounds.

Parameters:
visible_aspectphysical aspect ratio of bounds returned
font_scalingscaling to apply to fonts

Definition at line 802 of file videooutbase.cpp.

Referenced by GetImageRect(), GetOSDBounds(), and GetSafeRect().

QRect VideoOutput::GetTotalOSDBounds ( void  ) const [protected]
virtual bool VideoOutput::hasFullScreenOSD ( void  ) const [inline, protected, virtual]
void VideoOutput::CopyFrame ( VideoFrame to,
const VideoFrame from 
) [static, protected]

Copies frame data from one VideoFrame to another.

Note: The frames must have the same width, height, and format.

Parameters:
toThe destination frame.
fromThe source frame

Definition at line 1476 of file videooutbase.cpp.

Referenced by VideoOutputQuartz::ProcessFrame(), VideoOutputOpenGL::ProcessFrame(), VideoOutputD3D::ProcessFrame(), VideoOutputXv::ProcessFrame(), VideoOutputOpenGL::UpdatePauseFrame(), VideoOutputNull::UpdatePauseFrame(), VideoOutputD3D::UpdatePauseFrame(), VideoOutputQuartz::UpdatePauseFrame(), and VideoOutputXv::UpdatePauseFrame().

void VideoOutput::DoPipResize ( int  pipwidth,
int  pipheight 
) [protected]

Sets up Picture in Picture image resampler.

Parameters:
pipwidthinput width
pipheightinput height
See also:
ShutdownPipResize(), ShowPIPs(VideoFrame*,const PIPMap&)

Definition at line 967 of file videooutbase.cpp.

Referenced by ShowPIP().

Shuts down Picture in Picture image resampler.

See also:
VideoOutput::DoPipResize(int,int), ShowPIPs(VideoFrame*,const PIPMap&)

Definition at line 997 of file videooutbase.cpp.

Referenced by DoPipResize(), and ~VideoOutput().

void VideoOutput::ResizeVideo ( VideoFrame frame) [protected]

Definition at line 1178 of file videooutbase.cpp.

Referenced by DisplayOSD().

void VideoOutput::DoVideoResize ( const QSize &  inDim,
const QSize &  outDim 
) [protected]

Sets up Picture in Picture image resampler.

Parameters:
inDiminput width and height
outDimoutput width and height
See also:
ShutdownPipResize(), ShowPIPs(VideoFrame*,const PIPMap&)

Definition at line 1155 of file videooutbase.cpp.

Referenced by ResizeVideo().

void VideoOutput::ShutdownVideoResize ( void  ) [protected, virtual]

Definition at line 1269 of file videooutbase.cpp.

Referenced by DoVideoResize(), ResizeVideo(), SetVideoResize(), and ~VideoOutput().


Member Data Documentation

Definition at line 295 of file videooutbase.h.

Referenced by AllowPreviewEPG(), Create(), VideoOutputOpenGL::CreateBuffers(), VideoOutputXv::CreateBuffers(), VideoOutputD3D::CreateDecoder(), VideoOutputOpenGL::CreateGPUResources(), VideoOutputQuartz::CreateQuartzBuffers(), VideoOutputXv::CreateShmImages(), VideoOutputOpenGLVAAPI::CreateVAAPIContext(), VideoOutputVDPAU::CreateVideoSurfaces(), VideoOutputNullVDPAU::CreateVideoSurfaces(), DisplayOSD(), VideoOutputVDPAU::DrawSlice(), VideoOutputNullVDPAU::DrawSlice(), VideoOutputVDPAU::DrawUnusedRects(), VideoOutputXv::DrawUnusedRects(), VideoOutputNull::EmbedInWidget(), VideoOutputQuartz::EmbedInWidget(), VideoOutputOpenGL::EmbedInWidget(), VideoOutputD3D::EmbedInWidget(), VideoOutputVDPAU::EmbedInWidget(), VideoOutputXv::EmbedInWidget(), EmbedInWidget(), ExposeEvent(), GetAdjustFill(), GetAspectOverride(), GetDisplayAspect(), GetImageRect(), GetMHEGBounds(), VideoOutputXv::GetPIPRect(), GetPIPRect(), GetTotalOSDBounds(), GetVisibleOSDBounds(), VideoOutputQuartz::Init(), VideoOutputNull::Init(), VideoOutputOpenGLVAAPI::Init(), VideoOutputOpenGL::Init(), VideoOutputNullVAAPI::Init(), VideoOutputD3D::Init(), VideoOutputVDPAU::Init(), VideoOutputXv::Init(), Init(), VideoOutputNullVAAPI::InitBuffers(), VideoOutputD3D::InitBuffers(), VideoOutputNullVDPAU::InitBuffers(), VideoOutputVDPAU::InitBuffers(), InitDisplayMeasurements(), VideoOutputVDPAU::InitPictureAttributes(), VideoOutputVDPAU::InitRender(), VideoOutputXv::InitSetupBuffers(), VideoOutputXv::InitVideoBuffers(), VideoOutputXv::InitXlib(), VideoOutputXv::InitXShm(), VideoOutputXv::InitXVideo(), VideoOutputNullVAAPI::InputChanged(), VideoOutputNull::InputChanged(), VideoOutputOpenGLVAAPI::InputChanged(), VideoOutputOpenGL::InputChanged(), VideoOutputQuartz::InputChanged(), VideoOutputD3D::InputChanged(), VideoOutputVDPAU::InputChanged(), VideoOutputNullVDPAU::InputChanged(), VideoOutputXv::InputChanged(), InputChanged(), IsEmbedding(), IsPreferredRenderer(), IsVideoScalingAllowed(), VideoOutputQuartz::MoveResize(), VideoOutputOpenGL::MoveResize(), VideoOutputXv::MoveResize(), MoveResize(), VideoOutputOpenGL::PrepareFrame(), VideoOutputD3D::PrepareFrame(), VideoOutputVDPAU::PrepareFrame(), VideoOutputXv::PrepareFrameMem(), VideoOutputQuartz::ProcessFrame(), VideoOutputOpenGL::ProcessFrame(), VideoOutputD3D::ProcessFrame(), VideoOutputXv::ProcessFrame(), ChromaKeyOSD::ProcessOSD(), ResizeDisplayWindow(), VideoOutputQuartz::ResizeForVideo(), ResizeForVideo(), VideoOutputVDPAU::RestoreDisplay(), SetPIPState(), VideoOutputD3D::SetupContext(), VideoOutputXv::SetupDeinterlace(), SetupDeinterlace(), VideoOutputOpenGL::SetupOpenGL(), SetVideoScalingAllowed(), VideoOutputD3D::Show(), VideoOutputVDPAU::Show(), VideoOutputXv::Show(), VideoOutputOpenGL::ShowPIP(), VideoOutputD3D::ShowPIP(), VideoOutputVDPAU::ShowPIP(), ShowPIP(), VideoOutputXv::ShowXVideo(), VideoOutputNull::StopEmbedding(), VideoOutputQuartz::StopEmbedding(), VideoOutputOpenGL::StopEmbedding(), VideoOutputD3D::StopEmbedding(), VideoOutputVDPAU::StopEmbedding(), VideoOutputXv::StopEmbedding(), StopEmbedding(), VideoOutputQuartz::ToggleAdjustFill(), ToggleAdjustFill(), ToggleAspectOverride(), VideoAspectRatioChanged(), Zoom(), and VideoOutputXv::~VideoOutputXv().

QSize VideoOutput::db_display_dim [protected]

Screen dimensions in millimeters from DB.

Definition at line 296 of file videooutbase.h.

Referenced by InitDisplayMeasurements(), and VideoOutput().

Definition at line 299 of file videooutbase.h.

Referenced by Init(), and VideoOutput().

QString VideoOutput::db_deint_filtername [protected]

Definition at line 301 of file videooutbase.h.

Definition at line 304 of file videooutbase.h.

Referenced by VideoOutputD3D::ApproveDeintFilter(), VideoOutputVDPAU::ClearDummyFrame(), VideoOutputOpenGLVAAPI::CreateBuffers(), VideoOutputD3D::CreateBuffers(), VideoOutputD3D::CreateDecoder(), VideoOutputD3D::CreatePauseFrame(), VideoOutputQuartz::CreateQuartzBuffers(), VideoOutputOpenGLVAAPI::CreateVAAPIContext(), VideoOutputNullVAAPI::CreateVAAPIContext(), VideoOutputVDPAU::CreateVideoSurfaces(), VideoOutputVDPAU::DrawSlice(), VideoOutputNullVDPAU::DrawSlice(), VideoOutputVDPAU::FrameIsInUse(), VideoOutputD3D::hasHWAcceleration(), VideoOutputVDPAU::hasHWAcceleration(), VideoOutputOpenGLVAAPI::Init(), VideoOutputNullVAAPI::Init(), VideoOutputD3D::Init(), VideoOutputVDPAU::Init(), VideoOutputNullVDPAU::Init(), Init(), VideoOutputNullVAAPI::InitBuffers(), VideoOutputD3D::InitBuffers(), VideoOutputNullVDPAU::InitBuffers(), VideoOutputVDPAU::InitBuffers(), VideoOutputOpenGL::InitPictureAttributes(), VideoOutputOpenGLVAAPI::InitPictureAttributes(), VideoOutputXv::InitSetupBuffers(), VideoOutputNullVDPAU::InitShadowBuffers(), VideoOutputNullVAAPI::InputChanged(), VideoOutputOpenGLVAAPI::InputChanged(), VideoOutputOpenGL::InputChanged(), VideoOutputQuartz::InputChanged(), VideoOutputD3D::InputChanged(), VideoOutputVDPAU::InputChanged(), VideoOutputNullVDPAU::InputChanged(), VideoOutputXv::InputChanged(), InputChanged(), VideoOutputQuartz::NeedExtraAudioDecode(), VideoOutputVDPAU::NeedExtraAudioDecode(), VideoOutputVDPAU::ParseOptions(), VideoOutputD3D::PrepareFrame(), VideoOutputVDPAU::PrepareFrame(), VideoOutputOpenGL::ProcessFrame(), VideoOutputD3D::ProcessFrame(), VideoOutputOpenGLVAAPI::ProcessFrame(), VideoOutputVDPAU::ProcessFrame(), VideoOutputOpenGLVAAPI::SetPictureAttribute(), VideoOutputOpenGL::SetupOpenGL(), VideoOutputD3D::UpdateFrame(), VideoOutputOpenGLVAAPI::UpdatePauseFrame(), VideoOutputD3D::UpdatePauseFrame(), VideoOutputVDPAU::UpdatePauseFrame(), and VideoOutputVDPAU::UpdateReferenceFrames().

Definition at line 308 of file videooutbase.h.

Referenced by DoPipResize(), and ShowPIP().

QSize VideoOutput::pip_display_size [protected]

Definition at line 309 of file videooutbase.h.

Referenced by DoPipResize(), ShowPIP(), and ShutdownPipResize().

QSize VideoOutput::pip_video_size [protected]

Definition at line 310 of file videooutbase.h.

Referenced by DoPipResize(), and ShutdownPipResize().

unsigned char* VideoOutput::pip_tmp_buf [protected]

Definition at line 311 of file videooutbase.h.

Referenced by DoPipResize(), ShowPIP(), and ShutdownPipResize().

unsigned char* VideoOutput::pip_tmp_buf2 [protected]

Definition at line 312 of file videooutbase.h.

Referenced by DoPipResize(), ShowPIP(), and ShutdownPipResize().

struct SwsContext* VideoOutput::pip_scaling_context [protected]

Definition at line 313 of file videooutbase.h.

Referenced by DoPipResize(), ShowPIP(), and ShutdownPipResize().

Definition at line 314 of file videooutbase.h.

Referenced by ShowPIP(), and VideoOutput().

QSize VideoOutput::vsz_display_size [protected]

Definition at line 319 of file videooutbase.h.

Referenced by DoVideoResize(), and ShutdownVideoResize().

QSize VideoOutput::vsz_video_size [protected]

Definition at line 320 of file videooutbase.h.

Referenced by DoVideoResize(), and ShutdownVideoResize().

unsigned char* VideoOutput::vsz_tmp_buf [protected]

Definition at line 321 of file videooutbase.h.

Referenced by DoVideoResize(), ResizeVideo(), and ShutdownVideoResize().

struct SwsContext* VideoOutput::vsz_scale_context [protected]

Definition at line 322 of file videooutbase.h.

Referenced by DoVideoResize(), ResizeVideo(), and ShutdownVideoResize().

QString VideoOutput::m_deintfiltername [protected]

VideoBuffers instance used to track video output buffers.

Definition at line 332 of file videooutbase.h.

Referenced by VideoOutputNullVDPAU::BufferSizeCheck(), VideoOutputNullVDPAU::CheckFrameStates(), VideoOutputVDPAU::CheckFrameStates(), VideoOutputOpenGLVAAPI::CreateBuffers(), VideoOutputOpenGL::CreateBuffers(), VideoOutputD3D::CreateBuffers(), VideoOutputXv::CreateBuffers(), VideoOutputNull::CreatePauseFrame(), VideoOutputOpenGL::CreatePauseFrame(), VideoOutputD3D::CreatePauseFrame(), VideoOutputXv::CreatePauseFrame(), VideoOutputQuartz::CreateQuartzBuffers(), VideoOutputOpenGLVAAPI::CreateVAAPIContext(), VideoOutputNullVAAPI::DeleteBuffers(), VideoOutputNullVDPAU::DeleteBuffers(), VideoOutputVDPAU::DeleteBuffers(), VideoOutputXv::DeleteBuffers(), VideoOutputQuartz::DeleteQuartzBuffers(), VideoOutputOpenGL::DestroyCPUResources(), VideoOutputNullVAAPI::DiscardFrame(), VideoOutputNullVDPAU::DiscardFrame(), VideoOutputVDPAU::DiscardFrame(), VideoOutputXv::DiscardFrame(), VideoOutputNullVDPAU::DiscardFrames(), VideoOutputVDPAU::DiscardFrames(), VideoOutputXv::DiscardFrames(), VideoOutputNullVAAPI::DoneDisplayingFrame(), VideoOutputNullVDPAU::DoneDisplayingFrame(), VideoOutputVDPAU::DoneDisplayingFrame(), VideoOutputVDPAU::DrawSlice(), VideoOutputNullVDPAU::DrawSlice(), VideoOutputNullVAAPI::GetLastDecodedFrame(), VideoOutputNullVDPAU::GetLastDecodedFrame(), VideoOutputNullVAAPI::GetLastShownFrame(), VideoOutputNullVDPAU::GetLastShownFrame(), VideoOutputQuartz::Init(), VideoOutputNull::Init(), VideoOutputNullVAAPI::InitBuffers(), VideoOutputD3D::InitBuffers(), VideoOutputNullVDPAU::InitBuffers(), VideoOutputVDPAU::InitBuffers(), VideoOutputNullVDPAU::InitShadowBuffers(), VideoOutputXv::InitVideoBuffers(), VideoOutputNull::InputChanged(), VideoOutputNull::PrepareFrame(), VideoOutputOpenGL::PrepareFrame(), VideoOutputD3D::PrepareFrame(), VideoOutputXv::PrepareFrameMem(), VideoOutputXv::PrepareFrameXv(), VideoOutputQuartz::ProcessFrame(), VideoOutputOpenGL::ProcessFrame(), VideoOutputD3D::ProcessFrame(), VideoOutputXv::ProcessFrame(), VideoOutputNullVAAPI::ReleaseFrame(), VideoOutputNullVDPAU::ReleaseFrame(), VideoOutputD3D::TearDown(), VideoOutputOpenGLVAAPI::UpdatePauseFrame(), VideoOutputOpenGL::UpdatePauseFrame(), VideoOutputNull::UpdatePauseFrame(), VideoOutputD3D::UpdatePauseFrame(), VideoOutputQuartz::UpdatePauseFrame(), VideoOutputVDPAU::UpdatePauseFrame(), VideoOutputXv::UpdatePauseFrame(), and VideoOutputNull::~VideoOutputNull().

long long VideoOutput::framesPlayed [protected]
QSize VideoOutput::monitor_sz [protected]

Definition at line 342 of file videooutbase.h.

Referenced by InitDisplayMeasurements().

QSize VideoOutput::monitor_dim [protected]

Definition at line 343 of file videooutbase.h.

Referenced by InitDisplayMeasurements().

Definition at line 346 of file videooutbase.h.

Referenced by DisplayOSD(), and ~VideoOutput().

Definition at line 347 of file videooutbase.h.

Referenced by DisplayOSD(), and ~VideoOutput().

Definition at line 353 of file videooutbase.h.

Referenced by VideoOutputOpenGL::PrepareFrame().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends