DVDV Class Reference

#include <videoout_dvdv.h>

List of all members.


Detailed Description

This class manages the support for Apple's counterpart to XVMC.

It's used by AvFormatDecoder and VideoOutputQuartz, and also interacts with libavcodec (see dvdv.h).

Definition at line 23 of file videoout_dvdv.h.


Public Member Functions

 DVDV ()
 ~DVDV ()
void Reset (void)
bool SetVideoSize (const QSize &)
bool PreProcessFrame (AVCodecContext *)
void PostProcessFrame (AVCodecContext *, VideoFrame *, int, bool)
 DVDV ()
 ~DVDV ()
bool SetVideoSize (const QSize &video_dim)
 Initialize the Accel params with the size of video to be decoded.
void Teardown (void)
 Tear down most of Accel without deleting the instance.
void Reset (void)
 Reset the Accel state.
bool PreProcessFrame (AVCodecContext *context)
 Prepare the Accel code for a call to avcodec_decode_video.
void PostProcessFrame (AVCodecContext *context, VideoFrame *pic, int pict_type, bool gotpicture)
 Process the macroblocks collected by avcodec_decode_video.
void MoveResize (int imgx, int imgy, int imgw, int imgh, int dispxoff, int dispyoff, int dispwoff, int disphoff)
 Resize and reposition the video subwindow.
void DrawOSD (unsigned char *y, unsigned char *u, unsigned char *v, unsigned char *alpha)
 Update the OSD display.
void DecodeFrame (VideoFrame *pic)
 Decode a buffered video frame.
void ShowFrame ()
 Draw the most recently decoded video frame to the screen.

Protected Attributes

struct DVDV_Privated

Constructor & Destructor Documentation

DVDV::DVDV (  )  [inline]

Definition at line 26 of file videoout_dvdv.h.

DVDV::~DVDV (  )  [inline]

Definition at line 27 of file videoout_dvdv.h.

DVDV::DVDV (  ) 

DVDV::~DVDV (  ) 


Member Function Documentation

void DVDV::Reset ( void   )  [inline]

Definition at line 29 of file videoout_dvdv.h.

Referenced by AvFormatDecoderPrivate::ResetMPEG2().

bool DVDV::SetVideoSize ( const QSize &  video_dim  )  [inline]

bool DVDV::PreProcessFrame ( AVCodecContext context  )  [inline]

Definition at line 31 of file videoout_dvdv.h.

Referenced by AvFormatDecoderPrivate::DecodeMPEG2Video().

void DVDV::PostProcessFrame ( AVCodecContext context,
VideoFrame pic,
int  pict_type,
bool  gotpicture 
) [inline]

Definition at line 32 of file videoout_dvdv.h.

Referenced by AvFormatDecoderPrivate::DecodeMPEG2Video().

bool DVDV::SetVideoSize ( const QSize &  video_dim  ) 

Initialize the Accel params with the size of video to be decoded.

void DVDV::Teardown ( void   ) 

Tear down most of Accel without deleting the instance.

Note: We need to be torn down in the same thread that called SetVideoSize().

void DVDV::Reset ( void   ) 

Reset the Accel state.

bool DVDV::PreProcessFrame ( AVCodecContext context  ) 

Prepare the Accel code for a call to avcodec_decode_video.

void DVDV::PostProcessFrame ( AVCodecContext context,
VideoFrame pic,
int  pict_type,
bool  gotpicture 
)

Process the macroblocks collected by avcodec_decode_video.

void DVDV::MoveResize ( int  imgx,
int  imgy,
int  imgw,
int  imgh,
int  dispxoff,
int  dispyoff,
int  dispwoff,
int  disphoff 
)

Resize and reposition the video subwindow.

Definition at line 328 of file videoout_dvdv.mm.

Referenced by VideoOutputQuartzView::Transform().

void DVDV::DrawOSD ( unsigned char *  y,
unsigned char *  u,
unsigned char *  v,
unsigned char *  alpha 
)

Update the OSD display.

Definition at line 391 of file videoout_dvdv.mm.

Referenced by VideoOutputQuartz::ProcessFrame().

void DVDV::DecodeFrame ( VideoFrame pic  ) 

Decode a buffered video frame.

Definition at line 702 of file videoout_dvdv.mm.

Referenced by VideoOutputQuartz::PrepareFrame().

void DVDV::ShowFrame (  ) 

Draw the most recently decoded video frame to the screen.

Referenced by VideoOutputQuartz::Show().


Member Data Documentation

struct DVDV_Private* DVDV::d [read, protected]

Definition at line 78 of file videoout_dvdv.h.

Referenced by DecodeFrame(), DrawOSD(), and MoveResize().


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

Generated on Sat Dec 18 05:16:02 2010 for MythTV by  doxygen 1.5.5