#include <videoout_opengl.h>
Public Member Functions | |
| VideoOutputOpenGL (const QString &profile=QString()) | |
| virtual | ~VideoOutputOpenGL () |
| virtual bool | Init (int width, int height, float aspect, WId winid, const QRect &win_rect, MythCodecID codec_id) |
| virtual void | SetProfile (void) |
| virtual void | TearDown (void) |
| void | PrepareFrame (VideoFrame *buffer, FrameScanType, OSD *osd) |
| virtual void | ProcessFrame (VideoFrame *frame, OSD *osd, FilterChain *filterList, const PIPMap &pipPlayers, FrameScanType scan) |
| virtual void | Show (FrameScanType) |
| virtual bool | InputChanged (const QSize &input_size, float aspect, MythCodecID av_codec_id, void *codec_private, bool &aspect_only) |
| Tells video output to discard decoded frames and wait for new ones. | |
| virtual void | UpdatePauseFrame (int64_t &disp_timecode) |
| Updates frame displayed when video is paused. | |
| virtual void | DrawUnusedRects (bool) |
| Draws non-video portions of the screen. | |
| void | Zoom (ZoomDirection direction) |
| Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize(). | |
| void | MoveResize (void) |
| performs all the calculations for video framing and any resizing. | |
| virtual int | SetPictureAttribute (PictureAttribute attribute, int newValue) |
| Sets a specified picture attribute. | |
| virtual void | InitPictureAttributes (void) |
| void | EmbedInWidget (const QRect &rect) |
| Tells video output to embed video in an existing window. | |
| void | StopEmbedding (void) |
| Tells video output to stop embedding video in an existing window. | |
| 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. | |
| void | ShowPIP (VideoFrame *frame, MythPlayer *pipplayer, PIPLocation loc) |
| Composites PiP image onto a video frame. | |
| void | MoveResizeWindow (QRect new_rect) |
| virtual void | RemovePIP (MythPlayer *pipplayer) |
| virtual bool | IsPIPSupported (void) const |
| virtual bool | hasFullScreenOSD (void) const |
| virtual bool | ApproveDeintFilter (const QString &filtername) const |
| Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&). | |
| virtual MythPainter * | GetOSDPainter (void) |
| virtual bool | CanVisualise (AudioPlayer *audio, MythRender *render) |
| virtual bool | SetupVisualisation (AudioPlayer *audio, MythRender *render, const QString &name) |
| virtual QStringList | GetVisualiserList (void) |
| virtual bool | StereoscopicModesAllowed (void) const |
Static Public Member Functions | |
| static void | GetRenderOptions (render_opts &opts, QStringList &cpudeints) |
| static QStringList | GetAllowedRenderers (MythCodecID myth_codec_id, const QSize &video_dim) |
Protected Member Functions | |
| bool | CreateCPUResources (void) |
| bool | CreateGPUResources (void) |
| bool | CreateVideoResources (void) |
| void | DestroyCPUResources (void) |
| void | DestroyVideoResources (void) |
| void | DestroyGPUResources (void) |
| virtual bool | CreateBuffers (void) |
| bool | CreatePauseFrame (void) |
| bool | SetupContext (void) |
| bool | SetupOpenGL (void) |
| void | InitOSD (void) |
Protected Attributes | |
| QMutex | gl_context_lock |
| MythRenderOpenGL * | gl_context |
| bool | gl_valid |
| OpenGLVideo * | gl_videochain |
| QMap< MythPlayer *, OpenGLVideo * > | gl_pipchains |
| QMap< MythPlayer *, bool > | gl_pip_ready |
| OpenGLVideo * | gl_pipchain_active |
| WId | gl_parent_win |
| VideoFrame | av_pause_frame |
| MythOpenGLPainter * | gl_painter |
| bool | gl_created_painter |
| bool | gl_opengl_lite |
Definition at line 9 of file videoout_opengl.h.
| VideoOutputOpenGL::VideoOutputOpenGL | ( | const QString & | profile = QString() |
) |
Definition at line 54 of file videoout_opengl.cpp.
| VideoOutputOpenGL::~VideoOutputOpenGL | ( | ) | [virtual] |
Definition at line 71 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::GetRenderOptions | ( | render_opts & | opts, | |
| QStringList & | cpudeints | |||
| ) | [static] |
Definition at line 13 of file videoout_opengl.cpp.
| bool VideoOutputOpenGL::Init | ( | int | width, | |
| int | height, | |||
| float | aspect, | |||
| WId | winid, | |||
| const QRect & | win_rect, | |||
| MythCodecID | codec_id | |||
| ) | [virtual] |
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 177 of file videoout_opengl.cpp.
Referenced by InputChanged().
| void VideoOutputOpenGL::SetProfile | ( | void | ) | [virtual] |
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 208 of file videoout_opengl.cpp.
Referenced by Init().
| void VideoOutputOpenGL::TearDown | ( | void | ) | [virtual] |
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 82 of file videoout_opengl.cpp.
Referenced by Init(), InputChanged(), and ~VideoOutputOpenGL().
| void VideoOutputOpenGL::PrepareFrame | ( | VideoFrame * | buffer, | |
| FrameScanType | t, | |||
| OSD * | osd | |||
| ) | [virtual] |
Implements VideoOutput.
Definition at line 505 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::ProcessFrame | ( | VideoFrame * | frame, | |
| OSD * | osd, | |||
| FilterChain * | filterList, | |||
| const PIPMap & | pipPlayers, | |||
| FrameScanType | scan | |||
| ) | [virtual] |
Implements VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 437 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::Show | ( | FrameScanType | scan | ) | [virtual] |
Implements VideoOutput.
Definition at line 639 of file videoout_opengl.cpp.
| bool VideoOutputOpenGL::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.
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 217 of file videoout_opengl.cpp.
Referenced by VideoOutputOpenGLVAAPI::InputChanged().
| void VideoOutputOpenGL::UpdatePauseFrame | ( | int64_t & | disp_timecode | ) | [virtual] |
Updates frame displayed when video is paused.
Implements VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 686 of file videoout_opengl.cpp.
| virtual void VideoOutputOpenGL::DrawUnusedRects | ( | bool | sync | ) | [inline, virtual] |
Draws non-video portions of the screen.
| sync | if set any queued up draws are sent immediately to the graphics context and we block until they have completed. |
Implements VideoOutput.
Definition at line 31 of file videoout_opengl.h.
| void VideoOutputOpenGL::Zoom | ( | ZoomDirection | direction | ) | [virtual] |
Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize().
Reimplemented from VideoOutput.
Definition at line 667 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::MoveResize | ( | void | ) | [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".
Reimplemented from VideoOutput.
Definition at line 674 of file videoout_opengl.cpp.
Referenced by CreateVideoResources(), EmbedInWidget(), VideoOutputOpenGLVAAPI::InputChanged(), InputChanged(), SetDeinterlacingEnabled(), SetupDeinterlace(), StopEmbedding(), and Zoom().
| int VideoOutputOpenGL::SetPictureAttribute | ( | PictureAttribute | attribute, | |
| int | newValue | |||
| ) | [virtual] |
Sets a specified picture attribute.
| attribute | Picture attribute to set. | |
| newValue | Value to set attribute to. |
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 710 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::InitPictureAttributes | ( | void | ) | [virtual] |
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 697 of file videoout_opengl.cpp.
Referenced by Init().
| QStringList VideoOutputOpenGL::GetAllowedRenderers | ( | MythCodecID | myth_codec_id, | |
| const QSize & | video_dim | |||
| ) | [static] |
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 652 of file videoout_opengl.cpp.
Referenced by VideoOutput::Create().
| void VideoOutputOpenGL::EmbedInWidget | ( | const QRect & | rect | ) | [virtual] |
Tells video output to embed video in an existing window.
Reimplemented from VideoOutput.
Definition at line 934 of file videoout_opengl.cpp.
Referenced by VideoOutputOpenGLVAAPI::InputChanged(), and InputChanged().
| void VideoOutputOpenGL::StopEmbedding | ( | void | ) | [virtual] |
Tells video output to stop embedding video in an existing window.
Reimplemented from VideoOutput.
Definition at line 942 of file videoout_opengl.cpp.
Referenced by VideoOutputOpenGLVAAPI::InputChanged(), and InputChanged().
Attempts to enable/disable deinterlacing using existing deinterlace method when enabling.
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 782 of file videoout_opengl.cpp.
Referenced by SetupOpenGL().
Attempts to enable or disable deinterlacing.
| overridefilter | optional, explicitly use this nondefault deint filter |
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 719 of file videoout_opengl.cpp.
Referenced by SetDeinterlacingEnabled().
| void VideoOutputOpenGL::ShowPIP | ( | VideoFrame * | frame, | |
| MythPlayer * | pipplayer, | |||
| PIPLocation | loc | |||
| ) | [virtual] |
Composites PiP image onto a video frame.
Note: This only works with memory backed VideoFrames.
| frame | Frame to composite PiP onto. | |
| pipplayer | Picture-in-Picture Player. | |
| loc | Location of this PiP on the frame. |
Reimplemented from VideoOutput.
Definition at line 818 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::MoveResizeWindow | ( | QRect | new_rect | ) | [virtual] |
Implements VideoOutput.
Definition at line 928 of file videoout_opengl.cpp.
| void VideoOutputOpenGL::RemovePIP | ( | MythPlayer * | pipplayer | ) | [virtual] |
Reimplemented from VideoOutput.
Definition at line 914 of file videoout_opengl.cpp.
| virtual bool VideoOutputOpenGL::IsPIPSupported | ( | void | ) | const [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 48 of file videoout_opengl.h.
| virtual bool VideoOutputOpenGL::hasFullScreenOSD | ( | void | ) | const [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 49 of file videoout_opengl.h.
| bool VideoOutputOpenGL::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.
Reimplemented from VideoOutput.
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 951 of file videoout_opengl.cpp.
| virtual MythPainter* VideoOutputOpenGL::GetOSDPainter | ( | void | ) | [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 51 of file videoout_opengl.h.
| virtual bool VideoOutputOpenGL::CanVisualise | ( | AudioPlayer * | audio, | |
| MythRender * | render | |||
| ) | [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 53 of file videoout_opengl.h.
| virtual bool VideoOutputOpenGL::SetupVisualisation | ( | AudioPlayer * | audio, | |
| MythRender * | render, | |||
| const QString & | name | |||
| ) | [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 55 of file videoout_opengl.h.
| QStringList VideoOutputOpenGL::GetVisualiserList | ( | void | ) | [virtual] |
Reimplemented from VideoOutput.
Definition at line 962 of file videoout_opengl.cpp.
| virtual bool VideoOutputOpenGL::StereoscopicModesAllowed | ( | void | ) | const [inline, virtual] |
Reimplemented from VideoOutput.
Definition at line 60 of file videoout_opengl.h.
| bool VideoOutputOpenGL::CreateCPUResources | ( | void | ) | [protected] |
Definition at line 91 of file videoout_opengl.cpp.
Referenced by Init().
| bool VideoOutputOpenGL::CreateGPUResources | ( | void | ) | [protected] |
Definition at line 98 of file videoout_opengl.cpp.
Referenced by Init().
| bool VideoOutputOpenGL::CreateVideoResources | ( | void | ) | [protected] |
Definition at line 107 of file videoout_opengl.cpp.
Referenced by Init(), and ProcessFrame().
| void VideoOutputOpenGL::DestroyCPUResources | ( | void | ) | [protected] |
Definition at line 114 of file videoout_opengl.cpp.
Referenced by VideoOutputOpenGLVAAPI::InputChanged(), InputChanged(), and TearDown().
| void VideoOutputOpenGL::DestroyVideoResources | ( | void | ) | [protected] |
Definition at line 153 of file videoout_opengl.cpp.
Referenced by ProcessFrame(), and TearDown().
| void VideoOutputOpenGL::DestroyGPUResources | ( | void | ) | [protected] |
Definition at line 134 of file videoout_opengl.cpp.
Referenced by TearDown().
| bool VideoOutputOpenGL::CreateBuffers | ( | void | ) | [protected, virtual] |
Reimplemented in VideoOutputOpenGLVAAPI.
Definition at line 411 of file videoout_opengl.cpp.
Referenced by CreateCPUResources().
| bool VideoOutputOpenGL::CreatePauseFrame | ( | void | ) | [protected] |
Definition at line 420 of file videoout_opengl.cpp.
Referenced by CreateCPUResources().
| bool VideoOutputOpenGL::SetupContext | ( | void | ) | [protected] |
Definition at line 286 of file videoout_opengl.cpp.
Referenced by CreateGPUResources().
| bool VideoOutputOpenGL::SetupOpenGL | ( | void | ) | [protected] |
Definition at line 333 of file videoout_opengl.cpp.
Referenced by CreateVideoResources().
| void VideoOutputOpenGL::InitOSD | ( | void | ) | [protected] |
Definition at line 381 of file videoout_opengl.cpp.
Referenced by CreateGPUResources().
QMutex VideoOutputOpenGL::gl_context_lock [protected] |
Definition at line 75 of file videoout_opengl.h.
Referenced by VideoOutputOpenGLVAAPI::CreateBuffers(), CreateBuffers(), VideoOutputOpenGLVAAPI::DeleteVAAPIContext(), DestroyCPUResources(), DestroyGPUResources(), DestroyVideoResources(), Init(), InitOSD(), VideoOutputOpenGLVAAPI::InputChanged(), InputChanged(), MoveResize(), PrepareFrame(), VideoOutputOpenGLVAAPI::ProcessFrame(), ProcessFrame(), SetupContext(), TearDown(), UpdatePauseFrame(), Zoom(), and ~VideoOutputOpenGL().
MythRenderOpenGL* VideoOutputOpenGL::gl_context [protected] |
Definition at line 76 of file videoout_opengl.h.
Referenced by CanVisualise(), VideoOutputOpenGLVAAPI::CreateVAAPIContext(), DestroyGPUResources(), DestroyVideoResources(), GetVisualiserList(), InitOSD(), MoveResizeWindow(), PrepareFrame(), VideoOutputOpenGLVAAPI::ProcessFrame(), ProcessFrame(), RemovePIP(), SetDeinterlacingEnabled(), SetPictureAttribute(), SetupContext(), SetupDeinterlace(), SetupOpenGL(), SetupVisualisation(), Show(), ShowPIP(), and ~VideoOutputOpenGL().
bool VideoOutputOpenGL::gl_valid [protected] |
Definition at line 77 of file videoout_opengl.h.
Referenced by Init(), and ProcessFrame().
OpenGLVideo* VideoOutputOpenGL::gl_videochain [protected] |
Definition at line 78 of file videoout_opengl.h.
Referenced by DestroyVideoResources(), MoveResize(), PrepareFrame(), VideoOutputOpenGLVAAPI::ProcessFrame(), ProcessFrame(), SetDeinterlacingEnabled(), SetupDeinterlace(), SetupOpenGL(), and ShowPIP().
QMap<MythPlayer*,OpenGLVideo*> VideoOutputOpenGL::gl_pipchains [protected] |
Definition at line 79 of file videoout_opengl.h.
Referenced by DestroyVideoResources(), PrepareFrame(), RemovePIP(), and ShowPIP().
QMap<MythPlayer*,bool> VideoOutputOpenGL::gl_pip_ready [protected] |
Definition at line 80 of file videoout_opengl.h.
Referenced by DestroyVideoResources(), PrepareFrame(), RemovePIP(), and ShowPIP().
OpenGLVideo* VideoOutputOpenGL::gl_pipchain_active [protected] |
Definition at line 81 of file videoout_opengl.h.
Referenced by PrepareFrame(), ProcessFrame(), and ShowPIP().
WId VideoOutputOpenGL::gl_parent_win [protected] |
Definition at line 82 of file videoout_opengl.h.
Referenced by Init(), InitOSD(), VideoOutputOpenGLVAAPI::InputChanged(), InputChanged(), and SetupContext().
VideoFrame VideoOutputOpenGL::av_pause_frame [protected] |
Definition at line 83 of file videoout_opengl.h.
Referenced by CreatePauseFrame(), DestroyCPUResources(), ProcessFrame(), UpdatePauseFrame(), and VideoOutputOpenGL().
MythOpenGLPainter* VideoOutputOpenGL::gl_painter [protected] |
Definition at line 85 of file videoout_opengl.h.
Referenced by DestroyGPUResources(), GetOSDPainter(), InitOSD(), and PrepareFrame().
bool VideoOutputOpenGL::gl_created_painter [protected] |
Definition at line 86 of file videoout_opengl.h.
Referenced by DestroyGPUResources(), and InitOSD().
bool VideoOutputOpenGL::gl_opengl_lite [protected] |
Definition at line 87 of file videoout_opengl.h.
Referenced by ApproveDeintFilter(), SetProfile(), SetupOpenGL(), ShowPIP(), and VideoOutputOpenGL().
1.6.3