MythTV  0.26-pre
Public Member Functions | Static Public Member Functions | Private Attributes
VideoOutputOpenGLVAAPI Class Reference

#include <videoout_openglvaapi.h>

Inheritance diagram for VideoOutputOpenGLVAAPI:
VideoOutputOpenGL VideoOutput

List of all members.

Public Member Functions

 VideoOutputOpenGLVAAPI ()
 ~VideoOutputOpenGLVAAPI ()
bool Init (int width, int height, float aspect, WId winid, const QRect &win_rect, MythCodecID codec_id)
 Performs most of the initialization for VideoOutput.
bool CreateVAAPIContext (QSize size)
void DeleteVAAPIContext (void)
bool CreateBuffers (void)
virtual voidGetDecoderContext (unsigned char *buf, uint8_t *&id)
uint8_tGetSurfaceIDPointer (void *buf)
void SetProfile (void)
void TearDown (void)
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.
void ProcessFrame (VideoFrame *frame, OSD *osd, FilterChain *filterList, const PIPMap &pipPlayers, FrameScanType scan)
bool ApproveDeintFilter (const QString &filtername) const
 Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&).
bool SetDeinterlacingEnabled (bool enable)
 Attempts to enable/disable deinterlacing using existing deinterlace method when enabling.
bool SetupDeinterlace (bool i, const QString &ovrf="")
 Attempts to enable or disable deinterlacing.
virtual void InitPictureAttributes (void)
virtual int SetPictureAttribute (PictureAttribute attribute, int newValue)
 Sets a specified picture attribute.

Static Public Member Functions

static void GetRenderOptions (render_opts &opts)
static QStringList GetAllowedRenderers (MythCodecID myth_codec_id, const QSize &video_dim)
static MythCodecID GetBestSupportedCodec (uint width, uint height, const QString &decoder, uint stream_type, bool no_acceleration, PixelFormat &pix_fmt)

Private Attributes

VAAPIContextm_ctx
voidm_pauseBuffer

Detailed Description

Definition at line 8 of file videoout_openglvaapi.h.


Constructor & Destructor Documentation

Definition at line 28 of file videoout_openglvaapi.cpp.

Definition at line 33 of file videoout_openglvaapi.cpp.


Member Function Documentation

Reimplemented from VideoOutput.

Definition at line 7 of file videoout_openglvaapi.cpp.

bool VideoOutputOpenGLVAAPI::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 from VideoOutputOpenGL.

Definition at line 104 of file videoout_openglvaapi.cpp.

Referenced by InputChanged().

Definition at line 115 of file videoout_openglvaapi.cpp.

Referenced by Init().

Definition at line 150 of file videoout_openglvaapi.cpp.

Referenced by CreateVAAPIContext(), and TearDown().

Reimplemented from VideoOutputOpenGL.

Definition at line 157 of file videoout_openglvaapi.cpp.

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

Reimplemented from VideoOutput.

Definition at line 168 of file videoout_openglvaapi.cpp.

Definition at line 178 of file videoout_openglvaapi.cpp.

Referenced by GetDecoderContext().

Reimplemented from VideoOutputOpenGL.

Definition at line 185 of file videoout_openglvaapi.cpp.

Reimplemented from VideoOutputOpenGL.

Definition at line 38 of file videoout_openglvaapi.cpp.

Referenced by InputChanged(), and ~VideoOutputOpenGLVAAPI().

bool VideoOutputOpenGLVAAPI::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 from VideoOutputOpenGL.

Definition at line 43 of file videoout_openglvaapi.cpp.

void VideoOutputOpenGLVAAPI::UpdatePauseFrame ( int64_t disp_timecode) [virtual]

Updates frame displayed when video is paused.

Reimplemented from VideoOutputOpenGL.

Definition at line 231 of file videoout_openglvaapi.cpp.

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

Reimplemented from VideoOutputOpenGL.

Definition at line 253 of file videoout_openglvaapi.cpp.

bool VideoOutputOpenGLVAAPI::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 from VideoOutputOpenGL.

Definition at line 191 of file videoout_openglvaapi.cpp.

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

Reimplemented from VideoOutputOpenGL.

Definition at line 196 of file videoout_openglvaapi.cpp.

bool VideoOutputOpenGLVAAPI::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 from VideoOutputOpenGL.

Definition at line 203 of file videoout_openglvaapi.cpp.

Referenced by SetDeinterlacingEnabled().

Reimplemented from VideoOutputOpenGL.

Definition at line 211 of file videoout_openglvaapi.cpp.

Referenced by CreateVAAPIContext().

int VideoOutputOpenGLVAAPI::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 from VideoOutputOpenGL.

Definition at line 222 of file videoout_openglvaapi.cpp.

QStringList VideoOutputOpenGLVAAPI::GetAllowedRenderers ( MythCodecID  myth_codec_id,
const QSize &  video_dim 
) [static]

Reimplemented from VideoOutputOpenGL.

Definition at line 272 of file videoout_openglvaapi.cpp.

Referenced by VideoOutput::Create().

MythCodecID VideoOutputOpenGLVAAPI::GetBestSupportedCodec ( uint  width,
uint  height,
const QString &  decoder,
uint  stream_type,
bool  no_acceleration,
PixelFormat &  pix_fmt 
) [static]

Definition at line 285 of file videoout_openglvaapi.cpp.

Referenced by AvFormatDecoder::ScanStreams().


Member Data Documentation

Definition at line 49 of file videoout_openglvaapi.h.

Referenced by ProcessFrame(), and UpdatePauseFrame().


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